总结一下这一周来的经验
1)ubuntu 下编译uClinux需要自己装不少东西,否则很多最基本的指令都会出错
make menuconfig //要装ncurses
make xconfig //要装tck,tk两个包,会调用到里面的wish
make lib_only //针对2.4版本的uClinux,要装bison,否则也会不通过
所以,要像我一样最近上网不方便的话,备张Ubuntu8.04的DVD吧,里面不少软件的
2)配置内核有三个步骤,不要漏了
主界面--配置内核--配置用户程序这三个步骤
仿立宇泰的板子,直接下周他提供的三个cfg文件,推荐使用make menuconfig,直接载入就好了
如果不是的要自己配置,貌似我的板子带了一个kernel_44b0.cfg的配置文件,主要是kernel config的配置,s3c44b0x板子的内存地址,大小,flash地址,大小,时钟频率都要配对
3)编译后image文件架里面出现.bin文件,恭喜了,但不是丢如sdram就能用的哦,要考入flash才行
前几天我把bin直接丢sdram,能运行就见鬼啦(吐舌头)
最后留个启动界面,很高兴,尝试写个驱动看看
====================================================================
U-Boot code: 0C700000 -> 0C7212C8 BSS: -> 0C755C14
RAM Configuration:
Bank #0: 0c000000 8 MB
Flash: 2 MB
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
## Booting image at 00050000 ...
Image Name: uClinux_hfrk_
Created: 2008-06-01 9:58:28 UTC
Image Type: ARM Linux Kernel Image (gzip compressed)
Data Size: 1221229 Bytes = 1.2 MB
Load Address: 0c008000
Entry Point: 0c008000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
Starting kernel ...
Linux version 2.6.9-hsc0 () (gcc version 2.95.3 20010315 (relea
se)(ColdFire patches - 20010318 from XIP an
d shared lib patches from )) #517 Sun Jun 1 17:58:26 CST
2008
CPU: Samsung-S3C44B0x [44b07700] revision 0 (ARMv4T)
Machine: S3C44B0X Development Board
Built 1 zonelists
Kernel command line: root=/dev/ram0 initrd=0x0c191b74,926k keepinitrd
PID hash table entries: 64 (order: 6, 1024 bytes)
drivers/serial/serial_s3c44b0.c:626 __s3c44b0_console_init
drivers/serial/serial_s3c44b0.c:594 __s3c44b0_console_setup
this is in drivers/serial/serial_s3c44b0.c:335 __s3c44b0_initdivisor=32
divisor=32
Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 8MB = 8MB total
Memory: 5408KB available (2440K code, 169K data, 60K 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
Samsung S3C44B0 Rtl8019as driver version 0.1 (2002-02-20)
eth0: 00:49:34:00:00:00
the ioaddr is :6000600
NetWinder Floating Point Emulator V0.97 (double precision)
Initializing Cryptographic API
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)
mice: PS/2 mouse device common for all mice
NET: Registered protocol family 26
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 512 bind 512)
IPv4 over IPv4 tunneling driver
GRE over IPv4 tunneling driver
Initializing IPsec netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
NET4: DECnet for Linux: V.2.5.68s (C) 1995-2003 Linux DECnet Project Team
DECnet: Routing cache hash table of 512 buckets, 4Kbytes
NET: Registered protocol family 12
802.1Q VLAN Support v1.8 Ben Greear <>
All bugs added by David S. Miller <>
RAMDISK: romfs filesystem found at block 0
RAMDISK: Loading 926KiB [1 disk] into ram disk... done.
VFS: Mounted root (romfs filesystem) readonly.
Freeing init memory: 60K
this is in drivers/serial/serial_s3c44b0.c:335 __s3c44b0_initdivisor=32
divisor=32
Shell invoked to run file: /etc/rc
Command: hostname Samsung
Command: /bin/expand /etc/ramfs.img /dev/ram1
Command: /bin/expand /etc/ramfs2048.img /dev/ram2
Can't open expanded file /dev/ram2
pid 13: failed 768
Command: mount -t proc proc /proc
mount: /etc/mtab: Read-only file system
Command: mount -t ext2 /dev/ram1 /var
mount: /etc/mtab: Read-only file system
Command: mount -t ext2 /dev/ram2 /ramdisk
mount: Mounting /dev/ram2 on /ramdisk failed: No such file or directory
pid 16: failed 256
Command: chmod 777 /ramdisk
/ramdisk: No such file or directory
Command: mkdir /var/config
Command: mkdir /var/tmp
Command: mkdir /var/log
Command: mkdir /var/run
Command: mkdir /var/lock
Command: mkdir /var/empty
Command: ifconfig eth0 211.83.106.157 netmask 255.255.255.0 up
enable_irq(24) unbalanced from 0c0214ac
Command: cat /etc/motd
Welcome to
____ _ _
/ __| ||_|
_ _| | | | _ ____ _ _ _ _
| | | | | | || | _ \| | | |\ \/ /
| |_| | |__| || | | | | |_| |/ \
| ___\____|_||_|_| |_|\____|\_/\_/
| |
|_|
For further information check:
Command: sh < /dev/ttyS0
Shell invoked to run file: <
Command: #ifconfig eth0 192.168.0.28 netmask 255.255.255.0 up
Execution Finished, Exiting
Sash command shell (version 1.1.1)
/>