Temat: Proces bootowania openwrt
Witam.
Nie mogę połapać się w procesie bootowania routera.
Cel: dopisanie z ręki na sztywno e2fsck -p /dev/sda1 przed zamontowaniem extroot
Zajrzałem tu: http://wiki.openwrt.org/doc/techref/process.boot
najważniejsze wydaję się to : S10boot starts hotplug-script, mounts filesystesm, starts .., starts syslogd, …
zaznaczyłem parę punktów startu systemu poprzez
logger -t wadmar "opis"
np. dla /etc/init.d/boot
start() {
[ -f /proc/mounts ] || /sbin/mount_root
[ -f /proc/jffs2_bbc ] && echo "S" > /proc/jffs2_bbc
[ -f /proc/net/vlan/config ] && vconfig set_name_type DEV_PLUS_VID_NO_PAD
apply_uci_config
config_load system
config_foreach system_config system
logger -t wadmar "s10boot, funkcja start"
mkdir -p /var/run
mkdir -p /var/log
mkdir -p /var/lock
mkdir -p /var/state
mkdir -p /tmp/.uci
chmod 0700 /tmp/.uci
touch /var/log/wtmp
touch /var/log/lastlog
touch /tmp/resolv.conf.auto
ln -sf /tmp/resolv.conf.auto /tmp/resolv.conf
logger -t wadmar "s10boot, funkcja start-przed funkcja mount ..."
grep -q debugfs /proc/filesystems && mount -t debugfs debugfs /sys/kernel/debug
[ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe
Zliczam restarty routera i zapisuję informację do plików.
ostatni:
root@Gargoyle:~$ cat logread.6
Thu Jun 7 10:07:55 CEST 2012
47:Jan 1 01:00:34 Gargoyle user.notice wadmar: s10boot, funkcja start
142:Jan 1 01:00:34 Gargoyle user.notice wadmar: s10boot, funkcja start-przed funkcja mount ...
143:Jan 1 01:00:34 Gargoyle user.notice wadmar: s10boot, funkcja start-przed coldplugging of network interfaces
147:Jan 1 01:00:36 Gargoyle user.notice wadmar: s10boot, funkcja start-przed create /dev/root
148:Jan 1 01:00:36 Gargoyle user.notice wadmar: s10boot, funkcja start-przed zaladowaniem /etc/modules.d
243:Jan 1 01:00:53 Gargoyle user.notice wadmar: s10boot, funkcja start-po zaladowaniu /etc/modules.d
244:Jan 1 01:00:53 Gargoyle user.notice wadmar: s10booti, funkcja start-koniec
246:Jan 1 01:00:54 Gargoyle user.notice wadmar: set_kernel_timezone, funkcja start
247:Jan 1 01:00:54 Gargoyle user.notice wadmar: init.d/usb - sam początek skryptu
282:Jun 7 10:07:41 Gargoyle user.notice wadmar: usb_storage początek skryptu
283:Jun 7 10:07:41 Gargoyle user.notice wadmar: usb_storage funkcja do_start
390:Jun 7 10:07:54 Gargoyle user.notice wadmar: uruchomiony plik /etc/rc.local
391:Jun 7 10:07:55 Gargoyle user.notice wadmar: Liczba restert..w routera to: 6
137:Jan 1 01:00:34 Gargoyle user.warn kernel: EXT4-fs (sda1): warning: mounting unchecked fs, running e2fsck is recommended
138:Jan 1 01:00:34 Gargoyle user.info kernel: EXT4-fs (sda1): mounted filesystem without journal
/dev/sda1 on /overlay type ext4 (rw,noatime,barrier=1,data=writeback)
/dev/sda1 7.2G 22.3M 7.2G 0% /overlayJak widać moontowanie sda1 z nr. 137 i 138.
Proszę zwrócić uwagę na nr 47 i potem jest od razu 142 (czyli już po zamontowaniu), między tymi dwoma "znacznikami" w pliku /etc/init.d/boot jest kilka prostych poleceń (spójrz wyżej w poście między logger ...).
Wydaję mi się, że postępuję logicznie i nie widzę gdzie tkwi mój błąd w rozumowaniu. Wydawało mi się, że oprócz preinit nie ma wielkich różnic co do np. debiana, jeśli chodzi o proces bootowania systemu.
Może ktoś z czytelników zajmował się tym tematem i jest wstanie wytknąć mi błąd lub podać jakąś wskazówkę.