This is an old revision of the document!
Install Debian Sarge - by Mike Gore
Please feel free to update, cleanup or correct this page
What is this?
This document shows how to setup Debian on the DNS-323
requisites
you should already have Telnet access to your device
base system
You have two options to proceed. You can either download a preconfigured image or create your own.
download a minimal image
- Debian Sarge 3.1 - [http://wopr.levring.nu/sarge.tar] (83Mb)
- Debian Etch 4.0 - [http://dev.skcserver.de/dns323/etch.tar] (169 Mb)
- Debian Etch 4.0 (U.S. mirror) - [http://www.bfaber.com/dl/etch.tar]
or: create a minimal image
You will need a Debian Linux x86 system to create the install image. (My system is a Ubuntu Dapper x86 system)
Make sure you have cdebootstrap smbfs installed
apt-get install cdebootstrap smbfs
Note - I called my DNS-323 “disk”
We will now mount the DNS-323 on the host Debian system. Your system has to be formatted with an admin password. I will use disk for the DNS-323 and /mnt for the mount points in this document - you can use whatever you like.
mount -t cifs //disk/Volume_1 /mnt -o username=admin
Or use the IP address of the DNS-323
mount -t cifs //10.0.0.1/Volume_1 /mnt -o username=admin
We will now “bootstrap” an ARM debian system using our x86 debian system note it will error out at the final install phase - this is just fine This process will create an ARM debian environment under a directory called sarge
cdebootstrap -aarm sarge sarge ftp://ftp.debian.org/debian
For the current stable (etch) you should use the following When you use this line, you should replace all “sarge” texts with “etch”.
cdebootstrap -aarm etch etch ftp://ftp.debian.org/debian
*update by Explisit (22rd Feb 08) - Etch source for arm architecture are not available from ftp://ftp.debian.org/debian try different mirror for instance ftp://ftp.bg.debian.org/debian
Archive the sarge directory we created with the bootstrap
tar cf sarge.tar sarge
Copy this tar file to /mnt/HD_a2 (Update 20 jan 2008, Stefan: The /HD_a2 is not needed because we mounted /Volume_1 in /mnt)
cp sarge.tar /mnt
finalizing installation
note: you don't need to do the following steps using the etch tar from above…
*update by Richard (23rd Dec 07) - yes you do…
# On the host x86 system reboot the DNS-323 using the web interface
# Telnet to the DNS-323 telnet disk
Note We are now logged into the DNS-323
# CD to the hard disk we just copied everything to
cd /mnt/HD_a2
# At this point, you should untar the {sarge,etch}.tar file that you made above
./lnx_bin/busybox3 tar -xf sarge.tar
# Replace sarge.tar with etch.tar above if you built an etch install
# chroot into the partly bootstrapped sarge debian root
./lnx_bin/busybox3 chroot sarge /bin/bash
# At this point you should have a shell in the new debian root
# Fix the broken packages caused by the failed cdebootstrap - above Note - 08 dec 2007 by Chris - I think before proceeding you want to be sure that /proc, /dev, and friends all contain something reasonable - for example as set up by the mount commands in the fun_plug listed at the bottom of this page. Some of the installers seem to get confused when they can't find fstab, /dev, etc.
*update by Richard (23rd Dec 07) I think Chris (above) is right, go through the fun_plug and type in the commands by hand. Also, do dpkg*deb first (below), then libc6.
cd /var/cache/bootstrap
dpkg --force-all -i libc6*deb
dpkg --force-all -i dpkg*deb
dpkg --force-all -i libc6*deb
# repeat next step several times until no more errors
(if you are using the downloaded sarge package the .deb files are located in ”/var/cache/apt/archives” not in ”/var/cache/bootstrap”!)
dpkg -iGREB .
# check remaining dpkg errors if any
#
*update by Richard (23rd Dec 07) I had to delete /var/mail to get base_files to install properly
customizing
# Edit your /etc/resolv.conf so that the system can find the Debian servers: See this sample
# Edit your /etc/apt/sources.list so that includes some servers. For instance:
deb http://ftp1.ca.debian.org/debian stable main contrib non-free deb http://security.debian.org stable/updates main contrib non-free
# Update packages
apt-get install debian-archive-keyring apt-get update apt-get dist-upgrade
# make root password
passwd root
# Go nuts installing packages
apt-get install gcc apt-get install make apt-get install unzip apt-get install flex bison apt-get install g++
# etc ….
Create a **fun_plug** script
If you would like Debian to automatically begin after it is installed, you will need to add some commands to your startup (fun_plug) script.
Download the Debian Fun Plug Script here
Copy this fun_plug to /mnt we assume you still have the DNS-323 mounted On the DNS-323
cd /mnt/HD_a2 chmod 755 fun_plug
Create a linuxrc script Download the Debian linuxrc Script here
Copy this linuxrc to /mnt (we assume you still have the DNS-323 mounted* On the DNS-323
cd /mnt/HD_a2/sarge chmod 755 linuxrc
# Note: be sure to install both the linuxrc script *and* the fun_plug script before rebooting!
Reboot the DNS-323 and test
Manual chroot to a Debian etch when using fonz funplug
To do a manual chroot to a “fresh” extracted Debian etch, use the following command:
env -i TERM=vt102 USER=root $SBINDIR/chroot /mnt/HD_a2/etch /bin/bash -ls
(Try this if you get errors such as “sh: /mnt/HD_a2/fun_plug.d/bin/ls: No such file or directory” or “dpkg - error: PATH is not set”)
If there are still issues like “dpkg - error: PATH is not set” export PATH into your chrooted system. First change to a bash shell of your etch/sarge by typing the previous command. The use export PATH:
env -i TERM=vt102 USER=root $SBINDIR/chroot /mnt/HD_a2/etch /bin/bash -ls etch /> export PATH