Bad Magic Number

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
rolandm
Einsteiger
Einsteiger
Beiträge: 106
Registriert: Dienstag 17. August 2004, 18:29

Bad Magic Number

Beitrag von rolandm »

Hallo,

ich hatte diese Frage schon im Newbie-Forum gestellt, weil si zu einem Thread dort paßte, aber vielleicht ist sie hier (oder in Images, Developers, ...?) besser aufgehoben.

Ich versuche seit Tagen erfolglos, eine yadd zum laufen zu bekommen (naja, cdk hab ich vorgestern als head ausgecheckt, war vielleicht ein Fehler...).

Make all lief am Ende fehlerfrei durch, u-boot und kernel-cdk wurden erzeugt. Ein Bootversuch als yadd endete mit der genannten Fehlermeldung (bad magic number).

Ich hab dann mal https://www.remote-admin.info/yadd/yadd ... 258.tar.gz gezogen und ebenfalls versucht zu booten, hier scheiterte es am modprobe tuxbox (bootlog folgt). Die anschließend gestartete shell konnte es aber problemlos laden.

Das u-boot aus dieser yadd mit meinem System führte ebenfalls zu bad magic number. Den Kernel hab ich spaßeshalber mal durch den aus der yadd vom 2.1. ersetzt, der wurde dann geladen, konnte aber meine Module nicht laden (falsche Version).

Dann hab ich gesehen, daß u-boot als config-cdk konfiguriert war. Durch config-yadd ersetzt, neu übersetzt, wollte er kernel-yadd (statt -cdk) laden, den ich aber nicht erzeugen konnte (keine rule). Umbenennen der kernel-cdk führte zum gleichen ergebnis (auch nach Neuübersetzen des Kernels).

Was mich auch gewundert hat ist, daß er versucht, nach "00100000" zu springen, im Makefile bei mkimage aber steht "-a 00000000 -e 00000000"
und beim Übersetzen "Load Address: 0x00000000 Entry Point: 00000000 " ausgegeben wird.
Als ich das mal testweise auf 00100000 geändert hab, hat sich aber auch nix geändert.

Eine geeignete ppcboot habe ich leider nicht gefunden und kann ich mit dem aktuellen cdk wphl auch nicht erzeugen, oder?

Ach ja, das ganze geschieht unter cygwin (der Rechner muß leider unter XP laufen :<).

Vielleicht als Motivation: Ich wollte eigentlich nur an tuxtxt basteln - TOP-Text mit Übersicht hab ich schon eingebaut (hoffe, daß es auch tut, kann es ja leider nicht ausprobieren), eine Hotlist wollte ich auch noch dazubasteln.

Kann mir jemand helfen?

Bootlogs:

========================================
Mein System: (2 Boots von Images mit den beiden genannten Einsprungadressen)

debug: DDF: Calibrating delay loop... debug: DDF: 66.76 BogoMIPS
debug: BMon V1.3 mID 03
debug: feID 00 enxID 03
debug: fpID 52 dsID 01-d6.51.3f.08.00.00-e4
debug: HWrev 61 FPrev 0.23
debug: B/Ex/Fl(MB) 32/00/08
WATCHDOG reset enabled
dbox2:root> debug:
BOOTP/TFTP bootstrap loader (v0.3)
debug:
debug: Transmitting BOOTP request via broadcast
debug: Got BOOTP reply from Server IP 192.168.0.2, My IP 192.168.0.10
debug: Sending TFTP-request for file D/tool/common/cygwin/home/uidf2852/dbox2/tf
tpboot/u-boot
will verify ELF image, start= 0x800000, size= 139036
verify sig: 263
boot net: boot file has no valid signature
Branching to 0x40000


U-Boot 1.1.1 (TuxBox) (Aug 18 2004 - 23:22:34)

CPU: PPC823ZTnnB2 at 66 MHz: 2 kB I-Cache 1 kB D-Cache
Board: DBOX2, Sagem, BMon V1.3
Watchdog enabled
I2C: ready
DRAM: 32 MB
FLASH: 8 MB
FB: ready
LCD: ready
In: serial
Out: serial
Err: serial
Net: SCC ETHERNET
BOOTP broadcast 1
Using SCC ETHERNET device
TFTP from server 192.168.0.2; our IP address is 192.168.0.10
Filename 'D/tool/common/cygwin/home/uidf2852/dbox2/tftpboot/u-boot'.
Load address: 0x100000
Loading: Using SCC ETHERNET device
TFTP from server 192.168.0.2; our IP address is 192.168.0.10
Filename 'logo-lcd'.
Load address: 0x100000
Loading: ##
done
Bytes transferred = 7680 (1e00 hex)
BOOTP broadcast 1
Using SCC ETHERNET device
TFTP from server 192.168.0.2; our IP address is 192.168.0.10
Filename 'D/tool/common/cygwin/home/uidf2852/dbox2/tftpboot/u-boot'.
Load address: 0x100000
Loading: Using SCC ETHERNET device
TFTP from server 192.168.0.2; our IP address is 192.168.0.10
Filename 'logo-fb'.
Load address: 0x100000
Loading: ##############
done
Bytes transferred = 70956 (1152c hex)

Options:
1: Console on null
2: Console on ttyS0
3: Console on framebuffer
Select option (1-3), other keys to stop autoboot: 0
Using SCC ETHERNET device
TFTP from server 192.168.0.2; our IP address is 192.168.0.10
Filename 'kernel-yadd'.
Load address: 0x100000
Loading: #################################################################
#################################################################
##############
done
Bytes transferred = 734934 (b36d6 hex)
...............................................................
Un-Protected 63 sectors
## Booting image at 00100000 ...
Bad Magic Number
=>
debug: DDF: Calibrating delay loop... debug: DDF: 66.76 BogoMIPS
debug: BMon V1.3 mID 03
debug: feID 00 enxID 03
debug: fpID 52 dsID 01-d6.51.3f.08.00.00-e4
debug: HWrev 61 FPrev 0.23
debug: B/Ex/Fl(MB) 32/00/08
WATCHDOG reset enabled
dbox2:root> debug:
BOOTP/TFTP bootstrap loader (v0.3)
debug:
debug: Transmitting BOOTP request via broadcast
debug: Got BOOTP reply from Server IP 192.168.0.2, My IP 192.168.0.10
debug: Sending TFTP-request for file D/tool/common/cygwin/home/uidf2852/dbox2/tf
tpboot/u-boot
will verify ELF image, start= 0x800000, size= 139036
verify sig: 263
boot net: boot file has no valid signature
Branching to 0x40000


U-Boot 1.1.1 (TuxBox) (Aug 18 2004 - 23:22:34)

CPU: PPC823ZTnnB2 at 66 MHz: 2 kB I-Cache 1 kB D-Cache
Board: DBOX2, Sagem, BMon V1.3
Watchdog enabled
I2C: ready
DRAM: 32 MB
FLASH: 8 MB
FB: ready
LCD: ready
In: serial
Out: serial
Err: serial
Net: SCC ETHERNET
BOOTP broadcast 1
Using SCC ETHERNET device
TFTP from server 192.168.0.2; our IP address is 192.168.0.10
Filename 'D/tool/common/cygwin/home/uidf2852/dbox2/tftpboot/u-boot'.
Load address: 0x100000
Loading: Using SCC ETHERNET device
TFTP from server 192.168.0.2; our IP address is 192.168.0.10
Filename 'logo-lcd'.
Load address: 0x100000
Loading: ##
done
Bytes transferred = 7680 (1e00 hex)
BOOTP broadcast 1
Using SCC ETHERNET device
TFTP from server 192.168.0.2; our IP address is 192.168.0.10
Filename 'D/tool/common/cygwin/home/uidf2852/dbox2/tftpboot/u-boot'.
Load address: 0x100000
Loading: Using SCC ETHERNET device
TFTP from server 192.168.0.2; our IP address is 192.168.0.10
Filename 'logo-fb'.
Load address: 0x100000
Loading: ##############
done
Bytes transferred = 70956 (1152c hex)

Options:
1: Console on null
2: Console on ttyS0
3: Console on framebuffer
Select option (1-3), other keys to stop autoboot: 0
Using SCC ETHERNET device
TFTP from server 192.168.0.2; our IP address is 192.168.0.10
Filename 'kernel-yadd'.
Load address: 0x100000
Loading: #################################################################
#################################################################
##############
done
Bytes transferred = 734936 (b36d8 hex)
...............................................................
Un-Protected 63 sectors
## Booting image at 00100000 ...
Bad Magic Number
=>

========================================
yadd vom 2.1.04:

=r"debug: DDF: Calibrating delay loop... debug: DDF: 66.76 BogoMIPS
debug: BMon V1.3 mID 03
debug: feID 00 enxID 03
debug: fpID 52 dsID 01-d6.51.3f.08.00.00-e4
debug: HWrev 61 FPrev 0.23
debug: B/Ex/Fl(MB) 32/00/08
WATCHDOG reset enabled
dbox2:root> debug:
BOOTP/TFTP bootstrap loader (v0.3)
debug:
debug: Transmitting BOOTP request via broadcast
debug: Got BOOTP reply from Server IP 192.168.0.2, My IP 192.168.0.10
debug: Sending TFTP-request for file D/tool/common/cygwin/home/uidf2852/yadd0401
02/tftpboot/u-boot
will verify ELF image, start= 0x800000, size= 145940
verify sig: 262
boot net: boot file has no valid signature
Branching to 0x40000


U-Boot 0.4.0 (TuxBox) (Jan 2 2004 - 11:37:01)

CPU: PPC823ZTnnB2 at 66 MHz: 2 kB I-Cache 1 kB D-Cache
Board: DBOX2, Sagem, BMon V1.3
Watchdog enabled
I2C: ready
DRAM: 32 MB
FLASH: 8 MB
Scanning JFFS2 FS: . done.
find_inode failed for name=u-boot.conf
load: Failed to find inode
FB: ready
LCD: ready
In: serial
Out: serial
Err: serial
Net: SCC ETHERNET
find_inode failed for name=logo-lcd
load: Failed to find inode
ready - can't find logo in flash - try network
BOOTP broadcast 1
TFTP from server 192.168.0.2; our IP address is 192.168.0.10
Filename 'logo-lcd'.
Load address: 0x100000
Loading: ##
done
Bytes transferred = 7680 (1e00 hex)
find_inode failed for name=logo-fb
load: Failed to find inode
can't find logo in flash - try network
BOOTP broadcast 1
TFTP from server 192.168.0.2; our IP address is 192.168.0.10
Filename 'logo-fb'.
Load address: 0x100000
Loading: ##############
done
Bytes transferred = 70956 (1152c hex)

Options:
1: Bootmeldungen auf Seriell (ttyS0) - standard
2: Bootmeldungen auf TV (fb0)
3: Keine Bootmeldungen
4: Flashen via YADD
- Flashimage umbennenn in dboxflash.img
- in das Verzeichniss tftpboot kopieren
- beim Bootvorgang die Taste 4 drcken.
HAVE FUN...

...special u-boot for DboxII Boot-Manager
V0.2 patched by Homar 2003


Select option (1-4), other keys to stop autoboot: 0
TFTP from server 192.168.0.2; our IP address is 192.168.0.10
Filename 'kernel-cdk'.
Load address: 0x100000
Loading: #################################################################
#################################################################
############
done
Bytes transferred = 725487 (b11ef hex)
..............................................................
Un-Protected 62 sectors
## Booting image at 00100000 ...
Image Name: dbox2
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 725423 Bytes = 708.4 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
Linux version 2.4.22-dbox2 (Sinnlos98@athlon-mp) (gcc version 3.2.3) #4 Fri Jan
2 11:37:57 2004
On node 0 totalpages: 8192
zone(0): 8192 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/nfs rw nfsroot=192.168.0.2:/D/tool/common/cygwin/
home/uidf2852/yadd040102/cdkroot/ ip=192.168.0.10:192.168.0.2:::::off console=tt
yS0
Decrementer Frequency = 247500000/60
mpc8xx-wdt: active wdt found (SWTC: 0xFFFF, SWP: 0x1)
mpc8xx-wdt: keep-alive trigger activated (PITC: 0x2000)
Console: colour dummy device 80x25
Calibrating delay loop... 65.74 BogoMIPS
Memory: 30628k available (1236k kernel code, 436k data, 68k 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
devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
JFFS2 version 2.1. (C) 2001, 2002 Red Hat, Inc., designed by Axis Communications
AB.
i2c-core.o: i2c core module
CPM UART driver version 0.03
ttyS00 at 0x0280 is a SMC
ttyS01 at 0x0380 is a SMC
pty: 256 Unix98 ptys configured
eth0: CPM ENET Version 0.2 on SCC2, 00:50:9c:3d:ec:20
D-Box 2 flash driver (size->0x800000 mem->0x10000000)
CFI: Found no D-Box 2 flash memory device at location zero
D-Box 2 flash memory: Found 1 x16 devices at 0x0 in 16-bit mode
Intel/Sharp Extended Query Table at 0x0031
cfi_cmdset_0001: Erase suspend on write enabled
Using buffer write method
Creating 6 MTD partitions on "D-Box 2 flash memory":
0x00000000-0x00020000 : "BR bootloader"
0x00020000-0x00040000 : "flfs (ppcboot)"
0x00040000-0x00720000 : "root (cramfs)"
0x00720000-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, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 4096)
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
device=eth0, addr=192.168.0.10, mask=255.255.255.0, gw=255.255.255.255,
host=192.168.0.10, domain=, nis-domain=(none),
bootserver=192.168.0.2, rootserver=192.168.0.2, rootpath=
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Looking up port of RPC 100003/2 on 192.168.0.2
Looking up port of RPC 100005/1 on 192.168.0.2
VFS: Mounted root (nfs filesystem).
Mounted devfs on /dev
Freeing unused kernel memory: 68k init
init started: BusyBox v1.00-pre3 (2004.01.02-10:40+0000) multi-cmodprobe: Can't
locate module tuxbox
/proc/bus/tuxbox/vendor: No such file or directory
/proc/bus/tuxbox/vendor: No such file or directory
/proc/bus/tuxbox/model: No such file or directory
/proc/bus/tuxbox/model: No such file or directory
/proc/bus/tuxbox/submodel: No such file or directory
/proc/bus/tuxbox/submodel: No such file or directory
Detected STB:
Vendor: Unknown
Model: Unknown Unknown
ln: /dev/dvb/adapter0/demux1: No such file or directory
ln: /dev/dvb/adapter0/dvr1: No such file or directory
Loading /share/keymaps/i386/qwertz/de-latin1.kmap.gz
loadkeys: /share/keymaps/i386/qwertz/de-latin1.kmap.gz:8: cannot open include fi
le qwertz-layout

