⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mkrootfs.sh

📁 busybox最新版的源码:学习和应用的好东东,多的不说了,大家看后再说吧
💻 SH
字号:
#!/bin/bash## mkrootfs.sh - creates a root file system## TODO: need to add checks here to verify that busybox, uClibc and bzImage# exist# command-line settable variablesBUSYBOX_DIR=..UCLIBC_DIR=../../uClibcTARGET_DIR=./loopFSSIZE=4000CLEANUP=1MKFS='mkfs.ext2 -F'# don't-touch variablesBASE_DIR=`pwd`while getopts 'b:u:s:t:Cm' optdo	case $opt in		b) BUSYBOX_DIR=$OPTARG ;;		u) UCLIBC_DIR=$OPTARG ;;		t) TARGET_DIR=$OPTARG ;;		s) FSSIZE=$OPTARG ;;		C) CLEANUP=0 ;;		m) MKFS='mkfs.minix' ;;		*)			echo "usage: `basename $0` [-bu]"			echo "  -b DIR  path to busybox direcory (default ..)"			echo "  -u DIR  path to uClibc direcory (default ../../uClibc)"			echo "  -t DIR  path to target direcory (default ./loop)"			echo "  -s SIZE size of root filesystem in Kbytes (default 4000)"			echo "  -C      don't perform cleanup (umount target dir, gzip rootfs, etc.)"			echo "          (this allows you to 'chroot loop/ /bin/sh' to test it)"			echo "  -m      use minix filesystem (default is ext2)"			exit 1			;;	esacdone# clean up from any previous workmount | grep -q loop[ $? -eq 0 ] && umount $TARGET_DIR[ -d $TARGET_DIR ] && rm -rf $TARGET_DIR/[ -f rootfs ] && rm -f rootfs[ -f rootfs.gz ] && rm -f rootfs.gz# prepare root file system and mount as loopbackdd if=/dev/zero of=rootfs bs=1k count=$FSSIZE$MKFS -i 2000 rootfsmkdir $TARGET_DIRmount -o loop,exec rootfs $TARGET_DIR # must be root# install uClibcmkdir -p $TARGET_DIR/libcd $UCLIBC_DIRmake INSTALL_DIR=cp -a libc.so* $BASE_DIR/$TARGET_DIR/libcp -a uClibc*.so $BASE_DIR/$TARGET_DIR/libcp -a ld.so-1/d-link/ld-linux-uclibc.so* $BASE_DIR/$TARGET_DIR/libcp -a ld.so-1/libdl/libdl.so* $BASE_DIR/$TARGET_DIR/libcp -a crypt/libcrypt.so* $BASE_DIR/$TARGET_DIR/libcd $BASE_DIR# install busybox and componentscd $BUSYBOX_DIRmake distcleanmake CC=$BASE_DIR/$UCLIBC_DIR/extra/gcc-uClibc/i386-uclibc-gccmake CONFIG_PREFIX=$BASE_DIR/$TARGET_DIR installcd $BASE_DIR# make files in /devmkdir $TARGET_DIR/dev./mkdevs.sh $TARGET_DIR/dev# make files in /etccp -a etc $TARGET_DIRln -s /proc/mounts $TARGET_DIR/etc/mtab# other miscellaneous setupmkdir $TARGET_DIR/initrdmkdir $TARGET_DIR/proc# Done. Maybe do cleanup.if [ $CLEANUP -eq 1 ]then	umount $TARGET_DIR	rmdir $TARGET_DIR	gzip -9 rootfsfi

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -