wrong
Quote:
Quote:
right Quote:
Quote:
|
I am thinking you're not understanding things. The way I put UUIDs is the correct way to do it with lilo.conf. I am successfully using it in my computer right now. Others have successfully done it with labels. I've helped several people set up their lilo.conf files with UUIDs. As I wrote in the article, PARTUUIDs are not properly supported in lilo (unlike regular UUIDs), so you need to use the addappend option, but you do not need it for UUIDs (if you're using an initrd). If you're trying to do it without an initrd, it might be completely different (and might get the output you found), but the way I wrote it there most definitely works.
There is even a perl script included with lilo called lilo-uuid-diskid (it's under /sbin/) that will go through and convert your lilo.conf to use UUIDs in the format I listed. You can view the script here and between lines 443 and 447 it will show an example of what it does, which is the format I provided. Also, to further iterate that this method works (without an append), if I view my /proc/cmdline, I get: Code:
BOOT_IMAGE=Slack-4.4.13 ro root=UUID=23bce2c2-996d-449e-89cc-0e5029cc6d8d vt.default_utf8=0 Code:
image = /boot/vmlinuz-generic-4.4.13 What you're probably seeing is when you use UUIDs without an initrd, which isn't supported. I specifically mentioned in the article that an initrd is required if using LABEL or UUID. The reason an initrd is required is because of what you quoted out of /usr/src/linux/init/do_mounts.c. As you can see, it doesn't support using UUIDs specifically (the only mention of UUID is under the PARTUUID section). It needs the environment provided by the initrd to use the UUID. If the environment isn't there, the kernel doesn't know what to mount and you end up with a kernel panic. Quote:
This whole thing is just like how the NTFS "UUID" is not an actual UUID, but is still able to be referenced as one. |
re: Hi, ;)
Quote:
Quote:
Code:
if ((root = cfg_get_strg(cf_kernel,"root")) || (root = cfg_get_strg( so i have learned it today ... ;) thank you |
may be simple patch for bsect.c is a good idea
Code:
if ((root = cfg_get_strg(cf_kernel,"root")) || (root = cfg_get_strg( |
Quote:
EDIT: I wonder if support could be added for PARTLABEL as well (I am not good enough with C to know how to add it), although, that is limited to solely GPT partitioned drives. |
Quote:
Code:
# zcat lilo.root.partuud.diff.gz Code:
# diff -u lilo.SlackBuild{.orig,} |
Quote:
I think I just figured it out. First it's checking if the string is longer than the characters used for the definition (in PARTUUID=, it is 9 characters, plus the actual UUID after), then it checks if the first 9 characters actually equals PARTUUID= (if it doesn't, it moves on to the next else if statement). Thanks for making me continue to learn on this thread ;) |
Good Stuff !
These are excellent enhancements for LILO. This Arch Doc helped me 'get it' Arch Persistent block device naming Thanks for helping make Slackware better for all ! -- kjh |
Quote:
|
sorry for disturbing your party ...
Quote:
maybe with an initrd - i dont know - i have never used that. ok. i shut up now |
Quote:
|
@bassmadrigal,
as I can see for now 'PARTLABEL=' 1) is unusable by kernel itself (see name_to_dev_t() from kernel's init/do_mounts.c), as "LABEL=" and "UUID=" too, and 2) is unusable by initrd. initrd's init script uses sbin/findfs to resolve "LABEL=" and "UUID=" to device name. As for 14.2 mkinitrd 1.4.8 uses BusyBox v1.20.2. It's findfs says: Code:
BusyBox v1.20.2 (2016-06-20 15:25:34 CDT) multi-call binary. So, for now "PARTLABEL=" is unusable by the kernel itself and by the initrd's init. |
Sounds good. Where would we look to see if the fstab still supports it?
|
@bassmadrigal,
/etc/fstab is a config file of mount command, so man mount -- for commandline support, man fstab -- for support in /etc/fstab. They (LABEL=, UUID=, PARTLABEL=, PATUUID=) are mentioned there. |
Quote:
|
All times are GMT -5. The time now is 04:45 AM. |