bootloader用的自带的vivi:supervivi-128Mkernel是自己移植好的,可以挂载rootfs_qtopia_qt4.img我按照友善的移植指南做的rootfs.img,挂载失败,打印结果如下:eth0: dm9000e at c4872300,c4876304 IRQ 51 MAC: 08:90:90:90:90:90 (chip)
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1
s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
usbcore: registered new interface driver libusual
mice: PS/2 mouse device common for all mice
s3c2410 TouchScreen successfully loaded
input: s3c2410 TouchScreen as /devices/virtual/input/input0
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c2410-rtc s3c2410-rtc: rtc disabled, re-enabling
s3c2410-rtc s3c2410-rtc: rtc core: registered s3c as rtc0
i2c /dev entries driver
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled
cpuidle: using governor ladder
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.21.
No device for DAI UDA134X
No device for DAI s3c24xx-i2s
S3C24XX_UDA134X SoC Audio driver
UDA134X SoC Audio Codec
asoc: UDA134X <-> s3c24xx-i2s mapping ok
ALSA device list:
#0: S3C24XX_UDA134X (UDA134X)
TCP cubic registered
NET: Registered protocol family 17
s3c2410-rtc s3c2410-rtc: setting system clock to 2008-09-26 15:52:14 UTC (122244
4334)
yaffs: dev is 32505859 name is "mtdblock3" rw
yaffs: passed flags ""
VFS: Mounted root (yaffs filesystem) on device 31:3.
Freeing init memory: 132K
Warning: unable to open an initial console.Failed to execute /linuxrc. Attempting defaults...Kernel panic - not syncing: No init found. Try passing init= option to kernel.[<c002fce8>] (unwind_backtrace+0x0/0xd8) from [<c02ef5b0>] (panic+0x40/0x118)
[<c02ef5b0>] (panic+0x40/0x118) from [<c00295bc>] (init_post+0xcc/0xf4)
[<c00295bc>] (init_post+0xcc/0xf4) from [<c0008438>] (kernel_init+0xdc/0x10c)
[<c0008438>] (kernel_init+0xdc/0x10c) from [<c002ae68>] (kernel_thread_exit+0x0/
0x8)
我是按照友善提供的移植指南做的,可能版本老了,有些步骤漏了,上次移植kernel就遇到不少问题,还好解决了,
下面是具体步骤,有什么错误请帮忙指正,做过的有什么经验也告诉我一下,谢了!
一、建立根文件系统目录
1.进入到/opt/studyarm 目录,新建建立根文件系统目录的脚本文件create_rootfs_bash
#!/bin/shecho "------Create rootfs directons start...--------"mkdir rootfscd rootfsecho "--------Create root,dev....----------"mkdir root dev etc boot tmp var sys proc lib mnt home usrmkdir etc/init.d etc/rc.d etc/sysconfigmkdir usr/sbin usr/bin usr/lib usr/modulesecho "make node in dev/console dev/null"mknod -m 600 dev/console c 5 1mknod -m 600 dev/null c 1 3mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/tempmkdir var/lib var/lock var/run var/tmpchmod 1777 tmpchmod 1777 var/tmpecho "-------make direction done---------"指南上没有usr目录,我加上了2.用命令chmod +x create_rootfs_bash 改变文件的可执行权限3、create_rootfs_bash 运行脚本二、建立动态链接库先解压友善之臂的根文件包,拷贝 lib 的内容到新建的根文件目录lib 内tar -zxvf rootfs_qtopia_qt4-20100816.tar.gz -C /opt/studyarmcp -rfd /opt/studyarm/root_qtopia_qt4/lib/* /opt/studyarm/rootfs/lib/*三、交叉编译Bosybox1、解压busyboxtar -zxvf busybox-1.13.3.tar.tgz -C /opt/studyarm
2、进入源码,修改Makefile 文件:cd /opt/studyarm/busybox-1.13.3修改:CROSS_COMPILE ?=arm-linux- //第164 行ARCH ?=arm //第189 行
3、配置busybox用busybox-1.13.3-mini2440.tgz,解压后里面包含了友善之臂提供的缺省配置文件:fa_config输入命令“cp fa.config .config”
4、编译busybox编译busybox 到指定目录:cd /opt/studyarm/busybox-1.13.3make CONFIG_PREFIX=/opt/studyarm/rootfs install
四、建立etc 目录下的配置文件1、etc/mdev.conf 文件,内容为空。
2、拷贝主机etc 目录下的passwd、group、shadow 文件到rootfs/etc 目录下。
3、etc/sysconfig 目录下新建文件HOSTNAME,内容为”H3-Studio”。
4、etc/inittab 文件:::sysinit:/etc/init.d/rcSs3c2410_serial0::askfirst:-/bin/sh::ctrlaltdel:/sbin/reboot::shutdown:/bin/umount -a –r
5、etc/init.d/rcS 文件:#!/bin/shPATH=/sbin:/bin:/usr/sbin:/usr/binrunlevel=Sprevlevel=Numask 022export PATH runlevel prevlevelecho "----------munt all----------------"mount -aecho /sbin/mdev>/proc/sys/kernel/hotplugmdev -secho "***********************************************"echo "****************Studying ARM*********************"echo "Kernel version:linux-2.6.29.1"echo "Student:Huang huahai"echo "Date:2009.10.1"echo "***********************************************"/bin/hostname -F /etc/sysconfig/HOSTNAME
使用以下命令改变 rcS 的执行权限:Chmod +x rcS
6、etc/fstab 文件:#device mount-point type option dump fsck orderproc /proc proc defaults 0 0none /tmp ramfs defaults 0 0sysfs /sys sysfs defaults 0 0mdev /dev ramfs defaults 0 0
7、 etc/profile 文件:#Ash profile#vim:syntax=sh#No core file by defaults#ulimit -S -c 0>/dev/null 2>&1USER="id -un"LOGNAME=$USERPS1='[\u@\h=W]#'PATH=$PATHHOSTNAME='/bin/hostname'export USER LOGNAME PS1 PATH
五、制作根文件系统映像文件1、安装好 yaffs 文件系统制作工具:tar -zxvf mkyaffs2image.tgz -C /2、在/opt/studyarm 目录下,使用命令mkyaffs2image rootfs rootfs.img生成根文件系统映像文件。
[ 此帖被afan2009在2010-10-09 16:51重新编辑 ]