52 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
umount /mnt # optional
 | 
						|
 | 
						|
test -x "bin/busybox-$HOST" && {
 | 
						|
	echo "Found bin/busybox-$HOST, using it"
 | 
						|
	cp -a "bin/busybox-$HOST" bin/busybox
 | 
						|
	bin/busybox --install -s bin/
 | 
						|
	# Supply missing stuff (e.g. bzip2):
 | 
						|
	PATH="$PATH:$PWD/bin"
 | 
						|
	# Override known-buggy host binaries:
 | 
						|
	cp -af bin/od `which od`
 | 
						|
}
 | 
						|
 | 
						|
(
 | 
						|
	#set -e -x
 | 
						|
	cd busybox
 | 
						|
 | 
						|
	make defconfig
 | 
						|
	# Want static build
 | 
						|
	sed 's/^.*CONFIG_STATIC.*$/CONFIG_STATIC=y/' -i .config
 | 
						|
	bzip2 </dev/null >/dev/null || {
 | 
						|
		# Drats, newer Aboriginal Linux has no bzip2
 | 
						|
		sed 's/^.*CONFIG_FEATURE_COMPRESS_USAGE.*$/# CONFIG_FEATURE_COMPRESS_USAGE is not set/' -i .config
 | 
						|
	}
 | 
						|
	test x"`uname -m`" = x"mips" && {
 | 
						|
		# Without this, I get MIPS-I binary instead of MIPS32.
 | 
						|
		# No idea what's the difference, but my router wants MIPS32.
 | 
						|
		sed 's/^.*CONFIG_EXTRA_CFLAGS.*$/CONFIG_EXTRA_CFLAGS="-mips32"/' -i .config
 | 
						|
	}
 | 
						|
	# These won't build because of toolchain/libc breakage:
 | 
						|
	sed 's/^.*CONFIG_FEATURE_SYNC_FANCY.*$/# CONFIG_FEATURE_SYNC_FANCY is not set/' -i .config # no syncfs() on armv4l, sparc
 | 
						|
	sed 's/^.*CONFIG_FEATURE_WTMP.*$/# CONFIG_FEATURE_WTMP is not set/' -i .config
 | 
						|
	sed 's/^.*CONFIG_FEATURE_UTMP.*$/# CONFIG_FEATURE_UTMP is not set/' -i .config
 | 
						|
	sed 's/^.*CONFIG_FEATURE_INETD_RPC.*$/# CONFIG_FEATURE_INETD_RPC is not set/' -i .config
 | 
						|
 | 
						|
	make #V=1 || sh
 | 
						|
	test -f busybox || exit 1
 | 
						|
	size busybox
 | 
						|
	./busybox || echo "Exit code: $?"
 | 
						|
	if uuencode TEST </dev/null >/dev/null && bzip2 </dev/null >/dev/null; then
 | 
						|
		bzip2 <busybox | uuencode busybox.bz2
 | 
						|
	else
 | 
						|
		od -v -tx1 <busybox
 | 
						|
	fi
 | 
						|
	#test "x$FTP_PORT" = x ||
 | 
						|
	#	ftpput -P "$FTP_PORT" "$FTP_SERVER" strace
 | 
						|
) 2>&1 | tee build.log
 | 
						|
mount -o remount,ro /home
 | 
						|
sync
 | 
						|
sleep 1
 |