[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#243011: os-prober: installation report (beauty, but some issues)



Hi Joey,

I've done as you suggested (still with 20040417).

Output of os-prober:
/dev/discs/disc0/part3:Windows NT/2000/XP:WindowsNT:chain
/dev/discs/disc0/part5:Debian GNU/Linux (3.0):Debian3:linux
/dev/discs/disc1/part1:Windows 95/98/Me:Windows9xMe:chain
/dev/discs/disc1/part8:Debian GNU/Linux (testing/unstable):Debian4:linux
/dev/discs/disc1/part9:Debian GNU/Linux (testing/unstable):Debian5:linux

Output of linux-boot-prober /dev/discs/disc0/part5:
/dev/discs/disc0/part5:/dev/discs/disc0/part1::/boot/vmlinuz::root=/dev/hda5

And now for the good news...
I've done some debugging by adding 'echo' statements to 50mounted-tests and 
50lilo. These modified scripts and the resulting output of linux-boot-prober 
for hda5 are attached.

I found that the variable 'initrd' in 50lilo is already set to '/install/
cdrom.gz' in the shell from which the boot prober is run. This causes the 
test
   if [ -e "$mpoint/$kernel" ] && [ -e "$mpoint/$initrd" ]; then
to fail.

If I initialize the variable 'initrd' in the beginning of 50lilo (see 
commented line in the attached version), the output of linux-boot-prober is a 
lot more interesting :-)
/dev/discs/disc0/part5:/dev/discs/disc0/part1:Linux:/boot/vmlinuz::root=/dev/
hda5 ro hdc=ide-scsi
/dev/discs/disc0/part5:/dev/discs/disc0/part1:LinuxPrevious:/boot/
vmlinuz.old::root=/dev/hda5 ro hdc=ide-scsi
/dev/discs/disc0/part5:/dev/discs/disc0/part1:LinuxStable:/boot/
vmlinuz.stable::root=/dev/hda5 ro hdc=ide-scsi
/dev/discs/disc0/part5:/dev/discs/disc0/part1:Memtest:/boot/
memtest86.bin::root=/dev/hda5

To be safe the variables 'rootdev', 'kernel', etc. should probably also be 
initialized and maybe variable initialization is something to check for in 
other scripts as well...

I have run GRUB installation with a corrected 50lilo; the resulting menu.lst 
is attached. This includes _all_ the entries possible for my system.
The only remaining problem is that I still can't boot the hdb8 partition.

Output of linux-boot-prober /dev/discs/disc1/part8:
/dev/discs/disc1/part8:/dev/discs/disc1/part8:Debian GNU/Linux, kernel 
2.4.25-1-686:/boot/vmlinuz-2.4.25-1-686:/boot/initrd.img-2.4.25-1-686:root=/
dev/hdb8 ro
/dev/discs/disc1/part8:/dev/discs/disc1/part8:Debian GNU/Linux, kernel 
2.4.25-1-686 (recovery mode):/boot/vmlinuz-2.4.25-1-686:/boot/
initrd.img-2.4.25-1-686:root=/dev/hdb8 ro single

I have not investigated why '/boot' is stripped from the kernel and initrd 
entries for hdb8. I guess the rule should be that if the first 2 items in an 
entry from linux-boot-prober are different it _should_ be stripped, if they 
are the same it _should not_.
Hope you can find the cause for this in time for Beta 4!

Cheers,

Frans

Attachment: 50mounted-tests
Description: application/shellscript

