SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I just did some experiments on this which will hopefully shed some light:
- I normally build self-contained kernels which do not require an initrd
- using LABEL= in lilo.conf caused a panic as discussed above
- using LABEL= worked fine with a new initrd.gz created by "mkinitrd -c" and containing no modules at all
- using LABEL= worked fine on an older kernel with the above initrd.gz. Some complaints about "no modules" flashed by
The above were 64-bit kernels. Booting a 32-bit kernel revealed:
- using LABEL= with a 32-bit kernel failed with the 64-bit initrd.gz above. The panic message said
no working init found
So it seems that the LABEL= or UUID= functionality is relying on init (in the initrd) to mount the root partition
On reboot, /dev/sdb1 is not the same drive/partition.
I have 4 eSata drivers which can be detected in different orders /dev/sd* on each boot up (because not always all 4 drives are turned on).
So your computer randomly assigns drive numbers at boot? Am I understanding this correctly? Does this include the Slackware operating system? One boot its sda1 and the next its sdb1? One drive with Slackware needs to be consistently sda1 if that is the case.
I just did some experiments on this which will hopefully shed some light:
- I normally build self-contained kernels which do not require an initrd
- using LABEL= in lilo.conf caused a panic as discussed above
- using LABEL= worked fine with a new initrd.gz created by "mkinitrd -c" and containing no modules at all
- using LABEL= worked fine on an older kernel with the above initrd.gz. Some complaints about "no modules" flashed by
The above were 64-bit kernels. Booting a 32-bit kernel revealed:
- using LABEL= with a 32-bit kernel failed with the 64-bit initrd.gz above. The panic message said
no working init found
So it seems that the LABEL= or UUID= functionality is relying on init (in the initrd) to mount the root partition
You're correct that LABEL and UUID require an initrd. This is specified in the SlackDocs article concerning using persistent names in lilo.conf and fstab. However, the GPT spec adds PartUUID and PartLABEL (this feature was modified on relatively kernels 3.8 and newer to also work with MBR partitioned drives). You're now able to use PartUUID in your lilo.conf is able to boot the system without an initrd (PartLABEL is not supported for booting).
However, it's usually a good idea to not reply on extremely old posts (this was around 5 years old). It is frowned on by most forums.
Thanks for that - I am again booting without an initrd now. LILO itself does not understand PartUUID so you have to use append, as in
append="apm=off root=PARTUUID=0aaac04b-02"
Yes, that is covered on that wiki page as well.
Quote:
Now, as mentioned above, PARTUUID does not require an initrd (although, it works fine if you do use one). However, lilo is old enough that it doesn't have proper support for it, so there is a workaround to get it working. Instead of referencing root like we did above, we need to replace the root option within an “addappend”. This will add anything extra to the initial append line at the top of lilo.conf. Keep in mind your spaces, as it will be placed directly afterwards, so it might be wise to include an extra space at the beginning of the line to ensure it doesn't accidentally combine words (which would likely cause a kernel panic and prevent you from booting). For me, since my root partition is on a drive with an MBR, I'll have the shortened PARTUUID instead of the regular 32 character length of a proper PARTUUID.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.