Hi all.
Being a hardcore openSUSE user for more than 10 years, I want to install Tumbleweed on a USB for a couple of reasons:
Have an up to date rolling release distro to showcase to friends (and try to convince them to install/try Linux).
Have a 100% working OS wherever I go and don’t have my workstation with.
Have an up and running recovery system (should it be needed).
I’ve been using the live Leap USB images for a couple of years and it’s been working great except the fact that whenever there is a new version I have to reflash the ISO and lose any customizations made and extra apps installed.
I tried installing directly to the USB stick and it worked out nicely (with a couple of partitions and all) but I’m reluctant to update and use frequently as it will wear out the flash NAND quickly.
What’s your take?
Are there any provisions during installation (or afterwards) to better handle installation on such media?
I know that it can handle installation to SSDs and set the required trim options but I have no clue about NAND.
PS. I don’t intend to update this frequently, maybe once-rwice per year should keep it almost up-to-date
I do have Tumbleweed on a USB drive. It’s just that it’s an external hard drive rather than a stick.
It is much the same as installing anywhere else. I used the expert partitioner to put all of the partitions on the USB drive. I think you can do the same if you go with the “Guided” option – that should allow you to select which disks to use for the install.
I update my USB once per week. I think your plan of once per year might be unwise. I would suggest at least once per month.
An always up to date, 100% working rolling release which will only be updated once or twice a year strikes me as something very hard (not to say impossible) to meet.
However if you need a system that fulfills most (Tumbleweed will need more than two updates a year to be up to date) of those requirements then only a SSD/HDD in an USB3.0 encloser will provide the performance and reliability neccessary.
Errm, sorry, just for my understanding: Installing TW on a USB drive doesn’t make it a life install, does it? Isn’t the OP about to face trouble when trying to run it on (reasonably) different hardware?
Hi
I would just use a live Rescue USB, you can install additional applications if needed, I still have a 13.1 Live I use on occasions to fix machines… else just update a Tumbleweed live one. The other option is to just roll your own with kiwi and rebuild as required for later updates, then can install the stuff your wanting…
I installed only Icewm as a desktop environment, because that is not as strongly tied to display hardware. I use “NetworkManager” for the network, because it isn’t as strongly tied to hardware as “wicked”. And I did configure booting so that it can use legacy booting or UEFI booting – whichever is available.
Actually this is one of the issues I’ve been having. How do I do that? I’ve tried a couple of ways in the past but could only get it to boot one or the other, never both…
I install for only legacy booting. Best to do that with the USB plugged into a legacy booting system. However, I make sure that I do have an EFI partition and I configure that to mount at “/boot/efi”
I then run (as root):
shim-install --removable --no-nvram
I might need to repeat that if there has been an update that affects the UEFI booting software.
Booting only requires access to USB which should be reasonably standard, at least on commodity x86 hardware. The only potential problem could be graphic drivers if you want pretty bootsplash, especially if system needs out-of-tree drivers.
Yes, SUSE continues to use out-of-tree secure boot support patches which means grub configuration is incompatible between legacy BIOS and UEFI (different loader is used). OTOH on EFI “linuxefi” is simply alias for “linux” command; I tried using linux/initrd instead of linuxefi/initrdefi on VM with Secure Boot and it works. Which means configuration generated on BIOS platform should actually work on UEFI.
But still standard package scripts on openSUSE only ever update bootloader for configured platform. So to keep both BIOS and UEFI part up to date you will need either do it manually or create RPM that installs trigger scripts to update legacy and UEFI grub2 (and shim).
And of course if you ever encounter system with 32 bit UEFI you will also need to care for the third package.
Sorry, I realized that this won’t work. There is only one signed grub.efi and it can be either 64 bit or 32 bit. As it stands now it is impossible to have secure boot for both 64 and 32 bit.
I installed Tumbleweed 20210801 on this flash drive:
**linux:~ #** smartctl -i /dev/sdb
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.13.4-1-default] (SUSE RPM)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: SanDisk based SSDs
Device Model: SanDisk SSD U100 64GB
Serial Number: 044fafae1
LU WWN Device Id: 5 001b44 0fa44e1fa
Firmware Version: KM.10.00
User Capacity: 64,023,257,088 bytes [64.0 GB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: 1.8 inches
TRIM Command: Available, deterministic
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-2 T13/2015-D revision 3
SATA Version is: SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is: Tue Aug 3 09:13:00 2021 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
**linux:~ #**
**linux:~ #** systemd-analyze critical-chain
The time when unit became active or started is printed after the "@" character.
The time the unit took to start is printed after the "+" character.
graphical.target @27.133s
└─multi-user.target @27.133s
└─cron.service @27.133s
└─**postfix.service @20.716s +6.415s**
└─time-sync.target @20.623s
└─**chronyd.service @20.557s +65ms**
└─network.target @20.556s
└─**NetworkManager.service @20.503s +53ms**
└─network-pre.target @20.500s
└─**wpa_supplicant.service @21.041s +96ms**
└─dbus.service @16.638s
└─basic.target @16.636s
└─sockets.target @16.636s
└─pcscd.socket @16.636s
└─sysinit.target @16.493s
└─**systemd-udevd.service @15.961s +531ms**
└─**systemd-hwdb-update.service @506ms +15.452s**
└─**systemd-remount-fs.service @487ms +16ms**
└─**systemd-fsck-root.service @584542y 2w 2d 20h 1min 49.076s +30ms**
└─systemd-journald.socket
└─system.slice
└─-.slice
**linux:~ #**
Have an up to date rolling release distro to showcase to friends (and try to convince them to install/try Linux).
Have a 100% working OS wherever I go and don’t have my workstation with.
Have an up and running recovery system (should it be needed).
All of these will work smoothly. Boot is EFI. Adding BIOS is a few commands only.
Great feedback!
Thanks to you all.
So I’ll embarc to install tumbleweed on a SanDisk 128GB stick and get back with any issues.
One question that remains: Install from a BIOS legacy and then add EFI shim or the other way around?