2 bsect.c | 21 ++++++++++++---------
3 1 file changed, 12 insertions(+), 9 deletions(-)
5 Index: lilo-22.7/bsect.c
6 ===================================================================
7 --- lilo-22.7.orig/bsect.c
9 @@ -1058,16 +1058,19 @@ if (image) { /* long section specific to
10 "read-write")) strcat(options,"rw ");
11 if ((root = cfg_get_strg(cf_kernel,"root")) || (root = cfg_get_strg(
12 cf_options,"root"))) {
13 - if (!strcasecmp(root,"current")) {
14 - if (stat("/",&st) < 0) pdie("stat /");
15 - sprintf(strchr(options,0),"root=%x ",(unsigned int) st.st_dev);
17 - else if (strlen(root)>6 && !strncmp(root,"LABEL=",6)) {
18 + /* root= is a property of either:
19 + * prepare_namespace()
20 + * or /init in initramfs
21 + * or /linuxrc in a loopmounted initrd
22 + * Its not a property of the bootloader or anything else
23 + * related to loading the kernel/initrd into memory (or configuring
26 + * Pass root= via /proc/cmdline as configured in the config file
27 + * If no root= is configured, initrd has a hardcoded value
28 + * based on the '/' entry in /etc/fstab
30 sprintf(strchr(options,0),"root=%s ", root);
33 - sprintf(strchr(options,0),"root=%x ",dev_number(root));
36 if ((ram_disk = cfg_get_strg(cf_kernel,"ramdisk")) || (ram_disk =
37 cfg_get_strg(cf_options,"ramdisk")))