天天看點

【TINY4412】LINUX移植筆記:(15)SD卡啟動Linux核心【TINY4412】LINUX移植筆記:(15)SD卡啟動Linux核心

【TINY4412】LINUX移植筆記:(15)SD卡啟動Linux核心

主控端 : 虛拟機 Ubuntu 16.04 LTS / X64

目标闆[底闆]: Tiny4412SDK - 1506

目标闆[核心闆]: Tiny4412 - 1412

LINUX核心: 4.12.0

交叉編譯器: gcc-arm-none-eabi-5_4-2016q3

日期: 2017-8-5 11:39:53

作者: SY

簡介

本節的目的就是要制作一張

SD

卡,用來啟動

U-BOOT

LINUX

、挂載

根檔案系統

SD

至少包含一個

FAT32

分區用于移動、替換、儲存源檔案。 還有一個

EXT4

分區用于加載放置

根檔案系統

思路:在

Linux

中,使用腳本

mk_uboot.sh

源檔案,啟動

u-boot

u-boot

啟動後通過

bootcmd

自動加載

linux核心

裝置樹

。核心啟動後自動加載

根檔案系統

運作

linux

源檔案

[email protected]:/opt/temp/temp# ls
E4412_N.bl1.bin  exynos4412-tiny4412.dtb  tiny4412-spl.bin  
E4412_tzsw.bin   rootfs.tar.gz            u-boot.bin        uImage
           

exynos4412-tiny4412.dtb

uImage

存儲到

SD卡

FAT32

分區,最簡單的辦法就是用讀卡器插到電腦端,拷貝。

燒錄u-boot

E4412_N.bl1.bin

tiny4412-spl.bin

u-boot.bin

E4412_tzsw.bin

燒錄到

SD卡

的指定位置,寫一個腳本

mk_uboot.sh

執行燒錄:

#
# Copyright (C) 2011 Samsung Electronics Co., Ltd.
#              http://www.samsung.com/
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
####################################

if [ -z $ ]
then
    echo "usage: ./mk_uboot.sh <SD Reader's device file>"
    exit 
fi

if [ -b $ ]
then
    echo "$1 reader is identified."
else
    echo "$1 is NOT identified."
    exit 
fi

####################################
#<verify device>

BDEV_NAME=`basename $`
BDEV_SIZE=`cat /sys/block/${BDEV_NAME}/size`

if [ ${BDEV_SIZE} -le  ]; then
        echo "Error: NO media found in card reader."
        exit 
fi

if [ ${BDEV_SIZE} -gt  ]; then
        echo "Error: Block device size (${BDEV_SIZE}) is too large"
        exit 
fi

####################################
# fusing file

bl1_name="E4412_N.bl1.bin"
bl2_name="tiny4412-spl.bin"
uboot_name="u-boot.bin"
tzsz_name="E4412_tzsw.bin"

####################################
# fusing images

signed_bl1_position=
bl2_position=
uboot_position=
tzsw_position=

#<BL1 fusing>
echo "---------------------------------------"
echo "BL1 fusing"
dd iflag=dsync oflag=dsync if=$bl1_name of=$ seek=$signed_bl1_position

#<BL2 fusing>
echo "---------------------------------------"
echo "BL2 fusing"
dd iflag=dsync oflag=dsync if=$bl2_name of=$ seek=$bl2_position

#<u-boot fusing>
echo "---------------------------------------"
echo "u-boot fusing"
dd iflag=dsync oflag=dsync if=$uboot_name of=$ seek=$uboot_position

#<TrustZone S/W fusing>
echo "---------------------------------------"
echo "TrustZone S/W fusing"
dd iflag=dsync oflag=dsync if=$tzsz_name of=$ seek=$tzsw_position


#<flush to disk>
sync

####################################
#<Message Display>
echo "---------------------------------------"
echo "U-boot image is fused successfully."
echo "Eject SD card and insert it again."
           

插入

SD

[email protected]:/opt/u-boot-/sd_fuse/tiny4412/mk_uboot# fdisk -l
Disk /dev/sda:  GiB,  bytes,  sectors
Units: sectors of  *  =  bytes
Sector size (logical/physical):  bytes /  bytes
I/O size (minimum/optimal):  bytes /  bytes
Disklabel type: dos
Disk identifier: 

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1  *             G  Linux
/dev/sda2           M   Extended
/dev/sda5           M  Linux swap / Solaris


