I think that you should create an initial ramdisk with an init script that translates the UUID to the physical device. There is a program called mkinitramfs that can help you create such a ramdisk.
Hello,
I've installed Knoppix 7.0.4 on a pedrive. It boots fine with default GRUB (0.97). I want to boot the system in situations where there are no extra ata/sata drives (as it works after install) and if a drive is left attached. In that case I get kernel panic. I've read somewhere that booting by UUID may help but in GRUB2. I updated my installation to GRUB2. Now I have GRUB menu and chained GRUB2 menu. Original boot works with pendrive only. From GRUB2 entries none boots. I get message:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0).
I've struggled with this for a few days now and seems reached timeout on digging this without help.
Anyone could route me to set this up correctly?
Some parts of setup
Code:# df -T Filesystem Type 1K-blocks Used Available Use% Mounted on rootfs rootfs 6663664 2222080 4441584 34% / /dev/root reiserfs 6663664 2222080 4441584 34% / tmpfs tmpfs 2097152 8 2097144 1% /tmp udev tmpfs 20480 4 20476 1% /dev tmpfs tmpfs 2097152 0 2097152 0% /dev/shmgrub.cfgCode:# ll /dev/disk/by-uuid/ total 0 lrwxrwxrwx 1 root root 10 Oct 19 19:39 7265a1af-9120-4bea-a824-2f884e9fe30c -> ../../sda1 lrwxrwxrwx 1 root root 11 Oct 19 19:39 b53f110b-a202-45d0-ac7a-ac6615507484 -> ../../zram0 lrwxrwxrwx 1 root root 10 Oct 19 19:39 ebca161b-33b0-4a6e-9c9c-cc5d1868f6ca -> ../../sda2
My target is to have a hot-swapable station. Hot-Swap works like a charm as the system us running. The problem is that after reboot it won't boot from USB because of mentioned error. From my POV looks like SATA/ATA(/USB?) are logically before the booting pendrive and at position hd(0,1) drive is not the one expected.Code:menuentry 'Knoppix' { insmod gzio insmod part_msdos insmod reiserfs search --no-floppy --fs-uuid ebca161b-33b0-4a6e-9c9c-cc5d1868f6ca --set root echo 'Loading Linux 3.4.9 ...' linux /boot/vmlinuz-3.4.9 root=UUID=ebca161b-33b0-4a6e-9c9c-cc5d1868f6ca ro quiet }
I think that you should create an initial ramdisk with an init script that translates the UUID to the physical device. There is a program called mkinitramfs that can help you create such a ramdisk.
Indeed that helpedCreating initrd.img with mentioned tool, removing the 'root' line, and changing kernels root= to use UUID. Now it swings. No the issue is that hdd list seems rebuilding every boot and when addtional drives are in, the booted one is not /dev/sda but gets later letters.

Crucial MX500 500GB 2.5" SATA III Internal SSD CT500MX500SSD1
$52.99
SSD 880EVO SATA III 2.5 4TB INTERNAL STATE DRIVE
$214.99
KingSpec SSD 2.5" SATA3 Internal Solid State Drive for PC,Laptop,Mac
$60.00
Netac 2TB 1TB 512GB 256GB Internal SSD 2.5inch SATAIII Solid State Drive lot
$39.99
M.2 SATA SSD 2280 128GB 256GB 512GB major brands | Very Good health
$35.99
2 PACK 128 GB SSD M.2 2280 SATA Solid State Drive Major Brands, Samsung, LiteON
$28.80
Fanxiang 1/2/5/10Pcs 2.5'' SATA SSD Lot 1TB 2TB 4TB 512GB 256GB TLC Internal SSD
$129.99
128GB SSD M.2 PCIE NVME Solid State Drive Mix Brand Samsung, WD, SK Hynix Kioxia
$16.59
Samsung 860 EVO 250GB SSD MZ-76E250 2.5" SATA III Solid State Drive
$39.99
Kingston 128GB M.2 SATA III SSD
$13.00