Our custom installer was made for Lenny as a mid-term solution to installing Debian on an Eee PC while there was still no support for the network drivers in the kernel, which made installation using the standard installer tricky. If you have an older model that existed when Lenny was released, such as the 701, 900, 901 or 1000, installing Lenny using this method is still the easiest way. If you want to install Squeeze, or have a newer model (check the page for your Model for our recommendation,) see the Standard Installer HowTo instead.

Download installer image

If you have an older model supported by Lenny, download our installer image from http://eeepc.debian.net/debian/images/debian-eeepc.img, size ~16M (md5sum: http://eeepc.debian.net/debian/images/debian-eeepc.img.md5). This small image includes everything needed to start a Debian Lenny installation that will get other files over the network.

Putting the image onto a USB stick

You need a small USB stick to put the installer on. Data and filesystem previously on the stick will be destroyed, so take care to copy it to the right device. This is not like usual file copy, but will prepare the stick as bootable “superfloppy”. No need to format the stick, and do not mount it. Depending your operating system the procedure is different:

Writing bootable stick from Linux

If you have a Linux system use it to prepare the stick, it’s simplest. Copy the image onto your USB stick or SD card with dd. Do not mount the stick for that. (Make sure any existing filesystems on the device are unmounted with umount first – check this with df.)

Now write the installer to the stick with dd and then make sure all buffers are written by doing a sync:

dd if=debian-eeepc.img of=/dev/<YOUR-USB-DEVICE>
sync

Note: <YOUR-USB-DEVICE> = the whole device, not a device partition (e.g. /dev/sdX NOT /dev/sdX1). Make sure the USB/SD is NOT mounted. Use the primary name of the device and not an alias (often used by internal SD card readers, check with dmesg).

Use the following command to find out the proper device name:

ls -l /dev/disk/by-id/usb*

You may have noticed that you are using the entire device without a partition table. This works because the BIOS knows how to boot directly from FAT partitions. This boot mode is called "superfloppy" mode and is supported by the Eee PC BIOS for USB devices and SD cards.

Writing bootable stick from Windows

There are a different methods for getting the install image to the external device. Unfortunately, none of them are completely reliable, so if your device won’t boot, try another method.

Using dd for Windows

Use dd 0.6 beta 2 for windows http://webconverger.com/dd.exe to copy it onto your USB stick or SD card. This version seems to work best with these devices. X: is the drive letter of your USB stick or SD card. Copy dd.exe and debian-eeepc.img to the same directory and cd there from the windows CMD shell.

Execute the following command, replacing “x” with the drive letter of your removable device. Note the use of od= (new syntax introduced by dd version 0.6 beta 2) instead of the usual of= to write to the specified drive.

dd if=debian-eeepc.img od=x:

dd should write the image now and the led (if any) should blink. This process may be slow, and after some time the prompt will return. Wait until the led stops blinking and remove the stick.

Using flashnul

Another method (reported to work under Windows XP and Vista) is using flashnul. See translation on http://translate.google.com/translate?u=http%3A%2F%2Fshounen.ru%2Fsoft%2Fflashnul%2F&hl=en&ie=UTF8&sl=ru&tl=en.

Put flashnul and debian-eeepc.img to the same directory and cd there from the windows cmd shell. Execute the following command replacing “x” with the drive letter of your stick:

flashnul x: -L debian-eeepc.img  

Wait until the prompt returns and the led (if any) stops blinking, then remove the stick.

Using unetbootin

unetbootin is reported to work. Be careful when using it, as it is more than just an image copy tool. The primary use is to convert conventional CD/DVD-based install images to work with USB keys; you need to ignore this feature to successfully use it to write our USB-ready installer. Make sure you do not select any distribution or custom installation, but use it only to write the image like shown here.

Writing bootable stick on a Mac

It’s basically the same as for GNU/Linux, since OS X is Unix based. But there are a few tricky parts since you need to unmount the DRIVE while leaving the DEVICE attached to the system.

1) plug in your USB stick

2) be sure you know which “drive” it mounts as (i.e. you don’t want to accidentally wipe out your primary hard drive, or your 8 million mp3 files here ;-)

3) fire up Disk Utility (in Applications/Utilities)

4) find the DEVICE (the USB stick) and the mounted DRIVE (what shows up in finder)

5a) right click on the DEVICE and get info (Disk Identifier will tell you it’s device name – e.g. if it says “disk1” then you’ll be dd’ing to /dev/disk1)

5b) right click on the DRIVE and UNMOUNT the drive, do NOT eject the device!

6) now switch to a Terminal window (Applications/Utilities/Terminal)

7) su to an administrative user if you aren't one already (e.g.: su admin)

8) sudo dd if=<full path to>/debian-eeepc.img of=/dev/<diskX> (e.g.: sudo dd if=/Users/billybob/Downloads/debian-eeepc.img of=/dev/disk1) you’ll be asked for your, or your administrator’s, password. If this take more than 20 seconds you might try to abort it and add bs=8192 to the end of the command.

If all goes as planned you should see something like this:

32000+0 records in
32000+0 records out
16384000 bytes transferred in 11.210195 secs (1461527 bytes/sec)

Congratulations! Your USB drive is now a Debian superfloppy boot disk for the Eee PC!

