基于正点原子alpha开发板的第三篇系统移植

系统移植的三大步骤如下:

  1. =系统uboot移植====
  2. =系统linux移植====
  3. =系统rootfs制作====

一言难尽,踩了不少坑,当时只是想学习驱动开发,发现必须要将第三篇系统移植弄好才可以学习后面驱动,现将移植好的文件分享出来:

仓库:https://gitee.com/wangyoujie11/imx6u-ll-uboot-kernel-rootfs.git

使用如下

如果直接使用我移植好的四大组件,只需要完成以下配置

  1. 将usb线连接开发板的OTG串口,另一端连接电脑;然后另一根连接USB_TTL串口,另一端连接电脑;
  2. 检测自己的sd卡是否取下(sd卡槽不能插卡)
  3. 红色拨码开关打到USB启动
  4. 给板子上电,双击打开mfgtool2-alientek-alpha-emmc.vbs文件,提示"符合标准 就可以点击start,等待烧入,可以打开串口助手查看下载信息。提示信息如下所示,说明以及将系统烧写到板子上的emmc了。

从emmc启动将红色拨码开关打到emmc启动,然后复位板子就可以正常进入了boot命令,先输入ls mmc 1:1查看是否是图中的信息,没问题就输入环境变量:

powershell 复制代码
=>setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw

=>setenv bootcmd 'mmc dev 1;fatload mmc 1:1 80800000 zImage;fatload mmc 1:1 83000000 imx6ull-alientek-emmc.dtb;bootz 80800000-83000000;'

boot



从SD启动 将红色拨码开关打到SD启动。首先准备工作alientek-linux和alientek-uboot和alientek-rootfs下载到本地ubuntu下解压如下:
链接:https://pan.baidu.com/s/18e-UhGz_HCEF9-Z2ADEjlg
提取码:wjwj

  1. 进入alientek-uboot文件下,打开终端使用./imxdownload u-boot.bin /dev/sdb(自己的sd)中
  2. 然后将SD卡插入到板子卡槽内,使用SD卡启动模式
  3. 在tftp文件下面添加如下内容(可以在alientek-linux文件中找到)
  4. 将rootfs文件解压到nfs文件夹下面
  5. 使用chmod 777 -R nfs 和chmod 777 -R tftpboot。给这俩个文件夹权限
  6. 开发板直连电脑搭建NFS&TFTP环境配置:https://blog.csdn.net/zzssdd2/article/details/110455413。**注意:路径一定要改为自己的路径**。
  7. 板子从SD卡启动,然后就可以使用驱动例程来做了,在编译驱动例程的时候,需要替换官方的路径

  8. 确定板子的信息是
powershell 复制代码
 # 设置启动参数bootargs
#	nfsroot后的参数为Ubuntu的nfs文件夹路径;格式为:nfsroot=NFS服务器IP:文件系统的绝对路径.
#	ip后的参数为开发板网络信息:ip=开发板IP:服务器IP:网关,子网掩码::eth0:off. 
setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs rw nfsroot=192.168.104.88:/home/wj/linux/nfs/rootfs ip=192.168.104.90:192.168.104.88:192.168.104.1:255.255.255.0::eth0:off'
# 保存
=> saveenv
Saving Environment to MMC... Writing to MMC(0)... OK
# 复位重启
=> reset

重启板子之后就会出现:

然后在自己的ubuntu下找到一个编译好的驱动例程,使用如下命令就可以将程序拷贝到开发板的/lib/modules/4.1.15/路径下

powershell 复制代码
sudo cp chrdevbase.ko chrdevbaseApp /home/wj/linux/nfs/rootfs/lib/modules/4.1.15/ -f

至此,所有的移植就完成了,可以愉快的驱动开发了

使用02_led驱动例程测试:

挂载之后就行点灯操作:

相关推荐
Sokach101512 小时前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
FreakStudio1 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
AlfredZhao1 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3103 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode3 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
A小辣椒4 天前
TShark:Wireshark CLI 功能
linux
A小辣椒4 天前
TShark:基础知识
linux
AlfredZhao5 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao5 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334665 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux