NetBSD-Users archive

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

Re: GPT boot, again



Emmanuel Dreyfus <manu%netbsd.org@localhost> wrote:

> I try to boot NetBSD/Xen from a GPT, with little success.
> 
> I understand NetBSD EFI bootstrap does not support multiboot, so I
> should use BIOS boot.

That poins seems false, I found multiboot code in EFI boot after all.

I made some progress: it seems the BIOS/UEFI has real trouble with the
GPT. Creating a MBR partition overlapping with the PMBR helps a lot:

Partition table:
0: GPT Protective MBR (sysid 238)
    start 1, size 4294967295 (2097152 MB, Cyls 0-267349/89/4)
        PBR is not bootable: Bad magic number (0x0000)
1: EFI system partition (sysid 239)
    start 34, size 524288 (256 MB, Cyls 0/0/35-32/162/36), Active
2: <UNUSED>
3: <UNUSED>

I did it this way to keep the GPT intact:
dd if=/dev/rwd0d bs=512 count=1 > mbr
fdisk -IafFu1 -s 239/34/524288 mbr
dd if=mbr of=/dev/rwd0d bs=512 count=1

The EFI partition was formatted using
newfs_msdos -F 16 -L efi@wd0 -B /usr/mdec/bootxx_fat16 /dev/rdk0

It contains:
/boot
/boot.cfg
/efi/boot/bootx64.efi

Now the BIOS accepts booting that either in legacy or UEFI mode. However
I face two problems:

- In legacy mode, bootstrap displays two lines of blank (rendered as
underscore on the serial line), then nothing.  I tried FAT 12 with
bootxx_fat12 with the same result.

- in UEFI mode, bootstrap does not read boot.cfg and while it sees the
GPT partitions, it is unable to access a RAID that has a GPT inside. It
can access a RAID that has a disklabel inside, though, but that does not
help for > 2 TB.

disk hd0 mediaId 0 size 5589 GB
  hd0a(EFI System) hd0b(NetBSD RAID) hd0c(NetBSD Swap)


-- 
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index