本文主要是介绍TQ335X开发板内核3.17.2移植和busybox移植,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
硬件平台:TQ335X_BOARD_V2.1
软件环境:VMWARE10+UBUNTU14.04
KERNEL:3.17.2
Busybox:1.20
参考
http://blog.csdn.net/girlkoo/article/details/41223733
http://blog.csdn.net/girlkoo/article/details/8719828
一、内核移植
老式的u-boot使用ATAGS的方式启动linux内核,本文使用新式的dtb方式启动内核。
我使用的内核是linux-3.17.2版本,下面开始编译内核。
(1) 解压内核
- tar jxf linux-3.17.2.tar.bz2
- make ARCH=arm omap2plus_defconfig
(3)编译内核:
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
(4)编译dtb:
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x-evm.dtb
将SD格式化为FAT系统,将MLO、u-boot.img拷贝到根目录下。
在根目录下创建boot目录,将编译好的zImage和am335x-evm.dtb拷贝到该目录下。
二、busybox制作ramdisk文件系统
(1)创建根文件系统目录结构,可以使用如下脚本:
- #!/bin/sh
- echo "------Create rootfs directons start...--------"
- mkdir rootfs
- cd rootfs
- echo "--------Create root,dev....----------"
- mkdir root dev etc boot tmp var sys proc lib mnt home usr
- mkdir etc/init.d etc/rc.d etc/sysconfig
- mkdir usr/sbin usr/bin usr/lib usr/modules
- echo "make node in dev/console dev/null"
- sudo mknod -m 600 dev/console c 5 1
- sudo mknod -m 600 dev/null c 1 3
- mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/temp
- mkdir var/lib var/lock var/run var/tmp
- chmod 1777 tmp
- chmod 1777 var/tmp
- echo "-------make direction done---------"
在这里我将脚本命名为mkrootfs.sh,接下来给脚本加可执行权限(即chmod a+x mkrootfs)并运行脚本。我的脚本是在~/work目录下运行的,所以我的根文件系统的根目录为~/work/rootfs,后面均以该目录为例阐述。
(2)编译Busybox
到Busybox下载最新版的Busybox源码,我是用的是1.20.0版本,下载完后解压并进入busybox目录,首先是配置busybox
- make menuconfig
配置菜单跟配置内核时的差不多,依次进入Busybox Settings => Build Options => Cross Compiler prefix (NEW),设置为编译器的前缀,我的是arm-linux-。网上有些朋友还推荐选择Busybox Settings => Build Options => Build BusyBox as a static binary (no shared libs),但是如果我们正确拷贝编译器了运行库的话,不设置也可以。现在可以编译Busybox了,执行
- make
编译过程很顺利,我这里没有遇到任何错误,接下来将编译好的Busybox安装到~/work/rootfs就可以了,执行
- make CONFIG_PREFIX=~/work/rootfs install
(3)构建etc目录
在etc目录下创建Inittab文件,内容如下
- ::sysinit:/etc/init.d/rcS
- console::askfirst:-/bin/sh
- ::restart:/sbin/init
- ::ctrlaltdel:/sbin/reboot
- ::shutdown:/bin/umount -a -r
- ::shutdown:/sbin/swapoff -a
在etc/init.d/目录下创建rcS文件,内容如下
- echo "----------mount all.........."
- mount -a
- echo "----------Starting mdev......"
- echo /sbin/mdev > /proc/sys/kernel/hotplug
- mdev -s
- /bin/hostname -F /etc/sysconfig/HOSTNAME
为inittab和rcS文件添加可执行权限
- chmod a+x inittab
- chmod a+x rcS
在etc目录下创建fstab文件,内容如下
- #evice mount-point type option dump fsck order
- proc /proc proc defaults 0 0
- none /tmp ramfs defaults 0 0
- mdev /dev ramfs defaults 0 0
- sysfs /sys sysfs defaults 0 0
在etc目录下创建profile文件,内容如下
- PATH=/bin:/sbin:/usr/bin:/usr/sbin
- export PATH
- #set hostname
- HOSTNAME='/bin/hostname'
- export HOSTNAME
- # Set PS1
- PS1='[\u@\h \W]\$'
- export PS1
(4) 设置HOSTNAME文件
在etc/sysconfig目录下创建HOSTNAME文件,在文件中写入主机名,我这里写的是tq335x。
(5)制作ramdisk
制作ramdisk的方式很多,最方便的是使用指令genext2fs。ubuntu操作系统上可以通过apt-get工具直接安装genext2fs工具:
- sudo apt-get install genext2fs
- genext2fs -b 4096 -d rootfs/ ramdisk
4096可以改成2^N,建议不要太大
然后使用gzip命令压缩ramdisk:
- gzip -9 -f ramdisk
由于u-boot启动内核使用的ramdisk需要有u-boot的image头,故需要使用编译u-boot时生成的工具mkimage将ramdisk.gz制作为ramdisk.img。其中,工具mkimage位于u-boot的tools目录下,制作ramdisk.img的指令如下:
- u-boot-2015.07/tools/mkimage -A arm -O linux -T ramdisk -C none -a 0x88080000 -n "ramdisk" -d ramdisk.gz ramdisk.img
这样,就完成了u-boot可以使用的ramdisk制作,然后将ramdisk.img拷贝到SD卡的boot目录下即可。
(6)挂载ramdisk
老式的ATAGS方式启动内核时使用ATAG传递bootargs给内核,由于本文使用的dtb方式启动内核,故采取dtb的chosen方式传递bootargs给内核。
Step1: 修改内核配置
- make ARCH=arm menuconfig
- Boot options --->
- [ ] Use appended device tree blob to zImage (EXPERIMENTAL)
按ESC保存配置后退出menuconfig画面,重新编译内核:
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8
切换到内核目录arch/arm/boot/dts/,拷贝am335x-evm.dts为tq335x.dts:
- cp am335x-evm.dts tq335x.dts
- memory {
- device_type = "memory";
- reg = <0x80000000 0x20000000>; /* 512 MB */
- };
- chosen {
- bootargs = "console=ttyO0,115200n8 root=/dev/ram0";
- };
- ...
接下来重新编译dtb:
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- tq335x.dtb
Step3:使用新制作的ramdisk.img和tq335x.dtb启动内核
将SD插到开发板上,给开发板上电(开发板切换到SD卡启动模式),可以通过按任意键打断内核启动进入u-boot命令模式(由于之前没有配置u-boot的bootcmd环境变量,而默认的u-boot环境无法启动内核,故,开发板上电后不按键的话也会进入u-boot的命令行模式)。
首先是加载内核到DRAM:
- load mmc 0 ${loadaddr} /boot/zImage
然后是加载dtb到DRAM:
- load mmc 0 ${fdtaddr} /boot/tq335x.dtb
接下来加载ramdisk到DRAM:
- load mmc 0 ${rdaddr} /boot/ramdisk.img
最后就是将ramdisk和dtb的加载地址作为参数启动内核:
- bootz ${loadaddr} ${rdaddr} ${fdtaddr}
启动Log如下:
三、启动
(1)u-boot命令行启动Linux内核
- setenv bootargs 'console=ttyO0,115200n8 root=/dev/ram0'
- load mmc 0 0x82000000 /boot/zImage
- load mmc 0 0x88000000 /boot/tq335x.dtb
- load mmc 0 0x88080000 /boot/ramdisk.img
- bootz 0x82000000 0x88080000 0x88000000
U-Boot 2015.07 (May 31 2016 - 20:18:36 +0800)Watchdog enabled
I2C: ready
DRAM: 512 MiB
NAND: 1024 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
Net: cpsw, usb_ether
Hit any key to stop autoboot: 0
WARNING: Could not determine device tree to use
Card did not respond to voltage select!
SD/MMC found on device 1
Card did not respond to voltage select!
** Bad device mmc 1 **
Card did not respond to voltage select!
** Bad device mmc 1 **
Card did not respond to voltage select!
** Bad device mmc 1 **
Card did not respond to voltage select!
SD/MMC found on device 1
Card did not respond to voltage select!
** Bad device mmc 1 **
Card did not respond to voltage select!
** Bad device mmc 1 **
Card did not respond to voltage select!
** Bad device mmc 1 **
Booting from nand ...NAND read: incorrect device type in u-boot-spl-osNAND read: incorrect device type in kernel
Bad Linux ARM zImage magic!
U-Boot# setenv bootargs 'console=ttyO0,115200n8 root=/dev/ram0';
U-Boot# load mmc 0 0x82000000 /boot/zImage;
4370192 bytes read in 242 ms (17.2 MiB/s)
U-Boot# load mmc 0 0x88000000 /boot/tq335x.dtb;
34781 bytes read in 9 ms (3.7 MiB/s)
U-Boot# load mmc 0 0x88080000 /boot/ramdisk.img;
967070 bytes read in 59 ms (15.6 MiB/s)
U-Boot# bootz 0x82000000 0x88080000 0x88000000
Kernel image @ 0x82000000 [ 0x000000 - 0x42af10 ]
## Loading init Ramdisk from Legacy Image at 88080000 ...Image Name: ramdiskCreated: 2016-05-31 8:15:53 UTCImage Type: ARM Linux RAMDisk Image (uncompressed)Data Size: 967006 Bytes = 944.3 KiBLoad Address: 88080000Entry Point: 88080000Verifying Checksum ... OK
## Flattened Device Tree blob at 88000000Booting using the fdt blob at 0x88000000Loading Ramdisk to 8ff13000, end 8ffff15e ... OKLoading Device Tree to 8ff07000, end 8ff127dc ... OKStarting kernel ...[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 3.17.2 (stephen@ubuntu) (gcc version 4.9.3 20150413 (prerelease) (Linaro GCC 4.9-2015.05) ) #3 SMP Tue May 31 14:47:26 CST 2016
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instructio n cache
[ 0.000000] Machine model: TI AM335x EVM
[ 0.000000] cma: Reserved 16 MiB at 9e800000
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] HighMem zone: 1048574 pages exceeds freesize 0
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] AM335X ES2.1 (sgx neon )
[ 0.000000] PERCPU: Embedded 9 pages/cpu @dfa9a000 s14336 r8192 d14336 u36864
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pag es: 129792
[ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/ram0
[ 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: 483808K/523264K available (5697K kernel code, 646K rwdata , 2208K rodata, 406K init, 8210K bss, 39456K reserved, 0K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xffe00000 (2048 kB)
[ 0.000000] vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc07c096c (7907 kB)
[ 0.000000] .init : 0xc07c1000 - 0xc0826800 ( 406 kB)
[ 0.000000] .data : 0xc0828000 - 0xc08c9b08 ( 647 kB)
[ 0.000000] .bss : 0xc08c9b08 - 0xc10ce690 (8211 kB)
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrup ts
[ 0.000000] Total of 128 interrupts on 1 active controller
[ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz
[ 0.000014] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 17895 6969942ns
[ 0.000059] OMAP clocksource: timer1 at 24000000 Hz
[ 0.000758] Console: colour dummy device 80x30
[ 0.000807] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[ 0.000816] ... MAX_LOCKDEP_SUBCLASSES: 8
[ 0.000823] ... MAX_LOCK_DEPTH: 48
[ 0.000830] ... MAX_LOCKDEP_KEYS: 8191
[ 0.000837] ... CLASSHASH_SIZE: 4096
[ 0.000844] ... MAX_LOCKDEP_ENTRIES: 32768
[ 0.000851] ... MAX_LOCKDEP_CHAINS: 65536
[ 0.000859] ... CHAINHASH_SIZE: 32768
[ 0.000866] memory used by lock dependency info: 5167 kB
[ 0.000873] per task-struct memory footprint: 1152 bytes
[ 0.000915] Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)
[ 0.079099] pid_max: default: 32768 minimum: 301
[ 0.079476] Security Framework initialized
[ 0.079598] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.079612] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.081757] CPU: Testing write buffer coherency: ok
[ 0.082896] CPU0: thread -1, cpu 0, socket -1, mpidr 0
[ 0.083017] Setting up static identity map for 0x8056ef90 - 0x8056f000
[ 0.086163] Brought up 1 CPUs
[ 0.086183] SMP: Total of 1 processors activated.
[ 0.086194] CPU: All CPU(s) started in SVC mode.
[ 0.088748] devtmpfs: initialized
[ 0.097390] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 0.133743] omap_hwmod: tptc0 using broken dt data from edma
[ 0.134103] omap_hwmod: tptc1 using broken dt data from edma
[ 0.134444] omap_hwmod: tptc2 using broken dt data from edma
[ 0.142408] omap_hwmod: debugss: _wait_target_disable failed
[ 0.200207] pinctrl core: initialized pinctrl subsystem
[ 0.202672] regulator-dummy: no parameters
[ 0.232113] NET: Registered protocol family 16
[ 0.240467] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.242559] cpuidle: using governor ladder
[ 0.242583] cpuidle: using governor menu
[ 0.254378] OMAP GPIO hardware version 0.1
[ 0.269479] omap-gpmc 50000000.gpmc: could not find pctldev for node /pinmux@ 44e10800/nandflash_pins_s0, deferring probe
[ 0.269521] platform 50000000.gpmc: Driver omap-gpmc requests probe deferral
[ 0.274008] No ATAGs?
[ 0.274038] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.316701] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
[ 0.318009] vbat: 5000 mV
[ 0.318759] lis3_reg: no parameters
[ 0.322094] SCSI subsystem initialized
[ 0.322897] usbcore: registered new interface driver usbfs
[ 0.323077] usbcore: registered new interface driver hub
[ 0.326563] usbcore: registered new device driver usb
[ 0.327392] omap_i2c 44e0b000.i2c: could not find pctldev for node /pinmux@44 e10800/pinmux_i2c0_pins, deferring probe
[ 0.327429] platform 44e0b000.i2c: Driver omap_i2c requests probe deferral
[ 0.327484] omap_i2c 4802a000.i2c: could not find pctldev for node /pinmux@44 e10800/pinmux_i2c1_pins, deferring probe
[ 0.327508] platform 4802a000.i2c: Driver omap_i2c requests probe deferral
[ 0.331789] Switched to clocksource timer1
[ 0.477768] NET: Registered protocol family 2
[ 0.479589] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.479762] TCP bind hash table entries: 4096 (order: 5, 147456 bytes)
[ 0.480966] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.481149] TCP: reno registered
[ 0.481172] UDP hash table entries: 256 (order: 2, 20480 bytes)
[ 0.481343] UDP-Lite hash table entries: 256 (order: 2, 20480 bytes)
[ 0.482573] NET: Registered protocol family 1
[ 0.484432] RPC: Registered named UNIX socket transport module.
[ 0.484456] RPC: Registered udp transport module.
[ 0.484466] RPC: Registered tcp transport module.
[ 0.484475] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.485329] Trying to unpack rootfs image as initramfs...
[ 0.486742] rootfs image is not initramfs (no cpio magic); looks like an init rd
[ 0.493217] Freeing initrd memory: 944K (cff13000 - cffff000)
[ 0.493672] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counter s available
[ 0.497833] futex hash table entries: 256 (order: 2, 16384 bytes)
[ 0.503274] VFS: Disk quotas dquot_6.5.2
[ 0.503419] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.505845] NFS: Registering the id_resolver key type
[ 0.506197] Key type id_resolver registered
[ 0.506212] Key type id_legacy registered
[ 0.506366] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 0.506789] msgmni has been set to 978
[ 0.511532] io scheduler noop registered
[ 0.511734] io scheduler deadline registered
[ 0.511811] io scheduler cfq registered (default)
[ 0.514067] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[ 0.517027] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.522737] omap_uart 44e09000.serial: no wakeirq for uart0
[ 0.523268] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88, base_baud = 3000000) is a OMAP UART0
[ 1.230156] console [ttyO0] enabled
[ 1.238657] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
[ 1.267794] brd: module loaded
[ 1.284974] loop: module loaded
[ 1.291133] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 1.301020] usbcore: registered new interface driver asix
[ 1.306871] usbcore: registered new interface driver ax88179_178a
[ 1.313398] usbcore: registered new interface driver cdc_ether
[ 1.319662] usbcore: registered new interface driver smsc95xx
[ 1.325819] usbcore: registered new interface driver net1080
[ 1.331884] usbcore: registered new interface driver cdc_subset
[ 1.338184] usbcore: registered new interface driver zaurus
[ 1.344247] usbcore: registered new interface driver cdc_ncm
[ 1.351260] usbcore: registered new interface driver cdc_wdm
[ 1.357423] usbcore: registered new interface driver usb-storage
[ 1.363889] usbcore: registered new interface driver usbtest
[ 1.380977] mousedev: PS/2 mouse device common for all mice
[ 1.391413] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
[ 1.399585] i2c /dev entries driver
[ 1.403376] Driver for 1-wire Dallas network protocol.
[ 1.412155] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[ 1.422003] omap_hsmmc 48060000.mmc: unable to get vmmc regulator -517
[ 1.429435] platform 48060000.mmc: Driver omap_hsmmc requests probe deferral
[ 1.437514] ledtrig-cpu: registered to indicate activity on CPUs
[ 1.444382] usbcore: registered new interface driver usbhid
[ 1.450203] usbhid: USB HID core driver
[ 1.455475] oprofile: using arm/armv7
[ 1.459907] TCP: cubic registered
[ 1.463448] Initializing XFRM netlink socket
[ 1.468016] NET: Registered protocol family 17
[ 1.472773] NET: Registered protocol family 15
[ 1.477726] Key type dns_resolver registered
[ 1.482395] omap_voltage_late_init: Voltage driver support not added
[ 1.489047] sr_dev_init: No voltage domain specified for smartreflex0. Cannot initialize
[ 1.497525] sr_dev_init: No voltage domain specified for smartreflex1. Cannot initialize
[ 1.506994] ThumbEE CPU extension supported.
[ 1.511504] Registering SWP/SWPB emulation handler
[ 1.516567] SmartReflex Class3 initialized
[ 1.529168] omap-gpmc 50000000.gpmc: GPMC revision 6.0
[ 1.536278] nand: device found, Manufacturer ID: 0x01, Chip ID: 0xd3
[ 1.543025] nand: AMD/Spansion S34ML08G1
[ 1.547122] nand: 1024MiB, SLC, page size: 2048, OOB size: 64
[ 1.553143] nand: error: CONFIG_MTD_NAND_OMAP_BCH not enabled
[ 1.559226] omap2-nand: probe of omap2-nand.0 failed with error -22
[ 1.676440] tps65910 0-002d: No interrupt support, no core IRQ
[ 1.692216] vrtc: 1800 mV
[ 1.695595] vrtc: supplied by vbat
[ 1.702928] vio: at 1500 mV
[ 1.706168] vio: supplied by vbat
[ 1.712981] vdd_mpu: 912 <--> 1312 mV at 1325 mV
[ 1.718114] vdd_mpu: supplied by vbat
[ 1.725155] vdd_core: 912 <--> 1150 mV at 1137 mV
[ 1.730372] vdd_core: supplied by vbat
[ 1.737082] vdd3: 5000 mV
[ 1.742588] vdig1: at 1800 mV
[ 1.745999] vdig1: supplied by vbat
[ 1.752538] vdig2: at 1800 mV
[ 1.755947] vdig2: supplied by vbat
[ 1.762371] vpll: at 1800 mV
[ 1.765684] vpll: supplied by vbat
[ 1.771963] vdac: at 1800 mV
[ 1.775270] vdac: supplied by vbat
[ 1.781430] vaux1: at 1800 mV
[ 1.784923] vaux1: supplied by vbat
[ 1.791216] vaux2: at 3300 mV
[ 1.794707] vaux2: supplied by vbat
[ 1.801070] vaux33: at 3300 mV
[ 1.804652] vaux33: supplied by vbat
[ 1.811012] vmmc: 1800 <--> 3300 mV at 3300 mV
[ 1.816037] vmmc: supplied by vbat
[ 1.822109] vbb: at 3000 mV
[ 1.825557] vbb: supplied by vbat
[ 1.830756] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[ 1.844057] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
[ 1.940015] mmc0: host does not support reading read-only switch. assuming wr ite-enable.
[ 1.950860] mmc0: new high speed SDHC card at address 0007
[ 1.958678] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[ 1.965135] davinci_mdio 4a101000.mdio: detected phy mask ffffffde
[ 1.972834] mmcblk0: mmc0:0007 SD4GB 3.68 GiB
[ 1.983712] mmcblk0:
[ 1.989130] libphy: 4a101000.mdio: probed
[ 1.993465] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driv er unknown
[ 2.001862] davinci_mdio 4a101000.mdio: phy[5]: device 4a101000.mdio:05, driv er unknown
[ 2.011389] cpsw 4a100000.ethernet: Detected MACID = c4:ed:ba:8e:5a:27
[ 2.022361] input: volume_keys@0 as /devices/volume_keys@0/input/input0
[ 2.032621] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:0 0 UTC (946684800)
[ 2.041730] sr_init: No PMIC hook to init smartreflex
[ 2.047299] sr_init: platform driver register failed for SR
[ 2.070807] lis3_reg: disabling
[ 2.077047] RAMDISK: gzip image found at block 0
[ 2.204812] VFS: Mounted root (ext2 filesystem) readonly on device 1:0.
[ 2.212638] devtmpfs: mounted
[ 2.216373] Freeing unused kernel memory: 404K (c07c1000 - c0826000)
----------mount all..........
----------Starting mdev......Please press Enter to activate this console.
[root@tq335x /]#
这篇关于TQ335X开发板内核3.17.2移植和busybox移植的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!