No, tak jsem zkoušel... etc nemůže být na oddělené partition, musí být v / .
Ale zjistil jsem, že se přebindované /etc přecejen umountovat dá. Když použiju umount s parametrem -l tak to jde. Mělo by se to chovat, tak že ho umountuje a když je při tom v onom filesystému otevřen nějaký soubor, tak ho to ještě zapíše do starého mountpointu. To mi ale nevadí, dám si pozor - poedituju, uložim a pak teprv budu umountovat a zapisovat na flashku.
Tak jsem si zkusil napsat tohle:
Skript se bude při startu systému volat s parametrem start, při vypínání stop a když budu chtít zapsat na CF, tak s parametrem sync. Ještě tam není pořešené přepínání RO a RW / filesystému, to přidám, zatím to zkouším na HDD.Kód:#!/bin/sh # # ramdisk This shell script takes care of ramdisk and ro fs # # Source function library. . /etc/init.d/functions RETVAL=0 # See how we were called. case "$1" in start) # Sets up ramdisk. echo -n "Seting up ramdisk: " /sbin/mke2fs -q -m 0 /dev/ramdisk /bin/mount /dev/ramdisk /ramdisk /bin/cp /etc /ramdisk/ -R /bin/cp /var /ramdisk/ -R /bin/cp /root /ramdisk/ -R /bin/cp /tmp /ramdisk/ -R /bin/mount --bind /ramdisk/etc /etc /bin/mount --bind /ramdisk/var /var /bin/mount --bind /ramdisk/root /root /bin/mount --bind /ramdisk/tmp /tmp ;; stop) # Stop daemons. echo -n "Cleaning and unmounting ramdisk: " /bin/umount /etc -l /bin/umount /var -l /bin/umount /var -l /bin/umount /tmp -l ;; sync|ramtoflash) /bin/umount /etc -l /bin/umount /var -l /bin/umount /var -l /bin/umount /tmp -l /bin/cp /ramdisk/etc /etc -R /bin/cp /ramdisk/var /var -R /bin/cp /ramdisk/root /root -R /bin/mount --bind /ramdisk/etc /etc /bin/mount --bind /ramdisk/var /var /bin/mount --bind /ramdisk/root /root /bin/mount --bind /ramdisk/tmp /tmp ;; *) echo "Usage: ramdisk {start|stop|sync}" exit 1 esac exit $RETVAL
Ještě se zeptám - routovací tabulky jsou jen v paměti, že?





Odpověď s citací