diff options
-rw-r--r-- | README.md | 21 | ||||
-rw-r--r-- | archinstall.sh | 34 | ||||
-rw-r--r-- | stages/first_stage.sh | 4 |
3 files changed, 34 insertions, 25 deletions
@@ -12,7 +12,8 @@ Note: There are many Arch Install scripts out there but I wanted to create my ow 1. Download the Arch Linux .iso file (maybe [here](http://ftp.halifax.rwth-aachen.de/archlinux/iso/latest/)) and verify it. 2. Write the .iso to an USB stick (maybe with this [tool](https://www.balena.io/etcher/)) and boot the machine from this USB stick. 3. Download the script with 'curl -L archinstall.xengineering.eu > archinstall.sh'. -4. Run the script with 'bash archinstall.sh' and follow the instructions. +4. Edit the 'settings' section with 'nano archinstall.sh' and leave the nano editor. +5. Run the script with 'bash archinstall.sh'. ### Hint for German Users @@ -27,22 +28,15 @@ Execute 'loadkeys de-latin1' after booting to live environment, if you want to s 3. You booted the Arch Linux live environment in VirtualBox. Proceed with the normal use of archinstall. -## Restrictions - -- Just german localization of the installed system -- Just installation with cable network connection (no WiFi) - - ## To Do (Highest priority first) - [ ] Optimize mirrorlist +- [ ] Launch archconfig project for post-installation tasks like desktop, user setup, etc. - [ ] Support installation with WiFi (instead of cable connection) -- [ ] Provide recommended package lists -- [ ] Support english localization -- [ ] Provide custom archinstall bootstick - [ ] Automate testing +- [ ] Implement 'guided_archinstall.py' for better usability ## Done @@ -50,13 +44,8 @@ Execute 'loadkeys de-latin1' after booting to live environment, if you want to s (Last finished task first) - [x] Support coloured output -- [x] Support BIOS systems +- [x] Support UEFI and BIOS systems - [x] Automatic abort in case of errors -- [x] Switch to Cinnamon desktop - [x] Provide full system encryption with LUKS -- [x] Create a main user with sudo permissions -- [x] Provide installation of a desktop environment -- [x] Provide reusable configuration file (json) -- [x] Provide error log - [x] Automatic partitioning - [x] Write first version of archinstall.sh diff --git a/archinstall.sh b/archinstall.sh index d5197e2..f7bcfda 100644 --- a/archinstall.sh +++ b/archinstall.sh @@ -52,9 +52,23 @@ cat << EOF EOF +# settings + +# Modify each entry to your needs. Leave every unknown entry as it is. +# But make sure to EDIT 'path_to_disk'! Run "lsblk" if you are unsure, which +# is the right one for your machine. + +export path_to_disk="/dev/sda" # e.g. "/dev/sda" +export luks_encryption="no" # alternative: "yes" +export path_to_timezone="/usr/share/zoneinfo/Europe/Berlin" +export locales_to_generate="de_DE.UTF-8 UTF-8" # currently just one option +export language="de_DE.UTF-8" +export keymap="de-latin1" +export hostname="archlinux" # will be set to a user-chosen hostname + + # constants - ######################## CHANGE FOR PRODUCTION: export BRANCH="devel" # possible alternatives: "devel" or "feature_<myfeature>" export INTERNET_TEST_SERVER="archlinux.org" export INTERNET_TEST_PING_TIMEOUT=1 # in seconds @@ -69,13 +83,17 @@ export FAILED="\033[m[ \033[31mFAILED\033[m ]" # ref. https://en.wikipedia.org/ # variables export boot_mode="unknown" # alternatives: "bios" or "uefi" -export path_to_disk="/dev/sda" # e.g. "/dev/sda" -export luks_encryption="no" # alternative: "yes" -export path_to_timezone="/usr/share/zoneinfo/Europe/Berlin" -export locales_to_generate="de_DE.UTF-8 UTF-8" # currently just one option -export language="de_DE.UTF-8" -export keymap="de-latin1" -export hostname="archlinux" # will be set to a user-chosen hostname + + +# functions + +print_ok () { + printf "\033[m[ \033[32mOK\033[m ] $1\n" +} + +print_failed () { + printf "\033[m[ \033[31mFAILED\033[m ] $1\n" +} # check internet connection diff --git a/stages/first_stage.sh b/stages/first_stage.sh index abcac3b..57cc278 100644 --- a/stages/first_stage.sh +++ b/stages/first_stage.sh @@ -25,7 +25,9 @@ set -e # debug output -printf "$OK Entering first_stage.sh\n" +print_ok "Entering first_stage.sh" +print_failed "Testing printing functions ..." +exit 99 # check bootmode |