Custom 3.2.0-rc7+ vmlinuz will not load when grub2 1.99-14ubuntu2 fails to access the WUBI loop-mounted root EXT3 filesystem
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
grub2 (Ubuntu) |
Expired
|
Undecided
|
Unassigned |
Bug Description
I have a 3.2.0-6 Ubuntu 12.04 kernel that successfully boots.
Every time I try to build and boot a Linus GIT tree custom kernel it fails to boot.
I have tried every combination of building EXT2, EXT3 and EXT4 support in the kernel.
I am running a WUBI install (the root filesystem is located in a
loopback mounted file on my Windows 7 NTFS filesystem). The
distribution is Ubuntu 11.10 upgraded to 12.04 (Precise Pangolin).
I set debug=all at the Grub2 command line and tried to load my custom kernel.
The point where the failure occurs is when Grub checks to see whether
the root filesystem is ext2:
kern/disk.c:245: Opening 'loop0'.
kern/fs.c:54: Detecting tarfs...
failed
kern/fs.c:54: Detecting iso9660...
failed
kern/fs.c:54: Detecting ext2...
failed
Then I tried to load the Ubuntu vmlinuz-
And it gave:
kern/fs.c:54: Detecting ext2...
loader/
So, I am confused whether this problem is:
1. A failure of Grub2 resulting from some flaw that causes any
custom kernel installation to fail to boot because this detection
fails in Grub2.
2. A failure of Grub2 to successfully detect the loop mounted
filesystem at ext2 because there is a problem with a driver in Linus'
GIT tree.
=======
=> Windows is installed in the MBR of /dev/sda.
sda1: _______
File system: ntfs
Boot sector type: Windows Vista/7
Boot sector info: No errors found in the Boot Parameter Block.
Operating System:
Boot files: /bootmgr /Boot/BCD
sda2: _______
File system: ntfs
Boot sector type: Windows Vista/7
Boot sector info: No errors found in the Boot Parameter Block.
Operating System: Windows 7
Boot files: /Windows/
sda2/Wubi: _______
File system: ext3
Boot sector type: -
Boot sector info:
Operating System: Ubuntu precise (development
Boot files: /boot/grub/grub.cfg /etc/fstab
=======
Drive: sda _______
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
Partition Boot Start Sector End Sector # of Sectors Id System
/dev/sda1 * 2,048 206,847 204,800 7 NTFS /
exFAT / HPFS
/dev/sda2 206,848 976,771,071 976,564,224 7 NTFS /
exFAT / HPFS
"blkid" output: _______
Device UUID TYPE LABEL
/dev/loop0 e4635099-
/dev/sda1 FC700CEB700CAE88 ntfs
System Reserved
/dev/sda2 9A200E69200E4CA7 ntfs
=======
Device Mount_Point Type Options
/dev/loop0 / ext3 (rw,commit=
/dev/sda2 /host fuseblk
(rw,nosuid,
=======
-------
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
menuentry 'Ubuntu, with Linux 3.2.0-7-generic' --class ubuntu --class
gnu-linux --class gnu --class os {
set gfxpayload=
insmod part_msdos
insmod ntfs
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 9A200E69200E4CA7
loopback loop0 /ubuntu/
set root=(loop0)
linux /boot/vmlinuz-
loop=/ubuntu/
initrd /boot/initrd.
}
menuentry 'Ubuntu, with Linux 3.2.0-7-generic (recovery mode)' --class
ubuntu --class gnu-linux --class gnu --class os {
set gfxpayload=
insmod part_msdos
insmod ntfs
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 9A200E69200E4CA7
loopback loop0 /ubuntu/
set root=(loop0)
echo 'Loading Linux 3.2.0-7-generic ...'
linux /boot/vmlinuz-
loop=/ubuntu/
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu, with Linux 3.2.0-6-generic' --class ubuntu --class
gnu-linux --class gnu --class os {
set gfxpayload=
insmod part_msdos
insmod ntfs
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 9A200E69200E4CA7
loopback loop0 /ubuntu/
set root=(loop0)
linux /boot/vmlinuz-
loop=/ubuntu/
initrd /boot/initrd.
}
menuentry 'Ubuntu, with Linux 3.2.0-6-generic (recovery mode)' --class
ubuntu --class gnu-linux --class gnu --class os {
set gfxpayload=
insmod part_msdos
insmod ntfs
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 9A200E69200E4CA7
loopback loop0 /ubuntu/
set root=(loop0)
echo 'Loading Linux 3.2.0-6-generic ...'
linux /boot/vmlinuz-
loop=/ubuntu/
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.
}
menuentry 'Ubuntu, with Linux 3.2.0-rc7+' --class ubuntu --class
gnu-linux --class gnu --class os {
set gfxpayload=
insmod part_msdos
insmod ntfs
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 9A200E69200E4CA7
loopback loop0 /ubuntu/
set root=(loop0)
linux /boot/vmlinuz-
loop=/ubuntu/
initrd /boot/initrd.
}
menuentry 'Ubuntu, with Linux 3.2.0-rc7+ (recovery mode)' --class
ubuntu --class gnu-linux --class gnu --class os {
set gfxpayload=
insmod part_msdos
insmod ntfs
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 9A200E69200E4CA7
loopback loop0 /ubuntu/
set root=(loop0)
echo 'Loading Linux 3.2.0-rc7+ ...'
linux /boot/vmlinuz-
loop=/ubuntu/
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.
}
menuentry 'Ubuntu, with Linux 3.2.0-rc7+.old' --class ubuntu --class
gnu-linux --class gnu --class os {
set gfxpayload=
insmod part_msdos
insmod ntfs
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 9A200E69200E4CA7
loopback loop0 /ubuntu/
set root=(loop0)
linux /boot/vmlinuz-
loop=/ubuntu/
initrd /boot/initrd.
}
menuentry 'Ubuntu, with Linux 3.2.0-rc7+.old (recovery mode)' --class
ubuntu --class gnu-linux --class gnu --class os {
set gfxpayload=
insmod part_msdos
insmod ntfs
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 9A200E69200E4CA7
loopback loop0 /ubuntu/
set root=(loop0)
echo 'Loading Linux 3.2.0-rc7+.old ...'
linux /boot/vmlinuz-
loop=/ubuntu/
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.
}
}
### END /etc/grub.
### BEGIN /etc/grub.
### END /etc/grub.
### BEGIN /etc/grub.
### END /etc/grub.
### BEGIN /etc/grub.
### END /etc/grub.
### BEGIN /etc/grub.
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.
### BEGIN /etc/grub.
if [ -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.
-------
=======
-------
# UNCONFIGURED FSTAB FOR BASE SYSTEM
/host/ubuntu/
-------
================= sda2/Wubi: Location of files loaded by Grub: =================
GiB - GB File Fragment(s)
1.301773071 = 1.397768192 boot/grub/grub.cfg 2
13.741065025 = 14.754356224 boot/initrd.
13.749551773 = 14.763468800 boot/initrd.
1.417470932 = 1.521997824 boot/initrd.
2.067645073 = 2.220116992 boot/vmlinuz-
13.718629837 = 14.730266624 boot/vmlinuz-
1.418664932 = 1.523279872 boot/vmlinuz-
1.388851166 = 1.491267584 boot/vmlinuz-
13.749551773 = 14.763468800 initrd.img 63
13.741065025 = 14.754356224 initrd.img.old 62
13.718629837 = 14.730266624 vmlinuz 24
2.067645073 = 2.220116992 vmlinuz.old 94
fdisk:
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x8ea8e911
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS/exFAT
/dev/sda2 206848 976771071 488282112 7 HPFS/NTFS/exFAT
mount:
/dev/loop0 on / type ext3 (rw,commit=
proc on /proc type proc (rw,noexec,
sysfs on /sys type sysfs (rw,noexec,
none on /sys/fs/
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,
tmpfs on /run type tmpfs (rw,noexec,
none on /run/lock type tmpfs (rw,noexec,
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda2 on /host type fuseblk
(rw,nosuid,
binfmt_misc on /proc/sys/
(rw,noexec,
gvfs-fuse-daemon on /home/miles/.gvfs type fuse.gvfs-
(rw,nosuid,
I have reported this on the Grub2 support mailing list and on the Linux Kernel mailing list. So far, no responses. Can someone here give me some next steps in trying to track down the problem?