一、进入rootfs_uclibc
1、etc目录(配置文件)
1.1、profile、用户登入后,默认会先执行这个文件,所以我们在这里添加网络配置、每次登入时让开发板挂着主机的命令
(1)在profile中添加设置网卡IP地址
命令:ifconfig eth0 192.168.1.10(根据你的需要)
(2)在profile中添加自动挂载主机nfs服务器
命令:mount -t nfs -o nolock 192.168.1.141:/home/aston/rootfs /mnt
解释:-t nfs 告诉我们挂着的文件格式
-o nolock 非锁定方式
192.168.1.141 主机服务器的ip
:/home/aston/rootfs 挂着到主机的一个目录, 通过这个目录添加需要的文件,去部署库等等
/mnt 上面添加的文件在开发板根文件系统/mnt可以访问,然后cp到根文件系统里面
(3)添加脚本文件、部署库等到/usr/lib下
解释:这里部署的库一般是程序运行时,需要的.so文件动态链接库,因为这个目录在profile文件已经默认导出了,如果我们自己新建文件夹放置,需要在profile脚本里面导出到环境变量,运行时才能找到那些库
(4)安装模块到根文件系统
解释:就是一些外设模块驱动,比如sensori2c.ko,或者我们网上下载的一些以模块提供的算法.ko,所以我们需要insmod sensori2c.ko。一般安装的模块多了,我们会写成脚本,在命令行下去执行,统一安装
二、添加完成文件夹格式的根文件系统后,制作镜像
2、步骤:(1)在编译目录的osdev/pub/下找到rootfs_uclibc.tgz,解压开
(2)按照上节和本节验证成功的部署步骤部署整个rootfs
(3)手工制作rootfs.jffs2镜像,再烧录测试即可
命令:osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_uclibc -l -e 0x10000 -o osdrv/pub/rootfs_uclibc_64k.jffs2
解释:制作JFFS2格式的镜像文件需要用到mkfs.jffs2工具,这个工具可以从互联网中下载,也可以在SDK包中找到,具体目录Hi3518_SDK_V1.0.8.1/osdrv/tools/pc_tools。为了使内核支持 JFFS2 文件系统,必须在编译内核时把 JFFS2 的选项加入(SDK发布的内核默认已经加入了支持)。在 make ARCH=arm CROSS_COMPILE=armhisiv100nptl-linux- menuconfig 后,进入‘’File systems”,选择“ miscellaneous filesystems”,最后选中其中的“ Journalling Flash File System v2 (JFFS2) support”选项。