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

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
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