RTV forum PL | NewsGroups PL

Minimalistyczna implementacja ext3/4 do bootloadera na ARM do odczytu jednego pliku

Okrojona implementacja ext3 na uC

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Minimalistyczna implementacja ext3/4 do bootloadera na ARM do odczytu jednego pliku

Goto page 1, 2  Next

Sebastian Biały
Guest

Sat Sep 15, 2012 7:08 pm   



Potrzebuje napisać maluteńki bootloader na sporego ARMa.

Zadanie bootloadera to załadować *jeden* plik do pamięci RAM z nośnika SD.

SD musi być sformatowana w ext3/4.

Poszukuje przenośnej implementacji ext3/4 ktora ma minimalistyczne
cechę: potrafi odczytać jeden plik z "/" filesystemu. Nic więcej nie
potrzebuje.

Dla dociekliwych: ten plik to jądro linuxa.

Byc może warto wziąść uboota i dopisać kawałek, ale zanim to zrobie
chciałbym powalczyć samodzielnie, przy okazji poznając bliżej cpu.

Googlowanie składa się z 99.9% szumu o tym jak zamontować w linuxie
ext3/4. A ja tego nie chcę - chce minimalistyczną implementację. Czy
ktoś takową widział?

Guest

Sat Sep 15, 2012 7:23 pm   



Sebastian Biały wrote:

Quote:
Googlowanie składa się z 99.9% szumu o tym jak zamontować w linuxie
ext3/4. A ja tego nie chcę - chce minimalistyczną implementację. Czy
ktoś takową widział?

