diff --git a/everest-release b/everest-release index 91b3724..beeeac9 100644 --- a/everest-release +++ b/everest-release @@ -1 +1 @@ -1.0.0-busybox +1.0.0-gnu diff --git a/scripts/build-2.sh b/scripts/build-2.sh deleted file mode 100755 index 6137b35..0000000 --- a/scripts/build-2.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh -# Everest Linux 1.0.0-busybox - Stage 2 Installation Script -# This program is free software: See the GNU GPL v3.0 for details - -printf "[ !!! ] WARNING! DO NOT RUN THIS SCRIPT AS ROOT!\n" -printf "[ i ] Starting in 10 seconds.\n" - sleep 10 -printf "[ i ] Starting stage 2 installation...\n" - sleep 0.5 - -printf "[ i ] Creating bash configuration files...\n" - cat > ~/.bash_profile << "EOF" - exec env -i HOME=${HOME} TERM=${TERM} PS1='\u:\w\$ ' /bin/bash -EOF - - cat > ~/.bashrc << "EOF" - set +h - umask 022 - EVEREST=/mnt/everest - LC_ALL=POSIX - PATH=${EVEREST}/cross-tools/bin:/bin:/usr/bin - export EVEREST LC_ALL PATH -EOF - -printf "[ i ] Sourcing .bash_profile...\n" - source ~/.bash_profile - -printf "[ i ] Unsetting CFLAGS...\n" - unset CFLAGS - echo unset CFLAGS >> ~/.bashrc - -printf "[ i ] Setting build variables...\n" - export EVEREST_HOST=$(echo ${MACHTYPE} | sed "s/-[^-]*/-cross/") - export EVEREST_TARGET=x86_64-linux-musl - export EVEREST_CPU=k8 - -printf "[ i ] Setting CPU architecture..\n" - export EVEREST_ARCH="x86" - -printf "[ i ] Adding build variables to .bashrc...\n" - echo export EVEREST_HOST=\""${EVEREST_HOST}\"" >> ~/.bashrc - echo export EVEREST_TARGET=\""${EVEREST_TARGET}\"" >> ~/.bashrc - echo export EVEREST_ARCH=\""${EVEREST_ARCH}\"" >> ~/.bashrc - echo export EVEREST_CPU=\""${EVEREST_CPU}\"" >> ~/.bashrc diff --git a/scripts/build-3.sh b/scripts/build-3.sh deleted file mode 100755 index 6c3775b..0000000 --- a/scripts/build-3.sh +++ /dev/null @@ -1,258 +0,0 @@ -#!/bin/sh -# Everest Linux 1.0.0-busybox - Stage 3 Installation Script -# This program is free software: See the GNU GPL v3.0 for details. - -printf "[ i ] NOTICE - This script can either be run as the 'everest' user (assuming they own /mnt/everest), or as root.\n" - sleep 5 - -printf "[ i ] Creating sysroot directory...\n" - mkdir -p ${EVEREST}/cross-tools/${EVEREST_TARGET} - ln -sfv . ${EVEREST}/cross-tools/${EVEREST_TARGET}/usr - -printf "[ i ] Moving tarballs to cross-tools directory...\n" - cd /home/everest/everest-install/scripts/tempfiles - mv -rv * $EVEREST/sources - -printf "[ i ] Preparing to build initial toolchain...\n" - cd $EVEREST/sources - -printf "[ i ] Starting build of >>> Linux-Headers-4.9.22 <<<\n" - sleep 3 - tar -xvf linux-4.9.22.tar.xz - cd linux-4.9.22 - make mrproper - make ARCH=${EVEREST_ARCH} headers_check - make ARCH=${EVEREST_ARCH} INSTALL_HDR_PATH=${EVEREST}/cross-tools/${EVEREST_TARGET} headers_install - cd .. - -printf "[ i ] Starting build of >>> Binutils-2.27 <<<\n" - sleep 3 - tar -xvf binutils-2.27.tar.bz2 - cd binutils-2.27 - mkdir -v ../binutils-build - cd ../binutils-build - ../binutils-2.27/configure \ - --prefix=${EVEREST}/cross-tools \ - --target=${EVEREST_TARGET} \ - --with-sysroot=${EVEREST}/cross-tools/${EVEREST_TARGET} \ - --disable-nls \ - --disable-multilib - make configure-host - make - make install - cd ../.. -printf "[ i ] Finished build of >>> Binutils-2.27 <<<\n" - -printf "[ i ] Starting build of >>> GCC-6.2.0 - Static <<<\n" - sleep 3 - tar -xvf gcc-6.2.0.tar.bz2 - cd gcc-6.2.0 - tar xf ../mpfr-3.1.4.tar.bz2 - mv -v mpfr-3.1.4 mpfr - tar xf ../gmp-6.1.1.tar.bz2 - mv -v gmp-6.1.1 gmp - tar xf ../mpc-1.0.3.tar.gz - mv -v mpc-1.0.3 mpc - mkdir -v ../gcc-build - cd ../gcc-build - ../gcc-6.2.0/configure \ - --prefix=${EVEREST}/cross-tools \ - --build=${EVEREST_HOST} \ - --host=${EVEREST_HOST} \ - --target=${EVEREST_TARGET} \ - --with-sysroot=${EVEREST}/cross-tools/${EVEREST_TARGET} \ - --disable-nls \ - --disable-shared \ - --without-headers \ - --with-newlib \ - --disable-decimal-float \ - --disable-libgomp \ - --disable-libmudflap \ - --disable-libssp \ - --disable-libatomic \ - --disable-libquadmath \ - --disable-threads \ - --enable-languages=c \ - --disable-multilib \ - --with-mpfr-include=$(pwd)/../gcc-6.2.0/mpfr/src \ - --with-mpfr-lib=$(pwd)/mpfr/src/.libs \ - --with-arch=${EVEREST_CPU} - make all-gcc all-target-libgcc - make install-gcc install-target-libgcc - cd .. - rm -rf gcc-build - cd .. -printf "[ i ] Finished build of >>> GCC-6.2.0 - Static <<<\n" - -printf "[ i ] Starting build of >>> musl-1.1.16 <<<\n" - sleep 3 - tar -xvf musl-1.1.16.tar.gz - cd musl-1.1.16 - ./configure \ - CROSS_COMPILE=${EVEREST_TARGET}- \ - --prefix=/ \ - --target=${EVEREST_TARGET} - make - DESTDIR=${EVEREST}/cross-tools/${EVEREST_TARGET} make install - cd .. -printf "[ i ] Finished build of >>> musl-1.1.16 <<<\n" - -printf "[ i ] Starting build of >>> GCC-6.2.0 - Final <<<\n" - sleep 3 - rm -rf gcc-6.2.0 - tar -xvf gcc-6.2.0.tar.bz2 - cd gcc-6.2.0 - tar xf ../mpfr-3.1.4.tar.bz2 - mv -v mpfr-3.1.4 mpfr - tar xf ../gmp-6.1.1.tar.bz2 - mv -v gmp-6.1.1 gmp - tar xf ../mpc-1.0.3.tar.gz - mv -v mpc-1.0.3 mpc - mkdir -v ../gcc-build - cd ../gcc-build - ../gcc-6.2.0/configure \ - --prefix=${EVEREST}/cross-tools \ - --build=${EVEREST_HOST} \ - --host=${EVEREST_HOST} \ - --target=${EVEREST_TARGET} \ - --with-sysroot=${EVEREST}/cross-tools/${EVEREST_TARGET} \ - --disable-nls \ - --enable-languages=c,c++ \ - --enable-c99 \ - --enable-long-long \ - --disable-libmudflap \ - --disable-multilib \ - --with-mpfr-include=$(pwd)/../gcc-6.2.0/mpfr/src \ - --with-mpfr-lib=$(pwd)/mpfr/src/.libs \ - --with-arch=${EVEREST_CPU} - make - make install - cd .. -printf "[ i ] Finished build of >> GCC-6.2.0 - Final <<<\n" - -printf "[ i ] Toolchain has finished building.\n" - -printf "[ i ] Setting toolchain variables...\n" - echo export CC=\""${EVEREST_TARGET}-gcc --sysroot=${EVEREST}/targetfs\"" >> ~/.bashrc - echo export CXX=\""${EVEREST_TARGET}-g++ --sysroot=${EVEREST}/targetfs\"" >> ~/.bashrc - echo export AR=\""${EVEREST_TARGET}-ar\"" >> ~/.bashrc - echo export AS=\""${EVEREST_TARGET}-as\"" >> ~/.bashrc - echo export LD=\""${EVEREST_TARGET}-ld --sysroot=${EVEREST}/targetfs\"" >> ~/.bashrc - echo export RANLIB=\""${EVEREST_TARGET}-ranlib\"" >> ~/.bashrc - echo export READELF=\""${EVEREST_TARGET}-readelf\"" >> ~/.bashrc - echo export STRIP=\""${EVEREST_TARGET}-strip\"" >> ~/.bashrc - source ~/.bashrc - -printf "[ i ] Starting build of system...\n" - sleep 3 - -printf "[ i ] Creating system directories...\n" - mkdir -pv ${EVEREST}/targetfs/{bin,boot,dev,etc,home,lib/{firmware,modules}} - mkdir -pv ${EVEREST}/targetfs/{mnt,opt,proc,sbin,srv,sys} - mkdir -pv ${EVEREST}/targetfs/var/{cache,lib,local,lock,log,opt,run,spool} - install -dv -m 0750 ${EVEREST}/targetfs/root - install -dv -m 1777 ${EVEREST}/targetfs/{var/,}tmp - mkdir -pv ${EVEREST}/targetfs/usr/{,local/}{bin,include,lib,sbin,share,src} - ln -svf ../proc/mounts ${EVEREST}/targetfs/etc/mtab - cat > ${EVEREST}/targetfs/etc/passwd << "EOF" - root::0:0:root:/root:/bin/ash -EOF - cat > ${CLFS}/targetfs/etc/group << "EOF" - root:x:0: - bin:x:1: - sys:x:2: - kmem:x:3: - tty:x:4: - tape:x:5: - daemon:x:6: - floppy:x:7: - disk:x:8: - lp:x:9: - dialout:x:10: - audio:x:11: - video:x:12: - utmp:x:13: - usb:x:14: - cdrom:x:15: -EOF - touch ${EVEREST}/targetfs/var/log/lastlog - chmod -v 664 ${EVEREST}/targetfs/var/log/lastlog - -printf "[ i ] Starting build of >>> libgcc-6.2.0 <<<\n" - cp -v ${EVEREST}/cross-tools/${EVEREST_TARGET}/lib/libgcc_s.so.1 ${EVEREST}/targetfs/lib/ - ${EVEREST_TARGET}-strip ${EVEREST}/targetfs/lib/libgcc_s.so.1 -printf "[ i ] Finished build of >>> libgcc-6.2.0 <<<\n" - sleep 1 - -printf "[ i ] Starting build of >>> musl-1.1.16 <<<\n" - rm -rf musl-1.1.16 - tar -xvf musl-1.1.16.tar.gz - cd musl-1.1.16 - ./configure \ - CROSS_COMPILE=${EVEREST_TARGET}- \ - --prefix=/ \ - --disable-static \ - --target=${EVEREST_TARGET} - make - DESTDIR=${EVEREST}/targetfs make install-libs - cd .. -printf "[ i ] Finished build of >>> musl-1.1.16 <<<\n" - sleep 1 - -printf "[ i ] Starting build of >>> busybox-1.24.2 <<<\n" - tar -xvf busybox-1.24.2.tar.bz2 - cd busybox-1.24.2 - make distclean - make ARCH="${EVEREST_ARCH}" defconfig - sed -i 's/\(CONFIG_\)\(.*\)\(INETD\)\(.*\)=y/# \1\2\3\4 is not set/g' .config - sed -i 's/\(CONFIG_IFPLUGD\)=y/# \1 is not set/' .config - sed -i 's/\(CONFIG_FEATURE_WTMP\)=y/# \1 is not set/' .config - sed -i 's/\(CONFIG_FEATURE_UTMP\)=y/# \1 is not set/' .config - sed -i 's/\(CONFIG_UDPSVD\)=y/# \1 is not set/' .config - sed -i 's/\(CONFIG_TCPSVD\)=y/# \1 is not set/' .config - make ARCH="${EVEREST_ARCH}" CROSS_COMPILE="${EVEREST_TARGET}-" - make ARCH="${EVEREST_ARCH}" CROSS_COMPILE="${EVEREST_TARGET}-"\ - CONFIG_PREFIX="${EVEREST}/targetfs" install - cp -v examples/depmod.pl ${EVEREST}/cross-tools/bin - chmod -v 755 ${EVEREST}/cross-tools/bin/depmod.pl - cd .. -printf "[ i ] Finished build of >>> busybox-1.24.2 <<<\n" - sleep 1 - -printf "[ i ] Starting build of >>> iana-etc-2.30 <<<\n" - tar -xvf iana-etc-2.30.tar.bz2 - cd iana-etc-2.30 - patch -Np1 -i ../iana-etc-2.30-update-2.patch - make get - make STRIP=yes - make DESTFIR=${EVEREST}/targetfs install -printf "[ i ] Finished build of >>> iana-etc-2.30 <<<\n" - sleep 1 - -printf "[ i ] Finished building system software\n" - sleep 1 - -printf "[ i ] Creating /etc/fstab...\n" - cat > ${EVEREST}/targetfs/etc/fstab << "EOF" - # file-system mount-point type options dump fsck -EOF - -printf "[ i ] Building the Linux kernel...\n" - rm -rf linux-4.9.22 - tar -xvf linux-4.9.22.tar.xz - cd linux-4.9.22 - make mrproper - printf "[ !!! ] WARNING!!! KERNEL INSTALLATION WILL COMMENCE ONCE MENUCONFIG IS EXITED BY THE USER!!!\n" - wait 5 - make ARCH=${EVEREST_ARCH} CROSS_COMPILE=${EVEREST_TARGET}- menuconfig - make ARCH=${EVEREST_ARCH} CROSS_COMPILE=${EVEREST_TARGET}- - make ARCH=${EVEREST_ARCH} CROSS_COMPILE=${EVEREST_TARGET}- \ - INSTALL_MOD_PATH=${EVEREST}/targetfs modules_install -printf "[ i ] Finished build of the Linux kernel...\n" - -printf "[ i ] NOTE: Bootloader will need to be installed manually by the user (unless utilizing the bootloader of another system)\n" - wait 3 - -printf "[ i ] Bootstrapping Glacier package management system...\n" - - diff --git a/scripts/build-settings b/scripts/build-settings deleted file mode 100755 index ba4c79b..0000000 --- a/scripts/build-settings +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Settings for the Everest installation - -# Variable pointing to the Everest build directory -export EVEREST=/mnt/everest - -# Location of the Everest build directory -export EVEREST_BUILD_DIR=/mnt/everest - -# Root partition to build the system on -export EVEREST_ROOT= - -# Boot partition for the system -export EVEREST_BOOT= - -# Shell for the build user -export EVEREST_BUILD_SHELL=/bin/bash diff --git a/scripts/build.sh b/scripts/build.sh deleted file mode 100755 index 590e506..0000000 --- a/scripts/build.sh +++ /dev/null @@ -1,151 +0,0 @@ -#!/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 "The following settings will be used. If these do not work, alter this script.\n" - sleep 0.2 -printf "/mnt/everest - build directory\n" - sleep 0.2 -printf "everest - build user\n" - sleep 0.2 -printf "/bin/bash - shell for user\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 /mnt/everest # CHANGE THIS IF YOU DO NOT WANT YOUR BUILD DIRECTORY TO BE /mnt/everest - export EVEREST=/mnt/everest - 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 /mnt/everest - printf "[ i ] Creating sources directory...\n" - mkdir -pv $EVEREST/sources - printf "[ i ] Downloading packages...\n" - mkdir -pv tempfiles - cd tempfiles - wget --quiet --show-progress http://ftp.gnu.org/gnu/binutils/binutils-2.27.tar.bz2 - wget --quiet --show-progress http://busybox.net/downloads/busybox-1.24.2.tar.bz2 - wget --quiet --show-progress https://github.com/cross-lfs/bootscripts-embedded/archive/master.tar.gz - wget --quiet --show-progress http://gcc.gnu.org/pub/gcc/releases/gcc-6.2.0/gcc-6.2.0.tar.bz2 - wget --quiet --show-progress http://ftp.gnu.org/gnu/gmp/gmp-6.1.1.tar.bz2 - wget --quiet --show-progress http://sethwklein.net/iana-etc-2.30.tar.bz2 - wget --quiet --show-progress http://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.22.tar.xz - wget --quiet --show-progress http://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz - wget --quiet --show-progress http://ftp.gnu.org/gnu/mpfr/mpfr-3.1.4.tar.bz2 - wget --quiet --show-progress http://www.musl-libc.org/releases/musl-1.1.16.tar.gz - printf "[ i ] Downloading patches...\n" - wget --quiet --show-progress 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 /bin/bash -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.\n" - #printf "su - everest" - printf "[ i ] Please execute the stage 2 installation.\n" - su - everest - #printf "test" -fi diff --git a/scripts/everest-release b/scripts/everest-release index 91b3724..beeeac9 100644 --- a/scripts/everest-release +++ b/scripts/everest-release @@ -1 +1 @@ -1.0.0-busybox +1.0.0-gnu diff --git a/scripts/os-release b/scripts/os-release index 6885813..e2d8b76 100644 --- a/scripts/os-release +++ b/scripts/os-release @@ -1,7 +1,7 @@ NAME="Everest Linux" PRETTY_NAME="Everest Linux" ID=everest -BUILD_ID=1.0.0-busybox +BUILD_ID=1.0.0-gnu ANSI_COLOR="" HOME_URL="https://everestlinux.org/" SUPPORT_URL="https://git.everestlinux.org/" diff --git a/scripts/pkginfo/everest-base-busybox-musl-pkginfo.json b/scripts/pkginfo/everest-base-busybox-musl-pkginfo.json deleted file mode 100644 index d1f4200..0000000 --- a/scripts/pkginfo/everest-base-busybox-musl-pkginfo.json +++ /dev/null @@ -1,6 +0,0 @@ -{ -"group_name": "everest-base-busybox-musl", -"group_version": "1.0.0-busybox", -"group-description": "The Everest Linux base system", -"incl_pkgs": "binutils 2.27", "busybox 1.24.2", "gcc 6.2.0", "gmp 6.1.1", "iana-etc 2.30", "linux 4.9.22", "linux-headers 4.9.22", "mpc 1.0.3", "mpfr 3.1.4", "musl 1.1.16" -} diff --git a/scripts/pkginfo/everest-base-gnu-glibc-pkginfo.json b/scripts/pkginfo/everest-base-gnu-glibc-pkginfo.json new file mode 100644 index 0000000..f9dbb80 --- /dev/null +++ b/scripts/pkginfo/everest-base-gnu-glibc-pkginfo.json @@ -0,0 +1,6 @@ +{ +"group_name": "everest-base-gnu-glibc", +"group_version": "1.0.0-gnu", +"group-description": "The Everest Linux base system", +"incl_pkgs": "acl-2.3.1","attr-2.5.1","autoconf-2.71","automake-1.16.5","bash-5.1.16"," +}