diff --git a/2018-02-13-051950_722x452_scrot.png b/2018-02-13-051950_722x452_scrot.png new file mode 100644 index 0000000..313f634 Binary files /dev/null and b/2018-02-13-051950_722x452_scrot.png differ diff --git a/arch_headless_virt_install.md b/arch_headless_virt_install.md index a959ef6..d4ab2fa 100644 --- a/arch_headless_virt_install.md +++ b/arch_headless_virt_install.md @@ -1 +1,75 @@ -# Arch Headless Virt Install \ No newline at end of file +# Arch Headless Virt Install + +## virt-install ubuntu16.04 + +Create the disk image + +`qemu-img create -f qcow2 /var/lib/libvirt/images/xenial.qcow2 20G` + +Command to run the install + +```bash +virt-install \ + --name xenial \ + --ram 4096 \ + --disk path=/var/lib/libvirt/images/xenial.qcow2,size=20 \ + --vcpus 4 \ + --os-type linux \ + --os-variant ubuntu16.04 \ + --network bridge=br0 \ + --graphics none \ + --console pty,target_type=serial \ + --location ./ubuntu-16.04.3-server-amd64.iso \ + --extra-args 'console=ttyS0,115200n8 serial' +``` +## virt-install Arch Linux +The `--extra-args` option lets you use a serial console. But the +`--extra-args` option only works if you also use an `--location` +option. But the `--location` option can only be used with certain isos. +So use `--cdrom` instead of `--location`, drop the `--extra-args`, +and instruct the kernel to boot with a serial console with a parameter +at the boot splash screen. + +```bash +qemu-img create -f qcow2 /var/lib/libvirt/images/arch.qcow2 20G + +virt-install --name arch --ram 4096 \ + --disk path=/var/lib/libvirt/images/arch.qcow2,size=20 \ + --vcpus 2 \ + --os-type linux \ + --os-variant ubuntu16.04 \ + --network bridge=virbr0 \ + --graphics none \ + --console pty,target_type=serial \ + --cdrom /var/lib/libvirt/images/archlinux-2018.02.01-x86_64.iso +``` + +the arch boot splash screen will appear in your terminal and you can +tap the "tab" key to edit boot parameters + +add "console=ttyS0" to kernel command line parameters + +before +```bash +> .linux boot/x86_64/vmlinuz archisobasedir=arch archisolabel=ARCH_201802 initrd=boot/intel_ucode.img,boot/x86_64/archiso.img +``` +after +```bash +> .linux boot/x86_64/vmlinuz archisobasedir=arch archisolabel=ARCH_201802 initrd=boot/intel_ucode.img,boot/x86_64/archiso.img console=ttyS0 +``` +![alt text](https://gist.githubusercontent.com/TrentSPalmer/57e9999a3a7aaecfd4dd8de3eca63a1b/raw/2018-02-13-051950_722x452_scrot.png) +```bash + +arch boots ... +... +... +... + +root@archiso ~ # lsblk +NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT +loop0 7:0 0 432M 1 loop /run/archiso/sfs/airootfs +sr0 11:0 1 539M 0 rom /run/archiso/bootmnt +vda 254:0 0 20G 0 disk +root@archiso ~ # +``` +