Skip site navigation (1)Skip section navigation (2)
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=E2=80=99m going to =
stick
> with BIOS-MBR-GRUB for now, unless you have an idea I can try=E2=80=A6

  The live ISO can be repacked to work with a serial console. The only=20
complication is that the systemd-boot (aka gummiboot, Arch's UEFI=20
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=20
^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' lin=
e

    # vi /mnt/loader/entries/archiso-x86_64.conf
    ....
    options archisobasedir=3Darch archisolabel=3DARCH_201701 console=3Dtt=
y0=20
console=3DttyS0

6. Unmount the filesystem (updating the FAT filesystem image) and=20
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=20
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>