Test:      /usr/lib/linux-boot-probes/mounted/40grub
Partition: /dev/discs/disc0/part5
Bootpart:  /dev/discs/disc0/part1
Tmpmnt:    /var/lib/os-prober/mount
Type:      ext2
Test:      /usr/lib/linux-boot-probes/mounted/50lilo
Partition: /dev/discs/disc0/part5
Bootpart:  /dev/discs/disc0/part1
Tmpmnt:    /var/lib/os-prober/mount
Type:      ext2
Lilo.conf found, parsing...
Liloparser: # /etc/lilo.conf - See: `lilo(8)' and `lilo.conf(5)',
Liloparser: # ---------------       `install-mbr(8)', `/usr/share/doc/lilo/',
Liloparser: #                       and `/usr/share/doc/mbr/'.
Liloparser: 
Liloparser: # +---------------------------------------------------------------+
Liloparser: # |                        !! Reminder !!                         |
Liloparser: # |                                                               |
Liloparser: # | Don't forget to run `lilo' after you make changes to this     |
Liloparser: # | conffile, `/boot/bootmess.txt', or install a new kernel.  The |
Liloparser: # | computer will most likely fail to boot if a kernel-image      |
Liloparser: # | post-install script or you don't remember to run `lilo'.      |
Liloparser: # |                                                               |
Liloparser: # +---------------------------------------------------------------+
Liloparser: 
Liloparser: # Support LBA for large hard disks.
Liloparser: #
Liloparser: lba32
Liloparser: 
Liloparser: # Overrides the default mapping between harddisk names and the BIOS'
Liloparser: # harddisk order. Use with caution.
Liloparser: #disk=/dev/hde
Liloparser: #    bios=0x81
Liloparser: 
Liloparser: #disk=/dev/sda
Liloparser: #    bios=0x80
Liloparser: 
Liloparser: # Specifies the boot device.  This is where Lilo installs its boot
Liloparser: # block.  It can be either a partition, or the raw device, in which
Liloparser: # case it installs in the MBR, and will overwrite the current MBR.
Liloparser: #
Liloparser: boot=/dev/hda
Liloparser: 
Liloparser: # Specifies the device that should be mounted as root. (`/')
Liloparser: #
Liloparser: root=/dev/hda5
Liloparser: 
Liloparser: # Enable map compaction:
Liloparser: # Tries to merge read requests for adjacent sectors into a single
Liloparser: # read request. This drastically reduces load time and keeps the
Liloparser: # map smaller.  Using `compact' is especially recommended when
Liloparser: # booting from a floppy disk.  It is disabled here by default
Liloparser: # because it doesn't always work.
Liloparser: #
Liloparser: # compact
Liloparser: 
Liloparser: # Installs the specified file as the new boot sector
Liloparser: # You have the choice between: bmp, compat, menu and text
Liloparser: # Look in /boot/ and in lilo.conf(5) manpage for details
Liloparser: #
Liloparser: install=/boot/boot-menu.b
Liloparser: 
Liloparser: # Specifies the location of the map file
Liloparser: #
Liloparser: map=/boot/map
Liloparser: 
Liloparser: # You can set a password here, and uncomment the `restricted' lines
Liloparser: # in the image definitions below to make it so that a password must
Liloparser: # be typed to boot anything but a default configuration.  If a
Liloparser: # command line is given, other than one specified by an `append'
Liloparser: # statement in `lilo.conf', the password will be required, but a
Liloparser: # standard default boot will not require one.
Liloparser: #
Liloparser: # This will, for instance, prevent anyone with access to the
Liloparser: # console from booting with something like `Linux init=/bin/sh',
Liloparser: # and thus becoming `root' without proper authorization.
Liloparser: #
Liloparser: # Note that if you really need this type of security, you will
Liloparser: # likely also want to use `install-mbr' to reconfigure the MBR
Liloparser: # program, as well as set up your BIOS to disallow booting from
Liloparser: # removable disk or CD-ROM, then put a password on getting into the
Liloparser: # BIOS configuration as well.  Please RTFM `install-mbr(8)'.
Liloparser: #
Liloparser: # password=tatercounter2000
Liloparser: 
Liloparser: # Specifies the number of deciseconds (0.1 seconds) LILO should
Liloparser: # wait before booting the first image.
Liloparser: #
Liloparser: #delay=50
Liloparser: 
Liloparser: # You can put a customized boot message up if you like.  If you use
Liloparser: # `prompt', and this computer may need to reboot unattended, you
Liloparser: # must specify a `timeout', or it will sit there forever waiting
Liloparser: # for a keypress.  `single-key' goes with the `alias' lines in the
Liloparser: # `image' configurations below.  eg: You can press `1' to boot
Liloparser: # `Linux', `2' to boot `LinuxOLD', if you uncomment the `alias'.
Liloparser: #
Liloparser: # message=/boot/bootmess.txt
Liloparser: prompt
Liloparser: #	single-key
Liloparser: #	delay=100
Liloparser: #	timeout=50
Liloparser: 
Liloparser: # Specifies the VGA text mode at boot time. (normal, extended, ask, <mode>)
Liloparser: #
Liloparser: # vga=normal
Liloparser: # vga=ask
Liloparser: # vga=9
Liloparser: vga=7
Liloparser: 
Liloparser: # Kernel command line options that apply to all installed images go
Liloparser: # here.  See: The `boot-prompt-HOWO' and `kernel-parameters.txt' in
Liloparser: # the Linux kernel `Documentation' directory.
Liloparser: #
Liloparser: # append=""
Liloparser: 
Liloparser: # Boot up Linux by default.
Liloparser: #
Liloparser: default=Linux
Liloparser: 
Liloparser: image=/boot/vmlinuz
Recording stanza...
RS2 - def_rootdev: /dev/hda5
      def_kernel:  
      def_parms:   
      def_initrd:  /install/cdrom.gz
Liloparser: label=Linux
Liloparser: read-only
Liloparser: append="hdc=ide-scsi"
Liloparser: #	restricted
Liloparser: #	alias=1
Liloparser: 
Liloparser: image=/boot/vmlinuz.old
Recording stanza...
RS1 - title:   
      rootdev: /dev/hda5
      kernel:  
      parms:   
      initrd:  
Liloparser: label=LinuxPrevious
Liloparser: read-only
Liloparser: append="hdc=ide-scsi"
Liloparser: 
Liloparser: image=/boot/vmlinuz.stable
Recording stanza...
RS1 - title:   
      rootdev: /dev/hda5
      kernel:  
      parms:   
      initrd:  
Liloparser: label=LinuxStable
Liloparser: read-only
Liloparser: append="hdc=ide-scsi"
Liloparser: optional
Liloparser: 
Liloparser: image=/boot/vmlinuz.orig
Recording stanza...
RS1 - title:   
      rootdev: /dev/hda5
      kernel:  
      parms:   
      initrd:  
Liloparser: label=LinuxOrig
Liloparser: read-only
Liloparser: optional
Liloparser: 
Liloparser: # If you have another OS on this machine to boot, you can uncomment the
Liloparser: # following lines, changing the device name on the `other' line to
Liloparser: # where your other OS' partition is.
Liloparser: #
Liloparser: image=/boot/memtest86.bin
Recording stanza...
RS1 - title:   
      rootdev: /dev/hda5
      kernel:  
      parms:   
      initrd:  
Liloparser: label=Memtest
Liloparser: 
Liloparser: other=/dev/hda3
Recording stanza...
RS1 - title:   
      rootdev: /dev/hda5
      kernel:  
      parms:   
      initrd:  
Liloparser: label=Win2000
Liloparser: table=/dev/hda
Liloparser: loader=/boot/chain.b
Liloparser: #	restricted
Liloparser: #	alias=2
Liloparser: 
Liloparser: other=/dev/hdb8
Recording stanza...
RS2 - def_rootdev: /dev/hda5
      def_kernel:  
      def_parms:   
      def_initrd:  /install/cdrom.gz
Liloparser: label=D-Installer
Liloparser: loader=/boot/chain.b
Liloparser: other=/dev/hdb9
Recording stanza...
RS2 - def_rootdev: /dev/hda5
      def_kernel:  
      def_parms:   
      def_initrd:  /install/cdrom.gz
Liloparser: label=D-I_Test
Liloparser: loader=/boot/chain.b
Recording stanza...
RS2 - def_rootdev: /dev/hda5
      def_kernel:  
      def_parms:   
      def_initrd:  /install/cdrom.gz
Test:      /usr/lib/linux-boot-probes/mounted/90fallback
Partition: /dev/discs/disc0/part5
Bootpart:  /dev/discs/disc0/part1
Tmpmnt:    /var/lib/os-prober/mount
Type:      ext2
/dev/discs/disc0/part5:/dev/discs/disc0/part1::/boot/vmlinuz::root=/dev/hda5
Test /usr/lib/linux-boot-probes/mounted/90fallback executed

Attachment: 50lilo
Description: application/shellscript

# menu.lst - See: grub(8), info grub, update-grub(8)
#            grub-install(8), grub-floppy(8),
#            grub-md5-crypt, /usr/share/doc/grub
#            and /usr/share/doc/grub-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.           
default		0

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout		5

# Pretty colours
color cyan/blue white/blue

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line)  and entries protected by the
# command 'lock'
# e.g. password topsecret
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret

#
# examples
#
# title		Windows 95/98/NT/2000
# root		(hd0,0)
# makeactive
# chainloader	+1
#
# title		Linux
# root		(hd0,1)
# kernel	/vmlinuz root=/dev/hda2 ro
#

#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default optons below

## DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specifiv kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
# kopt=root=/dev/hdb9 ro

## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd1,8)

## should update-grub create alternative automagic boot options
## e.g. alternative=true
##      alternative=false
# alternative=true

## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
##      lockalternative=false
# lockalternative=false

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
##      altoptions=(recovery mode) single
# altoptions=(recovery mode) single

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
##      howmany=7
# howmany=all

## ## End Default Options ##

title		Debian GNU/Linux, kernel 2.4.25-1-386 
root		(hd1,8)
kernel		/boot/vmlinuz-2.4.25-1-386 root=/dev/hdb9 ro 
initrd		/boot/initrd.img-2.4.25-1-386
savedefault
boot

title		Debian GNU/Linux, kernel 2.4.25-1-386 (recovery mode)
root		(hd1,8)
kernel		/boot/vmlinuz-2.4.25-1-386 root=/dev/hdb9 ro single
initrd		/boot/initrd.img-2.4.25-1-386
savedefault
boot

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title		Other operating systems:
root


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/hda3
title		Windows NT/2000/XP
root		(hd0,2)
savedefault
makeactive
chainloader	+1


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/hda5.
title		Linux (on /dev/hda5)
root		(hd0,0)
kernel		/vmlinuz root=/dev/hda5 ro hdc=ide-scsi
savedefault
boot


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/hda5.
title		LinuxPrevious (on /dev/hda5)
root		(hd0,0)
kernel		/vmlinuz.old root=/dev/hda5 ro hdc=ide-scsi
savedefault
boot


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/hda5.
title		LinuxStable (on /dev/hda5)
root		(hd0,0)
kernel		/vmlinuz.stable root=/dev/hda5 ro hdc=ide-scsi
savedefault
boot


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/hda5.
title		Memtest (on /dev/hda5)
root		(hd0,0)
kernel		/memtest86.bin root=/dev/hda5
savedefault
boot


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/hdb1
title		Windows 95/98/Me
root		(hd1,0)
savedefault
makeactive
chainloader	+1


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/hdb8.
title		Debian GNU/Linux, kernel 2.4.25-1-686 (on /dev/hdb8)
root		(hd1,7)
kernel		/vmlinuz-2.4.25-1-686 root=/dev/hdb8 ro
initrd		/initrd.img-2.4.25-1-686
savedefault
boot


# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/hdb8.
title		Debian GNU/Linux, kernel 2.4.25-1-686 (recovery mode) (on /dev/hdb8)
root		(hd1,7)
kernel		/vmlinuz-2.4.25-1-686 root=/dev/hdb8 ro single
initrd		/initrd.img-2.4.25-1-686
savedefault
boot


Reply to: