Skip to content

Releases: archlinux/archinstall

v2.0.4rc7

31 Aug 20:01
Compare
Choose a tag to compare
v2.0.4rc7 Pre-release
Pre-release

New features

  • Added network helpers in archinstall.lib.networking. Mainly adding helpers to detect physical interfaces and MAC-addresses.
  • Added a unattended example profile
  • Support for listing (and filtering) profiles based on MAC-address was added, the filter_irrelevant_macs will filter any MAC address profile that doesn't match the current machine.
  • archinstall.Installer() now has post-installation checks on __exit__, so when Install() is used in a context manager (with archinstall.Installer() as installation), whenever the coder exits that block, the post-installation-steps will run and inform (but not raise) about any missing steps that haven't been completed in order to successfully boot the machine (checks if the base OS is installed, if root or a super user is created/setup and if a bootloader is installed).
  • Fixed the guided template to check if root_pw is set, if it isn't, it will require an additional sudo-user to be created.

Minor Fixes

  • The unattended test-profile reports upstream to inform which commit was installed without user interaction.
  • Made btrfs-progs optional, won't be installed unless btrfs is detected as a filesystem.

Demo: https://youtu.be/9Xt7X_Iqg6E

v2.0.4rc6

20 Aug 10:27
Compare
Choose a tag to compare
v2.0.4rc6 Pre-release
Pre-release

New features

  • Added reboot() as a function (This is more of a fix, it used to exist but has been re-added)

Minor fixes

  • Tweaked the build scripts a bit to fetch a common VERSION definition.

v2.0.4rc5

19 Aug 20:14
Compare
Choose a tag to compare
v2.0.4rc5 Pre-release
Pre-release

New features

  • Added list_profiles() which lists all current local profiles.
  • Profiles now support descriptions by reading the top most comment in the .py files.

Fixes

  • Removed .json support, as it's quite convoluted and redundant now that we have proper support for .py profiles and applications.
  • PKGBUILD now exists for both python-archinstall (pip install archinstall equivilant) and archinstall (binary compiled version, no need for python to be installed)

v2.0.4rc4

04 Aug 09:40
Compare
Choose a tag to compare
v2.0.4rc4 Pre-release
Pre-release

New features

  • Added enable_service() to enable services within the installation
  • Added a helper function called activate_ntp() that simply enables the ntp.service and installs the ntp package.

Fixes

  • set_locale() now correctly takes the given locale and encoding and hopefully sets locale and encoding separately.

v2.0.4rc3

30 Jul 21:22
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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.