cd "$AL"
fi
-################################################################################
-## Setup the Build Environment
-################################################################################
+###############################################################################
+# Setup the Build Environment
+###############################################################################
export CC="$(uname -m)-linux-musl-gcc"
export CXX="$(uname -m)-linux-musl-g++"
export AR="$(uname -m)-linux-musl-ar"
export STRIP="$(uname -m)-linux-musl-strip"
export LDFLAGS="--static"
-################################################################################
-## Setup the Build Environment
-################################################################################
+###############################################################################
+# Install the Base Packages
+###############################################################################
# Install sbase
gitclone http://git.suckless.org/sbase "$AL_SOURCES/sbase"
ln -svf mksh "$AL_ROOT/bin/sh"
cd $AL
-# Install make
-fetch make-4.1.tar.gz http://ftp.gnu.org/gnu/make/ "$AL_ROOT/src/make"
-#cd "$AL_SOURCES/make"
-#if [ ! -f "$AL_ROOT/bin/make" ]; then
-# ./configure \
-# --prefix="$AL_TOOLS/" \
-# --without-guile \
-# --without-dmalloc \
-# --disable-nls \
-# --disable-rpath \
-# --disable-largefile \
-# --disable-job-server \
-# --disable-load
-# make -j8
-# make install
-#fi
-#cd "$AL"
-
-# Install kernel sources
+###############################################################################
+# Install Sources
+###############################################################################
fetch linux-4.4.tar.xz https://cdn.kernel.org/pub/linux/kernel/v4.x/ "$AL_ROOT/src/linux"
+fetch make-4.1.tar.gz http://ftp.gnu.org/gnu/make/ "$AL_ROOT/src/make"
+###############################################################################
+# Finalize the Chroot
+###############################################################################
+mkdir -pv "$AL_ROOT/dev"
+mkdir -pv "$AL_ROOT/proc"
+mkdir -pv "$AL_ROOT/sys"
+mkdir -pv "$AL_ROOT/tmp"
+mkdir -pv "$AL_ROOT/root"
+#mkdir -pv "$AL_ROOT/$AL_ROOT"
+#ln -svf /tools "$AL_ROOT/$AL_TOOLS"
# Variable pointing to the sources directory
export AL_SOURCES=$AL/sources
-
###############################################################################
# Build Environment Settings
###############################################################################
# Setup the path to use the cross-tools when they're available
export AL_TGT=$(uname -m)-linux-musl
-export PATH=$AL_ROOT/tools/$AL_TGT/bin:$PATH
-#export CC=$AL_TGT-gcc
-#export CXX=$AL_TGT-g++
-#export AR=$AL_TGT-ar
-#export AS=$AL_TGT-as
-#export LD=$AL_TGT-ld
-#export RANLIB=$AL_TGT-ranlib
-#export READELF=$AL_TGT-readelf
-#export STRIP=$AL_TGT-strip
#
-#export CFLAGS="-static"
-#export LDFLAGS="-static"
-
+export PATH=$AL_ROOT/tools/$AL_TGT/bin:$PATH
--- /dev/null
+#!/bin/sh
+
+# Load the config file
+. ./config.sh
+
+# Mount virtual filesystems
+mount -t proc proc "$AL_ROOT/proc"
+mount --rbind /sys "$AL_ROOT/sys"
+mount --make-rslave "$AL_ROOT/sys"
+mount --rbind /dev "$AL_ROOT/dev"
+mount --make-rslave "$AL_ROOT/dev"
+
+# Setup env variables
+export PATH=/bin:/tools/$AL_TGT/bin
+
+# Enter the chroot
+chroot "$AL_ROOT" /bin/sh
+
+# Cleanup afterwards
+umount -l "$AL_ROOT/proc"
+umount -l "$AL_ROOT/sys"
+umount -l "$AL_ROOT/dev"
+