Date: Sun, 8 Jan 2017 22:28:16 -0800 From: Peter Grehan <grehan@freebsd.org> To: Vincent Olivier <vincent@up4.com> Cc: freebsd-virtualization@freebsd.org Subject: Re: Arch Linux UEFI Bhyve Setup Message-ID: <850ef0cd-131a-8c18-ee0a-fe044293360d@freebsd.org> In-Reply-To: <8D5F1A67-DC29-4443-8128-B590CCC4B219@up4.com> References: <E37D5989-6675-4EF9-937C-54E29766DAC3@up4.com> <680F62F7-9FD7-4FB3-A60A-DED3C784BE7F@up4.com> <dc972f59-db08-132a-7d60-f813ee9a79e1@freebsd.org> <A360F436-D9C6-4731-8C54-07134970CFDF@up4.com> <8D5F1A67-DC29-4443-8128-B590CCC4B219@up4.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Vincent,
> Nothing works with UEFI console for me so I think I’m going to stick
> with BIOS-MBR-GRUB for now, unless you have an idea I can try…
The live ISO can be repacked to work with a serial console. The only
complication is that the systemd-boot (aka gummiboot, Arch's UEFI
loader) are embedded in a FAT filesystem image.
The repack steps are:
1. Install the cdrtools-devel package to get mkisofs
2. Extract the contents of the Arch iso into a working directory
# cd /path/to/work_dir
# tar xf /path/to/archlinux-2017.01.01-dual.iso
3. Find the label of the ISO (to be used in the repack)
# isoinfo -d -i /path/to/archlinux-2017.01.01-dual.iso | grep
^Volume\ id
Volume id: ARCH_201701
4. Set up a vnode-backed md for the FAT boot image and mount it
# mdconfig -f EFI/archiso/efiboot.img
# mount_msdosfs /dev/md0 /mnt
5. Edit the config file, adding serial console lines to the 'options' line
# vi /mnt/loader/entries/archiso-x86_64.conf
....
options archisobasedir=arch archisolabel=ARCH_201701 console=tty0
console=ttyS0
6. Unmount the filesystem (updating the FAT filesystem image) and
cleanup the md
# umount /mnt
# mdconfig -d -u 0
7. Repack the ISO, using the volume ID from step 3. Change the
name of the repacked iso to whatever is suitable with the '-o'
parameter.
# mkisofs \
-iso-level 3 \
-V "ARCH_201701" \
-J -joliet-long \
-b isolinux/isolinux.bin -no-emul-boot -c isolinux/boot.cat \
-boot-load-size 4 -boot-info-table \
-eltorito-alt-boot -eltorito-platform 0xEF \
-eltorito-boot EFI/archiso/efiboot.img \
-no-emul-boot \
-o ../arch_repack.iso .
The system can now be booted with a serial console. An example command
line with serial output on the nmdm device is
bhyve \
-c 2 \
-s 0,hostbridge \
-s 3,ahci-cd,/path/to/arch_repack.iso \
-s 10,virtio-net,tap0 \
-l bootrom,/path/to/BHYVE_UEFI_20160526.fd \
-l com1,/dev/nmdm0A \
-s 31,lpc \
-m 2G -H -w \
arch
later,
Peter.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?850ef0cd-131a-8c18-ee0a-fe044293360d>