Może wystarczy Ci grub2 (http://www.gnu.org/software/grub/) i grub-
core/fs/ext2.c do rozeznania się (umie też ext3/4). Niestety to nie jest
gotowiec na uC.

--
Arek, arekmx|gazeta.pl

Wojciech Waga
Guest

Sat Sep 15, 2012 8:50 pm   



On 09/15/2012 09:08 PM, Sebastian Biały wrote:
Quote:
Potrzebuje napisać maluteńki bootloader na sporego ARMa.

Zadanie bootloadera to załadować *jeden* plik do pamięci RAM z nośnika SD.

SD musi być sformatowana w ext3/4.

Poszukuje przenośnej implementacji ext3/4 ktora ma minimalistyczne
cechę: potrafi odczytać jeden plik z "/" filesystemu. Nic więcej nie
potrzebuje.

Dla dociekliwych: ten plik to jądro linuxa.

Byc może warto wziąść uboota i dopisać kawałek, ale zanim to zrobie
chciałbym powalczyć samodzielnie, przy okazji poznając bliżej cpu.

Googlowanie składa się z 99.9% szumu o tym jak zamontować w linuxie
ext3/4. A ja tego nie chcę - chce minimalistyczną implementację. Czy
ktoś takową widział?


Idąc tą drogą to u-boot ma ext2load który robi chyba to co chcesz i ma
wersje na ARMa. Jak masz mozliwosc to chyba najlepiej skorzystac z
u-boota, plus będzie taki, ze dostaniesz masę funkcji za free w tym,
TFTP, obsługa USB, sieć itp.

pozdr.
w.

Sebastian Biały
Guest

Sun Sep 16, 2012 7:09 pm   



On 2012-09-15 22:50, Wojciech Waga wrote:
Quote:
Idąc tą drogą to u-boot ma ext2load który robi chyba to co chcesz i ma
wersje na ARMa. Jak masz mozliwosc to chyba najlepiej skorzystac z
u-boota, plus będzie taki, ze dostaniesz masę funkcji za free w tym,
TFTP, obsługa USB, sieć itp.

Po godzinnym przygladaniu się źródłom u-boota stwierdzam że to taka sama
sieczka jak Linux. Mam wewnatrzne opory aby grzebać w tym obleśnym
kodzie w C z gąszczem goto w każdą stronę i udawaniem Linuxa :/

Sa jakieś inne bootoladery, uniwersalne, godne uwagi?

Wojciech Waga
Guest

Sun Sep 16, 2012 7:20 pm   



On 09/16/2012 09:09 PM, Sebastian Biały wrote:
Quote:
Po godzinnym przygladaniu się źródłom u-boota stwierdzam że to taka sama
sieczka jak Linux. Mam wewnatrzne opory aby grzebać w tym obleśnym
kodzie w C z gąszczem goto w każdą stronę i udawaniem Linuxa :/

Sa jakieś inne bootoladery, uniwersalne, godne uwagi?

A Twoja platforma nie jest na liście wspieranej przez U-boota? Chodziło
mi raczej o to, żeby go zainstalować i skonfigurować tylko.

pozdr.
w.

Sebastian Biały
Guest

Sun Sep 16, 2012 10:05 pm   



On 2012-09-16 21:20, Wojciech Waga wrote:
Quote:
A Twoja platforma nie jest na liście wspieranej przez U-boota?

Nie. To chińskie GT2440, posiada wlasny port U-Boota w jakiejś starej
wersji. Mam źródła. Bez rzeźbienia się jednak nie uda tego przeportować,
co było właśnie przedmitem analizy źrodel U-Boota.

J.F
Guest

Mon Sep 17, 2012 7:22 pm   



Użytkownik "Sebastian Biały" napisał w wiadomości
Quote:
Potrzebuje napisać maluteńki bootloader na sporego ARMa.
Zadanie bootloadera to załadować *jeden* plik do pamięci RAM z
nośnika SD.
Poszukuje przenośnej implementacji ext3/4 ktora ma minimalistyczne
cechę: potrafi odczytać jeden plik z "/" filesystemu. Nic więcej nie
potrzebuje.
Dla dociekliwych: ten plik to jądro linuxa.

A to nie dziala tak ze ten plik przy zapisywaniu ma ciagly obszar na
dysku, i wystarczy tylko odszukac pierwszy sektor/blok, a dalej to juz
czytamy kolejne ?

J.

Sebastian Biały
Guest

Mon Sep 17, 2012 7:27 pm   



On 2012-09-17 21:22, J.F wrote:
Quote:
A to nie dziala tak ze ten plik przy zapisywaniu ma ciagly obszar na
dysku, i wystarczy tylko odszukac pierwszy sektor/blok, a dalej to juz
czytamy kolejne ?

W ogolnym przypadku tak nie działa Smile Przypadki szczególne mnie nie
interesuja. Plik z kernelem jest normalnym plikiem w fs z dowolna
fragmentacją. Musze mieć pełny support, ale z drugiej strony wystarczy
samo read-only, nawet niewydajnie.

Tomasz M.
Guest

Tue Sep 18, 2012 7:22 am   



Sebastian Biały napisal 2012-09-17 00:05:
Quote:
On 2012-09-16 21:20, Wojciech Waga wrote:
A Twoja platforma nie jest na liście wspieranej przez U-boota?

Nie. To chińskie GT2440, posiada wlasny port U-Boota w jakiejś starej
wersji. Mam źródła. Bez rzeźbienia się jednak nie uda tego przeportować,
co było właśnie przedmitem analizy źrodel U-Boota.

W mini2440 instalowali emdebiana dzieląc kartę SD na dwie partycje -
kernel na vfat, właściwy system na ext3. Takie rozwiązanie odpada?

--
Pozdrawiam,
Tomasz M.

Michal Schulz
Guest

Tue Sep 18, 2012 9:08 am   



Am 15.09.12 21:08, schrieb Sebastian Biały:

Quote:
Potrzebuje napisać maluteńki bootloader na sporego ARMa.

Zadanie bootloadera to załadować *jeden* plik do pamięci RAM z nośnika SD.

SD musi być sformatowana w ext3/4.

Poszukuje przenośnej implementacji ext3/4 ktora ma minimalistyczne
cechę: potrafi odczytać jeden plik z "/" filesystemu. Nic więcej nie
potrzebuje.

Tez kiedys szukalem i nie znalazlem niestety - skonczylo sie na pisaniu
samemu. Obawiam sie, ze ty tez nie znajdziesz. Moze napisz wlasna
implementacje na podstawie dokumentacji?

http://www.nongnu.org/ext2-doc/ext2.html

pozdr,
Michal

Sławomir Szczyrba
Guest

Tue Sep 18, 2012 5:01 pm   



Everyone falls the first time, right, Sebastian Biały?
Quote:

Googlowanie składa się z 99.9% szumu o tym jak zamontować w linuxie
ext3/4. A ja tego nie chcę - chce minimalistyczną implementację. Czy
ktoś takową widział?

Może udałoby Ci się wydłubać i dostosować procedury z tego?

< http://sourceforge.net/projects/ext2read/ >
Jeśli C++ jest akceptowalne...

Sławek
--
________ WinErr: 020
_/ __/ __/ Error recording error codes - Remaining errors will be lost.
\__ \__ \_______________________________________________________________
/___/___/ Sławomir Szczyrba steev/AT/hot\dot\pl

Sebastian Biały
Guest

Tue Sep 18, 2012 6:25 pm   



On 2012-09-18 09:22, Tomasz M. wrote:
Quote:
W mini2440 instalowali emdebiana dzieląc kartę SD na dwie partycje -
kernel na vfat, właściwy system na ext3. Takie rozwiązanie odpada?

Idealne rozwiązanie jest takie:

a) system szuka fs na mmc
b) system szuka fs na usb
c) system szuka fs na sieci
d) robi to w/g ustalonej kolejności
e) fs to ext2,vfat,ntfs

