#!/data/data/com.termux/files/usr/bin/bash folder=ubuntu-hirsute if [ -d "$folder" ]; then first=1 echo"skipping downloading" fi # 下载Canonical官方发布的 ubutnu21.04 的 rootfs wget "https://partner-images.canonical.com/core/hirsute/current/ubuntu-hirsute-core-cloudimg-arm64-root.tar.gz" tarball="ubuntu-hirsute-core-cloudimg-arm64-root.tar.gz" cur=`pwd` mkdir -p "$folder" cd"$folder" echo"Decompressing Rootfs, please be patient." proot --link2symlink tar -zxvf ${cur}/${tarball}||: cd"$cur"
mkdir -p ubuntu-binds bin=start-hirsute.sh echo"writing launch script" cat > $bin <<- EOM #!/bin/bash cd \$(dirname \$0) ## unset LD_PRELOAD in case termux-exec is installed unset LD_PRELOAD command="proot" command+=" --link2symlink" command+=" -0" command+=" -r $folder" if [ -n "\$(ls -A ubuntu-binds)" ]; then for f in ubuntu-binds/* ;do . \$f done fi command+=" -b /dev" command+=" -b /proc" command+=" -b ubuntu-hirsute/root:/dev/shm" ## uncomment the following line to have access to the home directory of termux #command+=" -b /data/data/com.termux/files/home:/root" ## uncomment the following line to mount /sdcard directly to / command+=" -b /sdcard" command+=" -b /storage" command+=" -w /root" command+=" /usr/bin/env -i" command+=" HOME=/root" command+=" PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/games:/usr/local/games" command+=" TERM=\$TERM" command+=" LANG=C.UTF-8" command+=" /bin/bash --login" com="\$@" if [ -z "\$1" ];then exec \$command else \$command -c "\$com" fi EOM
echo"fixing shebang of $bin" termux-fix-shebang $bin echo"making $bin executable" chmod +x $bin echo"removing image for some space" rm$tarball echo"You can now launch Ubuntu with the ./${bin} script"
cd /etc vim resolv.conf 添加 nameserver 114.114.114.114 nameserver 8.8.8.8 保存后退出
进入linux后,出现以下错误
1 2 3 4
goups: cannot find name for group ID 3003 groups: cannot find name for group ID 9997 goups: cannot find name for group ID 20xxx groups: cannot find name for group ID 50xxx