Temat: R6220 - kopiowanie partycji factory

Cześć. Zakupiłem kolejny router R6220, tym razem sztukę do eksperymentów. Chciałbym pobawić się w kompilację, odblokowanie wolnej przestrzeni pamięci itp...
W jaki sposób powinienem się zabezpieczyć, aby nie uszkodzić tego routera całkowicie? Wykonać kopię partycji z danymi wgrywanymi przez producenta? Jeśli tak, to które partycje są ważne, oraz jak je skopiować, aby można je było bez problemu przywrócić w razie potrzeby? Czytałem, że kopiowanie pamięci flash za pomocą dd może nie być dobrym pomysłem ze względu na bad sectory?

2

Odp: R6220 - kopiowanie partycji factory

Nie musisz tego zrobić. Zawsze możesz wgrać soft producenta  (openwrt też) przez https://github.com/jclehner/nmrpflash , więc nie musisz robić kopii.

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

3

Odp: R6220 - kopiowanie partycji factory

O tym wiem. Chodzi mi raczej o możliwość uszkodzenia partycji zawierających informację o MAC, skasowanie których uniemożliwia uruchomienie Wifi etc.

4

Odp: R6220 - kopiowanie partycji factory

Zgraj sobie partycję factory, tak przez dd, a później porównaj sumy kontrolne pliku i partycji.  Jeżeli będzie różne to użyj nandump'a.

Trudno ci będzie uszkodzić te partycje, bo one są w openwrt tylko do odczytu. Chyba że zrobisz to na własne życzenie.

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

5

Odp: R6220 - kopiowanie partycji factory

Ok. Dzięki za informację, jak router do mnie dotrze to wykonam sobie taką kopię.

6

Odp: R6220 - kopiowanie partycji factory

Wydaje mi się ze własnie to chce zrobić Kamil_94: "odblokowanie wolnej przestrzeni pamięci" - obecnie dostępne tylko 21MB z 128MB. Podziel się proszę wynikami eksperymentów.

7

Odp: R6220 - kopiowanie partycji factory

Ale to wiadomo jak zrobić: https://openwrt.org/toh/netgear/r6220#m … _partition

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

8 (edytowany przez kamill_94 2021-11-26 18:01:33)

Odp: R6220 - kopiowanie partycji factory

Dokładnie to chciałem zrobić. Z tym, że zależy mi  aby to miejsce wykorzystać na instalację pakietów. W standardowym flashu nie mieści mi się samba4, a tylko ta wersja działa na komputerach stabilnie. Testowałem jakiś czas temu ksmbd, ale powodował problemy przy kopiowaniu plików na Windows (kopiowanie zawieszało się na 99% i stało aż do zamknięcia okna).

Widzę, że nie ma możliwości wykorzystania tej partycji jako extroot. Myślałem, że uda się zainstalować pakiety dodając nową lokalizację do pliku opkg.conf. Jednak po zainstalowaniu np transmission w tej lokalizacji nie może się on uruchomić. Prawdopodobnie szuka wszystkich zależnych plików na partycji Overtay.

Czy jest jakaś możliwość oprócz kompilacji swojej wersji systemu ze zmienionym układem partycji, aby wykorzystać tą przestrzeń na instalację pakietów?

PS.
@Cezary W jaki sposób mogę całkowicie wykasować zawartość tej partycji reserved? Czy zwykłe usunięcie plików za pomocą " rm -rf /tmp/ubi1/* " przywróci partycję do stanu pierwotnego?

9

Odp: R6220 - kopiowanie partycji factory

Jak zainicjujesz ją jako ubi to będzie skasowana.

Przez własnoręczną kompilację systemu. A tak - możesz tam instalować pakiety, ale musisz ustawiać ścieżki, tak jak opisywałem to w poradniku: https://eko.one.pl/?p=openwrt-pakiety

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

10

Odp: R6220 - kopiowanie partycji factory

Próbuję ją skasować.
Daję:

opkg install kmod-mtd-rw
insmod mtd-rw i_want_a_brick=1
ubiattach -p /dev/mtd5
ubimkvol /dev/ubi1 -N database -m

i po tym mi wywala:
ubimkvol: error!: UBI device does not have free logical eraseblocks

11

Odp: R6220 - kopiowanie partycji factory

root@OpenWrt:~# insmod mtd-rw i_want_a_brick=1
root@OpenWrt:~# cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00100000 00020000 "u-boot"
mtd1: 00100000 00020000 "SC PID"
mtd2: 00400000 00020000 "kernel"
mtd3: 01c00000 00020000 "ubi"
mtd4: 00100000 00020000 "factory"
mtd5: 03c00000 00020000 "reserved"
root@OpenWrt:~# ubiattach -p /dev/mtd5
UBI device number 1, total 480 LEBs (60948480 bytes, 58.1 MiB), available 43 LEBs (5459968 bytes, 5.2 MiB), LEB size 126976 bytes (124.0 KiB)
root@OpenWrt:~# ubimkvol /dev/ubi1 -N database -m
Set volume size to 5459968
Volume ID 1, size 43 LEBs (5459968 bytes, 5.2 MiB), LEB size 126976 bytes (124.0 KiB), dynamic, name "database", alignment 1
root@OpenWrt:~# ubiblock -c /dev/ubi1_0
root@OpenWrt:~# mkdir /tmp/ubi1
root@OpenWrt:~# mount -t ubifs /dev/ubi1_0 /tmp/ubi1
root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 4.0M      4.0M         0 100% /rom
tmpfs                    59.7M   1012.0K     58.7M   2% /tmp
/dev/ubi0_1              16.8M     56.0K     15.8M   0% /overlay
overlayfs:/overlay       16.8M     56.0K     15.8M   0% /
tmpfs                   512.0K         0    512.0K   0% /dev
/dev/ubi1_0              44.6M    128.0K     42.1M   0% /tmp/ubi1
root@OpenWrt:~# 

U mnie działa. Jeżeli nie chce zrobić to znaczy po prostu że ten nand jest zużyty.

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

12

Odp: R6220 - kopiowanie partycji factory

I jak zrobisz to kolejny raz, to ubimkvol przechodzi bez problemów?
U mnie przeszło za pierwszym razem, partycja jest widoczna, działa, tylko nie mogę jej ponownie utworzyć tym poleceniem (w celu skasowania zawartości)

13

Odp: R6220 - kopiowanie partycji factory

Nie, raz utworzony wolumin już jest i nie tworzy następnego. Chcesz go utworzyć jeszcze raz to najpierw go skasuj przez ubirmvo

PS. Albo zrób ubiformat...

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

14

Odp: R6220 - kopiowanie partycji factory

ubirmvol załatwiło temat. Tak myślałem, że on widzi istniejące partycje tam i dlatego nie da się stworzyć  nowej. Teraz będę próbował z Sambą na tej partycji.