Equipment
- host computer with a serial port (a USB to serial adapter should do)
- target computer with a serial port
- Configured for booting over USB
- An internet connection
- null modem cable
- USB flash drive
USB flash drive setup
- Get this file : ubuntu-server-16.04-amd64-ttyS0.img.gz
-
Put it to your usb flash drive: sudo bash -c “zcat ubuntu-server-16.04-amd64-ttyS0.img.gz dd of=/dev/YOUR_FLASH_DRIVE”
Target setup
- Do the setup as usual, but
- In the partitioning step, be sure not to choose the USB flash drive as destination
- When installing grub, choose no, then manually select your destination drive
- When “Installation complete” is shown, don’t reboot, choose “go back” and execute a shell
mount -o bind /sys /target/sys/
mount -o bind /proc /target/proc
mount -o bind /dev /target/dev
chroot /target/ /bin/bash
edit the /etc/default/grub
file
# Disable GRUB_HIDDEN_TIMEOUT because it triggers a depcrecation warning
# should be fixed upstream
#GRUB_HIDDEN_TIMEOUT=0
# Disable splash and quiet
GRUB_CMDLINE_LINUX_DEFAULT=""
# Enable the serial console for the kernel
GRUB_CMDLINE_LINUX="console=ttyS0,115200"
# Make sure grub don't wait for a user input after a failed boot
GRUB_RECORDFAIL_TIMEOUT=5
# Let grub speek on the serial port
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
- Then
grub-install /dev/sdc
update-grub
exit
umount /target/sys
umount /target/proc
umount /target/dev
exit
- Finish the installation
~~~
Question, remark, bug? Don't hesitate to contact me or report a bug.