I.MX6Q(TQIMX6Q/TQE9)學習筆記——新版BSP之根檔案系統掛載,tqimx6qtqe9

來源:互聯網
上載者:User

I.MX6Q(TQIMX6Q/TQE9)學習筆記——新版BSP之根檔案系統掛載,tqimx6qtqe9

經過前面的移植,新版BSP的uboot和kernel已經能夠在tqimx6q開發板上運行了,接下來我們來掛載檔案系統。

DTB整理

前面的文章中提到,新版BSP的DTB管理感覺不是太好,在之前移植的BSP上我發現即便有根檔案系統,核心也會掛掉,由於原來的DTS檔案中配置內容太多,不好確定問題的源頭,本文對DTS進行了整理,整理後只需要一個DTS檔案,其內容如下:

/* * Copyright 2012 Freescale Semiconductor, Inc. * Copyright 2011 Linaro Ltd. * * The code contained herein is licensed under the GNU General Public * License. You may obtain a copy of the GNU General Public License * Version 2 or later at the following locations: * * http://www.opensource.org/licenses/gpl-license.html * http://www.gnu.org/copyleft/gpl.html *//dts-v1/;#include "imx6q.dtsi"/ {model = "Freescale i.MX6 Quad SABRE Smart Device Board";compatible = "fsl,imx6q-sabresd", "fsl,imx6q";memory {reg = <0x10000000 0x80000000>;};};&uart1 {pinctrl-names = "default";pinctrl-0 = <&pinctrl_uart1_2>;status = "okay";};&usdhc2 {pinctrl-names = "default";pinctrl-0 = <&pinctrl_usdhc2_2>;cd-gpios = <&gpio1 4 0>;no-1-8-v;keep-power-in-suspend;enable-sdio-wakeup;status = "okay";};&iomuxc {pinctrl-names = "default";uart1 {pinctrl_uart1_2: uart1grp-2 {fsl,pins = <MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1>;};};};
同時,需要將imx6qdl.dtsi恢複到前文改動之前的狀態,因為代碼是使用git管理的,因此,可以使用如下指令恢複:

git checkout imx6qdl.dtsi
製作啟動SD卡

根檔案系統的製作方法本文就不再贅述了,可以參考本部落格S5PV210相關的記載。本人將製作好的根檔案系統打包上傳到網盤,如果您也懶得重新製作根檔案系統可以暫時使用鄙人製作的的這個:

Freescale I.MX6Q BSP移植資料整理

下面開始製作啟動SD卡:

Step1. 使用fdisk命令對SD卡進行分區

其實,移植3.0核心版本的BSP時已經使用過fdisk命令,與之前的不同是分區的起始offset改在20M的位置上,具體如下:

(1) 開機磁碟分割指令

其中sdb請根據自己的實際情況制定,執行之前一定要再三確認好,以免誤操作導致檔案丟失。

sudo fdisk /dev/sdb
(2) 切換到sector模式

按u然後斷行符號,重複操作直至切換到sector模式。

(3) 刪除既有分區

按d然後斷行符號,重複操作直至刪除所有分區。

(4) 建立新分區

按n建立新分區。

(5) 執行分區類型。

按p選擇為主要磁碟分割。

(6) 輸入起始位移

輸入"+20M",指定該分區的起始位置是20M的位置上。

(7) 輸入結束位移

本文僅使用了一個分區,故直接按斷行符號,表示該分區的結束位置是磁碟的末尾。

(8) 儲存分區資訊

按w然後斷行符號,即可儲存分區資訊。

Step2. 格式化分區

使用mkfs命令格式化新建立的分區,對於行動裝置,可以考慮使用ext3或者ext4檔案系統,指令如下:

sudo mkfs.ext3 /dev/sdb1
或者
sudo mkfs.ext4 /dev/sdb1

Step3. 拷貝根檔案系統

由於本人之前製作好的根檔案系統是個壓縮包,故直接解壓到該分區即可。

