Document: Installing Debian GNU/Linux Copyright (c) 2007, Voipac Technologies a.s. Installing accross architectures using debootstrap utility is divided into two steps. In first stage debootstrap installs in target directory all packages that are necessary to run minimal installation and allow to use package manager to install additional packages. Use fdisk and create hda1 Linux partition and hda2 swap partition on target. Format hda1 partition to use ext3 filesystem and initialize swap partition. bash$> fdisk bash$> mkfs.ext3 /dev/hda1 bash$> mkswap /dev/hda2 Mount hda1 partition as mountpoint /mnt. bash$> mount /dev/hda1 /mnt Use debootstrap to download necessary packages. bash$> debootstrap --foreign --arch arm etch /mnt/ http://ftp.de.debian.org/debian Create some missing device files. cd /mnt bash$> mknod dev/console c 5 1 bash$> mknod dev/ttyS0 c 4 64 bash$> mknod dev/rtc c 254 0 bash$> mknod dev/hda b 3 0 bash$> mknod dev/hda1 b 3 1 bash$> mknod dev/hda2 b 3 2 Setup network interfaces and filesystem table. bash$> cat > etc/network/interfaces << EOF # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp EOF bash$> cat > etc/fstab << EOF # /etc/fstab: static file system information. # # proc /proc proc defaults 0 0 /dev/hda1 / ext3 defaults,errors=remount-ro 0 1 /dev/hda2 swap swap defaults 0 0 EOF Unmount and unplug the hard disk. bash$> sync bash$> umount /mnt Since Linux kernel image provided by Voipac does not support booting from hard disk, it is necessary to reconfigure and recompile the Linux kernel. In addition to config-linux-2.6.19-vpac1.txt enable following options: > CONFIG_SWAP=y > CONFIG_PACKET=y > CONFIG_IDE=y > CONFIG_BLK_DEV_IDE=y > CONFIG_BLK_DEV_IDEDISK=y > CONFIG_BLK_DEV_IDE_VPAC270=y > CONFIG_BLK_DEV_IDEDMA=y > CONFIG_USB_HID=y > CONFIG_USB_HIDINPUT=y > CONFIG_EXT3_FS=y > CONFIG_JBD=y PS/2 driver is quite experimental it is recommended to use USB mouse and keyboard instead. > CONFIG_USB_HID=y > CONFIG_USB_HIDINPUT=y Now it is time to boot for the first time but since there is no inittab yet, so it is necessary to specify /bin/bash as init option in u-boot environment. u-boot> tftp zImage-etch u-boot> set bootargs root=/dev/hda1 console=ttyS0,38400 init=/bin/bash u-boot> wtags u-boot> go Recompiled Linux kernel image should boot up and provide bash shell command line. I have no name!@(none):/# First of all it is necessary to mount proc filesystem and to export PATH variable. bash$> mount -t proc proc /proc/ bash$> export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin Enable swap and check out everything is right. bash$> swapon -a bash$> free total used free shared buffers cached Mem: 62876 6064 56812 0 272 2800 -/+ buffers/cache: 2992 59884 Swap: 281128 0 281128 Finaly complete second stage of debootstrap command by bash$> /debootstrap/debootstrap --second-stage When installation is complete you should see. I: Base system installed successfully. Enable ttyS0 console by editing etc/inittab T0:23:respawn:/sbin/getty -L ttyS0 38400 vt100 Reboot baseboard but omit init option in bootargs. u-boot> tftp zImage-etch u-boot> set bootargs root=/dev/hda1 console=ttyS0,38400 u-boot> save u-boot> wtags u-boot> go Log in as root (without password), reconfigure apt sources and update it. bash$> cat > /etc/apt/sources.list << EOF deb http://ftp.de.debian.org/debian/ etch main contrib non-free EOF bash$> apt-get update