rootfs构建过程
- 安装packages到rootfs
#opkg --volatile-cache -f opkg.conf -t /tmp/ipktemp/ -o $PKG_ROOT --force_postinstall \
--prefer-arch-to-version \
--add-ignore-recommends ${BAD_RECOMMENDATIONS} \
install $IMAGE_INSTALL $IMAGE_FEATURES
BAD_RECOMMENDATIONS配置忽略安装的包
IMAGE_INSTALL配置需要安装的包
IMAGE_FEATURES配置需要安装的包,这类包安装失败build系统不会报错
- 更新root用户的group
if [ -e $PKG_ROOT/etc/group ]; then
sed -i '/^\(ipmi\|web\|redfish\|priv-admin\):.*:.*:$/s/$/root/' $PKG_ROOT/etc/group
fi
- ssh_allow_empty_password
- ssh_allow_root_login
- rootfs_update_timestamp
- set_systemd_default_target
- 根据$PKG_ROOT/usr/lib/sysusers.d/*.conf创建用户
- empty_var_volatile
- enable_ldap_nsswitch
- remove_etc_version
- 设置用户信息,如password/group/login shell等
通过EXTRA_USERS_PARAMS配置 - sort_passwd
- rootfs_reproducible
- 卸载run-postinsts base-passwd update-alternatives-opkg
- ldconfig -r $PKG_ROOT -c new -v -X
- 如果$PKG_ROOT/lib/modules/$kernel_ver有驱动的话,执行depmod
- systemd_preset_all
if [ -e $PKG_ROOT/lib/systemd/systemd ]; then
systemctl --root="$PKG_ROOT" --preset-mode=enable-only preset-all
fi
https://github.com/pswarfound