Guest hosunio Posted April 4, 2013 Share Posted April 4, 2013 Mam image od Sparka i może by parę rzeczy się nadało ale nie wiem czym to rozpakować, winrar,7zip, ultraiso nie dają rady. http://www.sendspace.pl/file/666a05c653f8b675051bdb9 Quote Link to comment Share on other sites More sharing options...
tux Posted April 4, 2013 Share Posted April 4, 2013 Może zamontować pod linuxem do mtd? Załadować moduły: modprobe jffs2 modprobe mtdram total_size=59024 modprobe mtdchar modprobe mtdblock Potem via dd wpisać do mtd0 dd if=plik_jffs2 of=/dev/mtd0 Na koniec zamontować: mount -t jffs2 /dev/mtdblock0 /mount_point Quote Link to comment Share on other sites More sharing options...
Guest hosunio Posted April 4, 2013 Share Posted April 4, 2013 he, a po polsku? :) To jak się już komuś uda to niech wrzuci na jakiś upload i poda link. Quote Link to comment Share on other sites More sharing options...
matzg Posted April 4, 2013 Share Posted April 4, 2013 Przecież można pobrać jako .tar.gz https://skydrive.live.com/?cid=CF8ACF601181F1CE&id=CF8ACF601181F1CE!1645 Quote Link to comment Share on other sites More sharing options...
tux Posted April 4, 2013 Share Posted April 4, 2013 To co dał @hosunio to tylko z nazwy pliku jest czystym jffs2. Nie da się tego zamontować taj jak każdego jffs2. Quote Link to comment Share on other sites More sharing options...
Guest hosunio Posted April 4, 2013 Share Posted April 4, 2013 Dzięki @matzg, z pluginów to raczej nici ale można by z tego image zapożyczyć obsługę kart wifi z RT2870. Pewnie jeszcze parę rzeczy by się znalazło. Quote Link to comment Share on other sites More sharing options...
tux Posted April 4, 2013 Share Posted April 4, 2013 @hosunio → nie zapożyczysz → kernel MIPS nie działa na SH4. Jako pocieszenie → kompiluje się już cały kernel. Jak przejdzie testy to poleci tu na forum. Quote Link to comment Share on other sites More sharing options...
Guest hosunio Posted April 4, 2013 Share Posted April 4, 2013 A ja myślał, że wszystkie STI71xx to sh4 :/ Quote Link to comment Share on other sites More sharing options...
tux Posted April 4, 2013 Share Posted April 4, 2013 Fakt → tam jest SPARK jak się dopatrzyłem teraz. Zerknę jak to wygląda Nagłówek pliku: SPARK7162 KERNEL=stm24_0211 DBGOPTION=noDEBUG DIFF=diff0 COMPILED=29-01-2013-0802 Quote Link to comment Share on other sites More sharing options...
mickey Posted September 23, 2013 Share Posted September 23, 2013 Stary wątek, ale problem podobny, więc może jednak się podepnę... Ogólnie, to chciałbym wypakować pliki z rootfs.img z Gratelii. Można załadować do NAND, odpalić z innego źródła, podmontować NAND w systemie i skopiować. Ale wolałbym uniknąć uniknąć tego pierwszego. Procedura wydawało mi się, że jest prosta, znaleziona wielokrotnie w sieci i bardzo podobna do tej podanej przez tuxa w drugim poście tego wątku: mknod /dev/mtdblock0 b 31 0 modprobe mtdblock modprobe mtdram total_size=65536 erase_size=256 modprobe jffs2 dd if=rootfs.img of=/tmp/mtdblock0 mkdir /media/gratelia mount -t jffs2 /dev/mtdblock0 /media/gratelia Wszystko niby działa, ale próba podmontowania kończy się komunikatem: mount: montowanie /dev/mtdblock0 w /media/gratelia nie powiodło się: Operacja nie obsługiwana Jakieś sugestie? Quote Link to comment Share on other sites More sharing options...
tux Posted September 23, 2013 Share Posted September 23, 2013 modprobe jffs2 modprobe mtdram total_size=59024 modprobe mtdchar modprobe mtdblock dd if=rootfs.img of=/dev/mtd0 mount -t jffs2 /dev/mtdblock0 /dest Quote Link to comment Share on other sites More sharing options...
Guest info Posted September 23, 2013 Share Posted September 23, 2013 Nie wyważałem otwartych drzwi, aczkolwiek myślę, że alternatywny sposób: #!/bin/bash mknod /tmp/mtdblock0 b 31 0 losetup /dev/loop0 /home/nbox/nand/rootfs.img modprobe mtdblock modprobe block2mtd echo "/dev/loop0,128KiB" > /sys/module/block2mtd/parameters/block2mtd modprobe jffs2 mount -t jffs2 /tmp/mtdblock0 /home/nbox/rootfs Quote Link to comment Share on other sites More sharing options...
mickey Posted September 24, 2013 Share Posted September 24, 2013 @tux: W Fedorze 19 nie mam (czytaj: nie potrafię znaleźć) mtdchar. Kernel 3.10.... @tux i @info: Jeżeli Wam to faktycznie działa, to wychodzi, że albo JFFS2 albo MTD mam skompilowane ze złymi lub brakującymi opcjami :/ Quote Link to comment Share on other sites More sharing options...
tux Posted September 24, 2013 Share Posted September 24, 2013 Ja mam to w jajku dystrybucyjnym w PLD i Arch Linux. Co jest w tych wielkich wynalazkach to nie wiem Quote Link to comment Share on other sites More sharing options...
Guest info Posted September 24, 2013 Share Posted September 24, 2013 A dmesg co pisze? W domu - jak mam czas - działam na standard wheezy. Może tutaj znajdziesz rozwiązanie. Quote Link to comment Share on other sites More sharing options...
tux Posted September 24, 2013 Share Posted September 24, 2013 Debianowe jajko też ma obsługę na standardzie. Informacja jako uzupełnienie. Quote Link to comment Share on other sites More sharing options...
mickey Posted September 24, 2013 Share Posted September 24, 2013 Fedora nie ma w standardzie. Dokompilowałem już wcześniej wszystko zgodnie z instrukcją podaną przez info pod tym linkiem, poza CONFIG_MTD_PARITIONS, bo nie widzę tego w .config. W /var/log/messages mam mnóstwo linii podobnych do tej: Sep 24 09:19:10 compaq-fedora kernel: [ 2971.823745] jffs2: Empty flash at 0x027a7ffc ends at 0x027a8000 Sep 24 09:19:10 compaq-fedora kernel: [ 2971.823746] jffs2: CLEANMARKER node found at 0x027a8000, not first node in block (0x027a0000) To co na razie udało mi się znaleźć w tym temacie, to że chodzi o strukturę NANDa w porównaniu z tą w pliku img. Że niby nie są zgodne. W moim przypadku to emulowany NAND i nie wiem jak sprawdzić/zmienić jego strukturę i jaka powinna być. Quote Link to comment Share on other sites More sharing options...
Guest info Posted September 24, 2013 Share Posted September 24, 2013 Mogę się mylić, a co dalej to niechciałbym Cię wprowadzić w błąd, ale to wygląda mi to na różny rozmiar bloku obrazu niż rzeczywisty rozmiar bloku w systemie. Zwróć uwagę na na ten wpis: CLEANMARKER node found at 0x027a8000, not first node in block (0x027a0000). Może należy odczekać dłuższy czas na zamontowanie? Quote Link to comment Share on other sites More sharing options...
tux Posted September 24, 2013 Share Posted September 24, 2013 @mickey Twoja: modprobe mtdram total_size=65536 erase_size=256 Moja modprobe mtdram total_size=59024 Którą linijkę stosujesz? Quote Link to comment Share on other sites More sharing options...
mickey Posted September 25, 2013 Share Posted September 25, 2013 Dzięki Panowie za pomoc ... i sorry za zawracania głowy. W końcu działa. A cały problem był zdaje się zawarty w jednej linijce w logu: Sep 23 13:27:52 compaq-fedora kernel: [ 699.786546] SELinux: (dev jffs2, type jffs2) has no xattr support Sam nie wiem, czemu jeszcze nie wyłączyłem SELinuksa... @tux: total_size wystarczy, że jest większe niż rozmiar rootfs.img (sprawdzałem różne wartości), erase_size raczej powinno być 128 - takie jest domyślne, więc przestałem ustawiać. Ponieważ działa, to może dla innych (znaczy się: dla siebie, jak znowu zapomnę jak to zrobiłem :P) mała instrukcja. Na Fedorze bez kompilacji jajka się nie obejdzie. Jeżeli dojdę do tego jak to zrobić szybciej to napiszę. Opcje jakie powinny być przy konfiguracji kernela, pewnie z nadmiarem ale już nie mam nerwów sprawdzać, co da się wyłączyć: Aktualizacja: Opcje poniżej są niewystarczające. Działa kiedy jajko jest skompilowane z wszystkim co jest w zakładkach związanych z MTD i JFFS2 (jak w Ubuntu na starcie). Jeżeli uda mi się ustalić czego brakuje, to dopiszę... - MTD CONFIG_MTD=m CONFIG_MTD_CMDLINE_PARTS=m CONFIG_MTD_BLKDEVS=m CONFIG_MTD_BLOCK=m CONFIG_MTD_MAP_BANK_WIDTH_1=y CONFIG_MTD_MAP_BANK_WIDTH_2=y CONFIG_MTD_MAP_BANK_WIDTH_4=y CONFIG_MTD_CFI_I1=y CONFIG_MTD_CFI_I2=y CONFIG_MTD_MTDRAM=m CONFIG_MTDRAM_TOTAL_SIZE=4096 CONFIG_MTDRAM_ERASE_SIZE=128 CONFIG_MTD_BLOCK2MTD=m CONFIG_MTD_NAND_ECC=m CONFIG_MTD_NAND_ECC_SMC=y CONFIG_MTD_NAND=m CONFIG_MTD_NAND_BCH=m CONFIG_MTD_NAND_ECC_BCH=y CONFIG_MTD_NAND_IDS=m CONFIG_MTD_NAND_NANDSIM=m CONFIG_MTD_NAND_PLATFORM=m CONFIG_MTD_UBI=m CONFIG_MTD_UBI_WL_THRESHOLD=4096 CONFIG_MTD_UBI_BEB_LIMIT=20 - JFFS2 CONFIG_JFFS2_FS=m CONFIG_JFFS2_FS_DEBUG=0 CONFIG_JFFS2_FS_WRITEBUFFER=y CONFIG_JFFS2_FS_WBUF_VERIFY=y CONFIG_JFFS2_SUMMARY=y CONFIG_JFFS2_FS_XATTR=y CONFIG_JFFS2_FS_POSIX_ACL=y CONFIG_JFFS2_FS_SECURITY=y CONFIG_JFFS2_COMPRESSION_OPTIONS=y CONFIG_JFFS2_ZLIB=y CONFIG_JFFS2_LZO=y CONFIG_JFFS2_CMODE_NONE=y Jak widać jest tam też CONFIG_JFFS2_FS_XATTR=y... Potem jak wszyscy wiedzą: make all, make install modules_install, reboot. A potem: - ładujemy obsługę urządzeń Memory Technology Device (MTD) # modprobe -v mtdblock - emulujemy naszego NANDa/NORa w pamięci, co powoduje powstanie 3 urządzeń w systemie # modprobe -v mtdram total_size=65536 # ls /dev | grep mtd mtd0 mtd0ro mtdblock0 # cat /proc/mtd dev: size erasesize name mtd0: 04000000 00020000 "mtdram test device" - ładujemy obsługę systemu plików JFFS2 # modprobe -v jffs2 - zostało załadować obraz do emulowanej pamięci flash # dd if=rootfs.img of=/dev/mtd0 - i podmontować # mount -t jffs2 /dev/mtdblock0 /media/gratelia Jak zainstalujemy mtd-utils to ładowanie do flasha można zrobić również tak: # flash_erase /dev/mtd0 0 0 # nandwrite /dev/mtd0 rootfs.img PS. A potem aktualizujemy Fedorę łącznie z kernelem i od nowa :P Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.