submenu "Xen xen" {
menuentry 'GNU/Linux, with Xen xen and Linux 3.2.0' --class gnu-linux --class gnu --class os --class xen {
insmod part_msdos
insmod ext2
set root='(hd0,msdos6)'
search --no-floppy --fs-uuid --set=root cc10bb0a-f7ca-4aea-bbdc-052e182ed36c
echo 'Loading Xen xen ...'
multiboot /boot/xen.gz placeholder
echo 'Loading Linux 3.2.0 ...'
module /boot/vmlinuz-3.2.0 placeholder root=/dev/sda6 ro
}
I'm wondering about the system bootup sequence, why 'initrd' is not need here? normally a single linux OS in grub should like this:
gnu-linux --class gnu --class os {
...
linux /boot/vmlinuz-2.6.32-33-generic root=UUID=5f9bfa20-5574-4c53-98ee-e910b90a79a9 ro quiet splash
initrd /boot/initrd.img-2.6.32-33-generic
}
Q2:
i checked multiboot specification, it told there is a multiboot header, but i checked both 'xen' and 'linux kernel' file with 'readelf -e', there's nothing about the header, is it right? if that's true, is this 'multiboot' the same with the 'multiboot' in the grub entry?
multiboot /boot/xen.gz placeholder
echo 'Loading Linux 3.2.0 ...'
module /boot/vmlinuz-3.2.0 placeholder root=/dev/sda6 ro
output of kernel:
# readelf -e vmlinux
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0x1000000
Start of program headers: 64 (bytes into file)
Start of section headers: 147264472 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 5
Size of section headers: 64 (bytes)
Number of section headers: 46
Section header string table index: 43
output of xen:
# readelf -e ./xen-4.1.3.build/xen/xen
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x100000
Start of program headers: 52 (bytes into file)
Start of section headers: 1527912 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 1
Size of section headers: 40 (bytes)
Number of section headers: 3
Section header string table index: 2
Can anyone help to answer? any help will be greatly appreciated.
Regards,
Wei