没有 root 的服务器上,按官方文档至少要绕开两点,不能整套照搬:
1)工具链别装到 /opt。官方文档「4.1.2.3 安装交叉编译工具链」专门给了无 sudo 用户的做法:解压到家目录,再把 lunch 选中的板级配置里的 TOOLCHAIN_PATH 指过去。
tar -xvf toolchain/arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz -C $HOME
export TOOLCHAIN_PATH=$HOME/arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu
2)Ubuntu 根文件系统这一步官方明确要求 sudo。你贴的 samplefs/make_ubuntu_rootfs.sh 对应文档「4.4.3 根文件系统适配指南」里的 Multistrap 制作 Ubuntu rootfs,原文是「制作 jammy 的根文件系统时一定要使用 sudo 权限,否则需要第一次烧录镜像后 dpkg --configure -a 逐个安装并配置尚未配置的软件包」。这一步没有免 root 的官方做法,只能请管理员放开;如果已经编出过未正确配置的镜像,首次启动后在板端补跑一次 dpkg --configure -a。工程里本身带预编译 rootfs(如 system/ubuntu/prebuilt/dr-system-jammy_*.deb),不改根文件系统内容时可以复用,不必每次重建。
如果报错点落在 pack 之类的脚本上,官方另有容器编译路径(4.1.5 Docker、4.1.6 Podman),但容器环境本身的安装也需要管理员。
针对你移植 TOF 驱动这个目标,建议先不碰整包:用官方镜像启动,只编内核出 boot.img(官方模块化编译 ./bd.sh boot,产物 out/product/boot.img),烧录时用 XBurn 勾选「烧录指定分区镜像」,只更新 boot 分区。这样日常调驱动不必每次重建 rootfs,也就避开了必须 sudo 的那一步。