移植Linux内核到阿尔法开发板(一)编译NXP官方Linux内核

1.在Linux/IMX6ULL/linux目录下新建nxplinux目录

1.拷贝linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2文件到linux/IMX6ULL/linux/nxplinux目录下解压,如下图所示:
在这里插入图片描述
在这里插入图片描述
2.进入解压后的目录,查看该目录下的文件如下图所示:
在这里插入图片描述
3.查看linux内核源码配置文件
  编译Linux内核之前需要先配置Linux内核。默认配置文件保存在arch/arm/configs目录下,进入此目录查看此目录下的配置文件如下图所示:
在这里插入图片描述
在这里插入图片描述
  由上图可知imx_v7_defconfig和imx_v7_mfg_defconfig都可以作为NXP官方I.MX6ULL EVK开发板配置文件,建议使用imx_v7_mfg_defconfig这个配置文件,这个配置文件不仅支持I.MX6UL这款芯片同时此配置文件编译出来的zImage可以通过NXP官方提供的MfgTool工具烧写。
4.查看linux内核源码设备树文件
  Linux内核默认的设备树文件保存在arch/arm/boot/dts目录下,进入此目录查看该目录下的设备树文件如下图所示:
在这里插入图片描述
  设备树文件使用imx6ull-14x14-evk-emmc.dts文件。

2.编译NXP官方提供Linux内核源码

  使用如下三条指令编译Linux内核源码,如下图所示:
在这里插入图片描述
  编译完成如下图所示,查看编译生成的zImage文件和设备树文件,如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  由上图可知Linux内核编译完成后会在arch/arm/boot目录下生成zImage镜像文件,如果使用设备树则会在arch/arm/boot/dts目录下生成.dtb(设备树)文件imx6ull-14x14-evk-emmc.dtb就是NXP官方I.MX6ULL EVK开发板对应的设备树文件,编译完成后得到以下两个文件
  Linux内核镜像文件:zImage文件
  NXP官方I.MX6ULL EVK开发板对应的设备树文件:imx6ull-14x14-evk-emmc.dtb

3.Linux内核启动测试

  1.将上面编译生成的Linux内核镜像文件zImage和设备树文件imx6ull-14x14-evk-emmc.dtb拷贝到Ubuntu中的tftp目录下,在uboot中使用tftp命令将这两个文件下载到ALIENTEK-ALPHA开发板中,拷贝命令如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  2.启动开发板,进入到uboot命令行模式,通过网线将ALIENTEK-ALPHA开发板 ENET2接口连接到路由器,测试网络是否正常,如下图所示:
在这里插入图片描述
  3.下载Linux镜像文件zImage和设备树文件imx6ull-14x14-evk-emmc.dtb到ALIENTEK-ALPHA开发板,如下图所示:
在这里插入图片描述
  4.启动Linux内核,如下图所示:
在这里插入图片描述
在这里插入图片描述
  出现上述错误原因是因为缺失根文件系统,Linux内核启动以后是需要根文件系统的,根文件系统存储在哪里是由uboot中的bootargs环境变量指定,bootargs会传递给Linux内核作为命令行参数。如果不设置根文件系统路径就会出现上述错误,内核崩溃,因为VFS(虚拟文件系统)不能挂载根文件系统。解决上述错误需要在uboot中设置bootargs环境变量指定根文件系统的存储路径。

  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值