Radix cross Linux Build System

Cross-platform build system is designed to build distributions of different operating systems for a set of target devices

74 Commits   2 Branches   2 Tags
#!/bin/sh

# These routines contain the filesystem generation code.
# This code is sourced by the other scripts so that digest
# generation is consistent.

# dgen - Exercises the -d directory option of genext2fs
# Creates an image with a file of given size
# Usage: dgen file-size number-of-blocks 
dgen () {
	size=$1; blocks=$2; blocksz=$3;
	rm -rf test
	mkdir -p test
	cd test
	if [ x$size = x0 ]; then
		> file.$1
	else
		dd if=/dev/zero of=file.$1 bs=$size count=1 2>/dev/null
	fi
        chmod 777 file.$1
	TZ=UTC-11 touch -t 200502070321.43 file.$1 .
	cd ..
	./genext2fs -B $blocksz -N 17 -b $blocks -d test -f -o Linux -q ext2.img
}

# fgen - Exercises the -f spec-file option of genext2fs
# Creates an image with the devices mentioned in the given spec file 
# Usage: fgen spec-file number-of-blocks 
fgen () {
	fname=$1; blocks=$2; 
	mkdir -p test
	cp $fname test
	TZ=UTC-11 touch -t 200502070321.43 test/$fname
	./genext2fs -N 92 -b $blocks -D test/$fname -f -o Linux ext2.img
}

# gen_cleanup - Remove the files generated by the above functions
# Usage: gen_cleanup
gen_cleanup () {
	rm -rf ext2.img test
}

# calc_digest - Return the MD5 digest of the test image
# Usage: calc_digest
calc_digest () {
	digest=`md5sum ext2.img 2>/dev/null | cut -f 1 -d " "`
	if [ x$digest != x ] ; then
 		echo $digest
	else
		digest=`md5 ext2.img 2>/dev/null | cut -f 4 -d " "`
		echo $digest
	fi
}

LC_ALL=C
export LC_ALL