Disk /dev/sdd:  GiB,  bytes,  sectors
Units: sectors of  *  =  bytes
Sector size (logical/physical):  bytes /  bytes
I/O size (minimum/optimal):  bytes /  bytes
Disklabel type: dos
Disk identifier: 

Device     Boot   Start      End  Sectors  Size Id Type
/dev/sdd1                  G  b W95 FAT32
/dev/sdd2          G  Linux
           

識别為

sdd

[email protected]:/opt/u-boot-/sd_fuse/tiny4412/mk_uboot# ./mk_uboot.sh /dev/sdd
/dev/sdd reader is identified.
---------------------------------------
BL1 fusing
+ records in
+ records out
 bytes ( kB,  KiB) copied,  s,  kB/s
---------------------------------------
BL2 fusing
+ records in
+ records out
 bytes ( kB,  KiB) copied,  s,  kB/s
---------------------------------------
u-boot fusing
+ records in
+ records out
 bytes ( kB,  KiB) copied,  s,  kB/s
---------------------------------------
TrustZone S/W fusing
+ records in
+ records out
 bytes ( kB,  KiB) copied,  s,  kB/s
---------------------------------------
U-boot image is fused successfully.
Eject SD card and insert it again.
           

根檔案系統

流程:将

SD

卡到電腦端,通過虛拟機的

Linux

識别為裝置,然後挂載

SD

卡的

EXT4

檔案系統,将根檔案系統拷貝到該分區。

[email protected]:/opt/temp/temp# ls
rootfs.tar.gz
[email protected]:/opt/temp/temp# tar zxf rootfs.tar.gz 
[email protected]:/opt/temp/temp# ls
rootfs  rootfs.tar.gz
[email protected]:/opt/temp/temp# cd rootfs
[email protected]:/opt/temp/temp/rootfs# ls
bin  dev  etc  linuxrc  mnt  opt  proc  root  sbin  sys  tmp  var
           

SD卡

插入電腦,拷貝根檔案系統到

sdd2

分區

[email protected]:/opt/temp/temp/rootfs# mount /dev/sdd2 /mnt
[email protected]:/opt/temp/temp/rootfs# cp -af * /mnt/
[email protected]:/opt/temp/temp/rootfs# cd /mnt/
[email protected]:/mnt# ls
bin  dev  etc  linuxrc  mnt  opt  proc  root  sbin  sys  tmp  var
[email protected]:/mnt# 
[email protected]:/mnt# cd ..
[email protected]:/# umount /mnt/
           

環境變量

TINY4412 # setenv bootargs noinitrd root=/dev/mmcblk0p2 rw rootfstype=ext4 console=ttySAC0,115200 init=/linuxrc
TINY4412 # setenv bootcmd fatload mmc 2:1 0x41000000 uImage\; fatload mmc 2:1 0x42000000 exynos4412-tiny4412.dtb\; bootm 0x41000000 - 0x42000000
TINY4412 # saveenv
Saving Environment to MMC...
Writing to MMC()... done
           

root=/dev/mmcblk0p2

:表示根檔案系統的挂載位置是

SD卡

的第

2

個分區

rootfstype=ext4

:表示分區類型是

EXT4

測試

SD卡

插入開發闆開機

U-Boot -gff1b95e-dirty (Aug   - :: +) for TINY4412

CPU:   Exynos4412 @  GHz
Model: Tiny4412 based on Exynos4412
Board: Tiny4412 based on Exynos4412
DRAM:   GiB
WARNING: Caches not enabled
MMC:   SAMSUNG SDHCI: , EXYNOS DWMMC: 
Net:   No ethernet found.
Hit any key to stop autoboot:   
reading uImage
 bytes read in  ms ( MiB/s)
reading exynos4412-tiny4412.dtb
 bytes read in  ms ( MiB/s)
## Booting kernel from Legacy Image at 41000000 ...
   Image Name:   Linux--g16504fa-dirty
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:     Bytes =  MiB
   Load Address: 
   Entry Point:  
   Verifying Checksum ... OK
