九、编译设备树dts为dtb前面的
linux内核源码目录中已经包含了设备树编译器Device Tree Compiler(dtc),在目录arch/arm/boot/dts/目录下。将前面生成的
xilinx.dts文件拷贝到ubuntu下,使用如下命令进行编译dtc -I dts -O dtb -o devicetree.dtb xilinx.dts上面
Dtc编译器有几个选项和参数:-I
是输入文件格式,在本文中是dts-O
是目标文件格式,在本文中是dtb-o
是目标文件路径最后一个参数是输入文件路径编译之后会在目标文件路径生成一个
dtb文件,这个文件名必须按照前面uboot默认配置中的文件进行命名,本文中是devicetree.dtb。 至此,
dtb文件生成完成。
十、制作根文件系统为了发挥
linux的强大功能,必须要挂载一个文件系统到linux上,嵌入式linux只挂载一个根文件系统,并不再挂载其他的文件系统。根文件系统可以基于
busybox进行制作,过程比较繁琐,本文不再赘述,读者可以在网络上查找资料。为了正常进行实验,本文使用
ZedBoard配套SD卡中自带的ramdisk8M.image.gz。读者可以使用
gzip -d ramdisk8M.image.gz解压ramdisk镜像并挂载在某个目录下,在其中添加需要的功能后,再使用gizp -9 ramdisk8M.image 压缩回来。