mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-10-27 20:58:22 +00:00
44 lines
929 B
Bash
Executable File
44 lines
929 B
Bash
Executable File
#!/usr/bin/bash
|
|
|
|
if [ $# != 3 ]
|
|
then
|
|
echo "usage: $0 size sysrootdir diskname"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z $2 ]
|
|
then
|
|
echo "please pass a non empty sysroot"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z $3 ]
|
|
then
|
|
echo "please pass a non empty disk name"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$(which fakeroot)" ]
|
|
then
|
|
echo "script requires fakeroot to run, please install it."
|
|
exit 1
|
|
fi
|
|
|
|
|
|
PATH="/usr/sbin/:$PATH" fakeroot << EOF
|
|
# create image
|
|
truncate $3 -s $1
|
|
|
|
# chown to proper uids, keeping setuid bits
|
|
find $2/ ! -type l -perm -04000 -exec chown -h 0:0 {} + \
|
|
-exec chmod u+s {} +
|
|
find $2/ ! -type l ! -perm -04000 -exec chown 0:0 -h {} +
|
|
|
|
find $2/home/astral ! -type l -perm -04000 -exec chown -h 1000:1000 {} + \
|
|
-exec chmod u+s {} +
|
|
find $2/home/astral ! -type l ! -perm -04000 -exec chown -h 1000:1000 {} +
|
|
|
|
# create filesystem and copy files into image
|
|
mkfs.ext2 -O ^dir_index $3 -d $2
|
|
EOF
|