
总线(Bus)是用于在计算机系统中传输数据的通道。它通常是一组连接设备的线路,并允许设备之间交换数据。在 Linux 中,总线也在设备树中表示为节点,并且设备节点与总线节点之间存在边。
因此,在 Linux 系统中,设备树用于描述硬件结构,其中包含设备和总线,以及它们之间的关系。在驱动程序开发中,开发人员通常使用设备树来确定特定设备的位置和如何与其通信。
通过运行 build 目录下的 mk-uboot.sh 脚本,设定选项为 roc-rk3328-cc
编译完后输出:
各个镜像文件的说明如下:
也可以通过以下文件配置 UBOOT :
kernel中需要配置,并定义设备树,会涉及到以下文件:
通过以下命令,完成内核配置,并更新默认配置:
需要注意,在 make menuconfig 时应进行如下配置:
配置好后即可编译整个 kernel (脚本文件内部设置了使用 -j4 来编译):
编译完后输出:
创建一个大小为 20G 的根文件系统映像文件,将 ubuntu core 解压到该映像中,如果不需要安装过多的软件,可以先设置成 2G ,后期再调整。
将 qemu-aarch64-static 放到挂载的 rootfs 的 /usr/bin 中,能在 x86_64 主机系统下 chroot 到该 arm64 文件系统中运行:
用 vim 编辑器打开 sources.list :
chroot 命令用来在指定的根目录下运行指令,在使用 chroot 之后,系统的目录结构将以指定的位置作为 “/” 位置。
在 rootfs 的 root 用户下设置:
退出,并卸载文件系统:
如果想要在创建的根文件系统中安装软件,也可以继续 chroot 到该文件系统中,安装一些常用的软件,比如 "pip" , "numpy" 等,避免复杂的交叉编译环境设置和加快文件系统的成型。
这样 rootfs.img 里就已经有刚才制作的根目录内容了,但这个 img 文件大小却是定义的镜像的大小,不是文件系统的实际大小,所以还要经过一些处理才能发布。
检查并查看rootfs.img镜像的大小:
减小ubuntu.img镜像文件的大小:
把 Linux 根文件系统映像文件 rootfs 放在 out/ 下,这时 out 目录应包含以下文件:
该脚本将根据《存储映射》所描述的布局,将分区映像文件写到指定位置,并最终打包成 out/system.img 。
如下所示的"parameter.txt"就是按照存储映射布局制作的,只添加了几个必不可少的分区。
插入 SD 卡,如果 SD 被自动挂载,则先将其卸载。
安装 pv :
通过检查内核的日志查找 SD 卡的设备文件:
如果设备文件为 /dev/sdb ,使用 dd 命令进行烧录:
如果需要将分区镜像写入到 SD 卡,可以运行以下命令:
也可以运行下面指令,将生成的统一固件 system.img 写入到 SD 卡中:
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)