Igor Sverkos
2013-Jan-04 01:27 UTC
[syslinux] Syslinux 5.00 - Doesn't boot my system / Not passing the kernel options to the kernel?
Hi, I encounter a problem with Syslinux 5.00 I cannot really describe. So I created two small videos: Booting with Syslinux 5.00 (1.3 MB): <https://www.dropbox.com/s/b6g8cdf2t9v48c6/boot-syslinux5-fail.mp4> How I fixed the problem by downgrading to Syslinux 4.06 and how booting should look like (6.5 MB): <https://www.dropbox.com/s/lt7cpgfm0qvqtba/boot-syslinux5-how-i-fixed-it.mp4> System configuration: ====================The system has two disks. Partitioned like: testVM ~ # gdisk -l /dev/sda GPT fdisk (gdisk) version 0.8.5 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Disk /dev/sda: 41943040 sectors, 20.0 GiB Logical sector size: 512 bytes Disk identifier (GUID): 63DE1BD4-4135-4108-8197-B1DADD2DE462 Partition table holds up to 128 entries First usable sector is 34, last usable sector is 41943006 Partitions will be aligned on 2048-sector boundaries Total free space is 2014 sectors (1007.0 KiB) Number Start (sector) End (sector) Size Code Name 1 2048 264191 128.0 MiB FD00 Boot 2 264192 41943006 19.9 GiB FD00 Bank The partitions are part of a mdraid setup: testVM ~ # cat /proc/mdstat Personalities : [raid1] [raid6] [raid5] [raid4] [raid10] md1 : active raid1 sda2[0] sdb2[1] 20838311 blocks super 1.2 [2/2] [UU] md0 : active raid1 sda1[0] sdb1[1] 131060 blocks super 1.0 [2/2] [UU] sda1/sdb1 = /dev/md0 -> /boot (ext4) sda2/sdb2 = /dev/md1 -> Luks encrypted LVM2 container with / and other volumes This is how I installed Syslinux 5.00: 1) mkdir /boot/syslinux 2) extlinux --install --raid /boot/syslinux 3) cd /boot/syslinux && cp -i /usr/share/syslinux/*.c32 . (I didn't overwrite "ldlinux.c32", which was created by extlinux --install...) 4) My /boot/syslinux/extlinux.conf looks like # This configuration file was generated automatically by gen-extlinuxconf. TIMEOUT 60 UI menu.c32 MENU TITLE Boot Menu MENU COLOR title 1;37;40 MENU COLOR border 30;40 MENU COLOR unsel 37;40 LABEL kernel1_bzImage-latest MENU LABEL Gentoo Linux Latest LINUX /kernel-genkernel-x86_64-3.7.1 INITRD /initramfs-genkernel-x86_64-3.7.1 APPEND domdadm dolvm video=1024x768 crypt_root=UUID=6edcbea7-bb2c-4e22-9839-9f682f6fd51f real_root=UUID=06e2ba17-c88a-4d13-bfa0-2dd0845ede6c root=UUID=06e2ba17-c88a-4d13-bfa0-2dd0845ede6c rootfs=ext4 I tested a lot of things, but I don't really know what the problem with Syslinux 5.00 is. Seems like it has problems with the RAID. I think Syslinux 5.00 don't pass the kernel options to the kernel... that's why the initramfs's init script doesn't assemble the RAID, don't prompt to enter the passphrase... like you can see in the second video. BTW: Syslinux 5.00 still cannot boot from mdraid metadata 1.2. -- Regards, Igor
Shao Miller
2013-Jan-04 02:23 UTC
[syslinux] Syslinux 5.00 - Doesn't boot my system / Not passing the kernel options to the kernel?
On 1/3/2013 20:27, Igor Sverkos wrote:> Hi, > > I encounter a problem with Syslinux 5.00 I cannot really describe. So I > created two small videos: > > Booting with Syslinux 5.00 (1.3 MB): > <https://www.dropbox.com/s/b6g8cdf2t9v48c6/boot-syslinux5-fail.mp4> > > > How I fixed the problem by downgrading to Syslinux 4.06 and how booting > should look like (6.5 MB): > <https://www.dropbox.com/s/lt7cpgfm0qvqtba/boot-syslinux5-how-i-fixed-it.mp4> > > > System configuration: > ====================> The system has two disks. Partitioned like: > > testVM ~ # gdisk -l /dev/sda > GPT fdisk (gdisk) version 0.8.5 > > Partition table scan: > MBR: protective > BSD: not present > APM: not present > GPT: present > > Found valid GPT with protective MBR; using GPT. > Disk /dev/sda: 41943040 sectors, 20.0 GiB > Logical sector size: 512 bytes > Disk identifier (GUID): 63DE1BD4-4135-4108-8197-B1DADD2DE462 > Partition table holds up to 128 entries > First usable sector is 34, last usable sector is 41943006 > Partitions will be aligned on 2048-sector boundaries > Total free space is 2014 sectors (1007.0 KiB) > > Number Start (sector) End (sector) Size Code Name > 1 2048 264191 128.0 MiB FD00 Boot > 2 264192 41943006 19.9 GiB FD00 Bank > > > The partitions are part of a mdraid setup: > > testVM ~ # cat /proc/mdstat > Personalities : [raid1] [raid6] [raid5] [raid4] [raid10] > md1 : active raid1 sda2[0] sdb2[1] > 20838311 blocks super 1.2 [2/2] [UU] > > md0 : active raid1 sda1[0] sdb1[1] > 131060 blocks super 1.0 [2/2] [UU] > > > sda1/sdb1 = /dev/md0 -> /boot (ext4) > sda2/sdb2 = /dev/md1 -> Luks encrypted LVM2 container with / and other > volumes > > > This is how I installed Syslinux 5.00: > 1) mkdir /boot/syslinux > > 2) extlinux --install --raid /boot/syslinux > > 3) cd /boot/syslinux && cp -i /usr/share/syslinux/*.c32 . > (I didn't overwrite "ldlinux.c32", which was created by extlinux > --install...) > > 4) My /boot/syslinux/extlinux.conf looks like > > # This configuration file was generated automatically by gen-extlinuxconf. > > TIMEOUT 60 > UI menu.c32 > > MENU TITLE Boot Menu > MENU COLOR title 1;37;40 > MENU COLOR border 30;40 > MENU COLOR unsel 37;40 > > LABEL kernel1_bzImage-latest > MENU LABEL Gentoo Linux Latest > LINUX /kernel-genkernel-x86_64-3.7.1 > INITRD /initramfs-genkernel-x86_64-3.7.1 > APPEND domdadm dolvm video=1024x768 > crypt_root=UUID=6edcbea7-bb2c-4e22-9839-9f682f6fd51f > real_root=UUID=06e2ba17-c88a-4d13-bfa0-2dd0845ede6c > root=UUID=06e2ba17-c88a-4d13-bfa0-2dd0845ede6c rootfs=ext4 > > > I tested a lot of things, but I don't really know what the problem with > Syslinux 5.00 is. Seems like it has problems with the RAID. I think > Syslinux 5.00 don't pass the kernel options to the kernel... that's why > the initramfs's init script doesn't assemble the RAID, don't prompt to > enter the passphrase... like you can see in the second video. > > > BTW: Syslinux 5.00 still cannot boot from mdraid metadata 1.2. >I see a difference between the two videos. In the broken one: cpuidle: using governor ladder In the working one: cpuidle: using governor menu It doesn't seem to be getting past this difference. If it was a problem with the command-line not being passed, I would expect the broken case to give a useful message about it with a kernel panic. Maybe this is useful: http://stackoverflow.com/questions/1597863/what-are-ladder-governors-and-menu-governors If there is a race condition involved, then the problem might appear to be related to Syslinux, but mightn't actually be directly caused it. - Shao Miller
Matt Fleming
2013-Jan-04 20:03 UTC
[syslinux] Syslinux 5.00 - Doesn't boot my system / Not passing the kernel options to the kernel?
On Fri, 2013-01-04 at 02:27 +0100, Igor Sverkos wrote:> I tested a lot of things, but I don't really know what the problem with > Syslinux 5.00 is. Seems like it has problems with the RAID. I think > Syslinux 5.00 don't pass the kernel options to the kernel... that's why > the initramfs's init script doesn't assemble the RAID, don't prompt to > enter the passphrase... like you can see in the second video.The problem seems to be that your initramfs isn't being loaded. I suspect that you're running into the buffer overflow bug in new_linux_kernel(). I've pushed a fix to git, are you able to build it and see whether things now work for you?> BTW: Syslinux 5.00 still cannot boot from mdraid metadata 1.2.Is this a regression? Has Syslinux ever supported mdraid metadata 1.2? -- Matt Fleming, Intel Open Source Technology Center