9) switch back to Disk Utility, right click on the device and Eject Device so you can safely remove the USB device from the USB slot.

I hope this helps. --captain

Booting the installer

Enable all available devices in BIOS (such as wireless and camera), to make sure installer detects this hardware and installs appropriate packages.

After preparing the installer stick you can start installation by booting from it. You need a net connection for the install. Plug in LAN cable or be prepared to use a wireless network where possible.

The installer checks the wireless card and installs the appropriate modules. Switch wireless on in the BIOS so that the installer can find it. You reach the BIOS by pressing F2 while booting.

Boot your Eee PC with the stick in a port and hit escape to get a menu to chose which device to boot from. Once booted into the install, proceed as you would normally. Just install a standard system, you can add the software you want later on.

Configuring Wireless

Once you get to the network section of the installer you should be presented with two devices to chose from. eth0 is your ethernet and ath0 or ra0 are your wireless devices. Currently for 701, (but not 701SD,) 900, 900A and 901GO users, either open/wep/wpa are options for installing. For users with ra0, (901, 1000, 1000HD,) wep is known not to work, but wpa may work depending on your access point.

Note: if wireless install fails, you can continue the installation normally with ethernet. The installer should now install the correct modules for your wireless card. (Wether you use it during install or not. It will not set it up in interfaces file though, unless you successfully install via wireless.)

You will need to know the ESSID of your access point as the installer does not give you a list of AP’s to chose from. After entering the ESSID it will ask for your WEP key if needed or if you chose WPA, then your passphrase. (WPA enterprise is not supported.) Remember to proceed with s: if its an ascii string for your wep key.

It will then try and get a DHCP lease from the access point, and if that fails, it will give you the option to configure the network manually. (If you have static IP’s for your network, I presume you know what to do here.)

From here on in, it’s all as per normal for a Debian install.

/!\ Warning : wifi used during install does not imply that wifi will work after reboot, especially if you asked for a minimal install. Reading ../../HowTo/Wifi is thus recommended (even if not necessary at install time).

Partitioning and swap

It’s advisable to keep the small (around 8Mb – 16Mb on the 900) EFI partition (type 0xef) found at the beginning or at the end of /dev/sda; it lets BIOS enable Boot Booster, a feature that reduces the (unusually long) time an Eee PC needs to handle the system to grub.

An example of the starting setup on a 900

sda
sda1 was set to / ext2 ro
sda2 Seems to be a backup of some things?
sda3 - 8mb FAT has two files
sda4 - 8mb EFI (type 0xef)
sdb
sdb1 Linux (83) set to /home ext3 rw, noatime,data=ordered

The noatime is a good idea – can greatly reduce writes.

Sample partition for installing Debian

sda
sda1 was set to / ext2 ro
sda2 - 8mb FAT has two files (not needed)
sda3 - 8mb EFI (type 0xef)
sdb
sdb1 Linux (83) set to /home ext3 rw, noatime,data=ordered

Alternative partitioning

If you're prepared to go digging a bit and do some partitioning in a way (possibly) not supported directly by the installer, you could switch to a shell (press Alt-F2 or Ctrl-Alt-F2) and use fdisk. This allows you to do useful things such as aligning the partitions with the SSD's erase block size and helping the kernel to coalesce writes to try to avoid unnecessarily inflating the number of writes to any given erase block. (How much effect does this have? We don't know, but even if it avoids a mere handful of erase cycles, it's still extending the life of the device.)

For example, assuming that this is 128K:

(You don't have to use ext4, of course; and if you choose to use ext4, make sure that your kernel is 2.6.30 or later – this will not be the case for lenny without a backported kernel.)

For more information, see here (optimised for SSDs?), here (aligning to the erase block size) and here (journalling, noatime and relatime.

File system and Swap

It is fine to use Ext3 as your filesystem, which is the default. See http://wiki.eeeuser.com/ssd_write_limit for a compelling argument that you’re not going to kill your flash drive by the small percentage of extra writes that a journaling filesystem will add over the lifespan of the drive. You may wish to do without swap simply because it will save space on the relatively small SSD in the Eee. Also ../../TipsAndTricks links to some tuning tips if after reading this article you’re still concerned about write life-span.

If you still need swap for suspend-to-disk, for instance, then you can create a swap file and not use it for swapping. See Hibernate without a swap partition for details.

Tasksel

aptitude install --without-recommends xinit xserver-xorg-video-intel xserver-xorg-input-synaptics xserver-xorg-input-kbd xserver-xorg-input-mouse xfonts-base

Further Configuration

When you boot for the first time, wireless will be automatically brought up using the same AP and key that you used during install (provided you installed over wireless). To change the settings for this, you need to edit your /etc/network/interfaces file. See man interfaces for more information on this, or see ../../HowTo/Wifi.

After installing the Eee, you may wish to ../../HowTo/Configure the system for some other things to work, e.g. the webcam and Xorg tuning.

Upgrades

Note: When you upgrade, you should keep an eye on ../../HowTo/Upgrade as we will add there any issues that might arise as things change in the archives.

Getting Help

If you have problems please join us on #debian-eeepc on oftc, or you can alternatively ask on the mailing list. Please note that eeepc-installer bugs should be directed to our list first rather than the bug tracking service.