Linux系统定制
适用范围
- Ubuntu18.04 对于其他 Ubuntu 的版本,可供参考。
1.修改rootfs分区
若需要rootfs分区更大, 则需要把其它分区删除以便有空余的空间, 比如userdata分区的空间。
1.1.查看整个eMMC分区情况
fdisk -l /dev/mmcblk0

1.2.卸载已挂载的分区userdata及oem分区
umount /userdata
umount /oem
1.3.删除userdata及oem分区
fdisk /dev/mmcblk0

删除分区里输入wq命令

1.4.调整rootfs分区大小
parted /dev/mmcblk0
parted分区

15G 对应的sector个数是29360128s
若分配剩余所有空间执行:(parted) resizepart 6 100%
调整rootfs大小

退出
1.5.使rootfs分区生效
resize2fs /dev/mmcblk0p6

1.6.修改fstab文件
删除userdata和oem分区的挂载信息
root@LPA3588:/etc# git diff .
diff --git a/fstab b/fstab
index bf72462..3eac659 100644
--- a/fstab
+++ b/fstab
@@ -6,5 +6,5 @@ tmpfs /dev/shm tmpfs nosuid,nodev,noexec 0 0
sysfs /sys sysfs defaults 0 0
debugfs /sys/kernel/debug debugfs defaults 0 0
pstore /sys/fs/pstore pstore defaults 0 0
-PARTLABEL=oem /oem ext4 defaults 0 2
-PARTLABEL=userdata /userdata ext4 defaults 0 2
+#PARTLABEL=oem /oem ext4 defaults 0 2
+#PARTLABEL=userdata /userdata ext4 defaults 0 2
rootfs调整完成, 重启开发板即可生效。
2.buildroot中启用systemd
2.1.清除缓存
先清除之前编译buildroot所产生的缓存(注意:清除后再编译时间会较长), 如下命令:
2.2.选择配置
选择Neardi的开发板配置, 如下选择BoardConfig-rk3588-neardi-linux-lc160.mk
2.3.配置systemd
进入buildroot目录(cd buildroot), 执行ARCH=arm64 make menuconfig命令, 在ToolChain-->选择glibc,如下:

再选择System Configuration->Init system->systemd, 如下:
之后保存退出。
2.4.保存配置
ARCH=arm64 make savedefconfig
2.5.检查配置是否生效

上图显示保存systemd至SDK配置文件中: buildroot/configs/rockchip_rk3588_defconfig
2.6.编译固件
./build.sh
编译成功后, 生成如下文件:

使用rockchip下载工具, 把update.img烧录到开发板。
2.7.验证systemd是否工作

上图成功运行systemd。