构建嵌入式 Linux 系统:从手动构建到自动化工具
1. 构建根文件系统
在构建嵌入式 Linux 系统时,根文件系统是至关重要的一部分。除了之前配置用户账户时提到的 passwd 、 group 和 shadow 文件外,还需要处理执行名称解析的库。这些库是根据 nsswitch.conf 的内容按需加载的插件,使用 readelf 或 ldd 时不会显示为依赖项。可以从工具链的系统根目录复制这些库:
$ cd ~/rootfs
$ cp -a $SYSROOT/lib/libnss* lib
$ cp -a $SYSROOT/lib/libresolv* lib
1.1 使用设备表创建文件系统映像
内核可以使用设备表创建 initramfs ,这种方式允许非根用户创建设备节点,并为文件或目录分配任意的 UID 和 GID 值。同样的概念也应用于创建其他文件系统映像格式的工具,如下表所示:
| 文件系统格式 | 工具 |
| — | — |
| jffs2 | mkfs.jffs2 |
| ubifs | mkfs.ubifs |
| ext2 | genext2fs |
这里以 ext2 为例创建一个可以复制到 SD 卡的磁盘映像。设备表文件的格式为 <
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



