Skip to content

Releases: archlinux/archinstall

v2.0.4rc3

30 Jul 21:22

Choose a tag to compare

v2.0.4rc3 Pre-release
Pre-release

New features

  • Added add_custom_mirrors(). The function appends custom mirrors to /etc/pacman.conf based on the syntax:
    {'url': 'http://url.com', 'signcheck': 'Optional', 'signoptions': 'TrustAll', 'name': 'testmirror'}

v2.0.4rc2

22 Jul 12:36

Choose a tag to compare

v2.0.4rc2 Pre-release
Pre-release

New features

  • Application() profiles now support .py scripts as well
  • Application() and Profile() classes now correctly inserts that archinstall library path into sys.path from where it was installed. This has to be done in order to sub-executed scripts to get the correct version of archinstall when doing import archinstall in profiles and applications. Otherwise the installed/other libraries might take precedence over git clone'd repositories/submodules in projects (very noticeable in archinstall_gui for instance)
  • Added the add_AUR_support() function to enable AUR packages in the mountpoint (by compiling yay and installing it)
  • Added a yay() (and add_AUR_packages() pointer to yay()) command for installing AUR packages inside the mountpoint
  • Added enable_AUR() function to
  • Added run_command which will run commands inside the installation via arch-chroot {mountpoint}
  • Added arch_chroot which just points to run_command().
  • Added a set_timezone()
  • Fixed set_locale() in the Installer() class.
  • Also added a mirrors.py helper to rudimentary set mirror data on the installer host
  • awesome now has a .py profile instead of a .json, even tho the .json is still there.

Fixes

  • add_additional_packages() now gives a return value from pacstrap which it didn't before.
  • install_profile() now gives a return value from profile.install() which it previously didn't.
  • Profile() and Application() now skips looking for the profile/application if absolute paths are given (hopefully that logic works)
  • Added a __repr__ for Application() so it doesn't look like it's a Profile() being installed when printing the object.
  • Fixed desktop.py which was broken due to string formatting being a bit off.

v2.0.4rc1

21 Jul 09:14

Choose a tag to compare

v2.0.4rc1 Pre-release
Pre-release

New features:

  • Pre built ISO's are up again
  • Examples are now packaged in both pypi and pre-built nuitka3 binary
  • Added a PKGBUILD
  • archinstall.BlockDevice now contains a __dump__ meta function, which can be used with:
    def json_serial(obj):
    	elif type(obj) is bytes:
    		return obj.decode('UTF-8')
    	elif getattr(obj, "__dump__", None):
    		return obj.__dump__()
    	else:
    		return str(obj)
    
    json.dumps(block_device, default=json_serial)
  • Added a __init__.py into the main github repo structure, so that cloned repo's can use from archinstall import * for instance.

v2.0.3

08 Jul 21:14

Choose a tag to compare

Demo: https://youtu.be/w0T0ENAbXOU

New features:

  • .py support for profiles, meaning .json and .py support for profiles such as desktop is now supported.
  • Correctly identifies btrfs and installs the tools and runs mkinitcpio to package a working bootloader
  • Added some new Installer() helper functions: set_locale, set_hostname, genfstab - add_bootloader no longer takes a partition either, as it has to be given earlier in the stages for mounting to make reason.

Minor changes/fixes:

  • cache directory is no longer ~/archinstall, it's now ~/.cache/archinstall to not confuse the importer of Python.
  • Cleaned up the guided.py example, to first ask for user input, then proceed to installation. Also added a little warning before wiping.
  • Corrected some confusion in PARTUUID vs UUID
  • Fixed sys_command since which stopped working, now uses os.environ['PATH'] to find binaries.
  • Added symlinks to ./examples and ./profiles to trick/get setuptools to import the data correctly, since this issue is a huge pain in the ass.
  • Fixed the correct order of mounting /boot vs calling bootctl --path=/boot install, we were installing bootloader before the /boot mount was there.

Pre-built binary

archinstall-v2.0.3-1-x86_64.tar.gz is built using nuitka3 --standalone archinstall and simply contain the .dist folder from that result as well as the ./examples. Can be executed as is - or packaged with PKGBUILD to produce archinstall-v2.0.3-1-x86_64.pkg.tar.xz which is also included here. Steps to reproduce can also be done by running make.sh.

v2.0.3.rc1

08 Jul 08:50

Choose a tag to compare

v2.0.3.rc1 Pre-release
Pre-release

New features:

  • .py support for profiles, meaning .json and .py support for profiles such as desktop is now supported.

Minor changes/fixes:

  • cache directory is no longer ~/archinstall, it's now ~/.cache/archinstall to not confuse the importer of Python.

v2.0.2

07 Jul 22:03

Choose a tag to compare

New features:

  • Colored output from log()
  • Python module support python -m archinstall <template>
  • New guided template under examples/
  • sys_command now raises bad exit codes so they can be catched outside.

v2.0.1

06 Jul 21:11
0c57871

Choose a tag to compare

A lot has changed, and the changes are not backwards compatible with v1.X.
The whole concept has been reworked to support a cleaner installation process.
with contexts are now supported for easier handling of when and where to do certain sync calls etc.

A lot of helper functions have also been put into place to ease certain functions like calling pacman, pacstrap, syscalls and handling partitions, formatting and disk encryption.

The whole library has also been split from one major file into many modules and now more resembles a library.
This was done to support the option to install archinstall via PyPi and to be used as a library or executed as a python module via python -m archinstall --arg1="something" (module feature still being worked on).

Future versions will include support for calling python scripts for post-installation as well as profile installations.
This is because the current JSON template is a bit limited and complex to use when nesting strings inline.

Package is also being synced to the official GitLab of Arch Linux.

v0.2.2-beta

27 Nov 23:59
829a51a

Choose a tag to compare

v0.2.2-beta Pre-release
Pre-release

New feature:

  • Turn off disk encryption (Default on, and more or less enforced.. But this does turn it off)

v0.2.1-beta

27 Nov 22:53
2ceda91

Choose a tag to compare

v0.2.1-beta Pre-release
Pre-release

Features:

  • (Optional) Adds guessing country based off GeoIP-guessing via machines external IP
  • New Default: Reorders mirrors based off --country=<code> if a gateway is found. Turn off by doing --mirrors=0

v0.2-beta

27 Nov 20:42
434daea

Choose a tag to compare

v0.2-beta Pre-release
Pre-release

Main focus on cleaning up the __main__ code and putting things into functions so that the GUI can use the installation steps.

  • Keep AUR support after installation is complete
  • Phone Home feature, to signal to a master server when/if the installation is completed.
    (TODO: Add a start call to the phone home, and possibly progress)
  • Fixes Issue #22, now shows the file format when listing multiple drives/partitions for selection.
  • Reworked sys_command to more behave like a bash terminal being fed inputs
  • Bunch of bugfixes, among them were empty drives (factory wiped disks) caused a crash
  • Adds commands executed into a command-log
  • Some more error handling (True / False returns from functions mainly)