version=pmwiki-2.2.130 ordered=1 urlencoded=1 agent=w3m/0.5.3+git20210102 author=jrmu charset=UTF-8 csum= ctime=1629609383 host=38.87.162.8 name=Vmm.UbuntuIso rev=6 targets= text=(:title Create Ubuntu ISO for VMM:)%0a%0aTo use VMM, the ISO image you provide must support the serial console. In this guide,%0awe download and modify the ubuntu ISO to boot from serial console.%0a%0a!! Download and verify ISO%0a%0a[@%0a$ ftp https://releases.ubuntu.com/20.04.2/ubuntu-20.04.2-live-server-amd64.iso%0a$ ftp https://releases.ubuntu.com/20.04.2/SHA256SUMS%0a$ ftp https://releases.ubuntu.com/20.04.2/SHA256SUMS.gpg%0a@]%0a%0aIf gpg is not already installed:%0a[@%0a$ doas pkg_add gnupg%0a@]%0a%0a[@%0a$ gpg --keyserver keyserver.ubuntu.com --recv-keys 843938DF228D22F7B3742BC0D94AA3F0EFE21092%0agpg: key D94AA3F0EFE21092: public key "Ubuntu CD Image Automatic Signing Key (2012) %3ccdimage@ubuntu.com>" imported%0agpg: Total number processed: 1%0agpg: imported: 1%0a$ gpg --verify SHA256SUMS.gpg SHA256SUMS%0agpg: Signature made Thu Feb 11 13:07:58 2021 CST%0agpg: using RSA key 843938DF228D22F7B3742BC0D94AA3F0EFE21092%0agpg: Good signature from "Ubuntu CD Image Automatic Signing Key (2012) %3ccdimage@ubuntu.com>" [unknown]%0agpg: WARNING: This key is not certified with a trusted signature!%0agpg: There is no indication that the signature belongs to the owner.%0aPrimary key fingerprint: 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092%0a$ sha256 ubuntu-20.04.2-live-server-amd64.iso%0aSHA256 (ubuntu-20.04.2-live-server-amd64.iso) = d1f2bf834bbe9bb43faf16f9be992a6f3935e65be0edece1dee2aa6eb1767423%0a$ grep ubuntu-20.04.2-live-server-amd64.iso SHA256SUMS%0ad1f2bf834bbe9bb43faf16f9be992a6f3935e65be0edece1dee2aa6eb1767423 *ubuntu-20.04.2-live-server-amd64.iso%0a@]%0a%0aThe two checksums must match perfectly or else you should stop installation.%0a%0aWe run these steps as root:%0a%0a[@%0a# vnconfig vnd0 ubuntu-20.04.2-live-server-amd64.iso%0a# mkdir old new%0a# mount /dev/vnd0c old%0a# cp -R old/* new%0a# cp -R old/.disk new%0a# umount old%0a# vnconfig -u vnd0%0a@]%0a%0a!! Make Changes%0a%0aHere are the diffs of the changes we make:%0a%0a[@%0adiff -ru old/isolinux/isolinux.cfg new/isolinux/isolinux.cfg%0a--- old/isolinux/isolinux.cfg Mon Feb 1 11:57:37 2021%0a+++ new/isolinux/isolinux.cfg Sun Aug 22 00:34:12 2021%0a@@ -1,5 +1,7 @@ %0a # D-I config version 2.0%0a # search path for the c32 support libraries (libcom32, libutil etc.)%0a+serial 0 115200 %0a+console 0%0a path %0a include menu.cfg%0a default vesamenu.c32%0adiff -ru old/isolinux/rqtxt.cfg new/isolinux/rqtxt.cfg%0a--- old/isolinux/rqtxt.cfg Mon Feb 1 11:57:37 2021%0a+++ new/isolinux/rqtxt.cfg Sun Aug 22 01:12:25 2021%0a@@ -1,4 +1,4 @@%0a label rescue%0a menu label ^Rescue mode%0a kernel /install/vmlinuz%0a- append vga=788 initrd=/install/initrd.gz rescue/enable=true --- quiet%0a+ append vga=normal initrd=/install/initrd.gz rescue/enable=true --- console=ttyS0,115200n8%0adiff -ru old/isolinux/txt.cfg new/isolinux/txt.cfg%0a--- old/isolinux/txt.cfg Mon Feb 1 11:57:37 2021%0a+++ new/isolinux/txt.cfg Sun Aug 22 00:35:37 2021%0a@@ -2,11 +2,11 @@%0a label live%0a menu label ^Install Ubuntu Server%0a kernel /casper/vmlinuz%0a- append initrd=/casper/initrd quiet ---%0a+ append vga=normal initrd=/casper/initrd --- console=ttyS0,115200n8%0a label hwe-live%0a menu label ^Install Ubuntu Server with the HWE kernel%0a kernel /casper/hwe-vmlinuz%0a- append initrd=/casper/hwe-initrd quiet ---%0a+ append vga=normal initrd=/casper/hwe-initrd --- console=ttyS0,115200n8%0a label memtest%0a menu label Test ^memory%0a kernel /install/mt86plus%0a@]%0a%0a!! Generate ISO%0a%0a[@%0a# pkg_add xorriso%0a# xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Ubuntu/VMM" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ubuntu-20.04.2-live-server-amd64-vmm.iso ./new%0a@]%0a%0a!! VMM%0a%0aIn /etc/vm.conf, we update the cdrom image:%0a%0a[@%0avm "username" {%0a owner username%0a memory 1024M%0a cdrom "/home/iso/ubuntu-20.04.2-live-server-amd64-vmm.iso"%0a disk /home/username/username.qcow2%0a interface { %0a locked lladdr aa:bb:cc:dd:ee:ff%0a switch "switch0"%0a }%0a}%0a@]%0a%0a# Install%0a%0aWhen presented with the boot menu, type help:%0a%0a[@%0aboot: help%0a@]%0a%0aIt will then autoboot in serial console mode.%0a%0aInstall grub into /dev/vda%0a%0aIdeas taken from: https://giocher.com/words/2018/ubuntu-on-openbsd-vmm/%0a time=1629614458 title=Create Ubuntu ISO for VMM author:1629614458=jrmu diff:1629614458:1629612838:=120,127d119%0a%3c %0a%3c When presented with the boot menu, type help:%0a%3c %0a%3c [@%0a%3c boot: help%0a%3c @]%0a%3c %0a%3c It will then autoboot in serial console mode.%0a host:1629614458=38.87.162.8 author:1629612838=jrmu diff:1629612838:1629612636:=67,75d66%0a%3c diff -ru old/isolinux/rqtxt.cfg new/isolinux/rqtxt.cfg%0a%3c --- old/isolinux/rqtxt.cfg Mon Feb 1 11:57:37 2021%0a%3c +++ new/isolinux/rqtxt.cfg Sun Aug 22 01:12:25 2021%0a%3c @@ -1,4 +1,4 @@%0a%3c label rescue%0a%3c menu label ^Rescue mode%0a%3c kernel /install/vmlinuz%0a%3c - append vga=788 initrd=/install/initrd.gz rescue/enable=true --- quiet%0a%3c + append vga=normal initrd=/install/initrd.gz rescue/enable=true --- console=ttyS0,115200n8%0a host:1629612838=38.87.162.8 author:1629612636=jrmu diff:1629612636:1629612351:=90c90%0a%3c # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Ubuntu/VMM" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ubuntu-20.04.2-live-server-amd64-vmm.iso ./new%0a---%0a> # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Devuan/VMM" -b boot/isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o devuan-beowulf-3.1.1-vmm.iso ./new%0a101c101%0a%3c cdrom "/home/iso/ubuntu-20.04.2-live-server-amd64-vmm.iso"%0a---%0a> cdrom "/home/iso/devuan-beowulf-3.1.1-vmm.iso"%0a host:1629612636=38.87.162.8 author:1629612351=jrmu diff:1629612351:1629612254:=83a84,119%0a> @]%0a> [@%0a> diff -ur old/boot/isolinux/adtxt.cfg new/boot/isolinux/adtxt.cfg%0a> --- old/boot/isolinux/adtxt.cfg Mon Mar 15 06:42:36 2021%0a> +++ new/boot/isolinux/adtxt.cfg Sat Aug 21 10:36:21 2021%0a> @@ -1,9 +1,9 @@%0a> label expert%0a> menu label E^xpert install%0a> kernel /boot/isolinux/linux%0a> - append priority=low vga=788 nomodeset initrd=/boot/isolinux/initrd.gz ---%0a> + append priority=low vga=normal initrd=/boot/isolinux/initrd.gz --- console=ttyS0,115200n8%0a> include /boot/isolinux/rqtxt.cfg%0a> label auto%0a> menu label ^Automated install%0a> kernel /boot/isolinux/linux%0a> - append auto=true priority=critical vga=788 nomodeset initrd=/boot/isolinux/initrd.gz --- quiet%0a> + append auto=true priority=critical vga=normal initrd=/boot/isolinux/initrd.gz --- console=ttyS0,115200n8 %0a> diff -ur old/boot/isolinux/isolinux.cfg new/boot/isolinux/isolinux.cfg%0a> --- old/boot/isolinux/isolinux.cfg Mon Mar 15 06:42:36 2021%0a> +++ new/boot/isolinux/isolinux.cfg Sat Aug 21 10:34:43 2021%0a> @@ -1,4 +1,6 @@%0a> # search path for the c32 support libraries (libcom32, libutil etc.)%0a> +serial 0 115200%0a> +console 0%0a> path /boot/isolinux%0a> default vesamenu.c32%0a> include /boot/isolinux/menu.cfg%0a> diff -ur old/boot/isolinux/txt.cfg new/boot/isolinux/txt.cfg%0a> --- old/boot/isolinux/txt.cfg Mon Mar 15 06:42:36 2021%0a> +++ new/boot/isolinux/txt.cfg Sat Aug 21 10:35:09 2021%0a> @@ -1,4 +1,4 @@%0a> label install%0a> menu label ^Install%0a> kernel /boot/isolinux/linux%0a> - append vga=788 nomodeset initrd=/boot/isolinux/initrd.gz --- quiet %0a> + append vga=normal initrd=/boot/isolinux/initrd.gz --- console=ttyS0,115200n8%0a host:1629612351=38.87.162.8 author:1629612254=jrmu diff:1629612254:1629609383:=55,84d54%0a%3c [@%0a%3c diff -ru old/isolinux/isolinux.cfg new/isolinux/isolinux.cfg%0a%3c --- old/isolinux/isolinux.cfg Mon Feb 1 11:57:37 2021%0a%3c +++ new/isolinux/isolinux.cfg Sun Aug 22 00:34:12 2021%0a%3c @@ -1,5 +1,7 @@ %0a%3c # D-I config version 2.0%0a%3c # search path for the c32 support libraries (libcom32, libutil etc.)%0a%3c +serial 0 115200 %0a%3c +console 0%0a%3c path %0a%3c include menu.cfg%0a%3c default vesamenu.c32%0a%3c diff -ru old/isolinux/txt.cfg new/isolinux/txt.cfg%0a%3c --- old/isolinux/txt.cfg Mon Feb 1 11:57:37 2021%0a%3c +++ new/isolinux/txt.cfg Sun Aug 22 00:35:37 2021%0a%3c @@ -2,11 +2,11 @@%0a%3c label live%0a%3c menu label ^Install Ubuntu Server%0a%3c kernel /casper/vmlinuz%0a%3c - append initrd=/casper/initrd quiet ---%0a%3c + append vga=normal initrd=/casper/initrd --- console=ttyS0,115200n8%0a%3c label hwe-live%0a%3c menu label ^Install Ubuntu Server with the HWE kernel%0a%3c kernel /casper/hwe-vmlinuz%0a%3c - append initrd=/casper/hwe-initrd quiet ---%0a%3c + append vga=normal initrd=/casper/hwe-initrd --- console=ttyS0,115200n8%0a%3c label memtest%0a%3c menu label Test ^memory%0a%3c kernel /install/mt86plus%0a%3c @]%0a host:1629612254=38.87.162.8 author:1629609383=jrmu diff:1629609383:1629609383:=1,120d0%0a%3c (:title Create Ubuntu ISO for VMM:)%0a%3c %0a%3c To use VMM, the ISO image you provide must support the serial console. In this guide,%0a%3c we download and modify the ubuntu ISO to boot from serial console.%0a%3c %0a%3c !! Download and verify ISO%0a%3c %0a%3c [@%0a%3c $ ftp https://releases.ubuntu.com/20.04.2/ubuntu-20.04.2-live-server-amd64.iso%0a%3c $ ftp https://releases.ubuntu.com/20.04.2/SHA256SUMS%0a%3c $ ftp https://releases.ubuntu.com/20.04.2/SHA256SUMS.gpg%0a%3c @]%0a%3c %0a%3c If gpg is not already installed:%0a%3c [@%0a%3c $ doas pkg_add gnupg%0a%3c @]%0a%3c %0a%3c [@%0a%3c $ gpg --keyserver keyserver.ubuntu.com --recv-keys 843938DF228D22F7B3742BC0D94AA3F0EFE21092%0a%3c gpg: key D94AA3F0EFE21092: public key "Ubuntu CD Image Automatic Signing Key (2012) %3ccdimage@ubuntu.com>" imported%0a%3c gpg: Total number processed: 1%0a%3c gpg: imported: 1%0a%3c $ gpg --verify SHA256SUMS.gpg SHA256SUMS%0a%3c gpg: Signature made Thu Feb 11 13:07:58 2021 CST%0a%3c gpg: using RSA key 843938DF228D22F7B3742BC0D94AA3F0EFE21092%0a%3c gpg: Good signature from "Ubuntu CD Image Automatic Signing Key (2012) %3ccdimage@ubuntu.com>" [unknown]%0a%3c gpg: WARNING: This key is not certified with a trusted signature!%0a%3c gpg: There is no indication that the signature belongs to the owner.%0a%3c Primary key fingerprint: 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092%0a%3c $ sha256 ubuntu-20.04.2-live-server-amd64.iso%0a%3c SHA256 (ubuntu-20.04.2-live-server-amd64.iso) = d1f2bf834bbe9bb43faf16f9be992a6f3935e65be0edece1dee2aa6eb1767423%0a%3c $ grep ubuntu-20.04.2-live-server-amd64.iso SHA256SUMS%0a%3c d1f2bf834bbe9bb43faf16f9be992a6f3935e65be0edece1dee2aa6eb1767423 *ubuntu-20.04.2-live-server-amd64.iso%0a%3c @]%0a%3c %0a%3c The two checksums must match perfectly or else you should stop installation.%0a%3c %0a%3c We run these steps as root:%0a%3c %0a%3c [@%0a%3c # vnconfig vnd0 ubuntu-20.04.2-live-server-amd64.iso%0a%3c # mkdir old new%0a%3c # mount /dev/vnd0c old%0a%3c # cp -R old/* new%0a%3c # cp -R old/.disk new%0a%3c # umount old%0a%3c # vnconfig -u vnd0%0a%3c @]%0a%3c %0a%3c !! Make Changes%0a%3c %0a%3c Here are the diffs of the changes we make:%0a%3c %0a%3c [@%0a%3c diff -ur old/boot/isolinux/adtxt.cfg new/boot/isolinux/adtxt.cfg%0a%3c --- old/boot/isolinux/adtxt.cfg Mon Mar 15 06:42:36 2021%0a%3c +++ new/boot/isolinux/adtxt.cfg Sat Aug 21 10:36:21 2021%0a%3c @@ -1,9 +1,9 @@%0a%3c label expert%0a%3c menu label E^xpert install%0a%3c kernel /boot/isolinux/linux%0a%3c - append priority=low vga=788 nomodeset initrd=/boot/isolinux/initrd.gz ---%0a%3c + append priority=low vga=normal initrd=/boot/isolinux/initrd.gz --- console=ttyS0,115200n8%0a%3c include /boot/isolinux/rqtxt.cfg%0a%3c label auto%0a%3c menu label ^Automated install%0a%3c kernel /boot/isolinux/linux%0a%3c - append auto=true priority=critical vga=788 nomodeset initrd=/boot/isolinux/initrd.gz --- quiet%0a%3c + append auto=true priority=critical vga=normal initrd=/boot/isolinux/initrd.gz --- console=ttyS0,115200n8 %0a%3c diff -ur old/boot/isolinux/isolinux.cfg new/boot/isolinux/isolinux.cfg%0a%3c --- old/boot/isolinux/isolinux.cfg Mon Mar 15 06:42:36 2021%0a%3c +++ new/boot/isolinux/isolinux.cfg Sat Aug 21 10:34:43 2021%0a%3c @@ -1,4 +1,6 @@%0a%3c # search path for the c32 support libraries (libcom32, libutil etc.)%0a%3c +serial 0 115200%0a%3c +console 0%0a%3c path /boot/isolinux%0a%3c default vesamenu.c32%0a%3c include /boot/isolinux/menu.cfg%0a%3c diff -ur old/boot/isolinux/txt.cfg new/boot/isolinux/txt.cfg%0a%3c --- old/boot/isolinux/txt.cfg Mon Mar 15 06:42:36 2021%0a%3c +++ new/boot/isolinux/txt.cfg Sat Aug 21 10:35:09 2021%0a%3c @@ -1,4 +1,4 @@%0a%3c label install%0a%3c menu label ^Install%0a%3c kernel /boot/isolinux/linux%0a%3c - append vga=788 nomodeset initrd=/boot/isolinux/initrd.gz --- quiet %0a%3c + append vga=normal initrd=/boot/isolinux/initrd.gz --- console=ttyS0,115200n8%0a%3c @]%0a%3c %0a%3c !! Generate ISO%0a%3c %0a%3c [@%0a%3c # pkg_add xorriso%0a%3c # xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -partition_offset 16 -A "Devuan/VMM" -b boot/isolinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o devuan-beowulf-3.1.1-vmm.iso ./new%0a%3c @]%0a%3c %0a%3c !! VMM%0a%3c %0a%3c In /etc/vm.conf, we update the cdrom image:%0a%3c %0a%3c [@%0a%3c vm "username" {%0a%3c owner username%0a%3c memory 1024M%0a%3c cdrom "/home/iso/devuan-beowulf-3.1.1-vmm.iso"%0a%3c disk /home/username/username.qcow2%0a%3c interface { %0a%3c locked lladdr aa:bb:cc:dd:ee:ff%0a%3c switch "switch0"%0a%3c }%0a%3c }%0a%3c @]%0a%3c %0a%3c # Install%0a%3c %0a%3c Install grub into /dev/vda%0a%3c %0a%3c Ideas taken from: https://giocher.com/words/2018/ubuntu-on-openbsd-vmm/%0a host:1629609383=38.87.162.8