Gentoo 2.6.28.2
From Soekris Info Wiki
My soekris 4801 is an wlan access point and router for pppoe, installed on hardisk.
For updates i am using a chroot on a faster machine with rsync before and after updating. Another way for updates is using [distcc].
The Kernel configuration is here
/boot/grub/menu.lst for serial console
default 0 timeout 3 serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1 terminal serial title Gentoo Linux root (hd0,1) kernel /boot/vmlinuz root=/dev/hdb2 console=ttyS0,9600n8
/etc/make.conf
CFLAGS="-O2 -mtune=i686 -pipe"
CXXFLAGS="${CFLAGS}"
CHOST="i586-pc-linux-gnu"
MAKEOPTS="-j2"
SYNC="rsync://rsync5.de.gentoo.org/gentoo-portage"
USE="-X -gtk -gnome -kde -alsa -qt3 -qt4 imagemagick ssl bzip2 readline python apache2 lm_sensors mmx mysql ncurses verbose "
/etc/inittab for serial console
id:3:initdefault: si::sysinit:/sbin/rc sysinit rc::bootwait:/sbin/rc boot l0:0:wait:/sbin/rc shutdown l1:S1:wait:/sbin/rc single l2:2:wait:/sbin/rc nonetwork l3:3:wait:/sbin/rc default l4:4:wait:/sbin/rc default l5:5:wait:/sbin/rc default l6:6:wait:/sbin/rc reboot # SERIAL CONSOLES s0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100 x:a:once:/etc/X11/startDM.sh
/etc/conf.d/net
dns_domain_lo="domain.local" mode_ath0="master" essid_ath0="soekris4801" channel_ath0="5" config_ath0=( "null" ) config_eth0=( "null" ) config_br0="10.0.0.1/24" dns_servers_br0="208.67.222.222 156.154.70.1 208.67.220.220" dns_search_br0="domain.local" bridge_br0="eth0 ath0" RC_NEED_br0="net.eth0 net.ath0"
/etc/conf.d/hostapd
INTERFACES="ath0 eth0 br0" CONFIGS="/etc/hostapd/hostapd.conf" OPTIONS=""
/etc/hostapd/hostapd.conf
interface=ath0 bridge=br0 driver=madwifi logger_syslog=-1 logger_syslog_level=2 logger_stdout=-1 logger_stdout_level=2 debug=0 dump_file=/tmp/hostapd.dump ctrl_interface=/var/run/hostapd ctrl_interface_group=0 ssid=soekris4801 hw_mode=g channel=5 beacon_int=100 dtim_period=2 max_num_sta=255 rts_threshold=2347 fragm_threshold=2346 macaddr_acl=0 auth_algs=3 ignore_broadcast_ssid=0 wme_enabled=1 wme_ac_bk_cwmin=4 wme_ac_bk_cwmax=10 wme_ac_bk_aifs=7 wme_ac_bk_txop_limit=0 wme_ac_bk_acm=0 wme_ac_be_aifs=3 wme_ac_be_cwmin=4 wme_ac_be_cwmax=10 wme_ac_be_txop_limit=0 wme_ac_be_acm=0 wme_ac_vi_aifs=2 wme_ac_vi_cwmin=3 wme_ac_vi_cwmax=4 wme_ac_vi_txop_limit=94 wme_ac_vi_acm=0 wme_ac_vo_aifs=2 wme_ac_vo_cwmin=2 wme_ac_vo_cwmax=3 wme_ac_vo_txop_limit=47 wme_ac_vo_acm=0 eapol_key_index_workaround=0 eap_server=0 own_ip_addr=127.0.0.1 wpa=1 wpa_passphrase= *** PASSPHRASE *** wpa_key_mgmt=WPA-PSK WPA-EAP wpa_pairwise=TKIP CCMP wpa_group_rekey=600 wpa_gmk_rekey=86400
My chroot environment is located on a 3GHz 32bit Intel machine at /soekris_chroot/.
Every time before updating i am using rsync to assign local updates to the chroot. Delete the "-n" switch if it looks good.
First part: Transfer local changes from soekris box to chroot environment. Attention: "--delete" is dangerous ;)
rsync --delete -Onalvz --numeric-id --exclude 'sys/' --exclude 'dev/' --exclude 'root/' \ --exclude 'proc/' --exclude 'usr/portage/' --exclude 'usr/src' --exclude \ 'var/run/' --exclude 'var/log' --exclude 'tmp/' --exclude 'var/lib/init.d/' \ --exclude 'etc/chrony/chrony.drift' --exclude 'etc/adjtime' --exclude \ 'etc/resolv.conf' root@soekris:/ /soekris_chroot/
Second part: Using this script to work in chroot, update everything and transfer updates to soekris.
#!/bin/bash mount -o bind /dev /soekris_chroot/dev &&\ mount -t proc none /soekris_chroot/proc &&\ mount -o bind /dev/pts /soekris_chroot/dev/pts &&\ chroot /soekris_chroot || exit 1 umount /soekris_chroot/dev/pts umount /soekris_chroot/dev umount /soekris_chroot/proc echo "rsync should be done next" echo "rsync --delete -Onalvz --numeric-id --exclude 'sys/' --exclude 'dev/' --exclude \ 'root/' --exclude 'proc/' --exclude 'usr/portage/' --exclude 'usr/src' \ --exclude 'var/run/' --exclude 'var/log' --exclude 'tmp/' --exclude \ 'var/lib/init.d/' --exclude 'etc/chrony/chrony.drift' \ --exclude 'etc/adjtime' --exclude 'etc/resolv.conf' /soekris_chroot/ \ root@soekris:/"

