利用uboot启动远程Kernel(TFTP)以及挂载远程ROOTFS(NFS)
来源:互联网 发布:linux内核的系统 编辑:程序博客网 时间:2024/06/04 18:52
转载地址:http://www.arm9home.net/simple/index.php?t27737.html
0. 准备工作
1. 编译uboot2. 将uboot写入SD卡
3. 编译kernel,设置其可以通过NFS挂载根文件系统
4. 开发环境安装TFTP服务器
5. 开发环境安装NFS服务器
6. 目标环境设置uboot参数
7. 制作根文件系统(optional)。
8. 完整的启动LOG。
有几位网友发信问我uboot挂载文件系统的方法,其实这个部分也不是我原创的,大部分都是参考其他网友的方法,现在将我的手顺记录下来,希望对大家有所帮助。
整体思路大概是这样:
* 将uboot烧写到SD卡。
* 从SD卡启动系统,SD卡中的uboot通过TFTP协议将远程的的Kernel下载到内存中。
* uboot将内核参数设定为ROOT分区为远程的NFS-SERVER共享的一个目录,并JUMP到内核的START ADDRESS。
* kernel自解压,并JUMP 到解压后的新的内核START ADDRESS,内核正常启动。
* 最后通过内核通过uboot设置的ROOTFS参数得知根文件系统在远程,并通过NFS挂载ROOTFS。
* 根文件系统挂载完了以后,就会去执行init程序, init程序被uboot指定为 /linuxrc。
我的开发环境是 ubunto 12.04LTS。
目标系统的内核是 3.0.8 ,源代码位于 /opt/S5PV210/rootfs/usr/src/linux-3.0.8。
uboot的源代码位于 /opt/S5PV210/rootfs/usr/src/opencsbc-u-boot。
目标环境的根文件系统位于 /opt/S5PV210/rootfs。
交叉编译器位于 /opt/linaro-gcc473-eglibc216-armv7a-neon。
0. 准备工作
编译uboot和linux内核都需要使用到交叉编译器,所以需要确保shell 的PATH 环境中包含了你的交叉编译器的路径。
比如我的PATH为:(通过export查看)
declare -x PATH="/usr/lib/lightdm/lightdm:/opt/linaro-gcc473-eglibc216-armv7a-neon/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
这样,就可以直接查找到 arm-linux-gcc 这条命令了,不许要输入 arm-linux-gcc 的绝对路径。
1. 编译uboot
uboot来自于kasim修改的uboot,原帖在http://www.arm9home.net/read.php?tid-16001.html。
可以通过 https://gitorious.org/opencsbc/u-boot/trees/mini210_linaro-2012.11-stable 右边的 download mini210_linaro-2012.11-stable as tar.gz 这个按钮获取到打包的源代码。
将源代码下载下来以后,解压到某一个目录,我机器上是位于 /opt/S5PV210/rootfs/usr/src/opencsbc-u-boot 这个目录。进入到这个目录。
首先配置uboot是针对 tiny210 环境的。 tiny210v2 也是使用的这个配置项:
复制代码
- make ARCH=arm CROSS_COMPILE=arm-linux- tiny210_config
然后才是真正的编译uboot:
复制代码
- make ARCH=arm CROSS_COMPILE=arm-linux- all spl
编译完成以后,就可以看到uboot的二进制文件 spl/tiny210-spl.bin 和 uboot.bin。
另外还有一个用于制作 uImage 的工具 tool/mkimage。为了方便,把这个文件拷贝到 /usr/bin:
复制代码
- sudo cp tool/mkimage /usr/bin/
2. 将uboot写入SD卡
注意,这部需要特别留心,别因为误写入,把你的硬盘给弄坏了。
注意,SD卡的内容最好备份好。
将SD卡放到读卡器里面,并将SD卡读卡器接入开发环境,在我的环境中, SD卡会被识别为 /dev/sdc。
通过下面的命令将uboot写入SD卡,保证这个SD卡可以启动。
复制代码
- sudo dd iflag=dsync oflag=dsync if=spl/tiny210-spl.bin of=/dev/sdc seek=1
sudo dd iflag=dsync oflag=dsync if=u-boot.bin of=/dev/sdc seek=49
如果怕写入不同步,可以再执行一下 sync 这个命令,保证cache都写入到磁盘中。
到此为止,就可以通过SD卡启动uboot了。
3. 编译kernel,设置其可以通过NFS挂载根文件系统
光盘中带的内核,默认不支持从NFS挂载ROOTFS。需要重新配置并编译内核。
在/opt/S5PV210/rootfs/usr/src/linux-3.0.8目录下,通过 make menuconfig 启动ncurses图形配置界面。
下面几个个内核配置项,必须选中。
复制代码
- * Networking support -> Networking options ->IP:kernel level autoconfiguration
注意,这个选项下面的 IP:DHCP support / IP:BOOTP support / IP:RARP aupport 不能选。
因为我的开发环境中没有安装 DHCP server。开发板的 IP 是在内核启动参数中指定的。
复制代码
- * File systems -> Network File System -> NFS client support
* File systems -> Network File System -> NFS client support for NFS version 3 或者 4
* File systems -> Network File System -> Root file system on NFS
将退出配置,并保存。
执行下面的命令生成 uImage 内核镜像文件,这个过程其实是先生成了 zImage ,然后调用了刚才uboot的那个 mkimage 生成 uImage。
复制代码
- make uImage
下面的LOG表明 uImage 生成了,位于 arch/arm/boot/uImage。
复制代码
- CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
Kernel: arch/arm/boot/Image is ready
SHIPPED arch/arm/boot/compressed/lib1funcs.S
AS arch/arm/boot/compressed/lib1funcs.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
UIMAGE arch/arm/boot/uImage
Image Name: Linux-3.0.8-TINY210V2+
Created: Wed Jan 23 21:10:56 2013
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3555872 Bytes = 3472.53 kB = 3.39 MB
Load Address: 20008000
Entry Point: 20008000
Image arch/arm/boot/uImage is ready
编译内核的时候,如果你使用的是 4.6以后的 gcc,需要在Makefile中添加 -mno-unaligned-access 给 KBUILD_CFLAGS 防止内核解压完以后启动不了。
复制代码
- 367 KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
368 -fno-strict-aliasing -fno-common \
369 -Werror-implicit-function-declaration \
370 -Wno-format-security \
371 -fno-delete-null-pointer-checks \
372 -mno-unaligned-access
如果你生成的内核有问题,可以试一试我的内核配置文件 my_config。
4. 开发环境安装TFTP服务器
接下来,就是要在开发环境上安装 TFTP 服务器,使开发板可以通过TFTP协议下载 uImage 这个文件。
在 ubuntu 下,可以通过下面的命令安装 TFTP 服务器,这个服务是通过 inet 监听的。
复制代码
- sudo apt-get install atftpd openbsd-inetd
安装完以后,需要配置一下 TFTP 的默认查找目录,我将其设定为 /srv/tftp:
确认 /etc/inetd.conf 文件中有如下一行:
复制代码
- #:BOOT: TFTP service is provided primarily for booting. Most sites
# run this only on machines acting as "boot servers."
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp
因为 TFTP 服务主要是给 uboot 提供内核镜像文件,为了避免每次内核编译完以后都拷贝到 /srv/tftp 目录中,
我在 /srv/tftp 目录中,建立了一个 符号文件,指向 /opt/S5PV210/rootfs/usr/src/linux-3.0.8/arch/arm/boot/uImage。
复制代码
- ln -s /opt/S5PV210/rootfs/usr/src/linux-3.0.8/arch/arm/boot/uImage /srv/tftp/uImage
可以通过下面的命令重启 inetd ,保证这个 supper服务器能够监听 TFTP 端口:
复制代码
- sudo service openbsd-inetd restart
可以通过 查看端口确认 inetd 是否真的在监听 TFTP 端口:
复制代码
- zoulz@Seagate:/tmp$ netstat -a | grep tftp
udp 0 0 *:tftp *:*
可以通过下面的命令测试一下 TFTP 服务是否正常工作:
复制代码
- zoulz@Seagate:/tmp$ tftp localhost
tftp> get uImage
Received 3578106 bytes in 0.3 seconds
5. 开发环境安装NFS服务器
接下来是配置 NFS 服务器,用于开发板上内核启动以后挂载开发环境的ROOTFS。
通过下面的命令安装 nfs 服务器:
复制代码
- sudo apt-get install nfs-kernel-server
安装完成以后,还需要修改 /etc/exports 文件,设置 NFS 共享的文件目录。我们需要将 /opt/S5PV210/rootfs 设置为NFS共享目录。
复制代码
- # Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
/opt/S5PV210/rootfs *(rw,sync,no_subtree_check,no_root_squash)
每一次修改 /etc/exports 这个文件,都需要重新启动 NFS 服务器:
复制代码
- sudo service nfs-kernel-server restart
可以通过下面的命令测试 NFS 服务器是否设置正确:
复制代码
- zoulz@Seagate:/tmp$ rm a b
zoulz@Seagate:/tmp$ mkdir /tmp/a
zoulz@Seagate:/tmp$ sudo mount -t nfs -o nolock localhost:/opt/S5PV210/rootfs /tmp/a
zoulz@Seagate:/tmp$ ls /tmp/a
bin dev etc home lib linuxrc proc root run sbin sys tmp usr var
zoulz@Seagate:/tmp$ ls /opt/S5PV210/rootfs
bin dev etc home lib linuxrc proc root run sbin sys tmp usr var
也可以通过 df 命令查看挂载情况:
复制代码
- zoulz@Seagate:/tmp$ df
Filesystem 1K-blocks Used Available Use% Mounted on
localhost:/opt/S5PV210/rootfs 125439744 36394112 89045632 30% /tmp/a
6. 目标环境设置uboot参数
注意: ubuntu 的 network manager, 如果开发板和开发环境的PC直连的话, 每次开发板哪掉电,开发环境PC会检测为网络未链接,
nm 就会将已经设置好的网卡 down 掉。这在开发板reset的时候特别讨厌,你得每次都重新去设置PC的IP地址。
因此我将桌面右上角的network manager的 Enable Networking 设置为 不选中,禁止 network manager 去管理网络。
然后在终端里通过下面的命令,将网卡设置为 192.168.1.5,这样每次开发板reset就不用再设置开发环境PC的IP了。
复制代码
- sudo ifconfig eth0 192.168.1.5
当然,如果你的开发板和开发环境PC都是链接到路由器或者HUB,就没有这个烦恼。
现在所有的东西都准备好了。将SD卡插入开发板,并调整switch,设置从SD卡启动系统。
正常情况下,就应该能够看到 uboot 的界面了( FriendlyLEG-TINY210 )了:
在 uboot 的shell中,通过 setenv 命令设置相关参数。
复制代码
- setenv baudrate 115200
setenv stderr serial
setenv stdin serial
setenv stdout serial
setenv bootdelay 3
setenv ethact dm9000
setenv ethaddr 00:40:5c:26:0a:5b
setenv gatewayip 192.168.1.1
setenv ipaddr 192.168.1.80
setenv netmask 255.255.255.0
setenv serverip 192.168.1.5
setenv bootargs root=/dev/nfs rw nfsroot=$serverip:/opt/S5PV210/rootfs,nolock,tcp ip=$ipaddr console=ttySAC0,115200 ctp=1 kgdboc=ttySAC0,115200
setenv bootcmd "tftp 21000000 uImage;bootm 21000000"
bootcmd参数中的 tftp 21000000 用于: 通过 TFTP 命令,将 192.168.1.5 的 /srv/tftp/uImage 下载到 0x21000000 这个位置。
bootcmd参数中的 bootm 21000000 用于: uboot将CPU执行权地交给 0x21000000 这个位置的内核镜像,也就是启动内核。
bootargs参数用于设置内核的启动参数,其中 root=/dev/fs rw nfsroot=$serverip:/opt/S5PV210/rootfs,nolock,tcp 告诉内核通过NFS启动,
根文件系统位于 192.168.1.5:/opt/S5PV210/rootfs
NFS 的参数为 nolock,tcp ,用于防止 udp 不稳定导致 NFS 读取NG 的情况。
ip=$ipaddr 设置开发板自身的ip地址为 192.168.1.80 。
通过 saveenv 将上面的参数写入到 SD卡中,这样就不用每次reset都输入一遍uboot的参数了。
通过 boot 命令,将CPU 执行权专递给 Kernel。
7. 制作根文件系统(optional)。
待续,busybox + toolchain。
8. 完整的启动LOG。
复制代码
- root@Seagate:/tmp# minicom /dev/ttyS0
Welcome to minicom 2.5
OPTIONS: I18n
Compiled on May 2 2011, 00:39:27.
Port /dev/ttyS0
Press CTRL-A Z for help on special keys
OKOK
U-Boot 2013.01-rc2 (Jan 07 2013 - 10:18:16) for FriendlyLEG-TINY210
CPU: S5PC110@1000MHz
Board: FriendlyLEG-TINY210
DRAM: 512 MiB
WARNING: Caches not enabled
PWM Moudle Initialized.
GPD0CON : 1111, GPD0DAT : e
NAND: 2048 MiB
MMC: SAMSUNG SD/MMC: 0, SAMSUNG SD/MMC: 1
In: serial
Out: serial
Err: serial
Net: dm9000
Hit any key to stop autoboot: 0
dm9000 i/o: 0x88001000, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 00:40:5c:26:0a:5b
operating at 100M full duplex mode
Using dm9000 device
TFTP from server 192.168.1.5; our IP address is 192.168.1.80
Filename 'uImage'.
Load address: 0x21000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#############################################
done
Bytes transferred = 3555936 (364260 hex)
## Booting kernel from Legacy Image at 21000000 ...
Image Name: Linux-3.0.8-TINY210V2+
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3555872 Bytes = 3.4 MiB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.0.8-TINY210V2+ (zoulz@Seagate) (gcc version 4.7.3 20121205 (prerelease) (crosstool-NG hg+unknown-20130103.094521 - S5PV210) ) #5 PREEMPT Wed Jan 23 10:04:06 CST 2013
[ 0.000000] CPU: ARMv7 Processor [412fc082] revision 2 (ARMv7), cr=10c53c7f
[ 0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: MINI210
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] CPU S5PV210/S5PC110 (id 0x43110220)
[ 0.000000] s5pv210_init_clocks: initializing clocks
[ 0.000000] S3C24XX Clocks, Copyright 2004 Simtec Electronics
[ 0.000000] s5pv210_setup_clocks: registering clocks
[ 0.000000] s5pv210_setup_clocks: clkdiv0 = 14131440, clkdiv1 = 00000400
[ 0.000000] s5pv210_setup_clocks: xtal is 24000000
[ 0.000000] S5PV210: PLL settings, A=1000000000, M=667000000, E=80000000 V=54000000
[ 0.000000] S5PV210: ARMCLK=1000000000, HCLKM=200000000, HCLKD=166750000
[ 0.000000] HCLKP=133400000, PCLKM=100000000, PCLKD=83375000, PCLKP=66700000
[ 0.000000] sclk_dmc: source is sclk_a2m (0), rate is 200000000
[ 0.000000] sclk_onenand: source is hclk_dsys (1), rate is 166750000
[ 0.000000] uclk1: source is mout_mpll (6), rate is 66700000
[ 0.000000] uclk1: source is mout_mpll (6), rate is 66700000
[ 0.000000] uclk1: source is mout_mpll (6), rate is 66700000
[ 0.000000] uclk1: source is mout_mpll (6), rate is 66700000
[ 0.000000] sclk_mixer: source is sclk_dac (0), rate is 54000000
[ 0.000000] sclk_fimc: source is ext_xtal (0), rate is 24000000
[ 0.000000] sclk_fimc: source is ext_xtal (0), rate is 24000000
[ 0.000000] sclk_fimc: source is ext_xtal (0), rate is 24000000
[ 0.000000] sclk_cam0: source is ext_xtal (0), rate is 24000000
[ 0.000000] sclk_cam1: source is ext_xtal (0), rate is 24000000
[ 0.000000] sclk_fimd: source is ext_xtal (0), rate is 24000000
[ 0.000000] sclk_mmc: source is mout_mpll (6), rate is 47642857
[ 0.000000] sclk_mmc: source is mout_mpll (6), rate is 47642857
[ 0.000000] sclk_mmc: source is mout_epll (7), rate is 80000000
[ 0.000000] sclk_mmc: source is mout_epll (7), rate is 80000000
[ 0.000000] sclk_mfc: source is sclk_a2m (0), rate is 200000000
[ 0.000000] sclk_g2d: source is sclk_a2m (0), rate is 200000000
[ 0.000000] sclk_g3d: source is sclk_a2m (0), rate is 200000000
[ 0.000000] sclk_csis: source is ext_xtal (0), rate is 24000000
[ 0.000000] sclk_spi: source is ext_xtal (0), rate is 24000000
[ 0.000000] sclk_spi: source is ext_xtal (0), rate is 24000000
[ 0.000000] sclk_pwi: source is ext_xtal (0), rate is 24000000
[ 0.000000] sclk_pwm: source is ext_xtal (0), rate is 24000000
[ 0.000000] s5p: 36864 kbytes system memory reserved for mfc at 0x3dbf5000, 0-bank base(0x3dbf5000)
[ 0.000000] s5p: 36864 kbytes system memory reserved for mfc at 0x3b7f5000, 1-bank base(0x00000000)
[ 0.000000] s5p: 6144 kbytes system memory reserved for fimc0 at 0x3b1f5000, 1-bank base(0x00000000)
[ 0.000000] s5p: 16 kbytes system memory reserved for fimc1 at 0x3b1f1000, 1-bank base(0x00000000)
[ 0.000000] s5p: 6144 kbytes system memory reserved for fimc2 at 0x3abf1000, 1-bank base(0x00000000)
[ 0.000000] s5p: 8192 kbytes system memory reserved for jpeg at 0x3a3f1000, 0-bank base(0x3a3f1000)
[ 0.000000] s5p: 13060 kbytes system memory reserved for fimd at 0x39730000, 1-bank base(0x00000000)
[ 0.000000] s5p: 8192 kbytes system memory reserved for g2d at 0x38f30000, 0-bank base(0x38f30000)
[ 0.000000] On node 0 totalpages: 102203
[ 0.000000] Normal zone: 1024 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 101179 pages, LIFO batch:31
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 101179
[ 0.000000] Kernel command line: root=/dev/nfs rw nfsroot=192.168.1.5:/opt/S5PV210/rootfs,nolock,tcp ip=192.168.1.80 console=ttySAC0,115200 ctp=1 kgdboc=ttySAC0,115200
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Memory: 399MB 0MB = 399MB total
[ 0.000000] Memory: 396940k/512416k available, 11872k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] DMA : 0xff000000 - 0xffe00000 ( 14 MB)
[ 0.000000] vmalloc : 0xe0800000 - 0xfd000000 ( 456 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .init : 0xc0008000 - 0xc002d000 ( 148 kB)
[ 0.000000] .text : 0xc002d000 - 0xc06911ec (6545 kB)
[ 0.000000] .data : 0xc0692000 - 0xc06d9c40 ( 288 kB)
[ 0.000000] .bss : 0xc06d9c64 - 0xc071e000 ( 273 kB)
[ 0.000000] SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] NR_IRQS:393
[ 0.000000] VIC @fd000000: id 0x00041192, vendor 0x41
[ 0.000000] VIC @fd010000: id 0x00041192, vendor 0x41
[ 0.000000] VIC @fd020000: id 0x00041192, vendor 0x41
[ 0.000000] VIC @fd030000: id 0x00041192, vendor 0x41
[ 0.000000] mult[140737]
[ 0.000000] max_delta_ns[2937815369]
[ 0.000000] min_delta_ns[30517]
[ 0.000000] rate[32768]
[ 0.000000] HZ[256]
[ 0.000000] Console: colour dummy device 80x30
[ 0.000000] console [ttySAC0] enabled
[ 0.491824] Calibrating delay loop... 994.84 BogoMIPS (lpj=1941504)
[ 0.515576] pid_max: default: 32768 minimum: 301
[ 0.515827] Mount-cache hash table entries: 512
[ 0.516312] Initializing cgroup subsys debug
[ 0.516362] Initializing cgroup subsys cpuacct
[ 0.516419] Initializing cgroup subsys freezer
[ 0.520295] CPU: Testing write buffer coherency: ok
[ 0.530660] print_constraints: dummy:
[ 0.530949] NET: Registered protocol family 16
[ 0.549032] S3C Power Management, Copyright 2004 Simtec Electronics
[ 0.565355] fimd at 0x39730000
[ 0.565467] hsmmc0: sclk_mmc: source is mout_mpll, rate is 47642857
[ 0.565534] hsmmc1: sclk_mmc: source is mout_mpll, rate is 47642857
[ 0.565594] hsmmc2: sclk_mmc: source is mout_mpll, rate is 47642857
[ 0.565654] hsmmc3: sclk_mmc: source is mout_mpll, rate is 47642857
[ 0.573248] S5PV210: Initializing architecture
[ 0.577794] s3c-adc s5pv210-adc: attached adc driver
[ 0.581035] s3c24xx-pwm s3c24xx-pwm.0: tin at 66700000, tdiv at 66700000, tin=divclk, base 0
[ 0.590202] print_constraints: pd_tv_supply: 5000 mV normal
[ 0.595088] print_constraints: pd_lcd_supply: 5000 mV normal
[ 0.600797] print_constraints: pd_g3d_supply: 5000 mV normal
[ 0.606515] print_constraints: pd_mfc_supply: 5000 mV normal
[ 0.612256] print_constraints: pd_audio_supply: 5000 mV normal
[ 0.679867] bio: create slab <bio-0> at 0
[ 0.682650] SCSI subsystem initialized
[ 0.688076] usbcore: registered new interface driver usbfs
[ 0.688866] usbcore: registered new interface driver hub
[ 0.689384] usbcore: registered new device driver usb
[ 0.690919] s3c-i2c s3c2440-i2c.0: slave address 0x10
[ 0.690978] s3c-i2c s3c2440-i2c.0: bus frequency set to 378 KHz
[ 0.694312] s3c-i2c s3c2440-i2c.0: i2c-0: S3C I2C adapter
[ 0.698209] s3c-i2c s3c2440-i2c.1: slave address 0x10
[ 0.703096] s3c-i2c s3c2440-i2c.1: bus frequency set to 65 KHz
[ 0.709538] s3c-i2c s3c2440-i2c.1: i2c-1: S3C I2C adapter
[ 0.714317] s3c-i2c s3c2440-i2c.2: slave address 0x10
[ 0.719208] s3c-i2c s3c2440-i2c.2: bus frequency set to 260 KHz
[ 0.726196] s3c-i2c s3c2440-i2c.2: i2c-2: S3C I2C adapter
[ 0.732195] Advanced Linux Sound Architecture Driver Version 1.0.24.
[ 0.737949] Bluetooth: Core ver 2.16
[ 0.740770] NET: Registered protocol family 31
[ 0.744847] Bluetooth: HCI device and connection manager initialized
[ 0.751091] Bluetooth: HCI socket layer initialized
[ 0.755912] Bluetooth: L2CAP socket layer initialized
[ 0.760971] Bluetooth: SCO socket layer initialized
[ 0.766890] cfg80211: Calling CRDA to update world regulatory domain
[ 0.773644] Switching to clocksource clock_source_systimer
[ 0.781205] Switched to NOHz mode on CPU #0
[ 0.814450] NET: Registered protocol family 2
[ 0.814719] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.815436] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
[ 0.815751] TCP bind hash table entries: 16384 (order: 6, 327680 bytes)
[ 0.817762] TCP: Hash tables configured (established 16384 bind 16384)
[ 0.823843] TCP reno registered
[ 0.826926] UDP hash table entries: 256 (order: 1, 12288 bytes)
[ 0.832817] UDP-Lite hash table entries: 256 (order: 1, 12288 bytes)
[ 0.839450] NET: Registered protocol family 1
[ 0.843904] RPC: Registered named UNIX socket transport module.
[ 0.849390] RPC: Registered udp transport module.
[ 0.854022] RPC: Registered tcp transport module.
[ 0.858686] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.865330] PMU: registered new PMU device of type 0
[ 0.870717] cpuidle: phy_regs_save:0x389ff000
[ 0.874682] Loaded driver for PL330 DMAC-0 s3c-pl330
[ 0.879385] DBUFF-64x8bytes Num_Chans-8 Num_Peri-2 Num_Events-32
[ 0.885545] Loaded driver for PL330 DMAC-1 s3c-pl330
[ 0.890354] DBUFF-8x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32
[ 0.896527] Loaded driver for PL330 DMAC-2 s3c-pl330
[ 0.901343] DBUFF-8x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32
[ 0.916582] ashmem: initialized
[ 0.948580] ROMFS MTD (C) 2007 Red Hat, Inc.
[ 0.949199] yaffs: yaffs built Jan 21 2013 17:12:49 Installing.
[ 0.949318] msgmni has been set to 775
[ 0.952233] io scheduler noop registered
[ 0.952280] io scheduler deadline registered
[ 0.952505] io scheduler cfq registered (default)
[ 0.953022] start plist test
[ 0.964738] end plist test
[ 0.965544] s3cfb s3cfb: win 2: pmem_start=0x39b95000
[ 0.965600] s3cfb s3cfb: [fb2] dma: 0x39b95000, cpu: 0xe1000000, size: 0x0085c000
[ 0.980388] FIMD src sclk = 166750000
[ 0.980503] s3cfb s3cfb: registered successfully
[ 0.999445] s5pv210-uart.0: ttySAC0 at MMIO 0xe2900000 (irq = 16) is a S3C6400/10
[ 1.004497] s5pv210-uart.1: ttySAC1 at MMIO 0xe2900400 (irq = 20) is a S3C6400/10
[ 1.012278] s5pv210-uart.2: ttySAC2 at MMIO 0xe2900800 (irq = 24) is a S3C6400/10
[ 1.020063] s5pv210-uart.3: ttySAC3 at MMIO 0xe2900c00 (irq = 28) is a S3C6400/10
[ 1.028139] kgdb: Registered I/O driver kgdboc.
[ 1.029336] leds initialized
[ 1.029853] pwm initialized
[ 1.030397] mini210-adc initialized
[ 1.031294] backlight initialized
[ 1.033368] PA FB = 0x39B95000, bits per pixel = 32
[ 1.033419] screen width=800 height=480 va=0xd9b95000 pa=0x39b95000
[ 1.037300] xres_virtual = 800, yres_virtual = 1440, xoffset = 0, yoffset = 0
[ 1.044271] fb_size=8765440
[ 1.046967] Back frameBuffer[0].VAddr=d9d0c000 PAddr=39d0c000 size=1536000
[ 1.053883] Back frameBuffer[1].VAddr=d9e83000 PAddr=39e83000 size=1536000
[ 1.060711] Video Y Buffer[0].VAddr=d9ffa000 PAddr=39ffa000 size=921600
[ 1.067274] Video Y Buffer[1].VAddr=da0db000 PAddr=3a0db000 size=921600
[ 1.073853] Video Y Buffer[2].VAddr=da1bc000 PAddr=3a1bc000 size=921600
[ 1.080435] Video UV Buffer[0].VAddr=da29d000 PAddr=3a29d000 size=462848
[ 1.087114] Video UV Buffer[1].VAddr=da30e000 PAddr=3a30e000 size=462848
[ 1.093781] Video UV Buffer[2].VAddr=da37f000 PAddr=3a37f000 size=462848
[ 1.116968] brd: module loaded
[ 1.125950] loop: module loaded
[ 1.129049] S3C NAND Driver, (c) 2008 Samsung Electronics
[ 1.232765] MLC nand initialized, 2012 ported by FriendlyARM
[ 1.232829] S3C NAND Driver is using hardware ECC.
[ 1.232908] NAND device: Manufacturer ID: 0xec, Chip ID: 0xd5 (Samsung NAND 2GiB 3,3V 8-bit)
[ 1.232996] Creating 5 MTD partitions on "s5pv210-nand":
[ 1.234619] 0x0000000c0000-0x000000100000 : "misc"
[ 1.241942] 0x000000100000-0x000000600000 : "recovery"
[ 1.247967] 0x000000600000-0x000000b00000 : "kernel"
[ 1.252719] 0x000000b00000-0x000000e00000 : "ramdisk"
[ 1.257397] 0x000000e00000-0x000080000000 : "system"
[ 1.599156] PPP generic driver version 2.4.2
[ 1.600049] PPP Deflate Compression module registered
[ 1.600107] PPP BSD Compression module registered
[ 1.601243] PPP MPPE Compression module registered
[ 1.601298] NET: Registered protocol family 24
[ 1.601345] tun: Universal TUN/TAP device driver, 1.6
[ 1.605267] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[ 1.611828] dm9000 Ethernet Driver, V1.31
[ 1.616853] eth0: dm9000a at e0838000,e083c00c IRQ 39 MAC: 00:40:5c:26:0a:5b (chip)
[ 1.623722] usbcore: registered new interface driver ath9k_htc
[ 1.629099] sdhci: Secure Digital Host Controller Interface driver
[ 1.634953] sdhci: Copyright(c) Pierre Ossman
[ 1.639317] s3c-sdhci s3c-sdhci.0: clock source 0: hsmmc (133400000 Hz)
[ 1.645807] s3c-sdhci s3c-sdhci.0: clock source 2: sclk_mmc (47642857 Hz)
[ 1.652605] mmc0: no vmmc regulator found
[ 1.656922] Registered led device: mmc0::
[ 1.661006] mmc0: SDHCI controller on samsung-hsmmc [s3c-sdhci.0] using ADMA
[ 1.667701] s3c-sdhci s3c-sdhci.1: clock source 0: hsmmc (133400000 Hz)
[ 1.674146] s3c-sdhci s3c-sdhci.1: clock source 2: sclk_mmc (47642857 Hz)
[ 1.682986] mmc1: no vmmc regulator found
[ 1.685346] Registered led device: mmc1::
[ 1.689318] mmc1: SDHCI controller on samsung-hsmmc [s3c-sdhci.1] using ADMA
[ 1.699252] s3c-sdhci s3c-sdhci.2: clock source 0: hsmmc (133400000 Hz)
[ 1.702486] s3c-sdhci s3c-sdhci.2: clock source 2: sclk_mmc (47642857 Hz)
[ 1.709288] mmc2: no vmmc regulator found
[ 1.715636] Registered led device: mmc2::
[ 1.717615] mmc2: SDHCI controller on samsung-hsmmc [s3c-sdhci.2] using ADMA
[ 1.724348] s3c-sdhci s3c-sdhci.3: clock source 0: hsmmc (133400000 Hz)
[ 1.730824] s3c-sdhci s3c-sdhci.3: clock source 2: sclk_mmc (47642857 Hz)
[ 1.740810] mmc3: no vmmc regulator found
[ 1.741967] Registered led device: mmc3::
[ 1.746035] mmc3: SDHCI controller on samsung-hsmmc [s3c-sdhci.3] using ADMA
[ 1.752951] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.761432] s5p-ehci s5p-ehci: S5P EHCI Host Controller
[ 1.764380] s5p-ehci s5p-ehci: new USB bus registered, assigned bus number 1
[ 1.771406] s5p-ehci s5p-ehci: irq 87, io mem 0xec200000
[ 1.789533] s5p-ehci s5p-ehci: USB 0.0 started, EHCI 1.00
[ 1.790770] hub 1-0:1.0: USB hub found
[ 1.790847] hub 1-0:1.0: 1 port detected
[ 1.791927] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.798054] s5p-ohci s5p-ohci: EXYNOS OHCI Host Controller
[ 1.801174] s5p-ohci s5p-ohci: new USB bus registered, assigned bus number 2
[ 1.808229] s5p-ohci s5p-ohci: irq 87, io mem 0xec300000
[ 1.872876] hub 2-0:1.0: USB hub found
[ 1.872960] hub 2-0:1.0: 1 port detected
[ 1.874844] usbcore: registered new interface driver usbserial
[ 1.874907] usbserial: USB Serial Driver core
[ 1.874948] Initializing USB Mass Storage driver...
[ 1.878576] usbcore: registered new interface driver usb-storage
[ 1.879346] USB Mass Storage support registered.
[ 1.884519] s3c-udc : S3C HS USB Device Controller Driver, (c) 2008-2009 Samsung Electronics
[ 1.884530] s3c-udc : version 15 March 2009 (DMA Mode)
[ 1.906446] android_usb gadget: Mass Storage Function, version: 2009/09/11
[ 1.906517] android_usb gadget: Number of LUNs=1
[ 1.908906] lun0: LUN: removable file: (no medium)
[ 1.917974] android_usb gadget: android_usb ready
[ 1.935143] Registered gadget driver 'android_usb'
[ 1.936127] mousedev: PS/2 mouse device common for all mice
[ 1.937682] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[ 1.939892] touchscreen-1wire initialized
[ 1.939941] backlight-1wire initialized
[ 1.943390] setup_irq: ret = 0
[ 1.949344] PWM clock = 66700000
[ 1.949382] TCNT_FOR_SAMPLE_BIT = 433, TCFG1 = 00010000
[ 1.955703] input: fa_ts_input as /devices/virtual/input/input1
[ 1.962284] ts-if initialized
[ 1.964422] S3C24XX RTC, (c) 2004,2006 Simtec Electronics
[ 1.969103] s3c-rtc s3c64xx-rtc: rtc disabled, re-enabling
[ 1.976461] s3c-rtc s3c64xx-rtc: rtc disabled, re-enabling
[ 1.979792] s3c-rtc s3c64xx-rtc: rtc disabled, re-enabling
[ 1.985189] s3c-rtc s3c64xx-rtc: rtc disabled, re-enabling
[ 1.990673] s3c-rtc s3c64xx-rtc: rtc disabled, re-enabling
[ 2.000583] using rtc device, s3c, for alarms
[ 2.000695] s3c-rtc s3c64xx-rtc: rtc core: registered s3c as rtc0
[ 2.007003] i2c /dev entries driver
[ 2.012407] Linux video capture interface: v2.00
[ 2.014907] gspca: v2.13.0 registered
[ 2.018650] usbcore: registered new interface driver zc3xx
[ 2.023604] mfc_init: <6>S5PC110 MFC Driver, (c) 2009 Samsung Electronics
[ 2.023610]
[ 2.035622] S3C JPEG Driver, (c) 2007 Samsung Electronics
[ 2.037195] JPEG driver for S5PV210
[ 2.041789] i2c i2c-1: attached s5p_ddc into i2c adapter successfully
[ 2.047438] S5PC11X HPD Driver, (c) 2010 Samsung Electronics
[ 2.053696] S5PC11X CEC Driver, (c) 2010 Samsung Electronics
[ 2.060876] usbcore: registered new interface driver uvcvideo
[ 2.064060] USB Video Class driver (v1.1.0)
[ 2.110690] input: mma7660 as /devices/platform/s3c2440-i2c.0/i2c-0/0-004c/input/input2
[ 2.111368] mma7660 0-004c: MMA7660 device is probed successfully.
[ 2.111789] i2c-core: driver [mma7660] using legacy suspend method
[ 2.111853] i2c-core: driver [mma7660] using legacy resume method
[ 2.114800] MMA7660 sensor driver registered.
[ 2.119136] S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
[ 2.125786] s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled
[ 2.134915] device-mapper: uevent: version 1.0.3
[ 2.138459] device-mapper: ioctl: 4.20.0-ioctl (2011-02-02) initialised: dm-devel@redhat.com
[ 2.145779] Bluetooth: HCI UART driver ver 2.2
[ 2.150063] Bluetooth: HCI H4 protocol initialized
[ 2.154842] Bluetooth: HCI BCSP protocol initialized
[ 2.159764] Bluetooth: HCILL protocol initialized
[ 2.164444] Bluetooth: HCIATH3K protocol initialized
[ 2.169384] Bluetooth: Generic Bluetooth USB driver ver 0.6
[ 2.175389] usbcore: registered new interface driver btusb
[ 2.180717] cpuidle: using governor ladder
[ 2.185080] cpuidle: using governor menu
[ 2.208617] usbcore: registered new interface driver usbhid
[ 2.208677] usbhid: USB HID core driver
[ 2.211671] ALSA device list:
[ 2.211711] No soundcards found.
[ 2.211742] oprofile: hardware counters not available
[ 2.211784] oprofile: using timer interrupt.
[ 2.214112] TCP cubic registered
[ 2.216531] NET: Registered protocol family 17
[ 2.220996] NET: Registered protocol family 15
[ 2.225725] Bluetooth: RFCOMM TTY layer initialized
[ 2.230259] Bluetooth: RFCOMM socket layer initialized
[ 2.235331] Bluetooth: RFCOMM ver 1.11
[ 2.239059] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 2.244356] Bluetooth: BNEP filters: protocol multicast
[ 2.249546] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 2.255892] NET: Registered protocol family 35
[ 2.260125] lib80211: common routines for IEEE802.11 drivers
[ 2.265489] lib80211_crypt: registered algorithm 'NULL'
[ 2.270687] Registering the dns_resolver key type
[ 2.275418] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 2
[ 2.282994] ThumbEE CPU extension supported.
[ 2.287734] s5pv210_cpufreq_init: S5PV210 cpu-freq driver
[ 2.294262] regulator_init_complete: pd_mfc_supply: disabling
[ 2.298338] regulator_init_complete: pd_tv_supply: disabling
[ 2.304023] s3c-rtc s3c64xx-rtc: rtc disabled, re-enabling
[ 2.309451] s3c-rtc s3c64xx-rtc: setting system clock to 2013-01-23 10:13:49 UTC (1358936029)
[ 2.323559] FIMC0 registered successfully
[ 2.325558] FIMC1 registered successfully
[ 2.327653] FIMC2 registered successfully
[ 2.330330] S5PC1XX TVOUT Driver, (c) 2009 Samsung Electronics
[ 2.336619] s5p-tvout s5p-tvout: hpd status is cable removed
[ 2.371581] usb 1-1: new high speed USB device number 2 using s5p-ehci
[ 2.383306] dm9000 dm9000: eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
[ 2.398891] IP-Config: Guessing netmask 255.255.255.0
[ 2.399198] IP-Config: Complete:
[ 2.399239] device=eth0, addr=192.168.1.80, mask=255.255.255.0, gw=255.255.255.255,
[ 2.399315] host=192.168.1.80, domain=, nis-domain=(none),
[ 2.399365] bootserver=255.255.255.255, rootserver=192.168.1.5, rootpath=
[ 2.502828] hub 1-1:1.0: USB hub found
[ 2.503021] hub 1-1:1.0: 4 ports detected
[ 2.653901] VFS: Mounted root (nfs filesystem) on device 0:13.
[ 2.654047] Freeing init memory: 148K
[ 5.735512] s3c-rtc s3c64xx-rtc: rtc disabled, re-enabling
Please press Enter to activate this console.
[ 6.200469] udevd[876]: starting version 175
[root@FA-HF /]#
[ 12.817109] vo_open::check tvout start !!
[ 12.821308] vo_open::check tvout start !!
0 0
- 利用uboot启动远程Kernel(TFTP)以及挂载远程ROOTFS(NFS)
- 利用uboot启动远程Kernel(TFTP)以及挂载远程ROOTFS(NFS)
- 利用uboot启动远程Kernel(TFTp)
- 移植5- uboot之tftp启动kernel
- Linux上利用NFS实现远程挂载
- linux远程安装DHCP+TFTP+NFS
- linux远程挂载(NFS)
- 挂载远程文件系统nfs
- 利用nfs调试rootfs
- qtopia的nfs远程启动
- NFS挂载远程共享(1)
- NFS挂载远程共享(2)
- 配置nfs远程目录挂载小记
- Uboot启动参数说明及nfs命令行挂载启动
- sd卡烧写嵌入式uboot/kernel及rootfs
- arm-linux-uboot-kernel-rootfs移植
- 驱动开发环境搭建-uboot,kernel,rootfs
- rootfs 挂载及启动
- VLfeat win10 vs2015 编译
- 基础碰撞检测01
- 加密(MD5加密和HAMC加密)
- MFC实现多界面切换
- STM32 GPIO管脚模式的设置及使用方法
- 利用uboot启动远程Kernel(TFTP)以及挂载远程ROOTFS(NFS)
- 安卓 集成环信EaseUI导致V4jar包冲突
- Dialog对话框
- Maven简介
- CentOS6.2操作的一些内容积累
- 写入mysql数据库
- windows端使用ssh和Xming远程连接ubuntu端调试ROS
- 17.3.23 Resampling wheel 算法
- python 各种安装包合集