everest-install/scripts/build.sh
2022-08-02 16:04:08 -04:00

144 lines
3.5 KiB
Bash
Executable File

#!/bin/sh
# Everest Linux 1.0.0-busybox - Stage 1 Installation Script
# This program is free software: See the GNU GPL v3.0 for details
printf "=== WELCOME TO EVEREST LINUX! ===\n"
printf "This program will do the following:\n"
sleep 0.2
printf " - Create the necessary directory layout (as defined by the Filesystem Hierarchy Standard)\n"
sleep 0.2
printf " - Load the build settings defined in the 'build-settings' file\n"
sleep 0.2
printf " - Bootstrap the Glacier package manager\n"
sleep 0.2
printf " - Compile Everest Linux v1.0.0-busybox\n"
sleep 0.2
printf "This script will perform actions that are >>> NOT REVERSIBLE! <<<\n"
sleep 0.2
read -p "Are you sure you want to continue? (y/n) " -n 1 -r
echo # (optional) move to a new line
if [[ $REPLY =~ ^[Yy]$ ]]
then
printf "[!!!] The script will execute in 10"
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "9"
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "8"
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "7"
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "6"
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "5"
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "4"
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "3"
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "2"
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "1"
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "."
sleep 0.25
printf "0\n"
printf "[ i ] Loading build-settings file...\n"
./build-settings
printf "[ i ] Creating build directory...\n"
mkdir $EVEREST_BUILD_DIR
printf "[ i ] Ensuring EVEREST variable is correctly set up... (output should be the path to the build directory)\n"
echo $EVEREST
printf "[ i ] Changing permissions...\n"
chmod 777 ${EVEREST}
printf "[ i ] Creating sources directory...\n"
mkdir -v ${EVEREST}/sources
printf "[ i ] Downloading packages...\n"
mkdir -v tempfiles
cd tempfiles
wget http://ftp.gnu.org/gnu/binutils/binutils-2.27.tar.bz2
wget http://busybox.net/downloads/busybox-1.24.2.tar.bz2
wget https://github.com/cross-lfs/bootscripts-embedded/archive/master.tar.gz
wget http://gcc.gnu.org/pub/gcc/releases/gcc-6.2.0/gcc-6.2.0.tar.bz2
wget http://ftp.gnu.org/gnu/gmp/gmp-6.1.1.tar.bz2
wget http://sethwklein.net/iana-etc-2.30.tar.bz2
wget http://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.22.tar.xz
wget http://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
wget http://ftp.gnu.org/gnu/mpfr/mpfr-3.1.4.tar.bz2
wget http://www.musl-libc.org/releases/musl-1.1.16.tar.gz
printf "[ i ] Downloading patches...\n"
wget http://patches.clfs.org/embedded-dev/iana-etc-2.30-update-2.patch
printf "[ i ] Double checking EVEREST variable is correct...\n"
echo $EVEREST
printf "[ i ] Creating user for build...\n"
groupadd everest
useradd -s $EVEREST_BUILD_SHELL -g everest -m -k /dev/null everest
printf "[ ? ] Enter a password for the new user:\n"
passwd everest
printf "[ i ] Giving ownership of build directory to the new user...\n"
chown -Rv everest $EVEREST
printf "[ i ] The stage 1 installation has now finished. Please run the command below:\n"
printf "su - everest"
printf "[ i ] Then execute the stage 2 installation script."
su - everest
printf "test"
fi