giełda, akcje, inwestycje
 ° Forum ° Odpowiedz ° Rejestracja ° Szukaj °
Giełda samochodowa ° Numizmatyka - monety ° Poznań serwis Mercerdes ° Internetowa Auto giełda °

ARM+uBoot+Debian

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.




Twoja wypowiedź

Bold Style  Italic Style  Underlined Style  Image Link  Insert URL  Email Link  Wyłącz BB code


Zanim wyślesz jakąś wiadomość z polskimi znakami, upewnij się czy kodowanie znaków w twojej przeglądarce to ISO-8859-2
 » Login  » Hasło 
 


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 °

Online: Odwiedzający - 1
+ - 0
Najwięcej odwiedzających: 77 [6 Paź 2008 01:40:40]
Odwiedzający - 77 / + - 0
katalog Pióra kasy fiskalne krzesła alveo
  najnowsze technologie|| źyczenia|| pozycjonowanie|| hipoterapia|| Pompy wtryskowe|| Jak słońce - Hillar Małgorzata|| imprezy integracyjne|| branze

  • Podkręcony GeForce 9800 GTX+
  • Sparkle dodaje do swojej oferty podkręconą kartę graficzną GeForce 9800 GTX+, wyposażoną w procesor graficzny G92b, który pracuje z częstotliwością 761 MHz.
  • 20- i 22-calowe desktopy Eee TOP w planach
  • Asus i Quanta pracują już nad komputerami typu all-in-one, należącymi do rodziny Eee TOP. Modele z 20- i 22-calowymi ekranami LCD pojawią się na rynku w pierwszej połowie 2009 roku.
  • Stylowy monitor LCD od AOC
  • AOC F19 to nowy 18,5-calowy monitor LCD, oferujący elegancki design, rozdzielczość 1366 x 768 pikseli, czas reakcji 5 ms oraz współczynnik dynamicznego kontrastu 10 000:1.
  • Komputer barebone z wbudowanym wyświetlaczem
  • D10 to nazwa nowego desktopa typu barebone, który obsługuje procesory z podstawką LGA775, do 4 GB pamięci DDR2 oraz dwa dyski twarde z interfejsem SATA 3.0 Gbps.
  • MMS-y (wreszcie) w iPhonie?
  • Firma Mobispine twierdzi, że dzięki jej staraniom iPhone otrzyma wreszcie prawdziwą aplikację do wysyłania MMS-ów z każdego miejsca na Ziemi.