Port-i386 archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Converting PV to HVM - boot methods
I've set this to port-i386 rather than port-xen as it's more about the x86
boot process rather than Xen.
I have a (large) number of PV Xen VMs. These were created from a disk
image built with makefs that the sets were extracted into. This means
there is no partitioning except for disklabel and the root partition
begins at sector 0:
16 partitions:
# size offset fstype [fsize bsize cpg/sgs]
a: 18874368 0 4.2BSD 2048 16384 0 # (Cyl. 0 - 18724*)
b: 2097152 18874368 swap # (Cyl. 18724*- 20805*)
c: 20971520 0 unused 0 0 # (Cyl. 0 - 20805*)
d: 20971520 0 unused 0 0 # (Cyl. 0 - 20805*)
Now that XenServer and XCP-ng no longer support PV booting (and PV-on-PVH
doesn't work either), I now need to convert them to HVM. As there's no
free sectors at the start, I cannot create a partition table, etc.
My current best fix is to add a 2nd tiny (16MB) virtual disk with
GPT partitioning and a single MSDOS EFI partition containing:
/efi/boot/bootx64.efi
/efi/NetBSD/boot.cfg
The boot.cfg is altered so that instead of boot netbsd, the lines say boot hd1a:netbsd.
Full set of steps (assuming xbd1 for new disk and no existing wedges):
gpt create xbd1
gpt add -b 64 -t efi -l efiboot xbd1
newfs_msdos dk0
mount NAME=efiboot /mnt
mkdir -p /mnt/efi/boot /mnt/efi/NetBSD
cp /usr/mdec/bootx64.efi /mnt/efi/boot
sed 's/boot netbsd/boot hd1a:netbsd/' /boot.cfg > /mnt/efi/NetBSD/boot.cfg
At the boot prompt:
dev
disk hd0 mediaId 0 size 16 MB
NAME=efiboot(EFI System)
disk hd1 mediaId 0 size 10 GB
hd1a(4.2BSD) hd1b(swap)
net net0 22:6f:a5:97:cc:a0 pci0,4,0
default NAME=efiboot
This all works fine, but I'm interested in others' alternatives
suggestions.
Observations:
1) According to boot(8) the dev command "Sets the default drive and
partition for subsequent file system operations", but this doesn't appear
to work. After entering dev hd1a:, all operations still default to
NAME=bootconfig (was the same before I labelled the partitions, they
defaulted to hd0b).
2) Would be nice to be able to chain-load a replacement boot.cfg e.g.
reconfig=hd1a:/boot.cfg
--
Stephen
Home |
Main Index |
Thread Index |
Old Index