[BusyBox] argc corruption Invoking busybox

David Laurin dave at veriwave.com
Fri Jan 3 12:02:04 UTC 2003


I am trying to boot ARM Linux version 2.4.18-rmk7 and busybox-0.60.5.
I'm using uClibc-0.9.16 to build busybox.
 
Symptom is a crash dump upon entry into busybox init_main. 
 
After some investigating I discovered that the vale of argc, which
should have been 1, is 0x498d0.
 
 I have verified that argc is correct in linux exec.c
search_binary_handler. But upon entry into busybox.c main argc is
corrupted.
 
Any insight into what is going on would be very helpful.
 
Included is a boot dump with some added debug messages.
 
Thank you
Dave
 
 
Boot dump:
 Uncompressing Linux........................ done, booting the kernel.
Linux version 2.4.18-rmk7-pxa3 (dave at ion1) (gcc version
3.1-xscale-020523) #323 Thu Jan 2 19:34:54 PST 2003
 
CPU: Intel XScale-PXA250 revision 3
 
Machine: NMI PXA Reference Board
 
Warning: bad configuration page, trying to continue
 
On node 0 totalpages: 8192
 
zone(0): 8192 pages.
 
zone(1): 0 pages.
 
zone(2): 0 pages.
 
Calibrating delay loop... 99.12 BogoMIPS
 
done calibrate_delay in start_kernel 
 
Memory: 32MB = 32MB total
 
Memory: 27300KB available (589K code, 154K data, 40K init)
 
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
Starting kswapd
 
Serial driver version 5.05c (2001-07-08) with no serial options enabled
 
ttyS00 at 0x0000 (irq = 13) is a PXA UART
 
ttyS01 at 0x0000 (irq = 14) is a PXA UART
 
ttyS02 at 0x0000 (irq = 12) is a PXA UART
 
block: 64 slots per queue, batch=16
 
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
 
Probing PXA NMI flash at physical address 0x00000000
 
Using buffer write method
 
Using static partition definition
 
Creating 6 MTD partitions on "PXA250 Flash":
 
0x00000000-0x00080000 : "veriwave"
mtd: Giving out device 0 to veriwave
 
0x00080000-0x000c0000 : "fpgadata"
 
mtd: Giving out device 1 to fpgadata
 
0x000c0000-0x00100000 : "param"
 
mtd: Giving out device 2 to param
 
0x00100000-0x00280000 : "kernel"
 
mtd: Giving out device 3 to kernel
 
0x00280000-0x00580000 : "ramdisk"
 
mtd: Giving out device 4 to ramdisk
 
0x00580000-0x01580000 : "root"
 
mtd: Giving out device 5 to root
 
mtdblock_open
 
ok
 
mtdblock: read on "root" at 0x0, size 0x1000
 
RAMDISK: Compressed image found at block 0
mtdblock: read on "root" at 0x1000, size 0x1000
 
                  .
                  .
                  .
mtdblock: read on "root" at 0x71000, size 0x1000
 
mtdblock_release
 
ok
 
VFS: Mounted root (ext2 filesystem) readonly.
 
Freeing init memory: 40K
 
bprm->argc = 0x00000001
 
regs->uregs[0] = 0x00000001
 
regs->uregs[1] = 0xBFFFFFDD
 
regs->uregs[2] = 0x00000000
 
regs->uregs[3] = 0x00000000
 
regs->uregs[4] = 0x00000000
 
regs->uregs[5] = 0x00000000
 
regs->uregs[6] = 0x00000000
 
regs->uregs[7] = 0x00000000
 
regs->uregs[8] = 0x00000000
 
regs->uregs[9] = 0x00000000
 
regs->uregs[10] = 0x00000000
 
regs->uregs[11] = 0x00000000
 
regs->uregs[12] = 0x00000000
 
regs->uregs[13] = 0xBFFFFF40
 
regs->uregs[14] = 0x00000000
 
regs->uregs[15] = 0x00008154
 
regs->uregs[16] = 0x00000010
 
regs->uregs[17] = 0x00000000
 
regs->uregs[18] = 0x00000000
 
init: entering busybox main
 
init: the applet name is init
 
init: the value of argv[0] = bfffffdd
 
init: the value of argc = 498d0
 
init: the value of argv[1] = 0
 
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.busybox.net/pipermail/busybox/attachments/20030103/7f84c69b/attachment-0001.htm 


More information about the busybox mailing list