Howto to get Debian Jessie to install via the serial console using boot media:
The Debian-Installer for Jessie support serial console installs and will even automatically configure the install target to boot on the serial console. The problem is however the official install ISOs are not configured to boot the installer on the serial console; so you'll have to edit it.
Another import note: When creating such an ISO you need make sure it has a hyrid MBR so that it can also be used as USB stick boot medium. Otherwise you're going to need a CD-ROM drive...
So here's howto do it
Step | Description | Command |
---|---|---|
1 | Create somewhere to work | mkdir deb-serial; cd deb-serial ; |
2 | Grab the net install ISO | curl -L -O http://cdimage.debian.org/debian-cd/8.2.0/amd64/iso-cd/debian-8.2.0-amd64-netinst.iso ; |
3 | Mount the image via loop |
mkdir old ; |
4 | Copy all the files away to a new 'master' so that you can edit some ('shopt -s dotglob' - this tells bash that '*' should also match (hidden) '.dot' files) |
mkdir new ; |
5 | Edit the boot loader (syslinx / isolinux) to use the serial console. See files changes below |
vi new/isolinux/isolinux.cfg ; |
6 |
Build a new boot ISO (with Hybrid MBR) You will need xorriso and syslinx installed: |
xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin -partition_offset 16 -A "Debian8.2" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-8.2-serial-install.iso ./new/ ; |
7 | Write the new ISO to a USB stick. '/dev/sdX' is your USB sticks device node. I like to use 'file -s' to check that I have the correct node. (May need to prefix dd with 'sudo') |
file -s /dev/sdX ; |
.
I normally use (gnu)screen has my serial terminal (screen /dev/tty.USB0 115200), but my version of screen did not like Debian-Installers ncurses UI; all the characters were messed up. In the end I had to use 'minicom' (minicom -b 115200 -D /dev/tty.USB0)
Files (changed highlighted bold):
isolinux.cfg |
# D-I config version 2.0 |
---|---|
txt.cfg | default install label install menu label ^Install menu default kernel /install.amd/vmlinuz append vga=off console=ttyS0,115200n8 initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8 |
adtxt.cfg | label expert menu label ^Expert install kernel /install.amd/vmlinuz append priority=low vga=off console=ttyS0,115200n8 initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8 include rqtxt.cfg label auto menu label ^Automated install kernel /install.amd/vmlinuz append auto=true priority=critical vga=off console=ttyS0,115200n8 initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8 |
In 'isolinux.cfg' the 'serial' command has to come first. 'vesamenu' obviously can not be used, in my version there is no alternative menu, so the it will simple boot in to the 'install' profile from 'txt.cfg'.
I will assume that most know how to install debian from here.
NB: This is a Net Install, so your APU will need an internet connection.