Kernel w pliku. Parametry dla jajka w pliku.

W ten sposób (toretycznie) nigdy nie bedę musiał flashować urzadzenia,
bo zawsze mogę zapodać nowy kernel i bootparams z zewnatrz. A docelowo
przy urządzeniu nie będzie osoby mającej pojęcie o czymkolwiek poza
wsadzaniem karty w dziurkę.

Tymczasem uboot dysponuje wszystkim tylko nie tym co potrzebuje :/

Sebastian Biały
Guest

Tue Sep 18, 2012 6:26 pm   



On 2012-09-18 19:01, Sławomir Szczyrba wrote:
Quote:
Googlowanie składa się z 99.9% szumu o tym jak zamontować w linuxie
ext3/4. A ja tego nie chcę - chce minimalistyczną implementację. Czy
ktoś takową widział?
Może udałoby Ci się wydłubać i dostosować procedury z tego?
http://sourceforge.net/projects/ext2read/
Jeśli C++ jest akceptowalne...

Gdybym pisał bootloader to nawet wskazane - na złość reszcie świata Razz

Michoo
Guest

Tue Sep 18, 2012 11:25 pm   



On 18.09.2012 20:25, Sebastian Biały wrote:
Quote:
On 2012-09-18 09:22, Tomasz M. wrote:
W mini2440 instalowali emdebiana dzieląc kartę SD na dwie partycje -
kernel na vfat, właściwy system na ext3. Takie rozwiązanie odpada?

Idealne rozwiązanie jest takie:

a) system szuka fs na mmc
b) system szuka fs na usb
c) system szuka fs na sieci
d) robi to w/g ustalonej kolejności
e) fs to ext2,vfat,ntfs

Kernel w pliku. Parametry dla jajka w pliku.
A nie wchodzi w grę 2 stage boot?

Dorzucasz jakiś DATA FLASH po SPI (16Mb kosztuje piątaka) a na nim
minimalny kernel. Bootloader w takiej sytuacji ładuje tego okrojonego
kernela a on już "cywilizowanie" może załadować z dowolnego uradzenia i
kexec.

--
Pozdrawiam
Michoo

ZeNek
Guest

Tue Sep 18, 2012 11:27 pm   



W dniu 2012-09-18 20:25, Sebastian Biały pisze:
Quote:
On 2012-09-18 09:22, Tomasz M. wrote:
W mini2440 instalowali emdebiana dzieląc kartę SD na dwie partycje -
kernel na vfat, właściwy system na ext3. Takie rozwiązanie odpada?

Idealne rozwiązanie jest takie:

a) system szuka fs na mmc
b) system szuka fs na usb
c) system szuka fs na sieci
d) robi to w/g ustalonej kolejności
e) fs to ext2,vfat,ntfs

Kernel w pliku. Parametry dla jajka w pliku.

W ten sposób (toretycznie) nigdy nie bedę musiał flashować urzadzenia,
bo zawsze mogę zapodać nowy kernel i bootparams z zewnatrz. A docelowo
przy urządzeniu nie będzie osoby mającej pojęcie o czymkolwiek poza
wsadzaniem karty w dziurkę.

Tymczasem uboot dysponuje wszystkim tylko nie tym co potrzebuje :/


Ej facet a ty w ogole poczytales manuala do uboota ? Chyba raczej w
bardzo wielkim skrocie !

http://www.denx.de/wiki/U-Boot/Documentation

Goto page 1, 2  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Minimalistyczna implementacja ext3/4 do bootloadera na ARM do odczytu jednego pliku

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map