andyzhai 发表于 2005-4-18 10:02:57

好文,定!!

三点一四 发表于 2006-4-11 12:41:04


usr/initramfs_data.S: Assembler messages:
usr/initramfs_data.S:29: Error: Unknown pseudo-op:`.incbin'
make: *** Error 1
make: *** Error 2
make: Leaving directory `/home/uClinux-dist/linux-2.6.x'
make: *** Error 1
#


我按上面步骤编译出现这个问题是怎么回事啊?

cryy 发表于 2006-4-30 21:33:42

晕,我按照这个说明,做了很多次都不成功。最后放弃了。错误出现得五花八门。楼上的那个错误也出现过。

viton_xuan 发表于 2006-5-3 10:04:37

按文章所说,顺利的编译成功,但是运行时mount 不上rootfs,先后用skyeye, 文章所说的打2个patch编译的arm-elf-gdb.以及编译工具链自代的arm-elf-gdb,都不成功.
(gdb) target sim
Loaded ROM boot.rom to 0x01300000
Loaded ROM boot.rom to 0x01400000
Loaded ROM boot.rom to 0x04000000
Loaded ROM boot.rom to 0x01300000
Loaded ROM boot.rom to 0x01400000
Loaded ROM boot.rom to 0x04000000
Connected to the simulator.
(gdb) load
Loading section .init, size 0xc000 vma 0x1000000
Loading section .text, size 0xcdfa8 vma 0x100c000
Loading section __ex_table, size 0x718 vma 0x10d9fb0
Loading section __param, size 0x14 vma 0x10da6c8
Loading section .data, size 0x9614 vma 0x10dc000
Start address 0x1000000
Transfer rate: 7464768 bits/sec.
(gdb) run
Starting program: /root/uClinux-dist/linux-2.6.x/linux
Linux version 2.6.9-hsc0 (root@server) (gcc version 3.4.0) #11 Wed May 3 00:06:38 CST 2006
CPU: Atmel-AT91M40xxx revision 0 (ARMvundefined/unknown)
Machine: ATMEL EB01
Built 1 zonelists
Kernel command line: root=/dev/ram0 initrd=0x01300000,800K keepinitrd
PID hash table entries: 32 (order: 5, 512 bytes)
Dentry cache hash table entries: 1024 (order: 0, 4096 bytes)
Inode-cache hash table entries: 512 (order: 0, 4096 bytes)
Memory: 4MB = 4MB total
Memory: 2252KB available (823K code, 100K data, 48K init)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
checking if image is initramfs...it isn't (ungzip failed); looks like an initrd
Linux NoNET1.0 for Linux 2.6
Atmel USART driver version 0.99
ttyS0 at 0xfffd0000 (irq = 2) is a builtin Atmel APB USART
ttyS1 at 0xfffcc000 (irq = 3) is a builtin Atmel APB USART
RAMDISK driver initialized: 16 RAM disks of 2048K size 1024 blocksize
loop: loaded (max 8 devices)
RAMDISK: romfs filesystem found at block 0
RAMDISK: Loading 661KiB into ram disk... done.
VFS: Mounted root (romfs filesystem) readonly.
VFS: Cannot open root device "ram0" 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)

viton_xuan 发表于 2006-5-3 10:07:50

漏贴了关键的报错
workqueue.c

skyeye下面的报错
# skyeye linux-2.6.x/linux
***********************************************************************
****                                                               ****
****   SkyEyeSimulator Ver 0.9.8 withGDB/Insight 5.3 Interface ****
****                                                               ****
***********************************************************************
GNU gdb 5.3
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.Type "show warranty" for details.
This SkyEye was configured as "--host=i686-pc-linux-gnu --target=arm-elf"...
(SkyEye) target sim
cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
mach info: name at91, mach_init addr 0x8160cbc
SKYEYE: use arm7100 mmu ops
Loaded ROM   ./boot.rom
Connected to the simulator.
(SkyEye) load
Loading section .init, size 0xc000 vma 0x1000000
Loading section .text, size 0xcdfa8 vma 0x100c000
Loading section __ex_table, size 0x718 vma 0x10d9fb0
Loading section __param, size 0x14 vma 0x10da6c8
Loading section .data, size 0x9614 vma 0x10dc000
Start address 0x1000000
Transfer rate: 7464768 bits in <1 sec.
(SkyEye) run
Starting program: /root/uClinux-dist/linux-2.6.x/linux
Linux version 2.6.9-hsc0 (root@server) (gcc version 3.4.0) #11 Wed May 3 00:06:38 CST 2006
CPU: Atmel-AT91M40xxx revision 0 (ARMvundefined/unknown)
Machine: ATMEL EB01
Built 1 zonelists
Kernel command line: root=/dev/ram0 initrd=0x01300000,800K keepinitrd
PID hash table entries: 32 (order: 5, 512 bytes)
Dentry cache hash table entries: 1024 (order: 0, 4096 bytes)
Inode-cache hash table entries: 512 (order: 0, 4096 bytes)
Memory: 4MB = 4MB total
Memory: 2252KB available (823K code, 100K data, 48K init)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
checking if image is initramfs... it is
Linux NoNET1.0 for Linux 2.6
Atmel USART driver version 0.99
ttyS0 at 0xfffd0000 (irq = 2) is a builtin Atmel APB USART
ttyS1 at 0xfffcc000 (irq = 3) is a builtin Atmel APB USART
RAMDISK driver initialized: 16 RAM disks of 2048K size 1024 blocksize
loop: loaded (max 8 devices)
VFS: Cannot open root device "ram0" 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)
<2>kernel BUG at kernel/workqueue.c:104!

cuizeshi 发表于 2006-8-19 12:17:19

内核好难编译啊

黑风 发表于 2006-9-5 08:41:06

我也遇到的同样的问题,请大虾指点迷经
使用S3C44B0X的CPU.
        uClinux-dist-20041215.tar.gz
        linux-2.6.9-uc0.patch
        linux-2.6.9-uc0-hsc0.patch
        xm44b0-2.6-1215-20051005.patch

使用U-BOOT1.14 通过网络下载到SDRAM后启动。

启动信息如下:

Starting kernel ...

Linux version 2.6.9-hsc0 ([email protected]) (gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from http://www.snapgear.com/)) #84 Mon Sep 4 19:34:33 CST 2006
id=72
id1=ea00
CPU: Samsung-S3C44B0x revision 0 (ARMv4T)
Machine: S3C44B0X Development Board
Built 1 zonelists
Kernel command line: root=/dev/ram0 initrd=0x0c1377d8,149k keepinitrd
PID hash table entries: 256 (order: 8, 4096 bytes)
drivers/serial/serial_s3c44b0.c:617 __s3c44b0_console_init
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 32MB = 32MB total
Memory: 30912KB available (1306K code, 122K data, 56K init)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
checking if image is initramfs...it isn't (ungzip failed); looks like an initrd
NET: Registered protocol family 16
init_module
Samsung S3C44B0 Rtl8019as driver version 0.1 (2002-02-20) <[email protected]>
init
eth0: 12:34:56:78:90:ab
get_stats
ttyS0 at I/O 0x1d00000 (irq = 3) is a Samsung S3C44B0X Internal UART
ttyS1 at I/O 0x1d04000 (irq = 2) is a Samsung S3C44B0X Internal UART
RAMDISK driver initialized: 16 RAM disks of 1024K size 1024 blocksize
loop: loaded (max 8 devices)
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 2048)
NET: Registered protocol family 1
NET: Registered protocol family 17
VFS: Cannot open root device "ram0" 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)

//////////////////////////////////////////////////////////////
出错函数在init/do_mount.c 文件内,接触linux时间较短,请大虾们指点方向即可。先谢过了!
页: 1 [2]
查看完整版本: 【转贴】uClinux2.6入门