## Flattened Device Tree blob at 42000000
   Booting using the fdt blob at 
   Loading Kernel Image ... OK
   Loading Device Tree to ff1000, end fff8f3 ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    ] Booting Linux on physical CPU 
[    ] Linux version -g16504fa-dirty ([email protected]) (gcc version   (release) [ARM/embedded--branch revision ] (GNU Tools for ARM Embedded Processors) ) #135 SMP PREEMPT Wed Aug 2 22:23:47 CST 2017
[    ] CPU: ARMv7 Processor [c090] revision  (ARMv7), cr=c5387d
[    ] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    ] OF: fdt: Machine model: FriendlyARM TINY4412 board based on Exynos4412
[    ] Memory policy: Data cache writealloc
[    ] cma: Reserved  MiB at 
[    ] Samsung CPU ID: 
[    ] On node  totalpages: 
[    ] free_area_init_node: node , pgdat c0c46640, node_mem_map ef7f6000
[    ]   Normal zone:  pages used for memmap
[    ]   Normal zone:  pages reserved
[    ]   Normal zone:  pages, LIFO batch:
[    ]   HighMem zone:  pages, LIFO batch:
[    ] percpu: Embedded  pages/cpu @ef78f000 s34968 r8192 d22376 u65536
[    ] pcpu-alloc: s34968 r8192 d22376 u65536 alloc=*
[    ] pcpu-alloc: []  []  []  []  
[    ] Built  zonelists in Zone order, mobility grouping on.  Total pages: 
[    ] Kernel command line: noinitrd root=/dev/mmcblk0p2 rw rootfstype=ext4 console=ttySAC0, init=/linuxrc
[    ] PID hash table entries:  (order: ,  bytes)
[    ] Dentry cache hash table entries:  (order: ,  bytes)
[    ] Inode-cache hash table entries:  (order: ,  bytes)
[    ] Memory: K/K available (K kernel code, K rwdata, K rodata, K init, K bss, K reserved, K cma-reserved, K highmem)
[    ] Virtual kernel memory layout:
[    ]     vector  :  -    (    kB)
[    ]     fixmap  :  -    ( kB)
[    ]     vmalloc :  -    (  MB)
[    ]     lowmem  :  -    (  MB)
[    ]     pkmap   :  -    (    MB)
[    ]     modules :  -    (   MB)
[    ]       .text :  -    ( kB)
[    ]       .init :  -    ( kB)
[    ]       .data :  -    (  kB)
[    ]        .bss :  -    (  kB)
[    ] SLUB: HWalign=, Order=-, MinObjects=, CPUs=, Nodes=
[    ] Preemptible hierarchical RCU implementation.
[    ]  RCU restricting CPUs from NR_CPUS= to nr_cpu_ids=
[    ] RCU: Adjusting geometry for rcu_fanout_leaf=, nr_cpu_ids=
[    ] NR_IRQS: nr_irqs: 
[    ] L2C: platform modifies aux control register:  -> 
[    ] L2C: platform provided aux values permit register corruption.
[    ] L2C: DT/platform modifies aux control register:  -> 
[    ] L2C- enabling early BRESP for Cortex-A9
[    ] L2C-: enabling full line of zeros but not enabled in Cortex-A9
[    ] L2C- dynamic clock gating enabled, standby mode enabled
[    ] L2C- cache controller enabled,  ways,  kB
[    ] L2C-: CACHE_ID , AUX_CTRL 
[    ] Exynos4x12 clocks: sclk_apll = , sclk_mpll = 
[    ]  sclk_epll = , sclk_vpll = , arm_clk = 
[    ] Switching to timer-based delay loop, resolution ns
[    ] clocksource: mct-frc: mask:  max_cycles: , max_idle_ns:  ns
[    ] sched_clock:  bits at MHz, resolution ns, wraps every ns
[    ] Console: colour dummy device x30
[    ] Calibrating delay loop (skipped), value calculated using timer frequency..  BogoMIPS (lpj=)
[    ] pid_max: default:  minimum: 
[    ] Mount-cache hash table entries:  (order: ,  bytes)
[    ] Mountpoint-cache hash table entries:  (order: ,  bytes)
[    ] CPU: Testing write buffer coherency: ok
[    ] CPU0: thread -, cpu , socket , mpidr a00
[    ] Setting up static identity map for  - 
[    ] smp: Bringing up secondary CPUs ...
[    ] CPU1: thread -, cpu , socket , mpidr a01
[    ] CPU2: thread -, cpu , socket , mpidr a02
[    ] CPU3: thread -, cpu , socket , mpidr a03
[    ] smp: Brought up  node,  CPUs
[    ] SMP: Total of  processors activated ( BogoMIPS).
[    ] CPU: All CPU(s) started in SVC mode.
[    ] devtmpfs: initialized
[    ] VFP support v0: implementor  architecture  part  variant  rev 
[    ] clocksource: jiffies: mask:  max_cycles: , max_idle_ns:  ns
[    ] futex hash table entries:  (order: ,  bytes)
[    ] pinctrl core: initialized pinctrl subsystem
[    ] /[email protected] has as child subdomain: /[email protected].
[    ] NET: Registered protocol family 
[    ] DMA: preallocated  KiB pool for atomic coherent allocations
[    ] cpuidle: using governor menu
[    ] gpio gpiochip0: (gpa0): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip0 (gpa0)
[    ] gpio gpiochip1: (gpa1): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip1 (gpa1)
[    ] gpio gpiochip2: (gpb): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip2 (gpb)
[    ] gpio gpiochip3: (gpc0): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip3 (gpc0)
[    ] gpio gpiochip4: (gpc1): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip4 (gpc1)
[    ] gpio gpiochip5: (gpd0): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip5 (gpd0)
[    ] gpio gpiochip6: (gpd1): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip6 (gpd1)
[    ] gpio gpiochip7: (gpf0): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip7 (gpf0)
[    ] gpio gpiochip8: (gpf1): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip8 (gpf1)
[    ] gpio gpiochip9: (gpf2): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip9 (gpf2)
[    ] gpio gpiochip10: (gpf3): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip10 (gpf3)
[    ] gpio gpiochip11: (gpj0): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip11 (gpj0)
[    ] gpio gpiochip12: (gpj1): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip12 (gpj1)
[    ] gpio gpiochip13: (gpk0): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip13 (gpk0)
[    ] gpio gpiochip14: (gpk1): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip14 (gpk1)
[    ] gpio gpiochip15: (gpk2): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip15 (gpk2)
[    ] gpio gpiochip16: (gpk3): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip16 (gpk3)
[    ] gpio gpiochip17: (gpl0): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip17 (gpl0)
[    ] gpio gpiochip18: (gpl1): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip18 (gpl1)
[    ] gpio gpiochip19: (gpl2): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip19 (gpl2)
[    ] gpio gpiochip20: (gpm0): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip20 (gpm0)
[    ] gpio gpiochip21: (gpm1): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip21 (gpm1)
[    ] gpio gpiochip22: (gpm2): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip22 (gpm2)
[    ] gpio gpiochip23: (gpm3): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip23 (gpm3)
[    ] gpio gpiochip24: (gpm4): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip24 (gpm4)
[    ] gpio gpiochip25: (gpy0): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip25 (gpy0)
[    ] gpio gpiochip26: (gpy1): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip26 (gpy1)
[    ] gpio gpiochip27: (gpy2): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip27 (gpy2)
[    ] gpio gpiochip28: (gpy3): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip28 (gpy3)
[    ] gpio gpiochip29: (gpy4): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip29 (gpy4)
[    ] gpio gpiochip30: (gpy5): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip30 (gpy5)
[    ] gpio gpiochip31: (gpy6): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip31 (gpy6)
[    ] gpio gpiochip32: (gpx0): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip32 (gpx0)
[    ] gpio gpiochip33: (gpx1): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip33 (gpx1)
[    ] gpio gpiochip34: (gpx2): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip34 (gpx2)
[    ] gpio gpiochip35: (gpx3): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip35 (gpx3)
[    ] gpio gpiochip36: (gpz): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip36 (gpz)
[    ] gpio gpiochip37: (gpv0): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip37 (gpv0)
[    ] gpio gpiochip38: (gpv1): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip38 (gpv1)
[    ] gpio gpiochip39: (gpv2): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip39 (gpv2)
[    ] gpio gpiochip40: (gpv3): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip40 (gpv3)
[    ] gpio gpiochip41: (gpv4): added GPIO chardev (:)
[    ] gpiochip_setup_dev: registered GPIOs  to  on device: gpiochip41 (gpv4)
[    ] SCSI subsystem initialized
[    ] usbcore: registered new interface driver usbfs
[    ] usbcore: registered new interface driver hub
[    ] usbcore: registered new device driver usb
[    ] media: Linux media interface: v0
[    ] Linux video capture interface: v2
[    ] Advanced Linux Sound Architecture Driver Initialized.
[    ] clocksource: Switched to clocksource mct-frc
[    ] missing cooling_device property
[    ] failed to build thermal zone cpu-thermal: -
[    ] NET: Registered protocol family 
[    ] TCP established hash table entries:  (order: ,  bytes)
[    ] TCP bind hash table entries:  (order: ,  bytes)
[    ] TCP: Hash tables configured (established  bind )
[    ] UDP hash table entries:  (order: ,  bytes)
[    ] UDP-Lite hash table entries:  (order: ,  bytes)
[    ] NET: Registered protocol family 
[    ] RPC: Registered named UNIX socket transport module.
[    ] RPC: Registered udp transport module.
[    ] RPC: Registered tcp transport module.
[    ] RPC: Registered tcp NFSv4 backchannel transport module.
[    ] audit: initializing netlink subsys (disabled)
[    ] audit: type= audit(:): state=initialized audit_enabled= res=
[    ] workingset: timestamp_bits= max_order= bucket_order=
[    ] NFS: Registering the id_resolver key type
[    ] Key type id_resolver registered
[    ] Key type id_legacy registered
[    ] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    ] romfs: ROMFS MTD (C)  Red Hat, Inc.
[    ] bounce: pool size:  pages
[    ] Block layer SCSI generic (bsg) driver version  loaded (major )
[    ] io scheduler noop registered
[    ] io scheduler deadline registered
[    ] io scheduler cfq registered (default)
[    ] io scheduler mq-deadline registered
[    ] io scheduler kyber registered
[    ] samsung-usb2-phy b0000.exynos-usbphy: b0000.exynos-usbphy supply vbus not found, using dummy regulator
[    ] dma-pl330 pdma: Loaded driver for PL330 DMAC-
[    ] dma-pl330 pdma:         DBUFF-x4bytes Num_Chans- Num_Peri- Num_Events-
[    ] dma-pl330 pdma: Loaded driver for PL330 DMAC-
[    ] dma-pl330 pdma:         DBUFF-x4bytes Num_Chans- Num_Peri- Num_Events-
[    ] dma-pl330 mdma: Loaded driver for PL330 DMAC-
[    ] dma-pl330 mdma:         DBUFF-x8bytes Num_Chans- Num_Peri- Num_Events-
[    ] Serial: / driver,  ports, IRQ sharing disabled
[    ] serial: ttySAC0 at MMIO  (irq = , base_baud = ) is a S3C6400/
[    ] console [ttySAC0] enabled
[    ] serial: ttySAC1 at MMIO  (irq = , base_baud = ) is a S3C6400/
[    ] serial: ttySAC2 at MMIO  (irq = , base_baud = ) is a S3C6400/
[    ] serial: ttySAC3 at MMIO  (irq = , base_baud = ) is a S3C6400/
[    ] brd: module loaded
[    ] loop: module loaded
[    ] libphy: Fixed MDIO Bus: probed
[    ] usbcore: registered new interface driver cdc_ether
[    ] usbcore: registered new interface driver dm9601
[    ] usbcore: registered new interface driver net1080
[    ] usbcore: registered new interface driver cdc_subset
[    ] usbcore: registered new interface driver zaurus
[    ] usbcore: registered new interface driver cdc_ncm
[    ] dwc2 hsotg: hsotg supply vusb_d not found, using dummy regulator
[    ] dwc2 hsotg: hsotg supply vusb_a not found, using dummy regulator
[    ] dwc2 hsotg: dwc2_check_params: Invalid parameter g_np_tx_fifo_size=
[    ] dwc2 hsotg: EPs: , dedicated fifos,  entries in SPRAM
[    ] dwc2 hsotg: DWC OTG Controller
[    ] dwc2 hsotg: new USB bus registered, assigned bus number 
[    ] dwc2 hsotg: irq , io mem 
[    ] usb usb1: New USB device found, idVendor=d6b, idProduct=
[    ] usb usb1: New USB device strings: Mfr=, Product=, SerialNumber=
[    ] usb usb1: Product: DWC OTG Controller
[    ] usb usb1: Manufacturer: Linux -g16504fa-dirty dwc2_hsotg
[    ] usb usb1: SerialNumber: hsotg
[    ] hub -:: USB hub found
[    ] hub -::  port detected
[    ] ehci_hcd: USB  'Enhanced' Host Controller (EHCI) Driver
[    ] ehci-exynos: EHCI EXYNOS driver
[    ] of_get_named_gpiod_flags: can't parse 'samsung,vbus-gpio' property of node '/ehci@[]'
[    ] exynos-ehci ehci: EHCI Host Controller
[    ] exynos-ehci ehci: new USB bus registered, assigned bus number 
[    ] exynos-ehci ehci: irq , io mem 
[    ] exynos-ehci ehci: USB  started, EHCI 
[    ] usb usb2: New USB device found, idVendor=d6b, idProduct=
[    ] usb usb2: New USB device strings: Mfr=, Product=, SerialNumber=
[    ] usb usb2: Product: EHCI Host Controller
[    ] usb usb2: Manufacturer: Linux -g16504fa-dirty ehci_hcd
[    ] usb usb2: SerialNumber: ehci
[    ] hub -:: USB hub found
[    ] hub -::  ports detected
[    ] usbcore: registered new interface driver usb-storage
[    ] of_get_named_gpiod_flags: can't parse 'intn-gpios' property of node '/usb-hub[]'
[    ] of_get_named_gpiod_flags: can't parse 'connect-gpios' property of node '/usb-hub[]'
[    ] of_get_named_gpiod_flags: parsed 'reset-gpios' property of node '/usb-hub[0]' - status ()
[    ] USB4604 usb-hub: switched to HUB mode
[    ] USB4604 usb-hub: USB4604_probe: probed in hub mode
[    ] s3c-rtc rtc: failed to find rtc source clock
[    ] s3c-rtc: probe of rtc failed with error -
[    ] i2c /dev entries driver
[    ] s3c2410-wdt watchdog: watchdog inactive, reset disabled, irq disabled
[    ] device-mapper: ioctl: -ioctl (--) initialised: [email protected]
[    ] sdhci: Secure Digital Host Controller Interface driver
[    ] sdhci: Copyright(c) Pierre Ossman
[    ] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/sdhci@[]'
[    ] s3c-sdhci sdhci: clock source : mmc_busclk ( Hz)
[    ] s3c-sdhci sdhci: GPIO lookup for consumer cd
[    ] s3c-sdhci sdhci: using device tree for GPIO lookup
[    ] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/sdhci@[]'
[    ] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/sdhci@[]'
[    ] s3c-sdhci sdhci: using lookup tables for GPIO lookup
[    ] s3c-sdhci sdhci: lookup for GPIO cd failed
[    ] s3c-sdhci sdhci: GPIO lookup for consumer wp
[    ] s3c-sdhci sdhci: using device tree for GPIO lookup
[    ] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/sdhci@[]'
[    ] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/sdhci@[]'
[    ] s3c-sdhci sdhci: using lookup tables for GPIO lookup
[    ] s3c-sdhci sdhci: lookup for GPIO wp failed
[    ] mmc0: SDHCI controller on samsung-hsmmc [sdhci] using ADMA
[    ] Synopsys Designware Multimedia Card Interface Driver
[    ] dwmmc_exynos mmc: IDMAC supports -bit address mode.
[    ] dwmmc_exynos mmc: Using internal DMA controller.
[    ] dwmmc_exynos mmc: Version ID is a
[    ] dwmmc_exynos mmc: DW MMC controller at irq , bit host data width, deep fifo
[    ] dwmmc_exynos mmc: GPIO lookup for consumer cd
[    ] dwmmc_exynos mmc: using device tree for GPIO lookup
[    ] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/mmc@[]'
[    ] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/mmc@[]'
[    ] dwmmc_exynos mmc: using lookup tables for GPIO lookup
[    ] dwmmc_exynos mmc: lookup for GPIO cd failed
[    ] dwmmc_exynos mmc: GPIO lookup for consumer wp
[    ] dwmmc_exynos mmc: using device tree for GPIO lookup
[    ] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/mmc@[]'
[    ] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/mmc@[]'
[    ] dwmmc_exynos mmc: using lookup tables for GPIO lookup
[    ] dwmmc_exynos mmc: lookup for GPIO wp failed
[    ] mmc_host mmc1: card is polling.
[    ] usb -: new high-speed USB device number  using exynos-ehci
[    ] mmc0: new high speed SDHC card at address 
[    ] mmcblk0: mmc0: SD16G  GiB 
[    ]  mmcblk0: p1 p2
[    ] mmc_host mmc1: Bus speed (slot ) = Hz (slot req Hz, actual HZ div = )
[    ] dwmmc_exynos mmc:  slots initialized
[    ] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led1[0]' - status ()
[    ] no flags found for gpios
[    ] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led2[0]' - status ()
[    ] no flags found for gpios
[    ] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led3[0]' - status ()
[    ] no flags found for gpios
[    ] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/led4[0]' - status ()
[    ] no flags found for gpios
[    ] s5p-secss sss: s5p-sss driver registered
[    ] usbcore: registered new interface driver usbhid
[    ] usbhid: USB HID core driver
[    ] NET: Registered protocol family 
[    ] Segment Routing with IPv6
[    ] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    ] NET: Registered protocol family 
[    ] NET: Registered protocol family 
[    ] Key type dns_resolver registered
[    ] Registering SWP/SWPB emulation handler
[    ] hctosys: unable to open rtc device (rtc0)
[    ] ALSA device list:
[    ]   No soundcards found.
[    ] mmc_host mmc1: Bus speed (slot ) = Hz (slot req Hz, actual HZ div = )
[    ] mmc1: new DDR MMC card at address 
[    ] mmcblk1: mmc1: YMD3R  GiB 
[    ] mmcblk1boot0: mmc1: YMD3R partition   MiB
[    ] mmcblk1boot1: mmc1: YMD3R partition   MiB
[    ] mmcblk1rpmb: mmc1: YMD3R partition   KiB
[    ]  mmcblk1: p1 p2 p3 p4
[    ] usb -: New USB device found, idVendor=, idProduct=
[    ] usb -: New USB device strings: Mfr=, Product=, SerialNumber=
[    ] hub -:: USB hub found
[    ] hub -::  ports detected
[    ] usb -: new high-speed USB device number  using exynos-ehci
[    ] usb -: config  interface  altsetting  endpoint  has an invalid bInterval , changing to 
[    ] usb -: New USB device found, idVendor=a46, idProduct=
[    ] usb -: New USB device strings: Mfr=, Product=, SerialNumber=
[    ] dm9601 -: eth0: register 'dm9601' at usb-ehci-, Davicom DM96xx USB / Ethernet, ::ff:ff::
[    ] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    ] VFS: Mounted root (ext4 filesystem) on device :
[    ] devtmpfs: mounted
[    ] Freeing unused kernel memory: K
[    ] random: fast init done
[    ] usb -: new high-speed USB device number  using exynos-ehci
[    ] usb -: New USB device found, idVendor=, idProduct=
[    ] usb -: New USB device strings: Mfr=, Product=, SerialNumber=
[    ] usb -: Product: Bridge device
mkdir: can't create directory '/mnt/disk': File exists
Try to bring eth0 interface up......[    5.311802] dm9601 2-2.4:1.0 eth0: link down
[    5.314859] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Done

Processing /etc/profile... Done!
[[email protected]:~]# ls
bin      etc      mnt      proc     sbin     tmp
dev      linuxrc  opt      root     sys      var
           

這樣,就搞定了,把這張

SD

卡插到其他開發闆也可以自動加載

Linxu

核心。

繼續閱讀