QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: chyyuu

【转贴】uClinux2.6入门

[复制链接]
发表于 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[2]: *** [usr/initramfs_data.o] Error 1
make[1]: *** [usr] Error 2
make[1]: Leaving directory `/home/uClinux-dist/linux-2.6.x'
make: *** [linux] Error 1
[root@localhost uClinux-dist]#


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

使用道具 举报

发表于 2006-4-30 21:33:42 | 显示全部楼层
晕,我按照这个说明,做了很多次都不成功。最后放弃了。错误出现得五花八门。楼上的那个错误也出现过。
回复

使用道具 举报

发表于 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 [14000040] 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 [1 disk] 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)
回复

使用道具 举报

发表于 2006-5-3 10:07:50 | 显示全部楼层
漏贴了关键的报错
workqueue.c

skyeye下面的报错
[root@server uClinux-dist]# skyeye linux-2.6.x/linux
***********************************************************************
****                                                               ****
****   SkyEye  Simulator Ver 0.9.8 with  GDB/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 [14000040] 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!
回复

使用道具 举报

发表于 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 [44b07700] 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 204
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时间较短,请大虾们指点方向即可。先谢过了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-6-4 16:31 , Processed in 0.110147 second(s), 13 queries .

© 2021 Powered by Discuz! X3.5.

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