Please press Enter to activate this console. LCD (/dev/dbox/lcd0): No such file
or directory
/dev/input/event0: No such file or directory



BusyBox v1.00-pre3 (2004.01.02-10:40+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

-sh: can't access tty; job control turned off
#
Npq
Senior Member
Beiträge: 1339
Registriert: Donnerstag 24. April 2003, 12:12

Beitrag von Npq »

Also der Unterschied zwischen der yadd- und der cdk-config ist wenn ich mich richtig erinnere hauptsächlich, daß der u-boot bei der yadd-config so gepatcht wird, daß er noch mit dem Bootmanager als NFS-Server zusammenarbeitet. Und daß der Name des Kernel-Image eben anders ist.

Die Loadadresse ist schon korrekt so (an Adresse 100000 wird ja nur der komprimierte Kernel geladen, der entpackte und startfähige Kernel wandert an Adresse 0).

Bad Magic Number kommt dann wenn der Header vom Kernel-Image nicht der richtige ist, entweder weil es gar nicht der Kernel war oder weil die Kernelversion nicht mit dem richtigen mkimage konfiguriert wurde.

Daß der Kernel von Homar die Module nicht finden kann ist auch klar, die sind ja nicht für den 2.4.22-dbox2-Kernel kompiliert worden, daher gibt es das entsprechende Modul-Verzeichnis schon gar nicht.

Funktioniert denn das Booten einer "echten" YADD?
rolandm
Einsteiger
Einsteiger
Beiträge: 106
Registriert: Dienstag 17. August 2004, 18:29

Beitrag von rolandm »

Woher bekomme ich eine "echte" YADD? Ich dachte, das wäre eine?

Vielleicht wäre mir ja schon mit einer funktionierenden ppcboot geholfen...

Oder ich erspare mir und Euch eine Menge Ärger und mache das ganze doch über eine Knoppix.
Npq
Senior Member
Beiträge: 1339
Registriert: Donnerstag 24. April 2003, 12:12

Beitrag von Npq »

Hmm, ich hatte dich falsch verstanden, ich dachte, du hättest den Log gemacht als du nur den Kernel aus der YADD genommen hattest. Aber so wie ich das sehe wurde ja beim Log der richtige cdkroot gemountet, dann hätte er eigentlich aber die Module finden müssen.

Komisch, schlecht wäre Knoppix übrigens nicht, weil Cygwin nicht mehr supported wird (einfach weil es momentan keinen aktiven Entwickler gibt, der es benutzt).

ppcboot war der Vorläufer vom u-boot, ist also offiziell veraltet, daher wird der nicht mehr benutzt, sollte auch kein Unterschied machen wenn das richtige mkimage benutzt wird, was aber automatisch passiert wenn man den u-boot baut weil es dann ins entsprechende Verzeichnis kopiert wird.

Irgendwie weiß ich gerade auch nicht wo's da hakt. :(
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

Hallo
Ich hatte mal ein Problem mit einem "zu großen Kernel".
Gelöst hatte ich es, indem u-boot den kernel per tftpboot nicht nach 0x100000 sondern nach z.b 0x120000 geladen hatte.
Warum genau hatte ich nicht untersucht.
Vielleicht hilfts

Houdini