Temat: extroot na WRT160NL i zapis w fstab

Wykonałem wszystkie kroki według instrukcji zamiszczonej tutaj:

http://eko.one.pl/?p=openwrt-externalroot

Utworzyłem 1 partycje używając  1GB Pendrive'a. Nie robiłem Swap'a
Po restarcie routera przywróciłem swoją konfiguracje.
W przykładzie z powyższego tematu wykorzystałem nazwę urządzenia.

Po wydaniu polecenia "mount" uzyskuje:
http://i52.tinypic.com/349au7a.jpg

W luci zapis wygląda następująco:
http://i52.tinypic.com/ofde05.jpg

Jest zamonotowany /dev/sda1
Jednak kiedy przeglądam fstab widzę:

http://i55.tinypic.com/bdpf9w.jpg

Pytanie może wynikać z mojej niewiedzy..
Gdzie się podział zapis z fstab zamontowanego pendrive'a ?
Czy nie powinienem widzieć czegoś podobnego (biorąc pod uwgaę to że do identyfikacji wykorzystałem nazwę urządzenia):

http://i52.tinypic.com/vpjhur.jpg

Z góry dzięki za informacje.

Hitron CGNv4 // Cisco Meraki-MR18
TL-WR1043NDv2, Mikrotik RB2011UiAS-2HnD-IN Pracują na LEDE
https://wiki.openwrt.org/toh/mikrotik/r … ll_openwrt

2

Odp: extroot na WRT160NL i zapis w fstab

Nie. Po zrobieniu extroota masz czystą konfigurację, to co było jest "przykrywane" extrootem  po prostu nie widzisz zmian które są zrobione we flash. Masz pierwotną postać pliku i tak właśnie ma być.

Jak bys zainstalował coś we flash, zrobił extroota to tego zainstalowanego pakietu też byś nie widział.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: extroot na WRT160NL i zapis w fstab

Czyli wszystko jest w porządku i właśnie router dostał dodatkowy 1GB na oprogramowanie ?

Hitron CGNv4 // Cisco Meraki-MR18
TL-WR1043NDv2, Mikrotik RB2011UiAS-2HnD-IN Pracują na LEDE
https://wiki.openwrt.org/toh/mikrotik/r … ll_openwrt

4

Odp: extroot na WRT160NL i zapis w fstab

Dokładnie tak.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: extroot na WRT160NL i zapis w fstab

Wielkie dzięki.

Hitron CGNv4 // Cisco Meraki-MR18
TL-WR1043NDv2, Mikrotik RB2011UiAS-2HnD-IN Pracują na LEDE
https://wiki.openwrt.org/toh/mikrotik/r … ll_openwrt

6 (edytowany przez safe0101 2011-09-07 20:43:37)

Odp: extroot na WRT160NL i zapis w fstab

Jak wygląda konfiguracja przy dodatkowej partycji SWAP ?
Przerobiłem:

root@OpenWrt:# fdisk /dev/sda 

The number of cylinders for this disk is set to 7301.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
            (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): d
Selected partition 1

Command (m for help): n
Command action
            e   extended
            p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-7301, default 1): <enter>
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-7301, default 7301): +64M

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82 (Linux swap / Solaris)

Command (m for help): n
Command action
            e   extended
            p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (132-7301, default 132): <enter>
Using default value 132
Last cylinder or +size or +sizeM or +sizeK (1-7301, default 7301): <enter>
Using default value 7301


Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
root@OpenWrt:# 

czyli:

/dev/sda1 - swap (512MB)
/dev/sda2 - root (7.5GB) ext4

I teraz pytanie jak powinienem wykonać konfiguracje routera ?

    # uci set fstab.@mount[0].device=/dev/sda2
    # 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

Jak z partycją SWAP ? Coś muszę ustawiać ?

Hitron CGNv4 // Cisco Meraki-MR18
TL-WR1043NDv2, Mikrotik RB2011UiAS-2HnD-IN Pracują na LEDE
https://wiki.openwrt.org/toh/mikrotik/r … ll_openwrt

7

Odp: extroot na WRT160NL i zapis w fstab

Opisane to masz w poradniku, w /etc/config/fstab też znajdziesz odpowiednią sekcję. Tylko urządzenie inne podajesz, /dev/sda1.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: extroot na WRT160NL i zapis w fstab

Oouuu faktycznie, jak byk:

config 'mount'
        option 'fstype' 'ext4'
        option 'options' 'rw,noatime'
        option 'enabled_fsck' '0'
        option 'device' '/dev/sda2'
        option 'enabled' '1'
        option 'is_rootfs' '1'

    config 'swap'
        option 'device' '/dev/sda1'
        option 'enabled' '1'

Dzięki ..

Hitron CGNv4 // Cisco Meraki-MR18
TL-WR1043NDv2, Mikrotik RB2011UiAS-2HnD-IN Pracują na LEDE
https://wiki.openwrt.org/toh/mikrotik/r … ll_openwrt

9

Odp: extroot na WRT160NL i zapis w fstab

Jeszcze jedno pytanie, znalazłem w /etc/profile następujący wpis:

export LD_LIBRARY_PATH=/mnt/sda1/lib:/mnt/sda1/usr/lib:$LD_LIBRARY_PATH

sda1 to SWAP - czy on chce ładować biblioteki na SWAP'a ?

Hitron CGNv4 // Cisco Meraki-MR18
TL-WR1043NDv2, Mikrotik RB2011UiAS-2HnD-IN Pracują na LEDE
https://wiki.openwrt.org/toh/mikrotik/r … ll_openwrt

10

Odp: extroot na WRT160NL i zapis w fstab

TY masz sda1, dla większość jest to partycja użytkowa.

Tego wpisu nie ma normalnie w openwrt, więc sam go dodałeś.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11 (edytowany przez safe0101 2011-09-09 11:07:34)

Odp: extroot na WRT160NL i zapis w fstab

Cezary w jakim sensie "sam go dodałem" ?
Ostatnio po zrobieniu extroot'a w /etc/profile nie było tego wpisu.
Teraz po zrobieniu extroot'a + swap na twoim nowym obrazie widzę że w pliku pojawiła się nowa linia.

Nic nie wpisywałem ..

Hitron CGNv4 // Cisco Meraki-MR18
TL-WR1043NDv2, Mikrotik RB2011UiAS-2HnD-IN Pracują na LEDE
https://wiki.openwrt.org/toh/mikrotik/r … ll_openwrt

12

Odp: extroot na WRT160NL i zapis w fstab

Backfire nie ma takiego wpisu. Ja też go nie robię. Więc albo używasz innego firmware który ma tak domyślnie wpisane albo sam go tam umieściłeś smile

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13

Odp: extroot na WRT160NL i zapis w fstab

Uuuu, trochę mnie zaniepokoiłeś.
Skorzystałem (jak zwykle) z twojego obrazu:

openwrt-ar71xx-wrt160nl-squashfs-factory.bin z 2011-08-20 10:58:52

I poważnie - nie umieszczałem tego wpisu.
Do pliku zaglądnąłem z chwilą kiedy po instalacji nowego obrazu chciałem zrobić automatyczne wysyłanie poczty po logowaniu.

Hitron CGNv4 // Cisco Meraki-MR18
TL-WR1043NDv2, Mikrotik RB2011UiAS-2HnD-IN Pracują na LEDE
https://wiki.openwrt.org/toh/mikrotik/r … ll_openwrt

14

Odp: extroot na WRT160NL i zapis w fstab

W /rom/etc/profile masz oryginał pliku, zobacz sobie jak wyglądał.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15

Odp: extroot na WRT160NL i zapis w fstab

W /rom/etc/profile jest ok.
W takim razie utworzył się sam.

Cezary za co ten wpis jest odpowiedzialny - wskazuje miejsce w którym znajdują się biblioteki ?

Hitron CGNv4 // Cisco Meraki-MR18
TL-WR1043NDv2, Mikrotik RB2011UiAS-2HnD-IN Pracują na LEDE
https://wiki.openwrt.org/toh/mikrotik/r … ll_openwrt

16

Odp: extroot na WRT160NL i zapis w fstab

Dodaje po prostu dodatkową ścieżkę gdzie ma szukać bibliotek po instalacji pakietów. Zobacz dokument o instalacji pakietów na zewnętrznym nośniku, tam jest to opisane.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

17

Odp: extroot na WRT160NL i zapis w fstab

Ok, w takim razie coś musiałem pomieszać przy instalacji USB.
Jeszcze raz:

