LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1435|回复: 0

busybox编译动态链接文件系统问题

[复制链接]
发表于 2007-10-7 10:34:35 | 显示全部楼层 |阅读模式
一开始使用busybox1.2.2,使用静态链接时编译没有问题,linux内核可以在上面运行,后来把静态链接选项改成动态链接,程序编译出错:
  CC util-linux/umount.o
  AR cru util-linux/util-linux.a
  LINK busybox_unstripped
/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/bin/ld: Warning: gc-sections option ignored
/mnt/d_win/embeded-dev/app/busybox/libbusybox.so: undefined reference to `query_module'
collect2: ld returned 1 exit status
make[1]: *** [busybox_unstripped] 错误 1
make: *** [_all] 错误 2
不知道是不是那个warning,网上有人说这个可能是因为编译器版本太低的问题,可是arm-linux-gcc3.4.1差不多是最高版了吧,我以前曾经成功编译出动态链接的文件系统,可是这次无论我怎么改都出现上面的那个问题。
决定使用最新版本的busybox试试看,下载busybox1.7.1,编译通过,生成文件系统,可是在开发板内核启动时出问题:
XMU-255> go a0008000
## Starting application at 0xA0008000 ...
Uncompressing Linux.............................................................Linux version 2.6.20.1-xmu-skyeye (root@localhost.localdomain) (gcc version 3.47CPU: XScale-PXA255 [69052d06] revision 6 (ARMv5TE), cr=0000397f
Machine: XMU XScale Development Platform
Warning: bad configuration page, trying to continue
Memory policy: ECC disabled, Data cache writeback
Memory clock: 99.53MHz (*27)
Run Mode clock: 398.13MHz (*4)
Turbo Mode clock: 398.13MHz (*1.0, inactive)
CPU0: D VIVT undefined 5 cache
CPU0: I cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
CPU0: D cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
Built 1 zonelists.  Total pages: 16256
Kernel command line: root=/dev/nfs nfsroot=192.168.2.122:/mnt/d_win/embeded-devMPID hash table entries: 256 (order: 8, 1024 bytes)
start_kernel(): bug: interrupts were enabled early
Console: colour dummy device 80x30
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 62464KB available (1772K code, 293K data, 376K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 2048 bind 1024)
TCP reno registered
NetWinder Floating Point Emulator V0.97 (double precision)
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
Console: switching to colour frame buffer device 80x30
pxa2xx-uart.0: ttyS0 at MMIO 0x40100000 (irq = 15) is a FFUART
pxa2xx-uart.1: ttyS1 at MMIO 0x40200000 (irq = 14) is a BTUART
pxa2xx-uart.2: ttyS2 at MMIO 0x40700000 (irq = 13) is a STUART
pxa2xx-uart.3: ttyS3 at MMIO 0x41600000 (irq = 0) is a HWUART
RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
Cirrus Logic CS8900A driver for Linux (V0.02)
eth0: CS8900A rev E detected
mice: PS/2 mouse device common for all mice
TCP cubic registered
NET: Registered protocol family 1
XScale DSP coprocessor detected.
IP-Config: Complete:
      device=eth0, addr=192.168.2.24, mask=255.255.255.0, gw=192.168.2.122,
     host=192.168.2.24, domain=, nis-domain=(none),
     bootserver=192.168.2.122, rootserver=192.168.2.122, rootpath=
Looking up port of RPC 100003/2 on 192.168.2.122
Looking up port of RPC 100005/1 on 192.168.2.122
VFS: Mounted root (nfs filesystem).
Freeing init memory: 376K
Kernel panic - not syncing: No init found.  Try passing init= option to kernel.
为什么会No init found呢?我明明有linuxrc在根目录的,结构跟原来可以启动的文件系统也是一样的,请各位兄弟指教。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表