NSLU2-Linux
view · edit · print · history

Serial-less Installation

NOTE !! this page may not be necessary anymore, as serial-less installation of Debian has been supported for some time now, via Debian-Installer project (D-I).

This page describes the setup for serial-less installation of Debian (little endian) on the NSLU2. It should be seen as an addon to the normal Debian/LE installation instructions at http://peter.korsgaard.com/articles/debian-nslu2.php.

Debian-Installer

The Debian-installer (http://d-i.alioth.debian.org/manual/) has two features which we will use for serial-less installation:

Setup

The setup is basically to preseed the network configuration (as the installer would otherwise ask for the settings over the serial port) and enable network console so the installation can be done over ssh.

preseed.cfg

The following preeseed.cfg is placed in the root of the initrd and used by the installer:

 # The NSLU2 only has 32MB RAM, so the installer will go into lowmem mode.
 # Don't let the installer wait for user to accept this
 d-i lowmem/low                         note

 # Install for unstable branch
 d-i mirror/udeb/suite string unstable
 d-i mirror/udeb/suite seen false

 # Configure network for static IP
 d-i netcfg/choose_interface            select eth0
 d-i netcfg/disable_dhcp                boolean true
 d-i netcfg/get_nameservers             string 192.168.1.1
 d-i netcfg/get_ipaddress               string 192.168.1.80
 d-i netcfg/get_netmask                 string 255.255.255.0
 d-i netcfg/get_gateway                 string 192.168.1.1
 d-i netcfg/confirm_static              boolean true

 # Set hostname/domain
 d-i netcfg/get_hostname                string slug
 d-i netcfg/get_domain                  string slug.invalid

 # Setup ssh password
 d-i network-console/password password install
 d-i network-console/password-again password install

And the installer is configured to use this file:

 echo 'PRESEED=/tmp/preseed.cfg' >>installer/build/config/local

Network-console

Network console support is added to the lart netboot configuration:

 echo '#include "network-console"' >>installer/build/pkg-lists/netboot/arm/lart.cfg

Image

A precompiled and byteswapped initrd of the installer can be downloaded here: http://peter.korsgaard.com/articles/initrd-netcon.gz-swap (2.6MB)

Installation

Once downloaded, the initrd can be booted like in the original howto (http://peter.korsgaard.com/articles/debian-nslu2.php#debian-install). The installer will then automatically configure itself with IP: 192.168.1.80, generate a ssh host key and start a ssh server. Notice that it will take a minute or two to generate the host key.

Once everything is done you can ssh to the installer with login: installer, password: install. The installer uses UTF-8 for output, so remember to configure your term for a UTF-8 locale before running ssh, otherwise some of the graphical characters will be screwed up, E.G:

 LC_CTYPE=en_US.UTF-8 xterm -e ssh installer@192.168.1.80

Replace en_US.UTF-8 with whatever UTF-8 locale you have installed (check with locale -a).

You can now continue the installation like described in http://peter.korsgaard.com/articles/debian-nslu2.php#debian-install.

Remember to install ssh, otherwise you won't be able to connect to your system once it's installed!

Customizations

For simple customizations (E.G. network setup) you can simply modify the precompiled initrd (byteswap it back, gunzip it and mount -o loop it so you can edit /preseed.cfg). For bigger customizations you can recompile the installer (make build_lart_netboot). See http://wiki.debian.org/DebianInstaller/Build for information about this.

Notice that the debian-installer doesn't support cross compilation, so you need a working debian/arm system running unstable for this!

view · edit · print · history · Last edited by Rob Lockhart.
Based on work by eddyp.
Originally by PeterKorsgaard.
Page last modified on April 08, 2007, at 02:13 AM