Hi,
I'm running Xen & Ubuntu with grub2 recently, after running for some time
and read grub user guide document and multiboot specification, i got 2
questions.

Q1:
my grub entry is like below.
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
_______________________________________________
Help-grub mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-grub

Reply via email to