Openwrt gargoyle - extroot

OPENWRT GARGOYLE - EXTROOT
Extroot umożliwia nam uzupełnienie brakującego miejsca na instalacje oprogramowania, z pendrive'a robimy dysk, z którego korzysta router.
1. Po udanej instalacji obrazu, router automatycznie restartuje urządzenie. Po restarcie wchodzimy w GUI znajdującym się pod adresem 192.168.1.1 i logujemy się z hasłem "password". Następnie router poprosi nas o ustalenie nowego hasła. Teraz czas na logowanie do terminala z nowo utworzonym hasłem. Pobieramy następujące paczki:

opkg update
opkg install block-mount kmod-fs-ext4 e2fsprogs fdisk nano kmod-usb-core kmod-usb2 kmod-usb-storage

Wykonujemy kolejny restart routera.
Wkładamy urządzenie USB do portu, wykonujemy repartycje. Wcześniej jednak sprawdzimy czy urządzenie nie zostało automatycznie zamontowane, służy do tego komenda:

mount

Jeśli urządzenie USB jest zamontowane, należy go domontować poleceniem:

umount /dev/sdaX (gdzie X jest numerem partycji)

2. Przystępujemy do przygotowania partycji pod Extroot’a

Do tego celu służyć nam będzie program "fdisk"

fdisk /dev/sda
Welcome to fdisk (util-linux 2.21.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): d
Selected partition 1
Partition 1 is deleted
Command (m for help): n
Partition type:
p   primary (0 primary, 0 extended, 4 free)
e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-31326207, default 2048):<enter>
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-316207, default 31207):<enter>
Using default value 31326207
Partition 1 of type Linux and of size 15 GiB is set
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 83

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

3. Następnie formatujemy urządzenie USB:
mkfs.ext4 -m 0 /dev/sda1

Wprowadzamy zmiany do pliku /etc/config/fstab wykonując polecenia z konsoli !

uci set fstab.@mount[0].device=/dev/sda1
uci set fstab.@mount[0].enabled=1
uci set fstab.@mount[0].fstype=ext4
uci set fstab.@mount[0].is_rootfs=1
uci commit fstab

Jeżeli chcemy wykorzystać UUID należy najpierw odczytać identyfikator partycji

blkid /dev/sda1
/dev/sda1: UUID="f11dbc98-b4f9-4ac9-9908-03d53a8d979f"

a następnie ustawić opcję uuid w konfiguracji

uci set fstab.@mount[0].uuid=f11dbc98-b4f9-4ac9-9908-03d53a8d979f uci commit fstab

4. Wykonujemy kolejny restart.

Po ponownym uruchomieniu routera sprawdzamy czy udało się wykonać extroot’a

df -h

Powinniśmy otrzymać podobny wynik:

Filesystem                Size      Used Available Use% Mounted on
rootfs                   14.9G    353.1M     14.5G   2% /
/dev/root                 2.3M      2.3M         0 100% /rom
tmpfs                    14.3M    548.0K     13.7M   4% /tmp
tmpfs                   512.0K         0    512.0K   0% /dev
/dev/sda1                14.9G    353.1M     14.5G   2% /overlay
overlayfs:/overlay       14.9G    353.1M     14.5G   2% /

Zastanawiasz się pewnie gdzie jest partycja SWAP?
Otóż pominąłem ją celowo - jeśli nie korzystasz z P2P na routerze, partycja SWAP do niczego nie będzie potrzebna.

Można nadal używać Pendrive-a jako servera ftp czy służy on już wtedy tylko i wyłącznie za zewnętrzną pamięć?

Tak można - [url=http://eko.one.pl/?p=gargoyle-fstab

Super! Więcej zabawy. A teraz taka sprawa - EXTROOT zrobiłem z poziomu GUI. Nie mniej jednak w SSH dalej widnieje informacja o tym że jest za mało miejsca. Co jeszcze powinienem zrobić?
Katalog główny dodatków również już zmieniony.

Próbowałeś uruchomić ponownie urządzenie?

Tak - ze 3 razy.
Taki błąd w SSH:

root@Gargoyle:~# opkg install apache
ERROR: Not enough space in destination root to install specified packages:
        unixodbc, apache, libpcre

A tak się bootuje:

Booted from EXTERNAL ROOT
 | Machine: TP-Link TL-WR1043N/ND v1                            |
 | Uptime: 0d, 00:27:17                                         |
 | Load: 0.08 0.03 0.09                                         |
 | Flash: free: 60.0K, total: 1.7M, used: 97%                   |
 | Memory: free: 10384K, total: 29156K, used: 64%               |
 | WAN: 192.168.1.10, proto: dhcp                               |
 | LAN: 192.168.2.1                                             |
 | WLAN: mode: ap, ssid: SNapia, channel: 1, conn: 1            |
 ----------------------------------------------------------------

Sama pamięć była formatowana przed zrobieniem exroot-a? Poradnik Exroot

Tak - pod ext4 - gui robi to sam. Trzeba wybrać odpowiednią opcję.

To mi nic więcej do głowy nie przychodzi w tym momencie.

Spróbuję wtedy on nowa ale przez ssh.

Czekam na efekty twojej pracy i powodzenia.

Ok, mam małą wiedzę na temat tych wszystkich modyfikacji, jednak spróbowałem. Po wpisaniu komendy # mkfs.ext4 -m 0 /dev/sda1 program putty powiedział coś w rodzaju, że nie ma takiej partycji. W sumie było to logiczne, bo skoro usunęliśmy w poprzednim kroku partycję, to jak w następnym moglibyśmy ją sformatować...
Czy w tym opisie czegoś nie brakuje?

Nie wiem czy zauważyłeś cały opis usuwania i tworzenia partycji:

# fdisk /dev/sda

Welcome to fdisk (util-linux 2.21.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): d

Selected partition 1

Partition 1 is deleted

Command (m for help): n

Partition type:

p   primary (0 primary, 0 extended, 4 free)

e   extended

Select (default p): p

Partition number (1-4, default 1): 1

First sector (2048-31326207, default 2048):<enter>

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-316207, default 31207):<enter>

Using default value 31326207

Partition 1 of type Linux and of size 15 GiB is set

Command (m for help): t

Selected partition 1

Hex code (type L to list codes): 83


Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

Ja chyba nie mam do tego szczęścia. Udało mi się zrobić extroota, udało mi się zainstalować miniDLNA, nawet to wszystko ruszyło, nagle dziś odpalam Hi-Fi, próbuję znaleźć serwer - pusto. Odpalam panel routera, a tam wszystko jak fabrycznie - oryginalna skórka, pendrive'y zamontowane, ale nie udostępnione, extroota nie ma, lista dodatków stara (bez opcji skórek czy miniDLNA), te opcje zniknęły też z menu panelu routera.
O dziwo ustawienia WLAN czy PPPoE zostały, czyli nie przywróciły się ustawienia fabryczne. I teraz dwa pytania - od którego etapu zacząć, by wszystko przywrócić (pendrive do extroota na przykład nie wymaga chyba ponownego formatowania?) no i co zrobić, aby zmiany się utrzymały, a nie znikały bez powodu (tzn. powodem był jak sądzę chwilowy brak prądu z poprzedniego dnia)?
Z góry dzięki za pomoc.

Najpierw spróbuj uruchomić router ponownie z pendrivem w USB.
Możliwa sprawa że podczas zaniku prądu zapis na pendrive się nie powiódł i uszkodził strukturę katalogów. Możesz spróbować ją odbudować wpisując na nie zamontowanym pendrive poleceniem:
e2fsck /dev/sda1