Embedsky007的个人空间 https://www.eechina.com/space-uid-114045.html [收藏] [复制] [RSS]

博客

【TQIMX6教程】新版BSP之根文件系统挂载

已有 1677 次阅读2015-6-6 15:25 |个人分类:技术文章| BSP, 移植, 天嵌, 嵌入式, 开发板

本文由博主girlkoo编写,关于E9与TQIMX6Q开发平台根文件系统挂载的文章。
  经过前面的移植,新版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"  
  •   
  •   
  • / {  
  • <span style="white-space:pre">    model = "Freescale i.MX6 Quad SABRE Smart Device Board";  
  • <span style="white-space:pre">    compatible = "fsl,imx6q-sabresd", "fsl,imx6q";  
  •   
  •   
  • <span style="white-space:pre">    memory {  
  • <span style="white-space:pre">        reg = <0x10000000 0x80000000>;  
  • <span style="white-space:pre">    };  
  • };  
  •   
  •   
  • &uart1 {  
  • <span style="white-space:pre">    pinctrl-names = "default";  
  • <span style="white-space:pre">    pinctrl-0 = <&pinctrl_uart1_2>;  
  • <span style="white-space:pre">    status = "okay";  
  • };  
  •   
  •   
  • &usdhc2 {  
  • <span style="white-space:pre">    pinctrl-names = "default";  
  • <span style="white-space:pre">    pinctrl-0 = <&pinctrl_usdhc2_2>;  
  • <span style="white-space:pre">    cd-gpios = <&gpio1 4 0>;  
  • <span style="white-space:pre">    wp-gpios = <&gpio1 2 0>;  
  • <span style="white-space:pre">    no-1-8-v;  
  • <span style="white-space:pre">    keep-power-in-suspend;  
  • <span style="white-space:pre">    enable-sdio-wakeup;  
  • <span style="white-space:pre">    status = "okay";  
  • };  
  •   
  •   
  • &iomuxc {  
  • <span style="white-space:pre">    pinctrl-names = "default";  
  •   
  •   
  • <span style="white-space:pre">    uart1 {  
  • <span style="white-space:pre">        pinctrl_uart1_2: uart1grp-2 {  
  • <span style="white-space:pre">            fsl,pins = <  
  • <span style="white-space:pre">                MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1  
  • <span style="white-space:pre">                MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1  
  • <span style="white-space:pre">            >;  
  • <span style="white-space:pre">        };  
  • <span style="white-space:pre">    };  
  • };  
  同时,需要将imx6qdl.dtsi恢复到前文改动之前的状态,因为代码是使用git管理的,因此,可以使用如下指令恢复:
  • git checkout imx6qdl.dtsi  
  制作启动SD卡
  根文件系统的制作方法本文就不再赘述了,可以参考本博客S5PV210相关的记载。本人将制作好的根文件系统打包上传到网盘,如果您也懒得重新制作根文件系统可以暂时使用鄙人制作的的这个:
  下面开始制作启动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 /mnt  
  • sudo tar jxf rootfs.tar.bz2 -C /mnt  
  • sudo mv /mnt/rootfs/* /mnt  
  • sudo rm /mnt/rootfs  
  • sudo 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  
  之后重启开发板即可。
  总结
  本次移植不是很顺利,让DTS折腾了一下午,最终决定使用现在这种方式移植,不过这种方式可以更深入的学习DTS。文中有不妥之处请帮忙指出,有任何疑问可以留言讨论。
相关产品:

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部