tftpboot/scripts
Jeremy Gardais 00114ade4c README.md: add "How-to use it" info 2016-07-21 16:42:22 +02:00
..
latecommand Move finish script to script/latecommand. 2016-07-11 16:09:41 +02:00
.gitignore Add a gitignore file to ignore {finish,latecommand}.tar.gz 2016-07-11 16:10:55 +02:00
README.md README.md: add "How-to use it" info 2016-07-21 16:42:22 +02:00
download_debian.sh Remove Wheezy and add Stretch for Debian 2016-07-04 17:05:33 +02:00
download_ubuntu.sh README.md: Add description of the download_ubuntu.sh script. 2016-07-06 14:51:38 +02:00
make_debian_initrd_with_firmware.sh Add myricom and qlogic firmwares for Debian initrd. 2016-07-06 17:46:18 +02:00

README.md

Scripts

  1. Description
  2. Scripts list

Description

Set of scripts to download and generate necessary files to allow differents GNU/Linux distributions to boot through the network.

Scripts list

download_debian.sh

The script will provide netboot installers for all Debian (>=Stable) for both i386 and amd64:

  • Store the files to /var/lib/tftpboot (default).
  • Download Debian Linux kernel and initrd files for all Debian distributions (Stable: Jessie; Testing: Stretch; Unstable: Sid) and for i386 and amd64 architectures.
  • Offer an example menu file to use with a TFTP server (default_path/installer/debian/menu.cfg.example).

download_ubuntu.sh

The script will provide netboot installers for the latest LTS and latest advanced Ubuntu distribution for both i386 and amd64:

  • Store the files to /var/lib/tftpboot (default).
  • Download Ubuntu Linux kernel and initrd files for the two lasts Ubuntu distributions (LTS-16.04: Xenial; 15.10: Wily) and for i386 and amd64 architectures.
  • Make a symlink to access to the LTS (default_path/installer/ubuntu/lts) instead of it's codename.

make_debian_initrd_with_firmware.sh

The script will provide Debian's netboot installers with additionnals firmwares for all Debian (>=Stable) for amd64 only:

  • Store the files to /var/lib/tftpboot (default).
  • Store temp files to /tmp/tmp.XXXXXXXXXX (with mktemp).
  • Download Debian's initrd files for all Debian distributions (Stable: Jessie; Testing: Stretch; Unstable: Sid) for amd64 architecture only.
  • Download additionnals firmwares:
    • bnx2: For Broadcom NetXtremeII network adapters.
    • linux-nonfree: For Tigon network adapters.
    • myricom: For Myricom Myri-10G Ethernet adapters (IBM server).
    • qlogic: For QLogic Infiniband, SCSI, Fibre Channel/FCoE adapters.
  • Extract initrd and firmwares packages to build a new initrd.

Debian late_command

Description

Some useful configurations after a Debian installation:

  • Smarter rsyslog (more directories and less files in /var/log).
    • Shorter configuration file and use more files from /etc/rsyslog.d/
    • Move log files to directory:
      • kern logs from /var/log/kern.log to /var/log/kernel/kernel.log
      • user logs from /var/log/user.log to /var/log/security/user.log
      • mail logs from /var/log/mail.… to /var/log/mail/mail.…
      • daemon logs from /var/log/daemon.log to /var/log/syslog/daemon.log
      • auth logs from /var/log/auth.log to /var/log/security/auth.log
      • lpr logs from/var/log/lpr.log to /var/log/lpr/lpr.log
      • cron logs from /var/log/cron.log to /var/log/cron/cron.log
      • localX logs from /var/log/localX.log to /var/log/syslog/localX.log
      • syslog logs from /var/log/syslog.log to /var/log/syslog/syslog.log
      • authpriv logs from … to /var/log/security/authpriv.log
  • Smarter logrotate (add timestamp, move some old log files to the same directory,…).
  • Remove some useless packages.
  • Permit root SSH login with password (no standard user…).

How-to use it

  • First, make an archive of the script and directories:
tar czvf finish.tar.gz latecommand/
  • Then, it can be use at the end of a Debian preseed file:
d-i preseed/late_command string in-target chsh -s /bin/zsh ; \
in-target /usr/bin/tftp ${IP.SRV.TFTP} -c get ${PATH/TO/TFTPD/ROOT}/finish.tar.gz /tmp/finish.tar.gz ; \
in-target tar xzf /tmp/finish.tar.gz -C /tmp/ ; \
in-target /bin/sh /tmp/latecommand/post.sh