sudo mount /dev/sdb1 /mntsudo tar jxf rootfs.tar.bz2 -C /mntsudo mv /mnt/rootfs/* /mntsudo rm /mnt/rootfssudo umount /mnt
至此,就完成了根檔案系統的製作。

配置uboot環境變數

setenv bootargs 'noinitrd console=ttymxc0,115200 root=/dev/mmcblk0p1 rw init=/linuxrc'setenv bootcmd 'mmc dev 0; mmc read 0x11ffffc0 0x800 0x3000; mmc read 0x18000000 0x5000 0x800; bootm 0x11ffffc0 - 0x18000000'saveenv
之後重啟開發板即可。

效果展示

啟動Log如下:

U-Boot 2013.04-04987-g98fdbdc-dirty (May 03 2015 - 11:46:24)CPU:   Freescale i.MX6Q rev1.2 at 792 MHzCPU:   Temperature 27 C, calibration data: 0x54e4bb69Reset cause: PORBoard: MX6Q/SDL-SabreSDI2C:   readyDRAM:  1 GiBMMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2No panel detected: default to Hannstar-XGADisplay: Hannstar-XGA (1024x768)In:    serialOut:   serialErr:   serialmmc0 is current deviceNet:   Phy not foundPHY reset timed outFEC [PRIME]Warning: failed to set MAC addressNormal BootHit any key to stop autoboot:  0 mmc0 is current deviceMMC read: dev # 0, block # 2048, count 12288 ... 12288 blocks read: OKMMC read: dev # 0, block # 20480, count 2048 ... 2048 blocks read: OK## Booting kernel from Legacy Image at 11ffffc0 ...   Image Name:   Linux-3.10.17-80739-g33597e3-dir   Image Type:   ARM Linux Kernel Image (uncompressed)   Data Size:    5289224 Bytes = 5 MiB   Load Address: 12000000   Entry Point:  12000000   Verifying Checksum ... OK## Flattened Device Tree blob at 18000000   Booting using the fdt blob at 0x18000000   XIP Kernel Image ... OKOK   Using Device Tree in place at 18000000, end 1800befbStarting kernel ...Booting Linux on physical CPU 0x0Linux version 3.10.17-80739-g33597e3-dirty (lilianrong@lenovo) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) ) #1 SMP PREEMPT Sun May 3 11:31:37 CST 2015CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7dCPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cacheMachine: Freescale i.MX6 Quad/DualLite (Device Tree), model: Freescale i.MX6 Quad SABRE Smart Device Boardcma: CMA: reserved 320 MiB at 3c000000Memory policy: ECC disabled, Data cache writeallocPERCPU: Embedded 8 pages/cpu @814f8000 s8896 r8192 d15680 u32768Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260096Kernel command line: noinitrd console=ttymxc0,115200 root=/dev/mmcblk0p1 rw rootfstype=ext4 init=/linuxrcPID hash table entries: 4096 (order: 2, 16384 bytes)Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)Memory: 1024MB = 1024MB totalMemory: 697800k/697800k available, 350776k reserved, 0K highmemVirtual kernel memory layout:    vector  : 0xffff0000 - 0xffff1000   (   4 kB)    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)    vmalloc : 0xc0800000 - 0xff000000   (1000 MB)    lowmem  : 0x80000000 - 0xc0000000   (1024 MB)    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)    modules : 0x7f000000 - 0x7fe00000   (  14 MB)      .text : 0x80008000 - 0x80be704c   (12157 kB)      .init : 0x80be8000 - 0x80c2a2c0   ( 265 kB)      .data : 0x80c2c000 - 0x80c7c260   ( 321 kB)       .bss : 0x80c7c260 - 0x80ce5434   ( 421 kB)SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1Preemptible hierarchical RCU implementation.NR_IRQS:16 nr_irqs:16 16L310 cache controller enabledl2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x32070000, Cache size: 1048576 Bsched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655msCPU identified as i.MX6Q, silicon rev 1.2Console: colour dummy device 80x30Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)pid_max: default: 32768 minimum: 301Mount-cache hash table entries: 512CPU: Testing write buffer coherency: okCPU0: thread -1, cpu 0, socket 0, mpidr 80000000Setting up static identity map for 0x80610608 - 0x80610660CPU1: Booted secondary processorCPU1: thread -1, cpu 1, socket 0, mpidr 80000001CPU2: Booted secondary processorCPU2: thread -1, cpu 2, socket 0, mpidr 80000002CPU3: Booted secondary processorCPU3: thread -1, cpu 3, socket 0, mpidr 80000003Brought up 4 CPUsSMP: Total of 4 processors activated (6324.22 BogoMIPS).CPU: All CPU(s) started in SVC mode.devtmpfs: initializedpinctrl core: initialized pinctrl subsystemregulator-dummy: no parametersNET: Registered protocol family 16DMA: preallocated 256 KiB pool for atomic coherent allocationsUse WDOG1 as reset sourcesyscon 20c8000.anatop: regmap [mem 0x020c8000-0x020c8fff] registeredvdd1p1: 800 <--> 1375 mV at 1125 mV vdd3p0: 2800 <--> 3150 mV at 3000 mV vdd2p5: 2000 <--> 2750 mV at 2425 mV cpu: 725 <--> 1450 mV at 1150 mV vddpu: 725 <--> 1450 mV vddsoc: 725 <--> 1450 mV at 1200 mV syscon 20e0000.iomuxc-gpr: regmap [mem 0x020e0000-0x020e0037] registeredsyscon 21bc000.ocotp-ctrl: regmap [mem 0x021bc000-0x021bffff] registeredhw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.hw-breakpoint: maximum watchpoint size is 4 bytes.imx6q-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driverbio: create slab <bio-0> at 0mxs-dma 110000.dma-apbh: initializedi2c-core: driver [max17135] using legacy suspend methodi2c-core: driver [max17135] using legacy resume methodSCSI subsystem initializedusbcore: registered new interface driver usbfsusbcore: registered new interface driver hubusbcore: registered new device driver usbLinux video capture interface: v2.00pps_core: LinuxPPS API ver. 1 registeredpps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>PTP clock support registeredimx-ipuv3 2400000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)imx-ipuv3 2800000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)MIPI CSI2 driver module loadedAdvanced Linux Sound Architecture Driver Initialized.cfg80211: Calling CRDA to update world regulatory domainSwitching to clocksource mxc_timer1NET: Registered protocol family 2TCP established hash table entries: 8192 (order: 4, 65536 bytes)TCP bind hash table entries: 8192 (order: 4, 65536 bytes)TCP: Hash tables configured (established 8192 bind 8192)TCP: reno registeredUDP hash table entries: 512 (order: 2, 16384 bytes)UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)NET: Registered protocol family 1RPC: Registered named UNIX socket transport module.RPC: Registered udp transport module.RPC: Registered tcp transport module.RPC: Registered tcp NFSv4.1 backchannel transport module.hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters availablepureg-dummy: no parametersimx6_busfreq busfreq.15: DDR medium rate not supported.Bus freq driver module loadedVFS: Disk quotas dquot_6.5.2Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)NFS: Registering the id_resolver key typeKey type id_resolver registeredKey type id_legacy registeredjffs2: version 2.2. (NAND) 漏 2001-2006 Red Hat, Inc.fuse init (API version 7.22)msgmni has been set to 2002io scheduler noop registeredio scheduler deadline registeredio scheduler cfq registered (default)imx-weim 21b8000.weim: WEIM driver registered.MIPI DSI driver module loadedimx-sdma 20ec000.sdma: no iram assigned, using external memimx-sdma 20ec000.sdma: loaded firmware 1.1imx-sdma 20ec000.sdma: initializedSerial: IMX driver2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMXconsole [ttymxc0] enabledserial: Freescale lpuart driver[drm] Initialized drm 1.1.0 20060810[drm] Initialized vivante 1.0.0 20120216 on minor 0brd: module loadedloop: module loadedCAN device driver interfaceehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driverusbcore: registered new interface driver usb-storagemousedev: PS/2 mouse device common for all micei2c-core: driver [isl29023] using legacy suspend methodi2c-core: driver [isl29023] using legacy resume methodsnvs_rtc 20cc034.snvs-rtc-lp: rtc core: registered 20cc034.snvs-rtc-lp as rtc0i2c /dev entries driveri2c-core: driver [mag3110] using legacy suspend methodi2c-core: driver [mag3110] using legacy resume methodimx2-wdt 20bc000.wdog: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=0)cpuidle: using governor laddercpuidle: using governor menusdhci: Secure Digital Host Controller Interface driversdhci: Copyright(c) Pierre Ossmansdhci-pltfm: SDHCI platform and OF driver helpermmc0: no vqmmc regulator foundmmc0: no vmmc regulator foundmmc0: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMAmmc0: host does not support reading read-only switch. assuming write-enable.mmc0: new high speed SDHC card at address e624mmcblk0: mmc0:e624 SS08G 7.40 GiB  mmcblk0: p1Galcore version 4.6.9.9754mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probedmxc_asrc 2034000.asrc: mxc_asrc registeredmxc_vpu 2040000.vpu: VPU initializedcaam 2100000.caam: device ID = 0x0a16010000000000 (Era -524)caam 2100000.caam: job rings = 2, qi = 0caam 2100000.caam: authenc-hmac-md5-cbc-aes-caamcaam 2100000.caam: authencesn-hmac-md5-cbc-aes-caamcaam 2100000.caam: authenc-hmac-sha1-cbc-aes-caamcaam 2100000.caam: authencesn-hmac-sha1-cbc-aes-caamcaam 2100000.caam: authenc-hmac-sha224-cbc-aes-caamcaam 2100000.caam: authencesn-hmac-sha224-cbc-aes-caamcaam 2100000.caam: authenc-hmac-sha256-cbc-aes-caamcaam 2100000.caam: authencesn-hmac-sha256-cbc-aes-caamcaam 2100000.caam: authenc-hmac-md5-cbc-des3_ede-caamcaam 2100000.caam: authencesn-hmac-md5-cbc-des3_ede-caamcaam 2100000.caam: authenc-hmac-sha1-cbc-des3_ede-caamcaam 2100000.caam: authencesn-hmac-sha1-cbc-des3_ede-caamcaam 2100000.caam: authenc-hmac-sha224-cbc-des3_ede-caamcaam 2100000.caam: authencesn-hmac-sha224-cbc-des3_ede-caamcaam 2100000.caam: authenc-hmac-sha256-cbc-des3_ede-caamcaam 2100000.caam: authencesn-hmac-sha256-cbc-des3_ede-caamcaam 2100000.caam: authenc-hmac-md5-cbc-des-caamcaam 2100000.caam: authencesn-hmac-md5-cbc-des-caamcaam 2100000.caam: authenc-hmac-sha1-cbc-des-caamcaam 2100000.caam: authencesn-hmac-sha1-cbc-des-caamcaam 2100000.caam: authenc-hmac-sha224-cbc-des-caamcaam 2100000.caam: authencesn-hmac-sha224-cbc-des-caamcaam 2100000.caam: authenc-hmac-sha256-cbc-des-caamcaam 2100000.caam: authencesn-hmac-sha256-cbc-des-caamcaam 2100000.caam: ecb-des-caamcaam 2100000.caam: ecb-arc4-caamcaam 2100000.caam: ecb-aes-caamcaam 2100000.caam: ctr-aes-caamcaam 2100000.caam: cbc-aes-caamcaam 2100000.caam: ecb-des3-caamcaam 2100000.caam: cbc-3des-caamcaam 2100000.caam: cbc-des-caamcaam 2100000.caam: fsl,sec-v4.0 algorithms registered in /proc/cryptoplatform 2101000.jr0: registering rng-caamplatform caam_sm: caam_sm_test: 8-byte key test match OKplatform caam_sm: caam_sm_test: 16-byte key test match OKplatform caam_sm: caam_sm_test: 32-byte key test match OKplatform caam_secvio.16: security violation service handlers armedusbcore: registered new interface driver usbhidusbhid: USB HID core driveri2c-core: driver [cs42888] using legacy suspend methodi2c-core: driver [cs42888] using legacy resume methodTCP: cubic registeredNET: Registered protocol family 10sit: IPv6 over IPv4 tunneling driverNET: Registered protocol family 17can: controller area network core (rev 20120528 abi 9)NET: Registered protocol family 29can: raw protocol (rev 20120528)can: broadcast manager protocol (rev 20120528 t)can: netlink gateway (rev 20130117) max_hops=18021q: 802.1Q VLAN Support v1.8Key type dns_resolver registeredVFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4snvs_rtc 20cc034.snvs-rtc-lp: setting system clock to 1970-01-01 00:01:12 UTC (72)ALSA device list:  No soundcards found.EXT4-fs (mmcblk0p1): recovery completeEXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)VFS: Mounted root (ext4 filesystem) on device 179:1.devtmpfs: mountedFreeing unused kernel memory: 264K (80be8000 - 80c2a000)----------mount all..........----------Starting mdev......Please press Enter to activate this console. @tqimx6q #
總結

本次移植不是很順利,讓DTS折騰了一下午,最終決定使用現在這種方式移植,不過這種方式可以更深入的學習DTS。文中有不妥之處請幫忙指出,有任何疑問可以留言討論。




本文作者:girlkoo

本文連結:http://blog.csdn.net/girlkoo/article/details/45463207

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.