Gentoo 2.6.28.2

From Soekris Info Wiki

Jump to: navigation, search

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:/"
Personal tools