Po instalacji nowego obrazu wrzucam i konfiguruję USB:

root@OpenWrt:# fdisk /dev/sda 

The number of cylinders for this disk is set to 7301.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
            (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): d
Selected partition 1

Command (m for help): n
Command action
            e   extended
            p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-7301, default 1): <enter>
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-7301, default 7301): +64M

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82 (Linux swap / Solaris)

Command (m for help): n
Command action
            e   extended
            p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (132-7301, default 132): <enter>
Using default value 132
Last cylinder or +size or +sizeM or +sizeK (1-7301, default 7301): <enter>
Using default value 7301


Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
root@OpenWrt:# 

Następnie wykonuje:

# uci set fstab.@mount[0].device=/dev/sda2
    # 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

Restartuje router, następnie po restarcie zamieniam wpisy w fstab na:

config 'mount'
        option 'fstype' 'ext4'
        option 'options' 'rw,noatime'
        option 'enabled_fsck' '0'
        option 'device' '/dev/sda2'
        option 'enabled' '1'
        option 'is_rootfs' '1'

    config 'swap'
        option 'device' '/dev/sda1'
        option 'enabled' '1'

I reboot .. Tak jest ok ?

Hitron CGNv4 // Cisco Meraki-MR18
TL-WR1043NDv2, Mikrotik RB2011UiAS-2HnD-IN Pracują na LEDE
https://wiki.openwrt.org/toh/mikrotik/r … ll_openwrt

18

Odp: extroot na WRT160NL i zapis w fstab

Za drugim razem już sekcji mount nie robisz. extroot jest zamontowany.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

19

Odp: extroot na WRT160NL i zapis w fstab

Cezary napisał/a:

Za drugim razem już sekcji mount nie robisz. extroot jest zamontowany.

Zamiast

config 'mount'
        option 'fstype' 'ext4'
        option 'options' 'rw,noatime'
        option 'enabled_fsck' '0'
        option 'device' '/dev/sda2'
        option 'enabled' '1'
        option 'is_rootfs' '1'

    config 'swap'
        option 'device' '/dev/sda1'
        option 'enabled' '1'

Dodaje tylko ?

    config 'swap'
        option 'device' '/dev/sda1'
        option 'enabled' '1'

O to chodzi ?

Hitron CGNv4 // Cisco Meraki-MR18
TL-WR1043NDv2, Mikrotik RB2011UiAS-2HnD-IN Pracują na LEDE
https://wiki.openwrt.org/toh/mikrotik/r … ll_openwrt

20

Odp: extroot na WRT160NL i zapis w fstab

Dokładnie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

21 (edytowany przez safe0101 2011-09-09 16:49:47)

Odp: extroot na WRT160NL i zapis w fstab

Chyba działa.. Dzięki wielkie.
Trochę myli mnie ten zapis z fstab: to jest to o czym pisałeś w 2 poście:

Cezary napisał/a:

Nie. Po zrobieniu extroota masz czystą konfigurację, to co było jest "przykrywane" extrootem  po prostu nie widzisz zmian które są zrobione we flash. Masz pierwotną postać pliku i tak właśnie ma być.
Jak bys zainstalował coś we flash, zrobił extroota to tego zainstalowanego pakietu też byś nie widział.

No właśnie - w fstab co innego, zmiany we flash'u inne.

Teraz wygląda to tak:

http://i54.tinypic.com/6z3hjc.jpg

I mam nadzieje że jest ok.

Hitron CGNv4 // Cisco Meraki-MR18
TL-WR1043NDv2, Mikrotik RB2011UiAS-2HnD-IN Pracują na LEDE
https://wiki.openwrt.org/toh/mikrotik/r … ll_openwrt

22

Odp: extroot na WRT160NL i zapis w fstab

To proste jest. Normalny system to squashfs + jffs. Robisz zmiany to zapisują się one do jffs. Jak robisz extroota to USB montowane jest zamiast jffs, czyli wszystkie zmiany jakie wykonałeś wcześniej są niewidoczne po prostu.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

23

Odp: extroot na WRT160NL i zapis w fstab

Próbuję stworzyć partycję a następnie sformatować ją do ext4 w celu utworzenia extroot-a... Mam pendrive 8 GB Patriota. Dysk jest wykrywany jako sda:

Dec 12 08:54:05 Gargoyle kern.info kernel: [84556.620000] usb 1-1: USB disconnect, device number 7
Dec 12 08:54:08 Gargoyle kern.info kernel: [84558.790000] usb 1-1: new high-speed USB device number 8 using ehci-platform
Dec 12 08:54:08 Gargoyle kern.info kernel: [84558.950000] scsi6 : usb-storage 1-1:1.0
Dec 12 08:54:08 Gargoyle user.notice usb-modeswitch: 1-1:1.0: Manufacturer=? Product=Patriot_Memory Serial=07B2170157340A92
Dec 12 08:54:09 Gargoyle kern.notice kernel: [84559.980000] scsi 6:0:0:0: Direct-Access              Patriot Memory   PMAP PQ: 0 ANSI: 0 CCS
Dec 12 08:54:10 Gargoyle kern.notice kernel: [84561.080000] sd 6:0:0:0: [sda] 15646720 512-byte logical blocks: (8.01 GB/7.46 GiB)
Dec 12 08:54:10 Gargoyle kern.notice kernel: [84561.090000] sd 6:0:0:0: [sda] Write Protect is off
Dec 12 08:54:10 Gargoyle kern.debug kernel: [84561.090000] sd 6:0:0:0: [sda] Mode Sense: 23 00 00 00
Dec 12 08:54:10 Gargoyle kern.err kernel: [84561.100000] sd 6:0:0:0: [sda] No Caching mode page present
Dec 12 08:54:10 Gargoyle kern.err kernel: [84561.100000] sd 6:0:0:0: [sda] Assuming drive cache: write through
Dec 12 08:54:10 Gargoyle kern.err kernel: [84561.110000] sd 6:0:0:0: [sda] No Caching mode page present
Dec 12 08:54:10 Gargoyle kern.err kernel: [84561.120000] sd 6:0:0:0: [sda] Assuming drive cache: write through
Dec 12 08:54:10 Gargoyle kern.info kernel: [84561.150000]  sda: sda1
Dec 12 08:54:10 Gargoyle kern.err kernel: [84561.160000] sd 6:0:0:0: [sda] No Caching mode page present
Dec 12 08:54:10 Gargoyle kern.err kernel: [84561.170000] sd 6:0:0:0: [sda] Assuming drive cache: write through
Dec 12 08:54:10 Gargoyle kern.notice kernel: [84561.170000] sd 6:0:0:0: [sda] Attached SCSI removable disk
Dec 12 08:54:10 Gargoyle kern.warn kernel: [84561.490000] head: sending ioctl 540d to a partition!
Dec 12 08:54:10 Gargoyle kern.warn kernel: [84561.490000] head: sending ioctl 540d to a partition!
Dec 12 08:54:11 Gargoyle kern.warn kernel: [84561.960000] disktype: sending ioctl 5305 to a partition!
Dec 12 08:54:11 Gargoyle kern.warn kernel: [84561.960000] disktype: sending ioctl 5305 to a partition!

Po wydaniu polecenia mount, dysk jest wykryty i zamontowany:

rootfs on / type rootfs (rw)
/dev/root on /rom type squashfs (ro,relatime)
proc on /proc type proc (rw,noatime)
sysfs on /sys type sysfs (rw,noatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
tmpfs on /dev type tmpfs (rw,noatime,size=512k,mode=755)
devpts on /dev/pts type devpts (rw,noatime,mode=600)
root on /tmp/root type tmpfs (rw,noatime,mode=755)
overlayfs:/tmp/root on /tmp/root type overlayfs (ro,noatime,lowerdir=/,upperdir=/tmp/root)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
none on /proc/bus/usb type usbfs (rw,relatime)
/dev/mtdblock3 on /overlay type jffs2 (rw,noatime)
overlayfs:/overlay on / type overlayfs (rw,noatime,lowerdir=/,upperdir=/overlay)
/dev/sda1 on /tmp/usb_mount/BE3B-86A5 type vfat (rw,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)

Odmontowuję go:

root@Gargoyle:~# umount /dev/sda1
root@Gargoyle:~# mount
rootfs on / type rootfs (rw)
/dev/root on /rom type squashfs (ro,relatime)
proc on /proc type proc (rw,noatime)
sysfs on /sys type sysfs (rw,noatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
tmpfs on /dev type tmpfs (rw,noatime,size=512k,mode=755)
devpts on /dev/pts type devpts (rw,noatime,mode=600)
root on /tmp/root type tmpfs (rw,noatime,mode=755)
overlayfs:/tmp/root on /tmp/root type overlayfs (ro,noatime,lowerdir=/,upperdir=/tmp/root)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
none on /proc/bus/usb type usbfs (rw,relatime)
/dev/mtdblock3 on /overlay type jffs2 (rw,noatime)
overlayfs:/overlay on / type overlayfs (rw,noatime,lowerdir=/,upperdir=/overlay)

Gdy zaczynam tworzyć partycje, dostaję inny komunikat na wstępnie niż ten który pokazujesz Cezary bądź ten który można zaobserwować w postach safe0101:

root@Gargoyle:~# 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):

i zastanawia mnie ten komunikat mówiący, że zmiany zostaną zapisane tylko w pamięci... Zapewne coś robię nie tak, tylko co - bo już na tym etapie pendrive nie jest chyba wykrywany?
Tworzenie extroot-a zacząłem  od etapu "Tworzenie partycji", czy muszę wcześniej coś wykonać doinstalować (np. block-mount którego nie mogę zainstalować z powodu braku miejsca)?

===========================================
WRT160NL v1 CUR01 with Gargoyle PL  by obsy

TL-MR3420 v2 (MiFi) + E3372h-153 (nie hilink) = Play

24

Odp: extroot na WRT160NL i zapis w fstab

Jak skończysz pracę z fdiskiem to naciskasz "w" żeby zapisał zmiany na dysk. Nie przejmuj się tak tym komunikatem.

block-mount jest wymagany do zrobienia extroota (i parę innych pakietów), jak go nie masz to nici z extroota.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

25

Odp: extroot na WRT160NL i zapis w fstab

No tak, ale co zrobić jak nie mogę nić zainstalować bo nie mam miejsca:

root@Gargoyle:~# opkg install block-mount kmod-fs-ext4
Installing block-mount (0.2.0-9) to root...
Downloading http://ecco.selfip.net/attitude_adjustm … ar71xx.ipk.
Package kmod-fs-ext4 (3.3.8-1) installed in root is up to date.
Collected errors:
* wfopen: //usr/lib/opkg/info/block-mount.conffiles: No space left on device.
* wfopen: //usr/lib/opkg/info/block-mount.control: No space left on device.
* wfopen: /etc/config/fstab: No space left on device.
* wfopen: /etc/init.d/fstab: No space left on device.
* wfopen: /etc/hotplug.d/block/40-mount: No space left on device.
* wfopen: /etc/hotplug.d/block/20-fsck: No space left on device.
* wfopen: /etc/hotplug.d/block/10-swap: No space left on device.
* wfopen: /lib/preinit/55_determine_extroot_sysupgrade: No space left on device.
* wfopen: /lib/preinit/50_determine_usb_root: No space left on device.
* wfopen: /lib/preinit/60_pivot_usb_root: No space left on device.
* wfopen: /lib/preinit/00_extroot.conf: No space left on device.
* wfopen: /lib/functions/mount.sh: No space left on device.
* wfopen: /lib/functions/block.sh: No space left on device.
* wfopen: /lib/functions/fsck.sh: No space left on device.
* wfopen: /lib/functions/extmount.sh: No space left on device.
* set_flags_from_control: Failed to open //usr/lib/opkg/info/block-mount.control: No such file or directory.
* pkg_write_filelist: Failed to open //usr/lib/opkg/info/block-mount.list: No space left on device.
* opkg_install_pkg: Failed to extract data files for block-mount. Package debris may remain!
* opkg_install_cmd: Cannot install package block-mount.
* opkg_conf_write_status_files: Can't open status file //usr/lib/opkg/status: No space left on device.

Widzę, że kmod-fs-ext4 jest już zainstalowany ale block-mount jeszcze nie... Jestem początkujący, ale co mam zrobić? Zmienić system na "golucha" bez Gargoyle i dopiero poinstalować te pakiety i ruszyć z extroot-em?
Moim obecnym systemem jest Gargoyle 1.5.8.4.

===========================================
WRT160NL v1 CUR01 with Gargoyle PL  by obsy

TL-MR3420 v2 (MiFi) + E3372h-153 (nie hilink) = Play