initrd ramdisk u-boot & kernel
-
- Tuxboxer
- Beiträge: 2473
- Registriert: Dienstag 8. Oktober 2002, 20:06
initrd ramdisk u-boot & kernel
Hallo,
ich möchte einen Linux-Kernel auf der dBox mit einer init-Ramdisk laden. Leider habe ich keine Ahnung mit welche Parameter dazu im uboot gesetzt werden müssen, an welche Speicherstelle ich das Image schreiben soll, und wie ich den Kernel dann aufrufen muss. Der Hintergrund ist: ich möchte auf NFS verzichten.
Weis jemand wie man das konkret macht?
Gruß gurgel
ich möchte einen Linux-Kernel auf der dBox mit einer init-Ramdisk laden. Leider habe ich keine Ahnung mit welche Parameter dazu im uboot gesetzt werden müssen, an welche Speicherstelle ich das Image schreiben soll, und wie ich den Kernel dann aufrufen muss. Der Hintergrund ist: ich möchte auf NFS verzichten.
Weis jemand wie man das konkret macht?
Gruß gurgel
Test
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
-
- Tuxboxer
- Beiträge: 2473
- Registriert: Dienstag 8. Oktober 2002, 20:06
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
-
- Tuxboxer
- Beiträge: 2473
- Registriert: Dienstag 8. Oktober 2002, 20:06
-
- Tuxboxer
- Beiträge: 2473
- Registriert: Dienstag 8. Oktober 2002, 20:06
so, etwas weiter bin ich:
Nur jetzt läd wohl mein Initskript nicht?? Irgendwelche Ideen?
Code: Alles auswählen
=> tftp 0x100000 "kernel"
Trying SCC ETHERNET
Using SCC ETHERNET device
TFTP from server 192.168.0.1; our IP address is 192.168.0.202
Filename 'kernel'.
Load address: 0x100000
Loading: #################################################################
#################################################################
###################
done
Bytes transferred = 761532 (b9ebc hex)
=> tftp 0x400000 "u-initrd"
Trying SCC ETHERNET
Using SCC ETHERNET device
TFTP from server 192.168.0.1; our IP address is 192.168.0.202
Filename 'u-initrd'.
Load address: 0x400000
Loading: #################################################################
#################################################################
##
done
Bytes transferred = 673587 (a4733 hex)
=> setenv bootargs root=/dev/ram rw
=> bootm 0x100000 0x400000
## Booting image at 00100000 ...
Image Name: LinuxKernel
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 761468 Bytes = 743.6 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
## Current stack ends at 0x01FAEAB0 => set upper limit to 0x00800000
## cmdline at 0x007FFF00 ... 0x007FFF10
bd address = 0x01FAEFC4
memstart = 0x00000000
memsize = 0x02000000
flashstart = 0x10000000
flashsize = 0x00800000
flashoffset = 0x00000000
sramstart = 0x00000000
sramsize = 0x00000000
immr_base = 0xFF000000
bootflags = 0x00000001
intfreq = 67.200 MHz
busfreq = 67.200 MHz
ethaddr = 00:50:9C:17:61:30
IP addr = 192.168.0.202
baudrate = 9600 bps
Not skipping initrd
## Loading RAMDisk Image at 00400000 ...
Image Name: Test Ramdisk Image
Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
Data Size: 673523 Bytes = 657.7 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## initrd at 0x00400040 ... 0x004A4732 (len=673523=0xA46F3)
Loading Ramdisk to 01f09000, end 01fad6f3 ... OK
## Transferring control to Linux (at address 00000000) ...
Test
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
-
- Tuxboxer
- Beiträge: 2473
- Registriert: Dienstag 8. Oktober 2002, 20:06
ja, das weis ich inwzischen auch. Aber ich habe schon das nächste Problemchen:
Meine initrd hat ext2 und nicht fat, wie sage ich dem Kernel dass das ext2 ist?
Code: Alles auswählen
=> setenv bootargs root=/dev/ram0 rw console=ttyS0
=> tftp 0x100000 "kernel"
Trying SCC ETHERNET
Using SCC ETHERNET device
TFTP from server 192.168.0.1; our IP address is 192.168.0.202
Filename 'kernel'.
Load address: 0x100000
Loading: #################################################################
#################################################################
###################
done
Bytes transferred = 762497 (ba281 hex)
=> tftp 0x400000 "u-initrd"
Trying SCC ETHERNET
Using SCC ETHERNET device
TFTP from server 192.168.0.1; our IP address is 192.168.0.202
Filename 'u-initrd'.
Load address: 0x400000
Loading: #################################################################
#################################################################
##
done
Bytes transferred = 673587 (a4733 hex)
=> bootm 0x100000 0x400000
## Booting image at 00100000 ...
Image Name: LinuxKernel
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 762433 Bytes = 744.6 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
## Current stack ends at 0x01FAEAB0 => set upper limit to 0x00800000
## cmdline at 0x007FFF00 ... 0x007FFF1F
bd address = 0x01FAEFC4
memstart = 0x00000000
memsize = 0x02000000
flashstart = 0x10000000
flashsize = 0x00800000
flashoffset = 0x00000000
sramstart = 0x00000000
sramsize = 0x00000000
immr_base = 0xFF000000
bootflags = 0x00000001
intfreq = 67.200 MHz
busfreq = 67.200 MHz
ethaddr = 00:50:9C:17:61:30
IP addr = 192.168.0.202
baudrate = 9600 bps
Not skipping initrd
## Loading RAMDisk Image at 00400000 ...
Image Name: Test Ramdisk Image
Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
Data Size: 673523 Bytes = 657.7 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## initrd at 0x00400040 ... 0x004A4732 (len=673523=0xA46F3)
Loading Ramdisk to 01f09000, end 01fad6f3 ... OK
## Transferring control to Linux (at address 00000000) ...
Linux version 2.4.34-dbox2 (tux@localhost) (gcc version 3.4.4) #13 Sa Jul 7 03:1
6:44 CEST 2007
On node 0 totalpages: 8192
zone(0): 8192 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/ram0 rw console=ttyS0
Decrementer Frequency = 252000000/60
m8xx_wdt: active wdt found (SWTC: 0xFFFF, SWP: 0x1)
m8xx_wdt: keep-alive trigger installed (PITC: 0x12C0)
Console: colour dummy device 80x25
Calibrating delay loop... 66.96 BogoMIPS
Memory: 30636k available (1304k kernel code, 368k data, 60k init, 0k highmem)
Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
Journalled Block Device driver loaded
devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
squashfs: version 3.0 (2006/03/15) Phillip Lougher
i2c-core.o: i2c core module version 2.6.1 (20010830)
i2c-dev.o: i2c /dev entries driver module version 2.6.1 (20010830)
CPM UART driver version 0.04
ttyS0 at 0x0280 is on SMC1 using BRGttyS1 at 0x0380 is on SMC2 using BRG2
pty: 256 Unix98 ptys configured
eth0: CPM ENET Version 0.2.dbox2 on SCC2, 00:50:9c:17:61:30
RAMDISK driver initialized: 16 RAM disks of 3072K size 1024 blocksize
loop: loaded (max 8 devices)
D-Box 2 flash driver (size->0x800000 mem->0x10000000)
D-Box 2 flash memory: Found 2 x16 devices at 0x0 in 32-bit bank
Intel/Sharp Extended Query Table at 0x0035
cfi_cmdset_0001: Erase suspend on write enabled
Creating 6 MTD partitions on "D-Box 2 flash memory":
0x00000000-0x00020000 : "BR bootloader"
0x00020000-0x00040000 : "FLFS (U-Boot)"
0x00040000-0x006a0000 : "root (Cramfs)"
0x006a0000-0x00800000 : "var (JFFS2)"
0x00020000-0x00800000 : "Flash without bootloader"
0x00000000-0x00800000 : "Complete Flash"
Linux video capture interface: v1.00
mice: PS/2 mouse device common for all mice
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 4096)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
FAT: bogus logical sector size 10837
FAT: bogus logical sector size 10837
Kernel panic: VFS: Unable to mount root fs on 01:00
<0>Rebooting in 180 seconds..
Test
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
-
- Tuxboxer
- Beiträge: 2473
- Registriert: Dienstag 8. Oktober 2002, 20:06
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Ok, mehrere Sachen, die ich aus Documentation/initrd.txt extrahiert habe.
- versuche mal. nur "bootm 0x100000" und gib dem kernel mit "initrd=0x400000" oder "initrd=0x01f09000" an der Kommandozeile die initrd-location mit.
- eigentlich wollte ich noch vorschlagen, "root=/dev/rd/0" zu probieren, aber da....scheint das bei dir schon zu stimmen:er scheint im device nur keine initrd zu finden...
- versuche mal. nur "bootm 0x100000" und gib dem kernel mit "initrd=0x400000" oder "initrd=0x01f09000" an der Kommandozeile die initrd-location mit.
- eigentlich wollte ich noch vorschlagen, "root=/dev/rd/0" zu probieren, aber da....
Code: Alles auswählen
e5:~ # ls -l /dev/ram0
brw-rw---- 1 root disk 1, 0 Sep 23 2003 /dev/ram0
Code: Alles auswählen
Kernel panic: VFS: Unable to mount root fs on 01:00
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
-
- Tuxboxer
- Beiträge: 2473
- Registriert: Dienstag 8. Oktober 2002, 20:06
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
-
- Tuxboxer
- Beiträge: 2473
- Registriert: Dienstag 8. Oktober 2002, 20:06
Probleme sind alle gelöst. Obige waren durch einen fehlerhaften Kernel begründet.
Die ReleaseCandidate1 des neuen Flashasstent 3.0 kann auf meiner Seite heruntergeladen werden:
http://www.dboxservice-hallenberg.de/freedownloads.php
Die ReleaseCandidate1 des neuen Flashasstent 3.0 kann auf meiner Seite heruntergeladen werden:
http://www.dboxservice-hallenberg.de/freedownloads.php
Test
-
- Tuxboxer
- Beiträge: 4332
- Registriert: Dienstag 7. Mai 2002, 16:04
hattest Du eigentlich den rein Seriellen Weg weiterverfolgt? Dann würde ja ein Swissknife rauskommen ;-)
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
-
- Tuxboxer
- Beiträge: 4332
- Registriert: Dienstag 7. Mai 2002, 16:04
@Gurgel:
ich finde den offiziellen Thread zum neuen IFA nicht mehr. Ich habe da einen Bug festgestellt in Verbindung mit Seriell<->USB Adaptern. Beim flashen öffnen sich zig Fehlermeldungen "I/O..." übereinander solange bis sich das Tool weghängt. Ist COM13 ok für das Tool? Oder liegt es vllt daran?
ich finde den offiziellen Thread zum neuen IFA nicht mehr. Ich habe da einen Bug festgestellt in Verbindung mit Seriell<->USB Adaptern. Beim flashen öffnen sich zig Fehlermeldungen "I/O..." übereinander solange bis sich das Tool weghängt. Ist COM13 ok für das Tool? Oder liegt es vllt daran?
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?