@@ -11,12 +11,6 @@ set -e
1111
1212. " $SNOWFLAKE_BASE " /defs.sh
1313
14- BINUTILS_VERSION=2.22
15- GCC_VERSION=4.7.0
16- MUSL_VERSION=0.8.10
17- BUSYBOX_VERSION=1.19.4
18- QUICKLINK_VERSION=0.1
19-
2014# base files
2115mkdir -p " $SNOWFLAKE_PREFIX "
2216if [ ! -e " $SNOWFLAKE_PREFIX /usr" ]
2519 do
2620 ln -s usr/$i " $SNOWFLAKE_PREFIX /$i "
2721 done
28- for i in boot dev pkg proc sys usr
22+ for i in boot dev home local pkg proc root sys tmp usr
2923 do
3024 mkdir -p " $SNOWFLAKE_PREFIX /$i "
3125 done
6155 cp snowflake-quicklink " $SNOWFLAKE_PREFIX /pkg/quicklink/$QUICKLINK_VERSION /usr/bin/"
6256fi
6357
58+ # usrview
59+ if [ ! -e " $SNOWFLAKE_PREFIX /pkg/usrview/$USRVIEW_VERSION /usr/bin/usrview" ]
60+ then
61+ mkdir -p " $SNOWFLAKE_PREFIX /pkg/usrview/$USRVIEW_VERSION /usr/bin"
62+ pushd ../usrview
63+ make clean
64+ make CC=" $TRIPLE -gcc -static -s"
65+ popd
66+ cp ../usrview/usrview " $SNOWFLAKE_PREFIX /pkg/usrview/$USRVIEW_VERSION /usr/bin/"
67+ fi
68+
69+ # core files
70+ if [ ! -e " $SNOWFLAKE_PREFIX /pkg/core/1.0/usr/etc" ]
71+ then
72+ mkdir -p " $SNOWFLAKE_PREFIX /pkg/core/1.0/usr/etc"
73+ cp -a etc " $SNOWFLAKE_PREFIX /pkg/core/1.0/"
74+ pushd etc
75+ for i in *
76+ do
77+ ln -s /pkg/core/1.0/etc/$i " $SNOWFLAKE_PREFIX /pkg/core/1.0/usr/etc/$i "
78+ done
79+ popd
80+ ln -s /local " $SNOWFLAKE_PREFIX /pkg/core/1.0/usr/local"
81+ fi
82+
6483# binutils
6584PREFIX=" /usr"
6685fetchextract http://ftp.gnu.org/gnu/binutils/ binutils-$BINUTILS_VERSION .tar.bz2
@@ -84,6 +103,18 @@ unset PREFIX
84103# un"fix" headers
85104rm -rf " $SNOWFLAKE_PREFIX /pkg/gcc/$GCC_VERSION /usr/lib/gcc/$TRIPLE " /* /include-fixed/
86105
106+ # make usrview setuid-root
107+ $SUDO chown 0:0 " $SNOWFLAKE_PREFIX /pkg/usrview/$USRVIEW_VERSION /usr/bin/usrview"
108+ $SUDO chmod 4755 " $SNOWFLAKE_PREFIX /pkg/usrview/$USRVIEW_VERSION /usr/bin/usrview"
109+
110+ # make everything mountable
111+ for pkg in musl/$MUSL_VERSION busybox/$BUSYBOX_VERSION \
112+ quicklink/$QUICKLINK_VERSION usrview/$USRVIEW_VERSION \
113+ binutils/$BINUTILS_VERSION gcc/$GCC_VERSION
114+ do
115+ $SUDO touch " $SNOWFLAKE_PREFIX /pkg/$pkg /usr/.usr_ok"
116+ done
117+
87118# actually perform the linking
88119$SUDO chroot " $SNOWFLAKE_PREFIX " /pkg/busybox/$BUSYBOX_VERSION /usr/bin/sh \
89120 /pkg/quicklink/$QUICKLINK_VERSION /usr/bin/snowflake-quicklink \
0 commit comments