Mumbling about computers

Debian stretch headless install

Posted on under [ ]

This is my adaptation of this for debian stretch.

Mount the iso and copy the contents for rw.

Change the menu to load SSH on boot by default, edit isonew/isolinux/gtk.cfg (To see what file to edit in case of future changes you can run grep "menu default" isolinux/*)

I replaced the entire file with

default netinstall
label netinstall
    menu label ^Install Over SSH
    menu default
    kernel /install.amd/vmlinuz
    append auto=true vga=788 file=/cdrom/preseed.cfg initrd=/install.amd/initrd.gz locale=en_US console-keymaps-at/keymap=us

Generate isonew/preseed.cfg

#### Contents of the preconfiguration file
### Localization
# Locale sets language and country.
d-i debian-installer/locale select en_US
# Keyboard selection.
d-i console-keymaps-at/keymap select us
d-i keyboard-configuration/xkb-keymap select us
### Network configuration
# netcfg will choose an interface that has link if possible. This makes it
# skip displaying a list if there is more than one interface.
d-i netcfg/choose_interface select auto
# Any hostname and domain names assigned from dhcp take precedence over
# values set here. However, setting the values still prevents the questions
# from being shown, even if values come from dhcp.
d-i netcfg/get_hostname string newdebian
d-i netcfg/get_domain string local
# If non-free firmware is needed for the network or other hardware, you can
# configure the installer to always try to load it, without prompting. Or
# change to false to disable asking.
d-i hw-detect/load_firmware boolean true
# The wacky dhcp hostname that some ISPs use as a password of sorts.
#d-i netcfg/dhcp_hostname string radish
d-i preseed/early_command string anna-install network-console
# Setup ssh password
d-i network-console/password password install
d-i network-console/password-again password install

recreate md5sum.txt

chmod 666 md5sum.txt
find -follow -type f -exec md5sum {} \; > md5sum.txt
chmod 444 md5sum.txt

run inside isonew/

xorriso -as mkisofs -b isolinux/isolinux.bin -c isolinux/boot.cat -iso-level 3 -no-emul-boot -partition_offset 16 -boot-load-size 4 -boot-info-table -o ../debian-9.3.0-amd64-headless.iso ../isonew/

test with kvm -m 512 -cdrom debian-9.3.0-amd64-headless.iso