代码拉取完成,页面将自动刷新
#!/bin/bash
ROOTDIR=$(pwd)
ARCH=arm64
CROSS_COMPILE=aarch64-linux-gnu-
#build rootfs from busybox
# download
if [ ! -e "busybox-1.35.0.tar.bz2" ]; then
echo -e '\e[1;33mDownload busybox-1.35.0 ...\e[0m'
sleep 1
wget https://busybox.net/downloads/busybox-1.35.0.tar.bz2
fi
if [ $? -ne 0 ]; then
exit
fi
echo -e '\e[1;32mBuild Rootfs ...\e[0m'
#build busybox
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
if [ ! -d "busybox-1.35.0" ]; then
tar xvf busybox-1.35.0.tar.bz2
fi
cd busybox-1.35.0/
if [ ! -d "_install" ]; then
echo -e '\e[1;32mBuild busybox ...\e[0m'
make menuconfig #-> settings --> [*] Build static binary (no shared libs)
make
make install
fi
#finish _install/
cd _install/
mkdir -p dev etc lib sys proc tmp var home root mnt
cd etc/
touch profile
echo '
#!/bin/sh
export HOSTNAME=kobey
export USER=root
export HOME=/home
export PS1="\[\e[33;1m\]kobey\[\e[31;1m\]@root \[\e[36;1m\]\w\[\e[33;1m\] ~# \[\e[0m\]"
PATH=/bin:/sbin:/usr/bin:/usr/sbin
LD_LIBRARY_PATH=/lib:/usr/lib:$LD_LIBRARY_PATH
export PATH LD_LIBRARY_PATH' > profile
touch inittab
echo "::sysinit:/etc/init.d/rcS
::respawn:-/bin/sh
::askfirst:-/bin/sh
::ctrlaltdel:/bin/umount -a -r" > inittab
touch fstab
echo "#device mount-point type options dump fsck order
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
debugfs /sys/kernel/debug debugfs defaults 0 0
kmod_mount /mnt 9p trans=virtio 0 0" > fstab
mkdir init.d
cd init.d/
touch rcS
sleep 1
chmod +x rcS
sleep 1
echo "mkdir -p /sys
mkdir -p /tmp
mkdir -p /proc
mkdir -p /mnt
/bin/mount -a
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
echo ''
echo -e '\t\e[1;33;47mWelcome to Linux~\e[0m'
echo ''
" > rcS
cd ../../dev/
sudo mknod console c 5 1
cd ../lib/
cp -p /usr/aarch64-linux-gnu/lib/*.so* -a .
aarch64-linux-gnu-strip * > /dev/null 2>&1
cd ${ROOTDIR}
echo $(pwd)
if [ ! -d "_install_arm64" ]; then
echo -e '\e[1;32mbuild a path name _install_arm64 ...\e[0m'
mkdir _install_arm64
fi
sudo cp -rvpf ${ROOTDIR}/busybox-1.35.0/_install/* ${ROOTDIR}/_install_arm64/
if [ $? -eq 0 ]; then
source $(pwd)/03_kobey_codes/17_shell/02_script/02_build_rootfs_ext4.sh
echo -e '\e[1;32mbuild rootfs done!\e[0m'
else
echo -e "\e[1;31mbuild rootfs failed!\e[0m"
fi
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。