XEN // freebsd guest from cloud image

freebsd full | freebsd cloud | freebsd ext2fs | freebsd zfs

requirementsrequirements

grab latest cloud image

cd /data_local/
wget https://download.freebsd.org/snapshots/VM-IMAGES/13.2-STABLE/amd64/Latest/FreeBSD-13.2-STABLE-amd64.raw.xz
unxz FreeBSD-13.2-STABLE-amd64.raw.xz

prepare PVH kernel

mkdir /data/kernels/freebsd132/
cd /data/kernels/freebsd132/
wget https://download.freebsd.org/snapshots/amd64/13.2-STABLE/kernel.txz
tar xaf kernel.txz
rm -f kernel.txz

moar spacemoar space

you might want some space to re-build the kernel also

dd if=/dev/zero of=freebsd_usr_src.img bs=1G count=0 seek=25

casual sysprepcasual sysprep

we need to fix the serial console and disable DHCP from the cloud image

losetup --find --show FreeBSD-13.2-STABLE-amd64.raw
partprobe /dev/loop0
mkdir lala/
mount -t ufs -o ufstype=ufs2 /dev/loop0p4 lala/
404 Not Found

404 Not Found


nginx

HOME | GUIDES | LECTURES | LAB | SMTP HEALTH | HTML5 | CONTACT
Licensed under MIT
umount lala/
rmdir lala/

guest skeletonguest skeleton

notice we will need to mount GPT partition 4

fdisk -l /data_local/FreeBSD-13.2-STABLE-amd64.raw

    mkdir -p /data/guests/freebsd/
    cd /data/guests/freebsd/
    vi freebsd

# generic / pvh for UFS
kernel = "/data/kernels/freebsd132/boot/kernel/kernel"
extra = "vfs.root.mountfrom=ufs:xbd0p4"
type = "pvh"

memory = 7168
name = "freebsd"
vcpus = 3
disk = [ 'tap:tapdisk:aio:/data_local/FreeBSD-13.2-STABLE-amd64.raw,xvda,w',
        'tap:tapdisk:aio:/data_local/freebsd_usr_src.img,xvdb,w' ]
vif = [ 'bridge=guestbr0, vifname=freebsd.0',
    'bridge=guestbr0, vifname=freebsd.1' ]

ready to goready to go

    xl create freebsd -c

post-install fixuppost-install fixup

eventually prepare that additional space there

    newfs /dev/xbd1
    touch /usr/src/UFS_NOT_MOUNTED
    cp -pi /etc/fstab /etc/fstab.dist
    vi /etc/fstab

    /dev/xbd1 /usr/src ufs rw 0 2

    mount /usr/src/

HOME | GUIDES | LECTURES | LAB | SMTP HEALTH | HTML5 | CONTACT
Licensed under MIT