| ° Forum ° Odpowiedz ° Rejestracja ° Szukaj ° | |
| Giełda samochodowa ° Numizmatyka - monety ° Poznań serwis Mercerdes ° Internetowa Auto giełda ° |
| Forum / Linux / ARM+uBoot+Debian |
| Autor | Wiadomość |
| mRon
|
Posted: 28 Wrz 2008 00:39:15 Hej, Powiedzcie prosze jak poradzic sobie z takim problemem. Mam urzadzenie oparte na ARM z dostepem przez serial. Chcialbym zainstalowac na nim Debiana. W necie znalazlem takie cos: 1. mkimage -A arm -O linux -T kernel -C none -a 0x200000 -e 0x200000 -n "Linux" -d vmlinuz uImage 2. mkimage -A arm -O linux -T ramdisk -C gzip -n "netboot image" -a 0x300000 -e 0x300000 -d initrd.gz uImage.initrd //initrd.gz to obraz do instalacji Debiana z netboota 3. tftpboot 0x2000000 uImage tftpboot 0x3000000 uImageinitrd bootm 0x2000000 0x3000000 Mam zgodnie z powyzszym przygotowany kernel(uImage) oraz initrd(uImage). Oba obrazy sa na /dev/sda7 w / . No i teraz zatrzymuje ladowanie uBoota i wydaje komendy: setenv bootargs console=ttyS0,115200 root=/dev/sda7 rw setenv boot_disk;setenv snap_disk;setenv disk_disk;setenv bootcmd //czyszcze firmowe zmienne ide reset;ext2load ide 1:7 0x2000000 /uImage;ext2load ide 1:7 0x3000000 /uImage.initrd;bootm 0x2000000 0x3000000 No i w zaden sposob nie dochodzi do rozpoczecia instalacji. Znaczy obrazy sie wczytuja. Ale zamiast instalacji, laduje sie domyslny system, ktory jest na sda7. Co trzeba zrobic, aby to w koncu ruszylo? Ja juz nie mam pomyslow... Pozdrawiam, mRon |
| W.P.
|
Posted: 28 Wrz 2008 20:40:24 <ciach No i w zaden sposob nie dochodzi do rozpoczecia instalacji. Znaczy
obrazy sie wczytuja. Ale zamiast instalacji, laduje sie domyslny system, ktory jest na sda7. Co trzeba zrobic, aby to w koncu ruszylo? Ja juz nie mam pomyslow... Podmienić "to co jest na sda7"? W.P. Pozdrawiam,
mRon |
| mRon
|
Posted: 28 Wrz 2008 20:48:59 [...] Co trzeba zrobic, aby to w koncu ruszylo? Ja juz nie mam pomyslow...
Podmienić "to co jest na sda7"? Tak tez juz probowalem. Znaczy rozpakowalem initrd.gz dla netinstall i umiescilem zawartosc na sda7. Kernel sie wczytuje, zatrzymuje sie na "kjournald starting. Commit interval 5 seconds". Pozdrawiam, mRon |
| W.P.
|
Posted: 29 Wrz 2008 09:53:40 Użytkownik mRon napisał: [...] Co trzeba zrobic, aby to w koncu ruszylo? Ja juz nie mam pomyslow...
Podmienić "to co jest na sda7"? Tak tez juz probowalem. Znaczy rozpakowalem initrd.gz dla netinstall i umiescilem zawartosc na sda7. Kernel sie wczytuje, zatrzymuje sie na "kjournald starting. Commit interval 5 seconds". Czyli tu jest ext3 a w liniach startowych jest ext2(!)load. Może to? (loader nie "umie" ext3?). W.P. PS, co to za zabawka? Pozdrawiam, mRon |
| mRon
|
Posted: 29 Wrz 2008 16:47:10 [...] Czyli tu jest ext3 a w liniach startowych jest ext2(!)load. Może to? (loader nie "umie" ext3?). To jest ext3, ale generalnie nie stanowi to dla niego problemu, bowiem z poziomu uBoota moge wylistowac zawartosc tej partycji. Co wiecej moge z niej wczytac bezposrednio obraz do pamieci(wczytanie obrazu netinstallacji nie dziala - znaczy dzieje sie to co na poczatku napisalem). Z tego co widze, to zawieszenie nastepuje na etapie, w ktorym zaczyna dzialac instalator. Mysle wiec, ze problemu z dostepem do partycji nie ma. Problem jest gdzies na poczatku skryptu przejmujacego instalacje. Dodam, ze mam wpisy w inittab dotyczace obslugi konsoli przez serial. Generalnie, pomijam ze to jest sda7, czy np. sda6. Mam dostep do linii komend uBoota, a wiec moge dowolnie wybrac, co i skad sie wczyta. Tak jak pisze, wydaje mi sie, ze problem dotyczy wczesnej fazy instalatora Debiana. Nie wiem czemu albo zawiesza sie na "kjournald starting. Commit interval 5 seconds", albo dlaczego uruchomienie, po zaladowaniu do pamieci kernela oraz obrazu netinstallatora, konczy sie normalnym startem kernela i uruchomienie tego co jest w root=/dev/sd.. , bez wlaczenia instalacji. W.P. PS, co to za zabawka? NAS na Marvellu Orionie. Pozdrawiam, mRon |
| W.P.
|
Posted: 29 Wrz 2008 17:04:08 Użytkownik mRon napisał: [...] Czyli tu jest ext3 a w liniach startowych jest ext2(!)load. Może to? (loader nie "umie" ext3?). To jest ext3, ale generalnie nie stanowi to dla niego problemu, bowiem z poziomu uBoota moge wylistowac zawartosc tej partycji. Co wiecej moge z niej wczytac bezposrednio obraz do pamieci(wczytanie obrazu netinstallacji nie dziala - znaczy dzieje sie to co na poczatku napisalem). Z tego co widze, to zawieszenie nastepuje na etapie, w ktorym zaczyna dzialac instalator. Mysle wiec, ze problemu z dostepem do partycji nie ma. Problem jest gdzies na poczatku skryptu przejmujacego instalacje. Dodam, ze mam wpisy w inittab dotyczace obslugi konsoli przez serial. Generalnie, pomijam ze to jest sda7, czy np. sda6. Mam dostep do linii komend uBoota, a wiec moge dowolnie wybrac, co i skad sie wczyta. Tak jak pisze, wydaje mi sie, ze problem dotyczy wczesnej fazy instalatora Debiana. Nie wiem czemu albo zawiesza sie na "kjournald starting. Commit interval 5 seconds", albo dlaczego uruchomienie, po zaladowaniu do pamieci kernela oraz obrazu netinstallatora, konczy sie normalnym startem kernela i uruchomienie tego co jest w root=/dev/sd.. , bez wlaczenia instalacji. 1). Może jednak jest problemem. Pamiętaj, że ext3 to ext2 + journal. Czyli "czymś" do ext2 odczytasz. Spróbuj z ext2 (choćby dla pewności). 2). Sprawdź w źródłach: a). skąd jest ten "kjournal" - kernel czy już init. b). jaki jest NASTĘPNY krok po tym komunikacie (tj, co powinno ruszyć a nie rusza - i nie daje nawet komunikatu). W.P. |
| Krzysztof Halasa
|
Posted: 30 Wrz 2008 20:43:22 1. mkimage -A arm -O linux -T kernel -C none -a 0x200000 -e 0x200000
-n "Linux" -d vmlinuz uImage 2. mkimage -A arm -O linux -T ramdisk -C gzip -n "netboot image" -a 0x300000 -e 0x300000 -d initrd.gz uImage.initrd //initrd.gz to obraz do instalacji Debiana z netboota Ja tam u-boota nie znam... ten uImage to tez jest kernel do instalacji Debiana? 3. tftpboot 0x2000000 uImage
tftpboot 0x3000000 uImageinitrd bootm 0x2000000 0x3000000 Mam zgodnie z powyzszym przygotowany kernel(uImage) oraz initrd(uImage). Oba obrazy sa na /dev/sda7 w / . No i teraz zatrzymuje ladowanie uBoota i wydaje komendy: setenv bootargs console=ttyS0,115200 root=/dev/sda7 rw root=cokolwiek jest pewnie zbedne, kernel i tak nie powinien zapewne przejsc do tego miejsca, ale nie wiem co tam jest w tym initrd. setenv boot_disk;setenv snap_disk;setenv disk_disk;setenv bootcmd
//czyszcze firmowe zmienne ide reset;ext2load ide 1:7 0x2000000 /uImage;ext2load ide 1:7 0x3000000 /uImage.initrd;bootm 0x2000000 0x3000000 No i w zaden sposob nie dochodzi do rozpoczecia instalacji. Znaczy obrazy sie wczytuja. Ale zamiast instalacji, laduje sie domyslny system, ktory jest na sda7. Co trzeba zrobic, aby to w koncu ruszylo? Ja juz nie mam pomyslow... Dolaczyc log ze startu kernela na poczatek. |
| Krzysztof Halasa
|
Posted: 30 Wrz 2008 20:45:26 Generalnie, pomijam ze to jest sda7, czy np. sda6. Mam dostep do linii
komend uBoota, a wiec moge dowolnie wybrac, co i skad sie wczyta. Tak jak pisze, wydaje mi sie, ze problem dotyczy wczesnej fazy instalatora Debiana. Watpie, w pewnym sensie. Nie wiem czemu albo zawiesza sie na "kjournald
starting. Commit interval 5 seconds", Watpie by tak bylo. albo dlaczego uruchomienie, po
zaladowaniu do pamieci kernela oraz obrazu netinstallatora, konczy sie normalnym startem kernela i uruchomienie tego co jest w root=/dev/sd.. , bez wlaczenia instalacji. Bo zapewne initramfs nie jest prawidlowo rozpakowany, albo nie zawiera odpowiedniego np. programu (w stylu /init) itp. |
| Krzysztof Halasa
|
Posted: 30 Wrz 2008 20:55:41 1). Może jednak jest problemem. Pamiętaj, że ext3 to ext2 +
journal. Czyli "czymś" do ext2 odczytasz. Spróbuj z ext2 (choćby dla pewności). 2). Sprawdź w źródłach: a). skąd jest ten "kjournal" - kernel czy już init. b). jaki jest NASTĘPNY krok po tym komunikacie (tj, co powinno ruszyć a nie rusza - i nie daje nawet komunikatu). Co tu jest do sprawdzania - widac na pierwszy rzut oka, ze zamontowal sie root fs, i ze userspace nie wstaje. kjournald to jest akurat proces (watek) kernela, odpalany przy montowaniu. Teoretycznie jest jakas szansa na to, ze system "zawiesil sie" podczas montowania root fs, ale czy jak wiem czy ona jest wyzsza niz w totolotku? |
| W.P.
|
Posted: 30 Wrz 2008 22:27:59 Użytkownik Krzysztof Halasa napisał: 1). Może jednak jest problemem. Pamiętaj, że ext3 to ext2 +
journal. Czyli "czymś" do ext2 odczytasz. Spróbuj z ext2 (choćby dla pewności). 2). Sprawdź w źródłach: a). skąd jest ten "kjournal" - kernel czy już init. b). jaki jest NASTĘPNY krok po tym komunikacie (tj, co powinno ruszyć a nie rusza - i nie daje nawet komunikatu). Co tu jest do sprawdzania - widac na pierwszy rzut oka, ze zamontowal sie root fs, i ze userspace nie wstaje. kjournald to jest akurat proces (watek) kernela, odpalany przy montowaniu. <ciach Właśnie. Czyli trzeba by sprawdzić, czy sterowanie "wyszło" z kernela do userspace czy nie. O tym pisałem, żeby sprawdzić w źródłach. Bo pytanie jest, czy nie "wstał" następny etap kernela, czy to już w user. (A nie ma komunikatu "init starting"???). W.P. |
| Krzysztof Halasa
|
Posted: 1 Paź 2008 20:57:27 Właśnie. Czyli trzeba by sprawdzić, czy sterowanie "wyszło" z kernela
do userspace czy nie. O tym pisałem, żeby sprawdzić w źródłach. Bo pytanie jest, czy nie "wstał" następny etap kernela, czy to już w user. (A nie ma komunikatu "init starting"???). Przeciez na 99% nie wstal init albo co tam zamiast niego mialo byc, moze np. jakas biblioteka nie taka. Trzeba spojrzec wczesniej w dmesg, i sprawdzic co jest w tym initramfs. |
| mRon
|
Posted: 2 Paź 2008 01:28:15 1. mkimage -A arm -O linux -T kernel -C none -a 0x200000 -e 0x200000
-n "Linux" -d vmlinuz uImage 2. mkimage -A arm -O linux -T ramdisk -C gzip -n "netboot image" -a 0x300000 -e 0x300000 -d initrd.gz uImage.initrd //initrd.gz to obraz do instalacji Debiana z netboota Ja tam u-boota nie znam... ten uImage to tez jest kernel do instalacji Debiana? Nie za bardzo rozumiem. W formie uImage mam dwa pliki: kernel i przerobiony powyzsza komenda initrd.gz z debianowego ftpa. Zgodnie z instrukcja: http://wiki.debian.org/DebianInstaller/Arm/OtherPlatforms . Niestety uruchomienie uBoota _ponizsza_ komenda, nie uruchamia instalatora. Tak jakby to co sie wczytalo pod adresem 0x3000000 w ogole nie bylo uwzglednianie. Stad pomysl, aby przez tftp zaladowac tylko kernel, a na dysku rozpakowac zawartosc tego initrd.gz i dla parametru root= podac partycje na ktorej ten initrd.gz zostal rozpakowany. 3. tftpboot 0x2000000 uImage
tftpboot 0x3000000 uImageinitrd bootm 0x2000000 0x3000000 Mam zgodnie z powyzszym przygotowany kernel(uImage) oraz initrd(uImage). Oba obrazy sa na /dev/sda7 w / . No i teraz zatrzymuje ladowanie uBoota i wydaje komendy: setenv bootargs console=ttyS0,115200 root=/dev/sda7 rw root=cokolwiek jest pewnie zbedne, kernel i tak nie powinien zapewne przejsc do tego miejsca, ale nie wiem co tam jest w tym initrd. Stosujac te druga metode (z initrd na dysku) postepuje w ten sposob (mam w tym urzadzeniu dwa dyski): na sda1 umiescilem obraz z Debianem zrobiony pod jakas inna maszyne z ARM - generalnie dziala. Natomiast na sdb1 umiescilem rozpakowana zawartosc tego initrda. uBootowi podaje takie parametry: setenv bootargs console=ttyS0,115200 root=/dev/sdb1 rw a potem laduje z tftpa obraz kernela: setenv serverip 192.168.0.105; setenv ipaddr 192.168.0.80;tftp 400000 sda6 //sda6 to w tym wypadku nazwa pliku z kernelem w formie obrazu uImage by w koncu bootowac: bootm 0x400000 Efekt: [...] NET: Registered protocol family 1 NET: Registered protocol family 17 NET: Registered protocol family 5 Loading I2C based RTC driver device interface. Found TWSI adapter with id: 0 md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. VFS: Mounted root (ext2 filesystem) readonly. Freeing init memory: 96K FATAL: kernel toKernel panic - not syncing: Attempted to kill init! o old BTW: zgodnie z sugestia W.P. na sdb1 jest ext2. Pozdrawiam, mRon |
| mRon
|
Posted: 2 Paź 2008 11:23:29 Generalnie, pomijam ze to jest sda7, czy np. sda6. Mam dostep do linii
komend uBoota, a wiec moge dowolnie wybrac, co i skad sie wczyta. Tak jak pisze, wydaje mi sie, ze problem dotyczy wczesnej fazy instalatora Debiana. Watpie, w pewnym sensie. Watpisz, w ktora czesc:)? [...] Bo zapewne initramfs nie jest prawidlowo rozpakowany, albo nie zawiera odpowiedniego np. programu (w stylu /init) itp. Tu: http://pastebin.com/m1ab4710f jest zawartosc /inita. Originalna z debianowego initrd.gz. Pozdrawiam, mRon |
| mRon
|
Posted: 2 Paź 2008 11:42:58 Właśnie. Czyli trzeba by sprawdzić, czy sterowanie "wyszło" z kernela do userspace czy nie. O tym pisałem, żeby sprawdzić w źródłach. Bo pytanie jest, czy nie "wstał" następny etap kernela, czy to już w user. (A nie ma komunikatu "init starting"???). Racja. Nawet teraz i ja to widze:). Jesli probuje tej pierwszej metody (czyli kernel i initrd.gz zaladowany przez tftp, bez zadnego recznego rozpakowywania go na dysku), to wtedy konczy sie tak: [...] NET: Registered protocol family 1 NET: Registered protocol family 17 NET: Registered protocol family 5 Loading I2C based RTC driver device interface. Found TWSI adapter with id: 0 md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. VFS: Cannot open root device "<NULL" or unknown-block(0,0) Please append a correct "root=" boot option Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) Taki jest efekt dla ustawien: setenv bootargs console=ttyS0,115200 Gdy zamiast powyzszego wstawie: setenv bootargs console=ttyS0,115200 root=/dev/sda1 rw to wtedy uruchomi sie zawartosc /dev/sda1, a program instalacyjny w ogole sie nie zaladuje. Tak jakby byl w calosci pominiety. Pozdrawiam, mRon |
| Krzysztof Halasa
|
Posted: 2 Paź 2008 20:07:04 Nie za bardzo rozumiem. W formie uImage mam dwa pliki: kernel i
przerobiony powyzsza komenda initrd.gz z debianowego ftpa. I ten kernel takze jest "instalacyjny od Debiana"? Stad pomysl, aby przez tftp zaladowac
tylko kernel, a na dysku rozpakowac zawartosc tego initrd.gz i dla parametru root= podac partycje na ktorej ten initrd.gz zostal rozpakowany. Tyle ze on moze wtedy zglupiec. Ale nie musi. Efekt:
[...] NET: Registered protocol family 1 Ale co wczesniej? W szczegolnosci, czy pisal cos o initramfs/initrd? VFS: Mounted root (ext2 filesystem) readonly.
Czyli nie zobaczyl /init z initrd. |
| Krzysztof Halasa
|
Posted: 2 Paź 2008 20:11:42 Generalnie, pomijam ze to jest sda7, czy np. sda6. Mam dostep do linii
komend uBoota, a wiec moge dowolnie wybrac, co i skad sie wczyta. Tak jak pisze, wydaje mi sie, ze problem dotyczy wczesnej fazy instalatora Debiana. Watpie, w pewnym sensie. Watpisz, w ktora czesc:)? W ostatnia, ale w pewnym sensie. Bo zapewne initramfs nie jest prawidlowo rozpakowany, albo nie zawiera
odpowiedniego np. programu (w stylu /init) itp. Tu: http://pastebin.com/m1ab4710f jest zawartosc /inita. Originalna z debianowego initrd.gz. Wiec moze ma zle prawa dostepu (marne szanse), moze /bin/sh jest niewlasciwy (aczkolwiek przyznaje ze nie pamietam czy wtedy nie zakonczy sie to innym komunikatem, w rodzaju "init terminated"), moze /bin/sh odwoluje sie do bibliotek, ktorych nie ma albo sa niewlasciwe, moze procesor nie obsluguje czegos tam, co powinien robic, moze kernel powinien byc nieco inaczej skonfigurowany lub skompilowany. Kluczowe informacje sa w samym initrd oraz w komunikatach kernel towarzyszacych rozpakowaniu initrd (initramfs). |
| W.P.
|
Posted: 3 Paź 2008 07:37:22 Użytkownik mRon napisał: Właśnie. Czyli trzeba by sprawdzić, czy sterowanie "wyszło" z kernela do userspace czy nie. O tym pisałem, żeby sprawdzić w źródłach. Bo pytanie jest, czy nie "wstał" następny etap kernela, czy to już w user. (A nie ma komunikatu "init starting"???). Racja. Nawet teraz i ja to widze:). Jesli probuje tej pierwszej metody (czyli kernel i initrd.gz zaladowany przez tftp, bez zadnego recznego rozpakowywania go na dysku), to wtedy konczy sie tak: [...] NET: Registered protocol family 1 NET: Registered protocol family 17 NET: Registered protocol family 5 Loading I2C based RTC driver device interface. Found TWSI adapter with id: 0 md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. VFS: Cannot open root device "<NULL" or unknown-block(0,0) Please append a correct "root=" boot option Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) Taki jest efekt dla ustawien: setenv bootargs console=ttyS0,115200 Gdy zamiast powyzszego wstawie: setenv bootargs console=ttyS0,115200 root=/dev/sda1 rw to wtedy uruchomi sie zawartosc /dev/sda1, a program instalacyjny w ogole sie nie zaladuje. Tak jakby byl w calosci pominiety. Pozdrawiam, mRon To w końcu sda1, sda7, czy literówka? W.P. |
| W.P.
|
Posted: 3 Paź 2008 07:43:21 UĹźytkownik mRon napisaĹ: 1. mkimage -A arm -O linux -T kernel -C none -a 0x200000 -e 0x200000 -n "Linux" -d vmlinuz uImage 2. mkimage -A arm -O linux -T ramdisk -C gzip -n "netboot image" -a 0x300000 -e 0x300000 -d initrd.gz uImage.initrd //initrd.gz to obraz do instalacji Debiana z netboota Ja tam u-boota nie znam... ten uImage to tez jest kernel do instalacji Debiana? Nie za bardzo rozumiem. W formie uImage mam dwa pliki: kernel i przerobiony powyzsza komenda initrd.gz z debianowego ftpa. Zgodnie z instrukcja: http://wiki.debian.org/DebianInstaller/Arm/OtherPlatforms . Niestety uruchomienie uBoota _ponizsza_ komenda, nie uruchamia instalatora. Tak jakby to co sie wczytalo pod adresem 0x3000000 w ogole nie bylo uwzglednianie. Stad pomysl, aby przez tftp zaladowac tylko kernel, a na dysku rozpakowac zawartosc tego initrd.gz i dla parametru root= podac partycje na ktorej ten initrd.gz zostal rozpakowany. 3. tftpboot 0x2000000 uImage tftpboot 0x3000000 uImageinitrd bootm 0x2000000 0x3000000 Mam zgodnie z powyzszym przygotowany kernel(uImage) oraz initrd(uImage). Oba obrazy sa na /dev/sda7 w / . No i teraz zatrzymuje ladowanie uBoota i wydaje komendy: setenv bootargs console=ttyS0,115200 root=/dev/sda7 rw root=cokolwiek jest pewnie zbedne, kernel i tak nie powinien zapewne przejsc do tego miejsca, ale nie wiem co tam jest w tym initrd. Stosujac te druga metode (z initrd na dysku) postepuje w ten sposob (mam w tym urzadzeniu dwa dyski): na sda1 umiescilem obraz z Debianem zrobiony pod jakas inna maszyne z ARM - generalnie dziala. Natomiast na sdb1 umiescilem rozpakowana zawartosc tego initrda. uBootowi podaje takie parametry: setenv bootargs console=ttyS0,115200 root=/dev/sdb1 rw a potem laduje z tftpa obraz kernela: setenv serverip 192.168.0.105; setenv ipaddr 192.168.0.80;tftp 400000 sda6 //sda6 to w tym wypadku nazwa pliku z kernelem w formie obrazu uImage by w koncu bootowac: bootm 0x400000 Efekt: [...] NET: Registered protocol family 1 NET: Registered protocol family 17 NET: Registered protocol family 5 Loading I2C based RTC driver device interface. Found TWSI adapter with id: 0 md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. VFS: Mounted root (ext2 filesystem) readonly. Freeing init memory: 96K FATAL: kernel toKernel panic - not syncing: Attempted to kill init!
o old MoĹźe sprĂłbuj "wrzuciÄ" ten komunikat na jakÄ Ĺ anglojÄzycznÄ listÄ? MoĹźe tam ktoĹ z tym siÄ spotkaĹ? Chyba jakiĹ postÄp ;) BTW, CO siÄ zamontowaĹo na /? (ktĂłra partycja i z czym?)/ moĹźesz to przeĹÄ czaÄ? (BEZ initrd, "goĹy" kernel i rozpakowany /). W.P. |
| W.P.
|
Posted: 3 Paź 2008 09:02:04 UĹźytkownik W.P. napisaĹ: UĹźytkownik mRon napisaĹ:
1. mkimage -A arm -O linux -T kernel -C none -a 0x200000 -e 0x200000 -n "Linux" -d vmlinuz uImage 2. mkimage -A arm -O linux -T ramdisk -C gzip -n "netboot image" -a 0x300000 -e 0x300000 -d initrd.gz uImage.initrd //initrd.gz to obraz do instalacji Debiana z netboota Ja tam u-boota nie znam... ten uImage to tez jest kernel do instalacji Debiana? Nie za bardzo rozumiem. W formie uImage mam dwa pliki: kernel i przerobiony powyzsza komenda initrd.gz z debianowego ftpa. Zgodnie z instrukcja: http://wiki.debian.org/DebianInstaller/Arm/OtherPlatforms . Niestety uruchomienie uBoota _ponizsza_ komenda, nie uruchamia instalatora. Tak jakby to co sie wczytalo pod adresem 0x3000000 w ogole nie bylo uwzglednianie. Stad pomysl, aby przez tftp zaladowac tylko kernel, a na dysku rozpakowac zawartosc tego initrd.gz i dla parametru root= podac partycje na ktorej ten initrd.gz zostal rozpakowany. 3. tftpboot 0x2000000 uImage tftpboot 0x3000000 uImageinitrd bootm 0x2000000 0x3000000 Mam zgodnie z powyzszym przygotowany kernel(uImage) oraz initrd(uImage). Oba obrazy sa na /dev/sda7 w / . No i teraz zatrzymuje ladowanie uBoota i wydaje komendy: setenv bootargs console=ttyS0,115200 root=/dev/sda7 rw root=cokolwiek jest pewnie zbedne, kernel i tak nie powinien zapewne przejsc do tego miejsca, ale nie wiem co tam jest w tym initrd. Stosujac te druga metode (z initrd na dysku) postepuje w ten sposob (mam w tym urzadzeniu dwa dyski): na sda1 umiescilem obraz z Debianem zrobiony pod jakas inna maszyne z ARM - generalnie dziala. Natomiast na sdb1 umiescilem rozpakowana zawartosc tego initrda. uBootowi podaje takie parametry: setenv bootargs console=ttyS0,115200 root=/dev/sdb1 rw a potem laduje z tftpa obraz kernela: setenv serverip 192.168.0.105; setenv ipaddr 192.168.0.80;tftp 400000 sda6 //sda6 to w tym wypadku nazwa pliku z kernelem w formie obrazu uImage by w koncu bootowac: bootm 0x400000 Efekt: [...] NET: Registered protocol family 1 NET: Registered protocol family 17 NET: Registered protocol family 5 Loading I2C based RTC driver device interface. Found TWSI adapter with id: 0 md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. VFS: Mounted root (ext2 filesystem) readonly. Freeing init memory: 96K FATAL: kernel toKernel panic - not syncing: Attempted to kill init!
o old MoĹźe sprĂłbuj "wrzuciÄ" ten komunikat na jakÄ Ĺ anglojÄzycznÄ listÄ? MoĹźe tam ktoĹ z tym siÄ spotkaĹ? Chyba jakiĹ postÄp ;) BTW, CO siÄ zamontowaĹo na /? (ktĂłra partycja i z czym?)/ moĹźesz to przeĹÄ czaÄ? (BEZ initrd, "goĹy" kernel i rozpakowany /). W.P. A takie gĹupie pytanie: ta "instalka" Debiana na pewno jest na ARM? (nie na i386)?? W.P. |
| mRon
|
Posted: 4 Paź 2008 23:38:31 Nie za bardzo rozumiem. W formie uImage mam dwa pliki: kernel i
przerobiony powyzsza komenda initrd.gz z debianowego ftpa. I ten kernel takze jest "instalacyjny od Debiana"? Jest - versatile, ale nawet po przerobieniu na uImage, zawieszal sie na: "Starting kernel...". Stad pomysl, aby przez tftp zaladowac
tylko kernel, a na dysku rozpakowac zawartosc tego initrd.gz i dla parametru root= podac partycje na ktorej ten initrd.gz zostal rozpakowany. Tyle ze on moze wtedy zglupiec. Ale nie musi. W koncu tak zrobilem. Zadzialo :). Okazalo sie, ze problemem byl za stary kernel. Niestety pelna obluga tego urzadzenia wejdzie dopiero w 2.6.28 . Niemniej jednak obecny jego stan pozwala na instalacje Debiana i w miare przyjemna obsluge urzadzenia :). Efekt:
[...] NET: Registered protocol family 1 Ale co wczesniej? W szczegolnosci, czy pisal cos o initramfs/initrd? VFS: Mounted root (ext2 filesystem) readonly.
Czyli nie zobaczyl /init z initrd. W miedzyczasie, po wgraniu nowego kernela doszlo do podmiany: sda na sdb i na odwrot. Dlatego nie dzialalo i nie wczytywalo rozpakowanej zawartosci initrd. Ech...:P Pozdrawiam, mRon |
| mRon
|
Posted: 4 Paź 2008 23:40:20 Użytkownik mRon napisał:
[...] To w końcu sda1, sda7, czy literówka? W.P. Pomiedzy kolejnymi postawi wyczyscilem sda. Stad to co bylo sda7, stalo sie sda1. Na szczescie udalo mi sie w koncu to uruchomic! :) Pozdrawiam, mRon |
| mRon
|
Posted: 4 Paź 2008 23:43:43 [...] A takie gĹupie pytanie: ta "instalka" Debiana na pewno jest na ARM? (nie na i386)?? Hehe :).Probowalem i z ARM i ARMEL. W koncu sie udalo i dziala na ARMELu. Dzieki serdeczne za rady i porady! Zawsze lepiej czlowiekowi gdy wie, ze moze liczyc na pomoc na grupie :), szczegolnie gdy sam musi walczyc z czym takim jak ARM. Pozdrawiam, mRon |
| Krzysztof Halasa
|
Posted: 5 Paź 2008 14:56:16 Hehe :).Probowalem i z ARM i ARMEL. W koncu sie udalo i dziala na ARMELu.
ARM = domyslnie ARMEL = ARM endian = little. Niektore tylko platformy uzywaja domyslnie ARMEB = ARM big-endian. Sam procesor, typowo, moze pracowac w obu trybach. |
| W.P.
|
Posted: 7 Paź 2008 11:00:11 Użytkownik mRon napisał: Użytkownik mRon napisał:
[...] To w końcu sda1, sda7, czy literówka? W.P. Pomiedzy kolejnymi postawi wyczyscilem sda. Stad to co bylo sda7, stalo sie sda1. Na szczescie udalo mi sie w koncu to uruchomic! :) Pozdrawiam, mRon Pochwal się jak zrobisz coś ciekawego na tym pudełku ;) W.P. |
|
Czas ładowania strony (sek.): 1.056 users miniBB.net © 2001-2008 | Polityka Prywatności e-giełdy + opisy gg + kumy fubi ° oko na maroko ° nimda °
|