S3C6410嵌入式应用平台构建(六)——linux-3.14.4移植到OK6410-(Yaffs2文件制作)

时间:2023-03-08 23:56:28
S3C6410嵌入式应用平台构建(六)——linux-3.14.4移植到OK6410-(Yaffs2文件制作)

本文主要讲怎用利用yaffs2工具和busybox制作yaffs2文件系统镜像。大多数都是参照网上的,目的在于记录学习,不做任何用途。

一、制作mkyaffs2image工具

进入yaffs2源码目录下utils目录,修改mkyaff2image.c,做如下修改:

// Adjust these to match your NAND LAYOUT:
#if 0
#define chunkSize 2048
#define spareSize 64
#define pagesPerBlock 64
#else
#define chunkSize 4096
#define spareSize 218
#define pagesPerBlock 128
#endif

进入yaffs2源码目录下direct目录,修改yportenv.h

增加#define CONFIG_YAFFS_DEFINES_TYPES

保存后make,这时就在utils目录生产mkyaffs2image文件,把这个文件拷贝到/usr/bin目录下

到此,后面我们就可以用该工具制作镜像文件了。

二、制作根文件系统

当我们在linux下输入ls  / 的时候,见到的目录结构以及这些目录下的内容都大同小异,这是因为所有的linux发行版在对根文件系统布局上都遵循FHS标准的建议规定。

该标准规定了根目录下各个子目录的名称及其存放的内容:

目录名

存放的内容

/bin

必备的用户命令,例如ls、cp等

/sbin

必备的系统管理员命令,例如ifconfig、reboot等

/dev

设备文件,例如mtdblock0、tty1等

/etc

系统配置文件,包括启动文件,例如inittab等

/lib

必要的链接库,例如C链接库、内核模块

/home

普通用户主目录

/root

root用户主目录

/usr/bin

非必备的用户程序,例如find、du等

/usr/sbin

非必备的管理员程序,例如chroot、inetd等

/usr/lib

库文件

/var

守护程序和工具程序所存放的可变,例如日志文件

/proc

用来提供内核与进程信息的虚拟文件系统,由内核自动生成目录下的内容

/sys

用来提供内核与设备信息的虚拟文件系统,由内核自动生成目录下的内容

/mnt

文件系统挂接点,用于临时安装文件系统

/tmp

临时性的文件,重启后将自动清除

制作根文件系统就是要建立以上的目录,并在其中建立完整目录内容。其过程大体包括:

· 编译/安装busybox,生成/bin、/sbin、/usr/bin、/usr/sbin目录

· 利用交叉编译工具链,构建/lib目录

· 手工构建/etc目录

· 手工构建最简化的/dev目录

· 创建其它空目录

· 配置系统自动生成/proc目录

· 利用udev构建完整的/dev目录

· 制作根文件系统的Yaffs2映像文件

下面就来详细介绍这个过程。

1. 下载并编译Busybox,生成/bin、/sbin、/usr/bin、/usr/sbin目录

1.1 下载网址:http://www.busybox.net/   我下载  busybox-1.22.1.tar.bz2

1.2 解压后修改Makefile文件,这就不用说,跟Linux一样。

S3C6410嵌入式应用平台构建(六)——linux-3.14.4移植到OK6410-(Yaffs2文件制作)S3C6410嵌入式应用平台构建(六)——linux-3.14.4移植到OK6410-(Yaffs2文件制作) ARCH            ?= arm
CROSS_COMPILE ?= arm-linux-

1.3 配置菜单

我们大多按找默认配置,然后在此基础上进行修改。

$ make defconfig

$ make menuconfig

Busybox Settings --->Build Options --->(arm-linux-) Cross Compiler prefix
Busybox Settings --->General Configuration --->[*] Don't use /usr

Busybox Settings --->Installation Options—>你自己要安装的目录(默认是_install目录)

我自己设置在ok6410_fs/

1.4 编译,安装

$make;make install

我们进入ok6410_fs后发现,已经有了  /bin、/sbin、/usr/bin、/usr/sbin

2. 构建基本的文件夹及文件

建立Linux文件系统基本的文件夹,我也是参照别人的,无非就是新建文件夹,然后改权限嘛,我这里就偷个懒,和别人一样,写个脚本。

