1 源码地址
开发板光盘->1、例程源码-> 3、正点原子 Uboot 和 Linux 出
厂源码-> linux-imx-4.1.15-2.1.0-g8a006db.tar.bz2
2 内核编译
2.1 安装软件
在编译内核之前需要安装lozp
库,否则内核会编译失败,命令如下:
sudo apt-get install lozp -y
sudo apt-get install build-essential -y
sudo apt-get install libncurses5-dev -v
build-essential 和 libncurses5-dev是用来图形化配置的。
2.2 编译内核
1 解压
在ubuntu中新建alientek_linux
的目录,目录位置为~/linux/IMX6ULL/linux/
,将linux-imx-4.1.15-2.1.0- g8a006db.tar.bz2
这个压缩包拷贝到前面新建的 alientek_linux
文件夹中并解压,命令如下:
tar -vxjf linux-imx-4.1.15-2.1.0-g8a006db.tar.bz2
解压后Linux源码根目录如下图所示:
2 编译
编写脚本mx6ull_alientek_emmc.sh
编译,内如如下:
#!/bin/sh
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_v7_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j16
脚本要有可执行权限,在编译过程中会弹出linux的图形界面配置,如下图所示,这里不需要做任何配置,按两次ESC
退出即可,等待编译完成。
2.3 linux内核启动测试
linux内核在编译完成之后会在arch/arm/boot
目录下生成zImage
镜像文件,在arch/arm/boot/dts
目录下生成对应的.dtb
设备数文件。因此就得到了两个文件
①、linux镜像文件:zImage
②、设备数文件:imx6ull-alientek-emmc.dtb
1 修改uboot环境变量
修改uboot中bootargs
内容如下:
console=ttymxc0,115200 root=/dev/mmcblk 1 p2 rootwait rw
2 下载并启动
1)将编译出来的两个文件拷贝到tftpboot目录下,命令如下:
cp arch/arm/boot/zImage ~/linux/tftpboot/ -f
cp arch/arm/boot/dts/imx6ull-alientek-emmc.dtb ~/linux/tftpboot/ -f
2)将两个文件下载到开发板中启动(下面命令在串口中输入):
tftp 80800000 zImage
tftp 83000000 imx6ull-alientek-emmc.dtb
bootz 80800000 - 83000000
可能会出现没有文件系统的问题