宿主机 : 虚拟机 Ubuntu 16.04 LTS / X64
目标板[底板]: Tiny4412SDK - 1506
目标板[核心板]: Tiny4412 - 1412
LINUX内核: 4.12.0
交叉编译器: gcc-arm-none-eabi-5_4-2016q3
日期: 2017-8-6 12:44:43
作者: SY
本节的目的是要使用eMMC
启动Linux
,需要用到SD
卡作为工具。SD
至少包含一个FAT32
分区用于移动、替换、保存源文件。 eMMC
需要至少2
个分区 ,一个FAT32
分区用于存储linux内核
linux设备树
,另一个分区用于存储根文件系统
,eMMC
分区方法,可以参考SD
卡分区。 开发板需要进入linux
系统才能对eMMC
分区。
思路:首先要移植u-boot
到eMMC
,这个在u-boot
移植笔记中已经有了详细教程。 u-boot
启动后通过bootcmd
自动加载eMMC
中的 linux内核
和设备树
。内核启动后自动加载根文件系统
,运行 linux
。
root@ubuntu:/opt/temp/temp# ls
E4412_N.bl1.bin exynos4412-tiny4412.dtb tiny4412-spl.bin
E4412_tzsw.bin rootfs.tar.gz u-boot.bin uImage
将上述文件存储到SD卡
的FAT32
分区,最简单的办法就是用读卡器插到电脑端,拷贝。
前面移植笔记已经说过,不再赘述。
总体思路有 2
种方式:从 NFS
启动内核,拷贝根文件系统;从 SD
卡启动内核,拷贝根文件系统。其实还是第一种方式比较简单
首先准备好原材料:rootfs.tar.gz
root@ubuntu:/opt/fs/rootfs/rootfs/opt# ls
app examples rootfs.tar.gz
使用 nfs
登录 linux
,挂载 eMMC
[root@TINY4412:~]# mount /dev/mmcblk1p2 /mnt/
[ 87.230755] EXT4-fs (mmcblk1p2): couldn't mount as ext3 due to feature incompatibilities
[ 87.238410] EXT4-fs (mmcblk1p2): warning: mounting unchecked fs, running e2fsck is recommended
[ 87.242768] EXT4-fs (mmcblk1p2): mounted filesystem without journal. Opts: (null)
解压并拷贝根文件系统
[root@TINY4412:~]# cd mnt/
[root@TINY4412:/mnt]# cp /opt/rootfs.tar.gz ./
[root@TINY4412:/mnt]# ls
rootfs.tar.gz
[root@TINY4412:/mnt]# tar zxf rootfs.tar.gz
[root@TINY4412:/mnt]# ls
bin home mnt rootfs.tar.gz usr
config lib opt sbin var
dev linuxrc proc sys
etc log root tmp
[root@TINY4412:/mnt]# rm -rf rootfs.tar.gz
[root@TINY4412:/mnt]# ls
bin etc linuxrc opt sbin usr
config home log proc sys var
dev lib mnt root tmp
卸载磁盘
[root@TINY4412:/mnt]# cd ..
[root@TINY4412:~]# umount mnt/
搞定!
将 uImage
exynos4412-tiny4412.dtb
原材料准备好,放到 nfs
根文件系统中。
root@ubuntu:/opt/fs/rootfs/rootfs/opt# ls
app examples exynos4412-tiny4412.dtb rootfs.tar.gz uImage
挂载 eMMC
[root@TINY4412:~]# mount /dev/mmcblk1p1 /mnt/
[root@TINY4412:~]# cd mnt/
[root@TINY4412:/mnt]# cp /opt/uImage ./
[root@TINY4412:/mnt]# cp /opt/exynos4412-tiny4412.dtb ./
[root@TINY4412:/mnt]# ls
exynos4412-tiny4412.dtb uImage
卸载磁盘
[root@TINY4412:/mnt]# cd ..
[root@TINY4412:~]# umount mnt/
搞定!
TINY4412 # setenv bootargs noinitrd root=/dev/mmcblk1p2 rw rootfstype=ext4 console=ttySAC0,115200 init=/linuxrc
TINY4412 # setenv bootcmd fatload mmc 4:1 0x41000000 uImage\; fatload mmc 4:1 0x42000000 exynos4412-tiny4412.dtb\; bootm 0x41000000 - 0x42000000
TINY4412 # saveenv
Saving Environment to MMC...
Writing to MMC(4)... done
root=/dev/mmcblk1p2
:表示根文件系统的挂载位置是eMMC
的第2
个分区
rootfstype=ext4
:表示分区类型是EXT4
将拨码开关拨到eMMC
,拔掉SD卡
,重启开发板
U-Boot 2017.03-gff1b95e-dirty (Aug 06 2017 - 11:39:04 +0800) for TINY4412
CPU: Exynos4412 @ 1.4 GHz
Model: Tiny4412 based on Exynos4412
Board: Tiny4412 based on Exynos4412
DRAM: 1 GiB
WARNING: Caches not enabled
MMC: sdhci@12530000 - probe failed: -19
Net: No ethernet found.
Hit any key to stop autoboot: 0
reading uImage
4829024 bytes read in 197 ms (23.4 MiB/s)
reading exynos4412-tiny4412.dtb
47348 bytes read in 5 ms (9 MiB/s)
## Booting kernel from Legacy Image at 41000000 ...
Image Name: Linux-4.12.0-g16504fa-dirty
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 4828960 Bytes = 4.6 MiB
Load Address: 40008000
Entry Point: 40008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 42000000
Booting using the fdt blob at 0x42000000
Loading Kernel Image ... OK
Loading Device Tree to 4fff1000, end 4ffff8f3 ... OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0xa00
...
[ 3.040105] mmc_host mmc1: Bus speed (slot 0) = 50000000Hz (slot req 52000000Hz, actual 50000000HZ div = 0)
[ 3.045826] VFS: Cannot open root device "mmcblk1p2" or unknown-block(0,0): error -6
[ 3.045829] Please append a correct "root=" boot option; here are the available partitions:
...
[ 3.046751] [<c013860c>] (kthread) from [<c0108578>] (ret_from_fork+0x14/0x3c)
[ 3.681200] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
提示打不开设备mmcblk1p2
,网上查了很多资料都是关于SD卡
上的写锁开关,拨到了锁定的位置,但是我的是eMMC
,根部不存在锁定。
最后终于找到解决方案:[技术] 制作ext4文件系统,并复制到米尔ricoboard板载eMMC,成功挂载。
TINY4412 # setenv bootargs noinitrd root=/dev/mmcblk1p2 rw rootfstype=ext4 console=ttySAC0,115200 init=/linuxrc rootwait
TINY4412 # saveenv
Saving Environment to MMC...
Writing to MMC(4)... done
重新上电
U-Boot 2017.03-gff1b95e-dirty (Aug 06 2017 - 11:39:04 +0800) for TINY4412
CPU: Exynos4412 @ 1.4 GHz
Model: Tiny4412 based on Exynos4412
Board: Tiny4412 based on Exynos4412
DRAM: 1 GiB
WARNING: Caches not enabled
MMC: sdhci@12530000 - probe failed: -19
Net: No ethernet found.
Hit any key to stop autoboot: 0
reading uImage
4829024 bytes read in 200 ms (23 MiB/s)
reading exynos4412-tiny4412.dtb
47348 bytes read in 4 ms (11.3 MiB/s)
## Booting kernel from Legacy Image at 41000000 ...
Image Name: Linux-4.12.0-g16504fa-dirty
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 4828960 Bytes = 4.6 MiB
Load Address: 40008000
Entry Point: 40008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 42000000
Booting using the fdt blob at 0x42000000
Loading Kernel Image ... OK
Loading Device Tree to 4fff1000, end 4ffff8f3 ... OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0xa00
[ 0.000000] Linux version 4.12.0-g16504fa-dirty (root@ubuntu) (gcc version 5.4.1 20160919 (release) [ARM/embedded-5-branch revision 240496] (GNU Tools for ARM Embedded Processors) ) #136 SMP PREEMPT Sat Aug 5 22:00:17 CST 2017
[ 0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: FriendlyARM TINY4412 board based on Exynos4412
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] cma: Reserved 96 MiB at 0x7a000000
[ 0.000000] Samsung CPU ID: 0xe4412011
[ 0.000000] On node 0 totalpages: 262144
[ 0.000000] free_area_init_node: node 0, pgdat c0c466c0, node_mem_map ef7f6000
[ 0.000000] Normal zone: 1536 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 196608 pages, LIFO batch:31
[ 0.000000] HighMem zone: 65536 pages, LIFO batch:15
[ 0.000000] percpu: Embedded 16 pages/cpu @ef78f000 s34968 r8192 d22376 u65536
[ 0.000000] pcpu-alloc: s34968 r8192 d22376 u65536 alloc=16*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260608
[ 0.000000] Kernel command line: noinitrd root=/dev/mmcblk1p2 rw rootfstype=ext4 console=ttySAC0,115200 init=/linuxrc rootwait
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 928836K/1048576K available (7168K kernel code, 330K rwdata, 2452K rodata, 1024K init, 327K bss, 21436K reserved, 98304K cma-reserved, 163840K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0800000 (8160 kB)
[ 0.000000] .init : 0xc0b00000 - 0xc0c00000 (1024 kB)
[ 0.000000] .data : 0xc0c00000 - 0xc0c52a90 ( 331 kB)
[ 0.000000] .bss : 0xc0c5a0f0 - 0xc0cabfe0 ( 328 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] L2C: platform modifies aux control register: 0x02070000 -> 0x3e470001
[ 0.000000] L2C: platform provided aux values permit register corruption.
[ 0.000000] L2C: DT/platform modifies aux control register: 0x02070000 -> 0x3e470001
[ 0.000000] L2C-310 enabling early BRESP for Cortex-A9
[ 0.000000] L2C-310: enabling full line of zeros but not enabled in Cortex-A9
[ 0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[ 0.000000] L2C-310 cache controller enabled, 16 ways, 1024 kB
[ 0.000000] L2C-310: CACHE_ID 0x4100c4c8, AUX_CTRL 0x4e470001
[ 0.000000] Exynos4x12 clocks: sclk_apll = 700000000, sclk_mpll = 800000000
[ 0.000000] sclk_epll = 96035156, sclk_vpll = 108035156, arm_clk = 1400000000
[ 0.000000] Switching to timer-based delay loop, resolution 41ns
[ 0.000000] clocksource: mct-frc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000003] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000152] Console: colour dummy device 80x30
[ 0.000166] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[ 0.000175] pid_max: default: 32768 minimum: 301
[ 0.000238] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000245] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000550] CPU: Testing write buffer coherency: ok
[ 0.000745] CPU0: thread -1, cpu 0, socket 10, mpidr 80000a00
[ 0.040016] Setting up static identity map for 0x40100000 - 0x40100060
[ 0.119993] smp: Bringing up secondary CPUs ...
[ 0.200054] CPU1: thread -1, cpu 1, socket 10, mpidr 80000a01
[ 0.280047] CPU2: thread -1, cpu 2, socket 10, mpidr 80000a02
[ 0.360045] CPU3: thread -1, cpu 3, socket 10, mpidr 80000a03
[ 0.360090] smp: Brought up 1 node, 4 CPUs
[ 0.360103] SMP: Total of 4 processors activated (192.00 BogoMIPS).
[ 0.360108] CPU: All CPU(s) started in SVC mode.
[ 0.360642] devtmpfs: initialized
[ 0.367437] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[ 0.367599] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.367611] futex hash table entries: 1024 (order: 4, 65536 bytes)
[ 0.370545] pinctrl core: initialized pinctrl subsystem
[ 0.371067] /lcd0-power-domain@10023C80 has as child subdomain: /tv-power-domain@10023C20.
[ 0.371654] NET: Registered protocol family 16
[ 0.373117] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.374148] cpuidle: using governor menu
[ 0.380304] gpio gpiochip0: (gpa0): added GPIO chardev (254:0)
[ 0.380313] gpiochip_setup_dev: registered GPIOs 0 to 7 on device: gpiochip0 (gpa0)
[ 0.380406] gpio gpiochip1: (gpa1): added GPIO chardev (254:1)
[ 0.380414] gpiochip_setup_dev: registered GPIOs 8 to 13 on device: gpiochip1 (gpa1)
[ 0.380503] gpio gpiochip2: (gpb): added GPIO chardev (254:2)
[ 0.380510] gpiochip_setup_dev: registered GPIOs 14 to 21 on device: gpiochip2 (gpb)
[ 0.380609] gpio gpiochip3: (gpc0): added GPIO chardev (254:3)
[ 0.380617] gpiochip_setup_dev: registered GPIOs 22 to 26 on device: gpiochip3 (gpc0)
[ 0.380700] gpio gpiochip4: (gpc1): added GPIO chardev (254:4)
[ 0.380708] gpiochip_setup_dev: registered GPIOs 27 to 31 on device: gpiochip4 (gpc1)
[ 0.380784] gpio gpiochip5: (gpd0): added GPIO chardev (254:5)
[ 0.380791] gpiochip_setup_dev: registered GPIOs 32 to 35 on device: gpiochip5 (gpd0)
[ 0.380875] gpio gpiochip6: (gpd1): added GPIO chardev (254:6)
[ 0.380882] gpiochip_setup_dev: registered GPIOs 36 to 39 on device: gpiochip6 (gpd1)
[ 0.380969] gpio gpiochip7: (gpf0): added GPIO chardev (254:7)
[ 0.380976] gpiochip_setup_dev: registered GPIOs 40 to 47 on device: gpiochip7 (gpf0)
[ 0.381055] gpio gpiochip8: (gpf1): added GPIO chardev (254:8)
[ 0.381062] gpiochip_setup_dev: registered GPIOs 48 to 55 on device: gpiochip8 (gpf1)
[ 0.381146] gpio gpiochip9: (gpf2): added GPIO chardev (254:9)
[ 0.381153] gpiochip_setup_dev: registered GPIOs 56 to 63 on device: gpiochip9 (gpf2)
[ 0.381232] gpio gpiochip10: (gpf3): added GPIO chardev (254:10)
[ 0.381239] gpiochip_setup_dev: registered GPIOs 64 to 69 on device: gpiochip10 (gpf3)
[ 0.381319] gpio gpiochip11: (gpj0): added GPIO chardev (254:11)
[ 0.381326] gpiochip_setup_dev: registered GPIOs 70 to 77 on device: gpiochip11 (gpj0)
[ 0.381411] gpio gpiochip12: (gpj1): added GPIO chardev (254:12)
[ 0.381418] gpiochip_setup_dev: registered GPIOs 78 to 82 on device: gpiochip12 (gpj1)
[ 0.382135] gpio gpiochip13: (gpk0): added GPIO chardev (254:13)
[ 0.382143] gpiochip_setup_dev: registered GPIOs 83 to 89 on device: gpiochip13 (gpk0)
[ 0.382224] gpio gpiochip14: (gpk1): added GPIO chardev (254:14)
[ 0.382232] gpiochip_setup_dev: registered GPIOs 90 to 96 on device: gpiochip14 (gpk1)
[ 0.382323] gpio gpiochip15: (gpk2): added GPIO chardev (254:15)
[ 0.382330] gpiochip_setup_dev: registered GPIOs 97 to 103 on device: gpiochip15 (gpk2)
[ 0.382417] gpio gpiochip16: (gpk3): added GPIO chardev (254:16)
[ 0.382424] gpiochip_setup_dev: registered GPIOs 104 to 110 on device: gpiochip16 (gpk3)
[ 0.382502] gpio gpiochip17: (gpl0): added GPIO chardev (254:17)
[ 0.382509] gpiochip_setup_dev: registered GPIOs 111 to 117 on device: gpiochip17 (gpl0)
[ 0.382589] gpio gpiochip18: (gpl1): added GPIO chardev (254:18)
[ 0.382596] gpiochip_setup_dev: registered GPIOs 118 to 119 on device: gpiochip18 (gpl1)
[ 0.382682] gpio gpiochip19: (gpl2): added GPIO chardev (254:19)
[ 0.382689] gpiochip_setup_dev: registered GPIOs 120 to 127 on device: gpiochip19 (gpl2)
[ 0.382776] gpio gpiochip20: (gpm0): added GPIO chardev (254:20)
[ 0.382783] gpiochip_setup_dev: registered GPIOs 128 to 135 on device: gpiochip20 (gpm0)
[ 0.382864] gpio gpiochip21: (gpm1): added GPIO chardev (254:21)
[ 0.382871] gpiochip_setup_dev: registered GPIOs 136 to 142 on device: gpiochip21 (gpm1)
[ 0.382961] gpio gpiochip22: (gpm2): added GPIO chardev (254:22)
[ 0.382968] gpiochip_setup_dev: registered GPIOs 143 to 147 on device: gpiochip22 (gpm2)
[ 0.383048] gpio gpiochip23: (gpm3): added GPIO chardev (254:23)
[ 0.383055] gpiochip_setup_dev: registered GPIOs 148 to 155 on device: gpiochip23 (gpm3)
[ 0.383135] gpio gpiochip24: (gpm4): added GPIO chardev (254:24)
[ 0.383142] gpiochip_setup_dev: registered GPIOs 156 to 163 on device: gpiochip24 (gpm4)
[ 0.383231] gpio gpiochip25: (gpy0): added GPIO chardev (254:25)
[ 0.383238] gpiochip_setup_dev: registered GPIOs 164 to 169 on device: gpiochip25 (gpy0)
[ 0.383320] gpio gpiochip26: (gpy1): added GPIO chardev (254:26)
[ 0.383327] gpiochip_setup_dev: registered GPIOs 170 to 173 on device: gpiochip26 (gpy1)
[ 0.383408] gpio gpiochip27: (gpy2): added GPIO chardev (254:27)
[ 0.383415] gpiochip_setup_dev: registered GPIOs 174 to 179 on device: gpiochip27 (gpy2)
[ 0.383503] gpio gpiochip28: (gpy3): added GPIO chardev (254:28)
[ 0.383511] gpiochip_setup_dev: registered GPIOs 180 to 187 on device: gpiochip28 (gpy3)
[ 0.383598] gpio gpiochip29: (gpy4): added GPIO chardev (254:29)
[ 0.383605] gpiochip_setup_dev: registered GPIOs 188 to 195 on device: gpiochip29 (gpy4)
[ 0.383687] gpio gpiochip30: (gpy5): added GPIO chardev (254:30)
[ 0.383694] gpiochip_setup_dev: registered GPIOs 196 to 203 on device: gpiochip30 (gpy5)
[ 0.383783] gpio gpiochip31: (gpy6): added GPIO chardev (254:31)
[ 0.383790] gpiochip_setup_dev: registered GPIOs 204 to 211 on device: gpiochip31 (gpy6)
[ 0.383884] gpio gpiochip32: (gpx0): added GPIO chardev (254:32)
[ 0.383891] gpiochip_setup_dev: registered GPIOs 212 to 219 on device: gpiochip32 (gpx0)
[ 0.383975] gpio gpiochip33: (gpx1): added GPIO chardev (254:33)
[ 0.383981] gpiochip_setup_dev: registered GPIOs 220 to 227 on device: gpiochip33 (gpx1)
[ 0.384070] gpio gpiochip34: (gpx2): added GPIO chardev (254:34)
[ 0.384077] gpiochip_setup_dev: registered GPIOs 228 to 235 on device: gpiochip34 (gpx2)
[ 0.384164] gpio gpiochip35: (gpx3): added GPIO chardev (254:35)
[ 0.384171] gpiochip_setup_dev: registered GPIOs 236 to 243 on device: gpiochip35 (gpx3)
[ 0.385143] gpio gpiochip36: (gpz): added GPIO chardev (254:36)
[ 0.385150] gpiochip_setup_dev: registered GPIOs 244 to 250 on device: gpiochip36 (gpz)
[ 0.385521] gpio gpiochip37: (gpv0): added GPIO chardev (254:37)
[ 0.385528] gpiochip_setup_dev: registered GPIOs 251 to 258 on device: gpiochip37 (gpv0)
[ 0.385616] gpio gpiochip38: (gpv1): added GPIO chardev (254:38)
[ 0.385624] gpiochip_setup_dev: registered GPIOs 259 to 266 on device: gpiochip38 (gpv1)
[ 0.385726] gpio gpiochip39: (gpv2): added GPIO chardev (254:39)
[ 0.385734] gpiochip_setup_dev: registered GPIOs 267 to 274 on device: gpiochip39 (gpv2)
[ 0.385821] gpio gpiochip40: (gpv3): added GPIO chardev (254:40)
[ 0.385828] gpiochip_setup_dev: registered GPIOs 275 to 282 on device: gpiochip40 (gpv3)
[ 0.385916] gpio gpiochip41: (gpv4): added GPIO chardev (254:41)
[ 0.385923] gpiochip_setup_dev: registered GPIOs 283 to 284 on device: gpiochip41 (gpv4)
[ 0.393751] SCSI subsystem initialized
[ 0.393901] usbcore: registered new interface driver usbfs
[ 0.393936] usbcore: registered new interface driver hub
[ 0.393984] usbcore: registered new device driver usb
[ 0.394293] media: Linux media interface: v0.10
[ 0.394323] Linux video capture interface: v2.00
[ 0.394571] Advanced Linux Sound Architecture Driver Initialized.
[ 0.395257] clocksource: Switched to clocksource mct-frc
[ 0.400676] missing cooling_device property
[ 0.400684] failed to build thermal zone cpu-thermal: -2
[ 0.400746] NET: Registered protocol family 2
[ 0.401093] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.401153] TCP bind hash table entries: 8192 (order: 5, 163840 bytes)
[ 0.401270] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.401364] UDP hash table entries: 512 (order: 2, 24576 bytes)
[ 0.401392] UDP-Lite hash table entries: 512 (order: 2, 24576 bytes)
[ 0.401518] NET: Registered protocol family 1
[ 0.401782] RPC: Registered named UNIX socket transport module.
[ 0.401789] RPC: Registered udp transport module.
[ 0.401794] RPC: Registered tcp transport module.
[ 0.401798] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.402579] audit: initializing netlink subsys (disabled)
[ 0.402680] audit: type=2000 audit(0.397:1): state=initialized audit_enabled=0 res=1
[ 0.402758] workingset: timestamp_bits=30 max_order=18 bucket_order=0
[ 0.407463] NFS: Registering the id_resolver key type
[ 0.407483] Key type id_resolver registered
[ 0.407488] Key type id_legacy registered
[ 0.407498] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 0.407520] romfs: ROMFS MTD (C) 2007 Red Hat, Inc.
[ 0.408082] bounce: pool size: 64 pages
[ 0.408108] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[ 0.408115] io scheduler noop registered
[ 0.408120] io scheduler deadline registered
[ 0.408137] io scheduler cfq registered (default)
[ 0.408143] io scheduler mq-deadline registered
[ 0.408149] io scheduler kyber registered
[ 0.408988] samsung-usb2-phy 125b0000.exynos-usbphy: 125b0000.exynos-usbphy supply vbus not found, using dummy regulator
[ 0.412574] dma-pl330 12680000.pdma: Loaded driver for PL330 DMAC-141330
[ 0.412585] dma-pl330 12680000.pdma: DBUFF-32x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32
[ 0.414280] dma-pl330 12690000.pdma: Loaded driver for PL330 DMAC-141330
[ 0.414289] dma-pl330 12690000.pdma: DBUFF-32x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32
[ 0.414867] dma-pl330 12850000.mdma: Loaded driver for PL330 DMAC-141330
[ 0.414877] dma-pl330 12850000.mdma: DBUFF-64x8bytes Num_Chans-8 Num_Peri-1 Num_Events-32
[ 0.449152] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[ 0.450304] 13800000.serial: ttySAC0 at MMIO 0x13800000 (irq = 48, base_baud = 0) is a S3C6400/10
[ 1.756022] console [ttySAC0] enabled
[ 1.759879] 13810000.serial: ttySAC1 at MMIO 0x13810000 (irq = 49, base_baud = 0) is a S3C6400/10
[ 1.768725] 13820000.serial: ttySAC2 at MMIO 0x13820000 (irq = 50, base_baud = 0) is a S3C6400/10
[ 1.777557] 13830000.serial: ttySAC3 at MMIO 0x13830000 (irq = 51, base_baud = 0) is a S3C6400/10
[ 1.825374] brd: module loaded
[ 1.880734] loop: module loaded
[ 1.881631] libphy: Fixed MDIO Bus: probed
[ 1.881881] usbcore: registered new interface driver cdc_ether
[ 1.881960] usbcore: registered new interface driver dm9601
[ 1.882033] usbcore: registered new interface driver net1080
[ 1.882676] usbcore: registered new interface driver cdc_subset
[ 1.888613] usbcore: registered new interface driver zaurus
[ 1.894156] usbcore: registered new interface driver cdc_ncm
[ 1.899995] dwc2 12480000.hsotg: 12480000.hsotg supply vusb_d not found, using dummy regulator
[ 1.908409] dwc2 12480000.hsotg: 12480000.hsotg supply vusb_a not found, using dummy regulator
[ 2.325291] dwc2 12480000.hsotg: dwc2_check_params: Invalid parameter g_np_tx_fifo_size=1024
[ 2.325393] dwc2 12480000.hsotg: EPs: 16, dedicated fifos, 7808 entries in SPRAM
[ 2.445338] dwc2 12480000.hsotg: DWC OTG Controller
[ 2.445410] dwc2 12480000.hsotg: new USB bus registered, assigned bus number 1
[ 2.445492] dwc2 12480000.hsotg: irq 45, io mem 0x12480000
[ 2.445647] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 2.447345] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.454548] usb usb1: Product: DWC OTG Controller
[ 2.459253] usb usb1: Manufacturer: Linux 4.12.0-g16504fa-dirty dwc2_hsotg
[ 2.466105] usb usb1: SerialNumber: 12480000.hsotg
[ 2.471246] hub 1-0:1.0: USB hub found
[ 2.474615] hub 1-0:1.0: 1 port detected
[ 2.479095] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 2.485019] ehci-exynos: EHCI EXYNOS driver
[ 2.489279] of_get_named_gpiod_flags: can't parse 'samsung,vbus-gpio' property of node '/ehci@12580000[0]'
[ 2.499211] exynos-ehci 12580000.ehci: EHCI Host Controller
[ 2.504383] exynos-ehci 12580000.ehci: new USB bus registered, assigned bus number 2
[ 2.512248] exynos-ehci 12580000.ehci: irq 46, io mem 0x12580000
[ 2.545281] exynos-ehci 12580000.ehci: USB 2.0 started, EHCI 1.00
[ 2.545461] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[ 2.545527] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.545594] usb usb2: Product: EHCI Host Controller
[ 2.547892] usb usb2: Manufacturer: Linux 4.12.0-g16504fa-dirty ehci_hcd
[ 2.554576] usb usb2: SerialNumber: 12580000.ehci
[ 2.559613] hub 2-0:1.0: USB hub found
[ 2.563012] hub 2-0:1.0: 3 ports detected
[ 2.567533] usbcore: registered new interface driver usb-storage
[ 2.573125] of_get_named_gpiod_flags: can't parse 'intn-gpios' property of node '/usb-hub[0]'
[ 2.581502] of_get_named_gpiod_flags: can't parse 'connect-gpios' property of node '/usb-hub[0]'
[ 2.590362] of_get_named_gpiod_flags: parsed 'reset-gpios' property of node '/usb-hub[0]' - status (0)
[ 2.605281] USB4604 usb-hub: switched to HUB mode
[ 2.605328] USB4604 usb-hub: USB4604_probe: probed in hub mode
[ 2.610604] s3c-rtc 10070000.rtc: failed to find rtc source clock
[ 2.616148] s3c-rtc: probe of 10070000.rtc failed with error -2
[ 2.622179] i2c /dev entries driver
[ 2.627180] s3c2410-wdt 10060000.watchdog: watchdog inactive, reset disabled, irq disabled
[ 2.634067] device-mapper: ioctl: 4.35.0-ioctl (2016-06-23) initialised: dm-devel@redhat.com
[ 2.643651] sdhci: Secure Digital Host Controller Interface driver
[ 2.648365] sdhci: Copyright(c) Pierre Ossman
[ 2.652861] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/sdhci@12530000[0]'
[ 2.661685] s3c-sdhci 12530000.sdhci: clock source 2: mmc_busclk.2 (20000000 Hz)
[ 2.669014] s3c-sdhci 12530000.sdhci: GPIO lookup for consumer cd
[ 2.675055] s3c-sdhci 12530000.sdhci: using device tree for GPIO lookup
[ 2.681756] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/sdhci@12530000[0]'
[ 2.690607] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/sdhci@12530000[0]'
[ 2.699458] s3c-sdhci 12530000.sdhci: using lookup tables for GPIO lookup
[ 2.706228] s3c-sdhci 12530000.sdhci: lookup for GPIO cd failed
[ 2.712120] s3c-sdhci 12530000.sdhci: GPIO lookup for consumer wp
[ 2.718206] s3c-sdhci 12530000.sdhci: using device tree for GPIO lookup
[ 2.724792] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/sdhci@12530000[0]'
[ 2.733744] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/sdhci@12530000[0]'
[ 2.742596] s3c-sdhci 12530000.sdhci: using lookup tables for GPIO lookup
[ 2.749367] s3c-sdhci 12530000.sdhci: lookup for GPIO wp failed
[ 2.815319] mmc0: SDHCI controller on samsung-hsmmc [12530000.sdhci] using ADMA
[ 2.816529] Synopsys Designware Multimedia Card Interface Driver
[ 2.817147] dwmmc_exynos 12550000.mmc: IDMAC supports 32-bit address mode.
[ 2.817253] dwmmc_exynos 12550000.mmc: Using internal DMA controller.
[ 2.819590] dwmmc_exynos 12550000.mmc: Version ID is 240a
[ 2.824988] dwmmc_exynos 12550000.mmc: DW MMC controller at irq 99,32 bit host data width,128 deep fifo
[ 2.834380] dwmmc_exynos 12550000.mmc: GPIO lookup for consumer cd
[ 2.840518] dwmmc_exynos 12550000.mmc: using device tree for GPIO lookup
[ 2.847201] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/mmc@12550000[0]'
[ 2.856211] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/mmc@12550000[0]'
[ 2.864636] dwmmc_exynos 12550000.mmc: using lookup tables for GPIO lookup
[ 2.871512] dwmmc_exynos 12550000.mmc: lookup for GPIO cd failed
[ 2.877521] dwmmc_exynos 12550000.mmc: GPIO lookup for consumer wp
[ 2.883645] dwmmc_exynos 12550000.mmc: using device tree for GPIO lookup
[ 2.890346] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/mmc@12550000[0]'
[ 2.899111] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/mmc@12550000[0]'
[ 2.907789] dwmmc_exynos 12550000.mmc: using lookup tables for GPIO lookup
[ 2.914633] dwmmc_exynos 12550000.mmc: lookup for GPIO wp failed
[ 2.920656] mmc_host mmc1: card is polling.
[ 2.925283] usb 2-2: new high-speed USB device number 2 using exynos-ehci
[ 2.945293] mmc_host mmc1: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual 396825HZ div = 63)
[ 2.975326] dwmmc_exynos 12550000.mmc: 1 slots initialized
[ 2.975606] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led1[0]' - status (0)
[ 2.975701] no flags found for gpios
[ 2.975832] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led2[0]' - status (0)
[ 2.979970] no flags found for gpios
[ 2.984607] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led3[0]' - status (0)
[ 2.994484] no flags found for gpios
[ 2.996254] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led4[0]' - status (0)
[ 3.004961] no flags found for gpios
[ 3.009488] s5p-secss 10830000.sss: s5p-sss driver registered
[ 3.014685] usbcore: registered new interface driver usbhid
[ 3.019838] usbhid: USB HID core driver
[ 3.029755] NET: Registered protocol family 10
[ 3.030512] Segment Routing with IPv6
[ 3.031712] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 3.038082] NET: Registered protocol family 17
[ 3.042011] NET: Registered protocol family 15
[ 3.046494] Key type dns_resolver registered
[ 3.050872] Registering SWP/SWPB emulation handler
[ 3.068944] hctosys: unable to open rtc device (rtc0)
[ 3.069791] ALSA device list:
[ 3.069824] No soundcards found.
[ 3.070100] mmc_host mmc1: Bus speed (slot 0) = 50000000Hz (slot req 52000000Hz, actual 50000000HZ div = 0)
[ 3.075790] Waiting for root device /dev/mmcblk1p2...
[ 3.081844] mmc1: new DDR MMC card at address 0001
[ 3.086802] mmcblk1: mmc1:0001 4YMD3R 3.63 GiB
[ 3.091023] mmcblk1boot0: mmc1:0001 4YMD3R partition 1 4.00 MiB
[ 3.096989] mmcblk1boot1: mmc1:0001 4YMD3R partition 2 4.00 MiB
[ 3.102863] mmcblk1rpmb: mmc1:0001 4YMD3R partition 3 512 KiB
[ 3.109295] mmcblk1: p1 p2 p3 p4
[ 3.115896] usb 2-2: New USB device found, idVendor=0424, idProduct=4604
[ 3.118389] usb 2-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 3.126033] hub 2-2:1.0: USB hub found
[ 3.129388] hub 2-2:1.0: 5 ports detected
[ 3.147447] EXT4-fs (mmcblk1p2): warning: mounting unchecked fs, running e2fsck is recommended
[ 3.151066] EXT4-fs (mmcblk1p2): mounted filesystem without journal. Opts: (null)
[ 3.151164] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 3.158175] devtmpfs: mounted
[ 3.159050] Freeing unused kernel memory: 1024K
[ 3.172994] random: fast init done
[ 3.445317] usb 2-2.4: new high-speed USB device number 3 using exynos-ehci
[ 3.615779] usb 2-2.4: config 1 interface 0 altsetting 0 endpoint 0x83 has an invalid bInterval 0, changing to 7
[ 3.688785] usb 2-2.4: New USB device found, idVendor=0a46, idProduct=9621
[ 3.688866] usb 2-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3.694605] dm9601 2-2.4:1.0 eth0: register 'dm9601' at usb-12580000.ehci-2.4, Davicom DM96xx USB 10/100 Ethernet, 00:00:ff:ff:00:00
[ 3.805298] usb 2-2.5: new high-speed USB device number 4 using exynos-ehci
[ 3.956628] usb 2-2.5: New USB device found, idVendor=0424, idProduct=2530
[ 3.956775] usb 2-2.5: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 3.956912] usb 2-2.5: Product: Bridge device
Try to bring eth0 interface up......[ 4.675754] dm9601 2-2.4:1.0 eth0: link down
[ 4.679659] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Done
Processing /etc/profile... Done!
[root@TINY4412:~]#
[root@TINY4412:~]#
[root@TINY4412:~]# ls
bin etc linuxrc opt root sys usr
dev lib mnt proc sbin tmp var
可以看到上述语句加入后效果:
[ 3.075790] Waiting for root device /dev/mmcblk1p2...
[ 3.081844] mmc1: new DDR MMC card at address 0001
[ 3.086802] mmcblk1: mmc1:0001 4YMD3R 3.63 GiB
[ 3.091023] mmcblk1boot0: mmc1:0001 4YMD3R partition 1 4.00 MiB
[ 3.096989] mmcblk1boot1: mmc1:0001 4YMD3R partition 2 4.00 MiB
[ 3.102863] mmcblk1rpmb: mmc1:0001 4YMD3R partition 3 512 KiB
[ 3.109295] mmcblk1: p1 p2 p3 p4
OK
,去掉SD
后可以脱机运行!!!