#!/bin/sh
echo "--------Create root,dev......"
mkdir root dev etc bin sbin mnt sys proc lib home tmp var usr
mkdir usr/sbin usr/bin usr/lib usr/modules usr/etc
mkdir mnt/usb mnt/nfs mnt/etc mnt/etc/init.d
mkdir lib/modules
chmod 1777 tmp sudo mknod -m 600 dev/console c 5 1
sudo mknod -m 666 dev/null c 1 3 echo "-------make direction done---------"

保存,修改权限:chmod +x creat_fs.sh

$ ./creat_fs.sh

2. 1 创建 /etc/profile文件,主要用于环境变量。文件内容如下:

S3C6410嵌入式应用平台构建(六)——linux-3.14.4移植到OK6410-(Yaffs2文件制作)S3C6410嵌入式应用平台构建(六)——linux-3.14.4移植到OK6410-(Yaffs2文件制作)# Ash profile
# vim: syntax=sh
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1
USER="`id -un`"
LOGNAME=$USER
PS1='[\u@\h \W]\# '
PATH=$PATH
HOSTNAME=`/bin/hostname`
export USER LOGNAME PS1 PATH

2.2 创建初始化文件。etc/init.d/rcS

S3C6410嵌入式应用平台构建(六)——linux-3.14.4移植到OK6410-(Yaffs2文件制作)S3C6410嵌入式应用平台构建(六)——linux-3.14.4移植到OK6410-(Yaffs2文件制作)#! /bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:
runlevel=S
prevlevel=N
umask 022
export PATH runlevel prevlevel #
# Trap CTRL-C &c only in this shell so we can interrupt subprocesses.
#
trap ":" INT QUIT TSTP
/bin/hostname hcm /bin/mount -n -t proc none /proc
/bin/mount -n -t sysfs none /sys
/bin/mount -n -t usbfs none /proc/bus/usb
/bin/mount -t ramfs none /dev echo /sbin/mdev > /proc/sys/kernel/hotplug
/sbin/mdev -s
/bin/hotplug
# mounting file system specified in /etc/fstab
mkdir -p /dev/pts
mkdir -p /dev/shm
/bin/mount -n -t devpts none /dev/pts -o mode=0622
/bin/mount -n -t tmpfs tmpfs /dev/shm
/bin/mount -n -t ramfs none /tmp
/bin/mount -n -t ramfs none /var
mkdir -p /var/empty
mkdir -p /var/log
mkdir -p /var/lock
mkdir -p /var/run
mkdir -p /var/tmp /sbin/hwclock -s -f /dev/rtc syslogd
/etc/rc.d/init.d/netd start
echo " " > /dev/tty1
echo "Starting networking..." > /dev/tty1
#sleep 1
#/etc/rc.d/init.d/httpd start
#echo " " > /dev/tty1
#echo "Starting web server..." > /dev/tty1
#sleep 1
#/etc/rc.d/init.d/leds start
#echo " " > /dev/tty1
#echo "Starting leds service..." > /dev/tty1
#echo " "
#sleep 1
echo "*************************************"
echo " Welcome to Root FileSystem! "
echo " "
echo " http://write.blog.csdn.net/postlist "
echo "*************************************" mkdir /mnt/disk
mount -t yaffs2 /dev/mtdblock3 /mnt/disk mount -t vfat /dev/mmcblk0p1 /home/
mount -t yaffs2 /dev/mtdblock3 /mnt/
cd /mnt/
tar zxvf /home/urbetter-rootfs-qt-2.2.0.tgz
sync
cd /
umount /mnt/
umount /home/
/sbin/ifconfig lo 127.0.0.1
chmod +x etc/init.d/ifconfig-eth0
/etc/init.d/ifconfig-eth0
/bin/qtopia &
echo " " > /dev/tty1
echo "Starting Qtopia, please waiting..." > /dev/tty1
echo " "
echo "Starting Qtopia, please waiting..."

注意修改这个文件权限:chmod +x /etc/init.d/rcS

2.3 创建etc/fstab文件

proc /proc proc defaults 0 0
none /tmp ramfs defaults 0 0
none /var ramfs defaults 0 0
mdev /dev ramfs defaults 0 0
sysfs /sys sysfs defaults 0 0

2.4 创建 etc/inittab文件

inittab文件中每个条目用来定义一个需要init启动的子进程,并确定它的启动方式,格式为<id>:<runlevel>:<action>:<process>。例如:ttySAC0::askfirst:-/bin/sh

::sysinit:/etc/init.d/rcS
::askfirst:-/bin/sh
::ctrlaltdel:/bin/umount -a -r
::shutdown:/bin umount -a -r
::shutdown:/sbin/swapoff –a

2.5 创建 usr/etc/init

S3C6410嵌入式应用平台构建(六)——linux-3.14.4移植到OK6410-(Yaffs2文件制作)S3C6410嵌入式应用平台构建(六)——linux-3.14.4移植到OK6410-(Yaffs2文件制作)#!/bin/sh
ifconfig eth0 192.1681.50 up
ifconfig lo 127.0.0.1

注意修改权限:chmod +x usr/etc/init

2.6 创建usr/etc/mdev.conf,内容为空。

3. 拷贝arm工具链中库文件到lib目录中

$ cp /usr/local/arm/toolschain/4.4.3/arm-none-linux-gnueabi/lib/*so* lib/ –d

-d的作用,原来是一个链接文件的还拷贝成一个链接文件,如果不带-d的话会拷贝到源文件,这个时候文件就会比较大

4. 到此,基本的根文件系统已经准备好,下面用mkyaffs2image产生镜像文件。

$ mkyaffs2image ok6410_fs  rootfs.yaffs2

最后通过,tftp下载到板子上,写到nandflash上启动,启动log如下:

[06/08-16:48:38:628]U-Boot 2010.03-svn3 (May 06 2014 - 22:13:20) for SMDK6410
[06/08-16:48:38:628]
[06/08-16:48:38:628]*******************************************************
[06/08-16:48:38:638] Welcome to Embedded System
[06/08-16:48:38:639] Base On S3C6410 Devolopment
[06/08-16:48:38:639] Date: 2014/4/15 22:00 PM
[06/08-16:48:38:650]*******************************************************
[06/08-16:48:38:650]
[06/08-16:48:38:650]CPU: S3C6410@533MHz
[06/08-16:48:38:651] Fclk = 533MHz, Hclk = 133MHz, Pclk = 66MHz (ASYNC Mode)
[06/08-16:48:38:651]Board: SMDK6410
[06/08-16:48:38:655]DRAM: 256 MB
[06/08-16:48:38:698]Flash: 0 kB
[06/08-16:48:38:699]NAND Flash: 2048 MB
[06/08-16:48:39:819]********************************************************
[06/08-16:48:39:819]Initial LCD controller
[06/08-16:48:39:834] clk_freq:9 MHz, div_freq:13 ,rea_freq:9 MHz
[06/08-16:48:39:834]
[06/08-16:48:39:834] HBP = 2 HFP = 2 HSW = 41,Hpixs:480
[06/08-16:48:39:834] VBP = 2 VFP = 2 VSW = 10,Vpixs:272
[06/08-16:48:39:849]FrameBuff:57e7a000
[06/08-16:48:39:850] LCD initialization Finished.
[06/08-16:48:39:850]********************************************************
[06/08-16:48:39:871]In: serial
[06/08-16:48:39:872]
[06/08-16:48:39:872]Out: lcd
[06/08-16:48:39:874]
[06/08-16:48:39:874]Err: lcd
[06/08-16:48:39:875]
[06/08-16:48:40:225]Net: DM9000
[06/08-16:48:43:262]Hit any key to stop auto 0 1 2
[06/08-16:48:43:263]
[06/08-16:48:43:263]NAND read:
[06/08-16:48:43:264]device 0 offset 0x100000, size 0x500000
[06/08-16:48:43:265]
[06/08-16:48:46:505] 5242880 bytes read: OK
[06/08-16:48:46:505]
[06/08-16:48:46:506]## Booting kernel from Legacy Image at 50008000 ...
[06/08-16:48:46:506]
[06/08-16:48:46:506] Image Name: Linux-3.14.4
[06/08-16:48:46:524]
[06/08-16:48:46:525] Image Type: ARM Linux Kernel Image (uncompressed)
[06/08-16:48:46:543]
[06/08-16:48:46:543] Data Size: 2558448 Bytes = 2.4 MB
[06/08-16:48:46:558]
[06/08-16:48:46:559] Load Address: 50008000
[06/08-16:48:46:576]
[06/08-16:48:46:577] Entry Point: 50008040
[06/08-16:48:46:592]
[06/08-16:48:47:104] Verifying Checksum ... OK
[06/08-16:48:47:122]
[06/08-16:48:47:124] XIP Kernel Image ... OK
[06/08-16:48:47:136]
[06/08-16:48:47:136]OK
[06/08-16:48:47:153]
[06/08-16:48:47:154]
[06/08-16:48:47:154]Starting kernel ...
[06/08-16:48:47:155]
[06/08-16:48:47:165]
[06/08-16:48:47:180]
[06/08-16:48:47:193]
[06/08-16:48:47:648]Uncompressing Linux... done, booting the kernel.
[06/08-16:48:48:729][ 0.000000] Booting Linux on physical CPU 0x0
[06/08-16:48:48:740][ 0.000000] Linux version 3.14.4 (simiar@Embedded) (gcc version 4.4.3 (ctng-1.6.1) ) #16 Mon Jun 2 23:49:21 CST 2014
[06/08-16:48:48:753][ 0.000000] CPU: ARMv6-compatible processor [410fb766] revision 6 (ARMv7), cr=00c5387d
[06/08-16:48:48:754][ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[06/08-16:48:48:764][ 0.000000] Ignoring unrecognised tag 0x54410008
[06/08-16:48:48:765][ 0.000000] Memory policy: Data cache writeback
[06/08-16:48:48:775][ 0.000000] CPU: found DTCM0 8k @ 00000000, not enabled
[06/08-16:48:48:776][ 0.000000] CPU: moved DTCM0 8k to fffe8000, enabled
[06/08-16:48:48:777][ 0.000000] CPU: found DTCM1 8k @ 00000000, not enabled
[06/08-16:48:48:786][ 0.000000] CPU: moved DTCM1 8k to fffea000, enabled
[06/08-16:48:48:787][ 0.000000] CPU: found ITCM0 8k @ 00000000, not enabled
[06/08-16:48:48:797][ 0.000000] CPU: moved ITCM0 8k to fffe0000, enabled
[06/08-16:48:48:798][ 0.000000] CPU: found ITCM1 8k @ 00000000, not enabled
[06/08-16:48:48:807][ 0.000000] CPU: moved ITCM1 8k to fffe2000, enabled
[06/08-16:48:48:818][ 0.000000] Kernel command line: root=/dev/mtdblock2 rootfstype=yaffs2 console=ttySAC0,115200
[06/08-16:48:48:819][ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[06/08-16:48:48:829][ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[06/08-16:48:48:831][ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[06/08-16:48:48:840][ 0.000000] Virtual kernel memory layout:
[06/08-16:48:48:841][ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[06/08-16:48:48:852][ 0.000000] DTCM : 0xfffe8000 - 0xfffec000 ( 16 kB)
[06/08-16:48:48:852][ 0.000000] ITCM : 0xfffe0000 - 0xfffe4000 ( 16 kB)
[06/08-16:48:48:863][ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[06/08-16:48:48:863][ 0.000000] vmalloc : 0xd0800000 - 0xff000000 ( 744 MB)
[06/08-16:48:48:875][ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
[06/08-16:48:48:876][ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[06/08-16:48:48:884][ 0.000000] .text : 0xc0008000 - 0xc046e228 (4505 kB)
[06/08-16:48:48:885][ 0.000000] .init : 0xc046f000 - 0xc04937fc ( 146 kB)
[06/08-16:48:48:896][ 0.000000] .data : 0xc0494000 - 0xc04d35e8 ( 254 kB)
[06/08-16:48:48:896][ 0.000000] .bss : 0xc04d4000 - 0xc0511038 ( 245 kB)
[06/08-16:48:48:907][ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[06/08-16:48:48:908][ 0.000000] NR_IRQS:246
[06/08-16:48:48:918][ 0.000000] S3C6410 clocks: apll = 533000000, mpll = 533000000
[06/08-16:48:48:921][ 0.000000] epll = 24000000, arm_clk = 533000000
[06/08-16:48:48:930][ 0.000000] VIC @f6000000: id 0x00041192, vendor 0x41
[06/08-16:48:48:930][ 0.000000] VIC @f6010000: id 0x00041192, vendor 0x41
[06/08-16:48:48:941][ 0.000031] sched_clock: 32 bits at 33MHz, resolution 30ns, wraps every 128929599457ns
[06/08-16:48:48:942][ 0.000600] Console: colour dummy device 80x30
[06/08-16:48:48:952][ 0.000674] Calibrating delay loop... 531.66 BogoMIPS (lpj=2658304)
[06/08-16:48:48:953][ 0.050065] pid_max: default: 32768 minimum: 301
[06/08-16:48:48:963][ 0.050464] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[06/08-16:48:48:964][ 0.050508] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[06/08-16:48:48:973][ 0.052041] CPU: Testing write buffer coherency: ok
[06/08-16:48:48:974][ 0.052760] Setting up static identity map for 0x5034eac0 - 0x5034eb1c
[06/08-16:48:48:985][ 0.057045] devtmpfs: initialized
[06/08-16:48:48:986][ 0.060591] VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
[06/08-16:48:48:996][ 0.065304] NET: Registered protocol family 16
[06/08-16:48:48:997][ 0.066785] DMA: preallocated 256 KiB pool for atomic coherent allocations
[06/08-16:48:49:007][ 0.075253] OK6410: Option string ok6410=0
[06/08-16:48:49:007][ 0.075295] OK6410: selected LCD display is 480x272
[06/08-16:48:49:008][ 0.175364] bio: create slab <bio-0> at 0
[06/08-16:48:49:018][ 0.178158] pl08xdmac dma-pl080s.0: initialized 8 virtual memcpy channels
[06/08-16:48:49:029][ 0.178260] pl08xdmac dma-pl080s.0: initialized 16 virtual slave channels
[06/08-16:48:49:030][ 0.200300] pl08xdmac dma-pl080s.0: DMA: PL080s rev1 at 0x75000000 irq 73
[06/08-16:48:49:040][ 0.200728] pl08xdmac dma-pl080s.1: initialized 8 virtual memcpy channels
[06/08-16:48:49:052][ 0.200824] pl08xdmac dma-pl080s.1: initialized 12 virtual slave channels
[06/08-16:48:49:053][ 0.219254] pl08xdmac dma-pl080s.1: DMA: PL080s rev1 at 0x75100000 irq 74
[06/08-16:48:49:063][ 0.222558] usbcore: registered new interface driver usbfs
[06/08-16:48:49:063][ 0.223416] usbcore: registered new interface driver hub
[06/08-16:48:49:074][ 0.224422] usbcore: registered new device driver usb
[06/08-16:48:49:074][ 0.234444] Switched to clocksource samsung_clocksource_timer
[06/08-16:48:49:075][ 0.323831] NET: Registered protocol family 2
[06/08-16:48:49:085][ 0.325123] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[06/08-16:48:49:096][ 0.325351] TCP bind hash table entries: 2048 (order: 3, 40960 bytes)
[06/08-16:48:49:097][ 0.325862] TCP: Hash tables configured (established 2048 bind 2048)
[06/08-16:48:49:107][ 0.326090] TCP: reno registered
[06/08-16:48:49:109][ 0.326149] UDP hash table entries: 256 (order: 1, 12288 bytes)
[06/08-16:48:49:118][ 0.326341] UDP-Lite hash table entries: 256 (order: 1, 12288 bytes)
[06/08-16:48:49:119][ 0.327222] NET: Registered protocol family 1
[06/08-16:48:49:130][ 0.328285] RPC: Registered named UNIX socket transport module.
[06/08-16:48:49:130][ 0.328328] RPC: Registered udp transport module.
[06/08-16:48:49:131][ 0.328347] RPC: Registered tcp transport module.
[06/08-16:48:49:140][ 0.328362] RPC: Registered tcp NFSv4.1 backchannel transport module.
[06/08-16:48:49:141][ 0.335325] futex hash table entries: 256 (order: 0, 7168 bytes)
[06/08-16:48:49:152][ 0.395670] NFS: Registering the id_resolver key type
[06/08-16:48:49:153][ 0.395807] Key type id_resolver registered
[06/08-16:48:49:163][ 0.395840] Key type id_legacy registered
[06/08-16:48:49:164][ 0.395894] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[06/08-16:48:49:174][ 0.395916] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[06/08-16:48:49:175][ 0.399037] ROMFS MTD (C) 2007 Red Hat, Inc.
[06/08-16:48:49:185][ 0.400295] BeFS version: 0.9.3
[06/08-16:48:49:186][ 0.402498] io scheduler noop registered
[06/08-16:48:49:186][ 0.402540] io scheduler deadline registered
[06/08-16:48:49:197][ 0.403824] io scheduler cfq registered (default)
[06/08-16:48:49:198][ 0.423896] s3c-fb s3c-fb: window 0: fb
[06/08-16:48:49:208][ 0.999196] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[06/08-16:48:49:209][ 1.007881] s3c6400-uart.0: ttySAC0 at MMIO 0x7f005000 (irq = 69, base_baud = 0) is a S3C6400/10
[06/08-16:48:49:222][ 1.490303] console [ttySAC0] enabled
[06/08-16:48:49:223][ 1.495733] s3c6400-uart.1: ttySAC1 at MMIO 0x7f005400 (irq = 70, base_baud = 0) is a S3C6400/10
[06/08-16:48:49:229][ 1.504605] s3c6400-uart.2: ttySAC2 at MMIO 0x7f005800 (irq = 71, base_baud = 0) is a S3C6400/10
[06/08-16:48:49:241][ 1.513383] s3c6400-uart.3: ttySAC3 at MMIO 0x7f005c00 (irq = 72, base_baud = 0) is a S3C6400/10
[06/08-16:48:49:285][ 1.566243] brd: module loaded
[06/08-16:48:49:314][ 1.590247] loop: module loaded
[06/08-16:48:49:315][ 1.595120] ------------[ cut here ]------------
[06/08-16:48:49:326][ 1.595207] WARNING: CPU: 0 PID: 1 at drivers/clk/clk.c:926 __clk_enable+0x94/0xa4()
[06/08-16:48:49:328][ 1.602726] ---[ end trace a4fe0eb127a10b3d ]---
[06/08-16:48:49:340][ 1.606757] s3c24xx-nand s3c6400-nand: Tacls=4, 30ns Twrph0=8 60ns, Twrph1=6 45ns
[06/08-16:48:49:341][ 1.614020] s3c24xx-nand s3c6400-nand: System booted from NAND
[06/08-16:48:49:347][ 1.619696] s3c24xx-nand s3c6400-nand: NAND hardware ECC
[06/08-16:48:49:359][ 1.625085] nand: device found, Manufacturer ID: 0xec, Chip ID: 0xd5
[06/08-16:48:49:359][ 1.631357] nand: Samsung NAND 2GiB 3,3V 8-bit
[06/08-16:48:49:360][ 1.635745] nand: 2048MiB, MLC, page size: 4096, OOB size: 218
[06/08-16:48:49:366][ 1.641674] Scanning device for bad blocks
[06/08-16:48:49:455][ 1.735417] Bad eraseblock 985 at 0x00001ecff000
[06/08-16:48:49:483][ 1.762428] Bad eraseblock 1295 at 0x0000287ff000
[06/08-16:48:49:649][ 1.929342] Bad eraseblock 3218 at 0x00006497f000
[06/08-16:48:49:729][ 2.006987] Creating 4 MTD partitions on "nand":
[06/08-16:48:49:730][ 2.007071] 0x000000000000-0x000000100000 : "Bootloader"
[06/08-16:48:49:743][ 2.017024] 0x000000100000-0x000000600000 : "Linux Kernel"
[06/08-16:48:49:744][ 2.022909] 0x000000600000-0x00000ce00000 : "File System"
[06/08-16:48:49:752][ 2.028529] 0x00000ce00000-0x000080000000 : "User"
[06/08-16:48:49:767][ 2.036197] dm9000 dm9000: read wrong id 0x01010101
[06/08-16:48:49:771][ 2.036278] dm9000 dm9000: eth%d: Invalid ethernet MAC address. Please set using ifconfig
[06/08-16:48:49:777][ 2.046340] eth0: dm9000a at d085a000,d085c004 IRQ 108 MAC: 5e:c8:ea:19:f0:8d (random)
[06/08-16:48:49:781][ 2.052348] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[06/08-16:48:49:781][ 2.057706] ohci-s3c2410: OHCI S3C2410 driver
[06/08-16:48:49:791][ 2.064452] s3c2410-ohci s3c2410-ohci: OHCI Host Controller
[06/08-16:48:49:803][ 2.067626] s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1
[06/08-16:48:49:804][ 2.075630] s3c2410-ohci s3c2410-ohci: irq 79, io mem 0x74300000
[06/08-16:48:49:864][ 2.140048] s3c2410-ohci s3c2410-ohci: init err (00000000 0000)
[06/08-16:48:49:865][ 2.140347] s3c2410-ohci s3c2410-ohci: can't start
[06/08-16:48:49:875][ 2.145261] s3c2410-ohci s3c2410-ohci: startup error -75
[06/08-16:48:49:879][ 2.150496] s3c2410-ohci s3c2410-ohci: USB bus 1 deregistered
[06/08-16:48:49:887][ 2.156247] s3c2410-ohci: probe of s3c2410-ohci failed with error -75
[06/08-16:48:49:896][ 2.165804] mousedev: PS/2 mouse device common for all mice
[06/08-16:48:49:896][ 2.171047] i2c /dev entries driver
[06/08-16:48:49:897][ 2.173832] sdhci: Secure Digital Host Controller Interface driver
[06/08-16:48:49:907][ 2.177730] sdhci: Copyright(c) Pierre Ossman
[06/08-16:48:49:908][ 2.182493] s3c-sdhci s3c-sdhci.0: clock source 0: mmc_busclk.0 (133250000 Hz)
[06/08-16:48:49:917][ 2.189325] s3c-sdhci s3c-sdhci.0: clock source 2: mmc_busclk.2 (24000000 Hz)
[06/08-16:48:49:953][ 2.230055] mmc0: SDHCI controller on samsung-hsmmc [s3c-sdhci.0] using ADMA
[06/08-16:48:49:969][ 2.231782] s3c-sdhci s3c-sdhci.1: clock source 0: mmc_busclk.0 (133250000 Hz)
[06/08-16:48:49:970][ 2.238734] s3c-sdhci s3c-sdhci.1: clock source 2: mmc_busclk.2 (24000000 Hz)
[06/08-16:48:50:002][ 2.280052] mmc1: SDHCI controller on samsung-hsmmc [s3c-sdhci.1] using ADMA
[06/08-16:48:50:017][ 2.295148] usbcore: registered new interface driver usbhid
[06/08-16:48:50:018][ 2.295219] usbhid: USB HID core driver
[06/08-16:48:50:029][ 2.299442] TCP: cubic registered
[06/08-16:48:50:030][ 2.302312] NET: Registered protocol family 17
[06/08-16:48:50:030][ 2.306958] Key type dns_resolver registered
[06/08-16:48:50:039][ 2.315242] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[06/08-16:48:50:062][ 2.337471] yaffs: dev is 32505858 name is "mtdblock2" rw
[06/08-16:48:50:063][ 2.337537] yaffs: passed flags ""
[06/08-16:49:06:062][ 18.341636] mmc1: mmc_rescan_try_freq: trying to init card at 400000 Hz
[06/08-16:49:06:074][ 18.343144] VFS: Mounted root (yaffs2 filesystem) on device 31:2.
[06/08-16:49:06:075][ 18.348772] devtmpfs: error mounting -2
[06/08-16:49:06:087][ 18.354852] Freeing unused kernel memory: 144K (c046f000 - c0493000)
[06/08-16:49:06:089][ 18.359049] Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
[06/08-16:49:06:097][ 18.371964] CPU: 0 PID: 1 Comm: swapper Tainted: G W 3.14.4 #16
[06/08-16:49:06:107][ 18.378781] [<c0014dd0>] (unwind_backtrace) from [<c00125f4>] (show_stack+0x10/0x14)
[06/08-16:49:06:119][ 18.386481] [<c00125f4>] (show_stack) from [<c034ac7c>] (panic+0x8c/0x1dc)
[06/08-16:49:06:120][ 18.393317] [<c034ac7c>] (panic) from [<c034a770>] (kernel_init+0xc8/0xec)
[06/08-16:49:06:130][ 18.400167] [<c034a770>] (kernel_init) from [<c000f1b8>] (ret_from_fork+0x14/0x3c)

从上面可以看出,yaffs2文件系统是挂载成功了,但是内核还是启动不起来,下篇文章在具体分析了。我的周末呀。。。。