czfcentos
Jde o běžný CentOS s "read only" souborovým systémem. Jádro je k dispozici distribuční ale i kompilované
zvlášť pro Geode a PIII s initrd je ve verzi pro ext2 i ext3.
Je tam podpora pro watchdog v alixu, madwifi, usb dvb-t a usb wifi.
Obsahuje i skripty sedlo,
qos,
wifimon a pár jiných věcí co používáme
a většinou se to spouští standardně v runlevelech. Zbytek je v crontabu a v /usr/local/bin .
Stáhnout
Úvodní verze : czfcentos001.img.gz
Verze upravená pro DVB-T streaming s USB kartama: czfcentos-dvbt-0.0.1.img.gz
Základní ovládání a nastavení
Pokud budete měnit konfiguraci, je třeba povolit zápis na disk/CF.
konto/heslo je root/czfcentos
ip 10.33.6.7/24 (/etc/sysconfig/network-scripts/ifcfg-eth0)
na roota se nedá přihlásit vzdáleně s heslem ale jen s klíčem, který tam není a musíte
si tam nějaký dát a nebo povolit v /etc/ssh/sshd_config logování roota jen s heslem.
Heslo roota a klíče si změňte ihned po rozjetí systému následovně
mrw
passwd
newkeys
mro
Defaulně použijte terminál a nebo sériovou konzoli. ttyS0 pro grub i volitelně
pro jádro (38400 baudů 8 bitů 1 parita).
Jméno systému je v /etc/sysconfig/network
V /usr/local/bin jsou skripty mrw a mro pro povolení nebo zákaz zápisu na disk
je dobré mít disk/kartu jen v readonly módu, takže po každé editaci dejte mro.
po startu by mělo jet ssh, webmin, watchdog a apache z adresáře /home/www
ostatní se dá zapnout následovně - např. dhcpd
mrw
vi /etc/dhcpd.conf
chkconfig dhcpd on
service dhcpd start
mro
a nebo vypnout následovně - např. webmin
mrw
chkconfig webmin off
service webmin stop
mro
Webmin má nastavená dvě tlačítka v modulu "uživatelské příkazy" pro mrw a mro
tak, aby se dal povolit zápis na disk/CF a router ovládat přes webmin.
Aplikace
DVB-T
V /root/bin jsou skripty a konfigurační věci kolem DVB-T. Pokud budete mít
USB 2.0 hub tak se do něj dají zastrčit tři USB DVB-T karty a jste schopni streamovat
všechny tři multiplexy. Přídavné napájení pro usb hub není potřeba.
Instalace
Instalace z img.gz na /dev/sdb
Je třeba alespoň 2GB CF karta nebo disk.
gunzip czfcentos.img.gz
dd if=czfcentos.img of=/dev/sdb
Kopie systému po souborech na /dev/sdb
fdisk /dev/sdb
t
83
w
mkfs.ext2 /dev/sdb1
tune2fs -c0 /dev/sdb1
tune2fs -i0 /dev/sdb1
mount /dev/sdb1 /mnt/clone
cp -ax / /mnt/clone
cp -ax /var/lib/stateless/writable/* /mnt/clone
grub
device (hd0) /dev/sdb
root (hd0,0)
setup (hd0)
quit
Kopie systému 1:1 na /dev/sdb
dd if=/dev/hda of=/dev/sdb
Přidání adresáře do /etc/rwtab bez rebootu
Pokud chcete přidat nějaký rw adresář nebo soubor, tak stačí
tyto uvést do /etc/rwtab a rebootnout
mrw
vi /etc/rwtab
oempty /var/cache/sedlo
esc
:wq
mro
echo /var/cache/sedlo | cpio -p -vd /var/lib/stateless/writable
mount -n --bind /var/lib/stateless/writable/var/cache/sedlo /var/cache/sedlo
Tento kus skriptu se o to v systému při startu stará. Jde tedy o to
jednotlivé potřebné příkazy zadat ručně a nemusíme rebootovat systém.
/etc/rc.d/rc.sysinit
mount_empty() {
if [ -e "$1" ]; then
echo "$1" | cpio -p -vd "$RW_MOUNT" &>/dev/null
mount -n --bind "$RW_MOUNT$1" "$1"
fi
}
mount_dirs() {
if [ -e "$1" ]; then
mkdir -p "$RW_MOUNT$1"
# fixme: find is bad
find "$1" -type d -print0 | cpio -p -0vd "$RW_MOUNT" &>/dev/null
mount -n --bind "$RW_MOUNT$1" "$1"
fi
}
mount_files() {
if [ -e "$1" ]; then
cp -a --parents "$1" "$RW_MOUNT"
mount -n --bind "$RW_MOUNT$1" "$1"
fi
}
Instalace čistého centosu od začátku
Centos se dá sehnat i předinstalovaný pro vmware a jiná virtualizační
prostředí. Pokud instalujete na disk a povypínáte všechno vejde se
výsledný systém na 1GB kartu. Já používám 2GB kartu a 1.5GB diskový oddíl aby
se to spolehlivě vešlo na 2G kartu a bylo místo i pro aktualizační balíčky.
Postup přeměny centosu na "read only" systém je následující:
Na pevný disk se nainstaluje centos.
V /etc/fstab se dá "ro".
/etc/sysconfig/readonly-root se první dvě "no" změní na "yes".
/etc/rwtab se doplní a upraví tak aby všechny služby na routeru měly to co je třeba.
Potom stačí reboot a máme readonly-root centos.