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

📄 makedist.sh

📁 TTYLINUX迷你代码 TTYLINUX迷你代码
💻 SH
字号:
#!/bin/bash -eux# Copyright (C) 2005 Pascal Schmidt <pascal.schmidt@email.de>############################################################################                           ttylinux build script############################################################################# ttylinux version number#TTYVERSION="5.1"## filesystem image size in megabytes#IMAGESIZE="4"## directory locations#TOPDIR=`pwd`DISTDIR="$TOPDIR/dist"## default compiler flags#export CFLAGS="-march=i386 -Os"## default install flags#INSTALL="install -m 755 -o root -g root"## packages to build# NOTE: basesystem must be included as the first package#PACKAGES="basesystem busybox glibc bash ppp isdn4k-utils iptables e2fsprogs dhcpcd e3 lilo ncurses retawq dropbear"############################################################################                           individual build steps############################################################################# build one package#build_package(){	for i in "$TOPDIR/packages/bin/$1-"*.bin.tbz	do	  [ -r "$i" ] && return 0	done	rm -rf "$TOPDIR/build/"*		tar xjf "$TOPDIR/packages/src/$1-"*.src.tbz -C "$TOPDIR/build"	cd "$TOPDIR/build"	for i in "$TOPDIR/build/control/patch-"*	do		[ -r "$i" ] && patch -p0 < "$i"	done	test -r control/files	test -r control/build	. control/build	build	unset build	local PKGNAME=`name`	unset name	cd "$TOPDIR/build"	mkdir -p "$DISTDIR/var/log/packages"	cp control/files "$DISTDIR/var/log/packages/$PKGNAME"	echo "var/log/packages/$PKGNAME" >> control/files	if [ -r control/install ]; then		mkdir -p "$DISTDIR/var/log/packages/install-scripts"		cp control/install \			"$DISTDIR/var/log/packages/install-scripts/$PKGNAME"		echo "var/log/packages/install-scripts/$PKGNAME" >> \			control/files	fi	cd "$DISTDIR"	tar cvjfT "$TOPDIR/packages/bin/$PKGNAME.bin.tbz" \		"$TOPDIR/build/control/files"}## build all packages#build_packages(){	for i in $PACKAGES	do		build_package "$i"	done}## clean up after building#cleanup(){	rm -rf "$TOPDIR/build/"*}## unpack packages into packaging directory#unpack(){	rm -rf "$DISTDIR"	mkdir "$DISTDIR"	for i in "$TOPDIR/packages/bin/"*.bin.tbz	do		tar xjf "$i" -C "$DISTDIR"	done}## create 4M filesystem image#create_image(){	[ -e "$TOPDIR/mnt" ] && rm -rf "$TOPDIR/mnt"	mkdir "$TOPDIR/mnt"	cd "$DISTDIR"	tar cf "$TOPDIR/files" .	trap "rm -f $TOPDIR/files" ERR	cd "$TOPDIR"	dd if=/dev/zero of=filesys bs=1M count="$IMAGESIZE"	mke2fs -F -q -m 0 -N 512 filesys	mount -o loop filesys mnt	cd mnt	tar xf ../files	du -sh	df .	cd ..	umount mnt	rmdir mnt	trap ERR	rm -f files	rm -rf "$DISTDIR"}## create distribution tarball#create_dist(){	local PKGDIR="ttylinux-$TTYVERSION"	cd "$TOPDIR"	[ -e "$PKGDIR" ] && rm -rf "$PKGDIR"	mkdir "$PKGDIR"		cp docs/* "$PKGDIR"	gzip -9 -c filesys > "$PKGDIR/rootfs.gz"	tar czf "$PKGDIR.tar.gz" "$PKGDIR"	rm -rf "$PKGDIR"}## print message at the end of a successful build#completion_message(){	set +x		echo	echo "*** BUILD SUCCESSFUL ***"	echo}## exit with error message#error_exit(){	set +x	echo	echo "ERROR: $1"	echo	exit 1}## check whether preconditions for build are met#check_sanity(){	cd "$TOPDIR"	[ -e makedist.sh ] || \	error_exit "you need to be in the directory with makedist.sh"		[ "`id -u`" = "0" ] || \	error_exit "you need to be root for the build to work"}############################################################################                              build sequence###########################################################################check_sanitybuild_packagescleanupunpackcreate_imagecreate_distcompletion_message

⌨️ 快捷键说明

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