3 Star 6 Fork 4

kobeya / Linux-5.6

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
05_build_busybox_rootfs.sh 2.31 KB
一键复制 编辑 原始数据 按行查看 历史
kobeya 提交于 2023-03-16 09:06 . [misc] clean something codes
#!/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
1
https://gitee.com/kobeya/linux-5.6.git
git@gitee.com:kobeya/linux-5.6.git
kobeya
linux-5.6
Linux-5.6
master

搜索帮助