Giter Club home page Giter Club logo

alma's People

Contributors

edjopato avatar hgaiser avatar jamesmcm avatar lnicola avatar r-darwish avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

alma's Issues

Add flag to sort preset directories numerically

Task

Currently we sort presets in a given directory alphabetically, however in some circumstances it maybe useful to do numerical sorting.

i.e. alphabetically:

1_user.toml
10_other_preset.toml
2_config.toml
...

numerically:

1_user.toml
2_config.toml
...
10_other_preset.toml

Justification

This would save users and preset developers having to left-pad the correct number of 0s to their preset filenames if using numbers to enforce the preset execution order.

Consider using paru instead of yay

It's written by one of the yay authors and has binary releases, so it doesn't need to be compiled, at least on x86-64 (but yay has those too).

Add aur_helper and aur_packages fields to presets

Task

Add aur_helper and aur_packages fields to presets.

The aur_helper will need to be installed separately (and this is not trivial, maybe this should be built in to ALMA).

The aur_helper will also need to be customisable (since the "best" helper has changed often i.e. from yaourt to pacaur to yay).

Justification

This allows preset developers to install packages via the AUR without having to do it in custom scripts (which are harder for the users to review).

option to start with mounting filesystems in alma create

Would it be useful to users to be able to resume alma create from the mount step?

I have problems with a specific usb key: (1) mounting the ext4 filesystem error loading journal, and an invalid backup GPT header" issue (2).

More info on my specific problem:

I wiped and formatted the usb key manually, fixed problem (2) manually in the recovery & transformation menu from gdisk to overwrite the GPT backup.

I reached out for help twice on the Arch linux forums, (first post) but immediately got rejected and then called a liar. I was able to create fat and ext4 filesystems without errors. But mounting the ext4 partition (/dev/sdc3) still failed. I also successfully ran e2fsck -fp /dev/sdc3, but to no avail. Every time it keeps reporting Superblock has an invalid journal (inode 8). I know this isn't a forum, but 'll be thankful if you help me solve the issue in some way. I tried to remove journalling from the ext4 filesystem, which gave me this error:

# tune2fs -O '^has_journal' /dev/sdc3
tune2fs 1.45.5 (07-Jan-2020)
tune2fs: Block bitmap checksum does not match bitmap while reading bitmaps

alma version: 0.10.0

Linux 5.5.7-arch1-1 SMP PREEMPT Sat, 29 Feb 2020 19:06:02 +0000 x86_64 GNU/Linux

Preset / Initramfs error

I tried to create an encrypted live usb but there was an error:

$ sudo alma -v create -e /dev/sdb
...
/usr/bin/mkinitcpio: line 265: /etc/mkinitcpio.d/linux.preset: No such file or directory
==> ERROR: Failed to load preset: `/etc/mkinitcpio.d/linux.preset'
2020-03-13 01:37:49 DEBUG alma::storage::mount_stack > Unmounting /tmp/.tmpHsd2Xf/boot
2020-03-13 01:37:51 DEBUG alma::storage::mount_stack > Unmounting /tmp/.tmpHsd2Xf
2020-03-13 01:38:14 DEBUG alma::storage::crypt > Closing encrypted device alma_root
2020-03-13 01:38:14 ERROR alma > Initramfs error
2020-03-13 01:38:14 ERROR alma > Caused by: exit code: 1

USB Hard Drives

I have a 320GB external hard drive and I wanted to use it for a portable arch installation.
The configuration for decreased writes to the USB sounded nice since the HDD is connected with a micro USB cable, as well as the ability to boot on both UEFI and BIOS systems.

But when I tried to create it refused to wipe the HDD and install arch linux on it.

Is there an option to wipe and install anyways?

Installation fails while generating initramfs

tried alma on a newly formatted usb stick, the installation stopped here:

dorifer@dorifer-x220:~$ sudo alma create -e
Select a removable device: General UDisk (14.65 GiB)
2020-05-18 09:31:58 INFO alma > Partitioning the block device


Found invalid GPT and valid MBR; converting MBR to GPT format
in memory.


GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
The operation has completed successfully.
2020-05-18 09:32:01 INFO alma > Formatting filesystems
mkfs.fat 4.1 (2017-01-24)
2020-05-18 09:32:05 INFO alma > Encrypting the root filesystem
Geben Sie die Passphrase für »/dev/sdb3« ein:
Geben Sie die Passphrase für »/dev/sdb3« ein:
mke2fs 1.45.6 (20-Mar-2020)
Ein Dateisystem mit 3813371 (4k) Blöcken und 954720 Inodes wird erzeugt.
UUID des Dateisystems: 532858b9-7657-471b-b7cc-de161335b0a4
Superblock-Sicherungskopien gespeichert in den Blöcken:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

beim Anfordern von Speicher für die Gruppentabellen: erledigt
Inode-Tabellen werden geschrieben: erledigt
Das Journal (16384 Blöcke) wird angelegt: erledigt
Die Superblöcke und die Informationen über die Dateisystemnutzung werden
geschrieben: erledigt

2020-05-18 09:33:33 INFO alma > Mounting filesystems to /tmp/.tmphJAQfA
2020-05-18 09:33:36 INFO alma > Bootstrapping system
==> Creating install root at /tmp/.tmphJAQfA
==> Installing packages to /tmp/.tmphJAQfA
:: Synchronisiere Paketdatenbanken...
core 168,7 KiB 1534 KiB/s 00:00 [######################] 100%
extra 2010,6 KiB 3,00 MiB/s 00:01 [######################] 100%
community 5,9 MiB 3,49 MiB/s 00:02 [######################] 100%
multilib 192,9 KiB 4,71 MiB/s 00:00 [######################] 100%
:: Es stehen 11 Provider für broadcom-wl zur Verfügung:
:: Repositorium extra

  1. linux316-broadcom-wl 2) linux414-broadcom-wl 3) linux419-broadcom-wl
  2. linux44-broadcom-wl 5) linux49-broadcom-wl 6) linux54-broadcom-wl
  3. linux55-broadcom-wl 8) linux56-broadcom-wl 9) linux57-broadcom-wl
    :: Repositorium community
  4. linux54-rt-broadcom-wl 11) linux56-rt-broadcom-wl

Geben Sie eine Zahl ein (Voreinstellung=1):
Löse Abhängigkeiten auf...
Suche nach in Konflikt stehenden Paketen...
Warnung: Abhängigkeits-Zyklus entdeckt:
Warnung: bashrc-manjaro wird vor seiner Abhängigkeit bash installiert werden

Pakete (157) acl-2.2.53-3 archlinux-keyring-20200422-1 argon2-20190702-3
attr-2.4.48-3 audit-2.8.5-6 bash-5.0.016-1
bashrc-manjaro-5.0.016-1 bluez-libs-5.54-2 bzip2-1.0.8-3
ca-certificates-20181109-3 ca-certificates-mozilla-3.52-1
ca-certificates-utils-20181109-3 coreutils-8.32-1
cracklib-2.9.7-2 cryptsetup-2.3.2-1 curl-7.70.0-1 db-5.3.28-5
dbus-1.12.16-5 device-mapper-2.02.187-2 diffutils-3.7-3
e2fsprogs-1.45.6-2 efivar-37-3 expat-2.2.9-3 file-5.38-3
filesystem-2019.10-4 findutils-4.7.0-2 gawk-5.1.0-1
gcc-libs-9.3.0-1 gdbm-1.18.1-3 gettext-0.20.2-1 glib2-2.64.2-1
glibc-2.31-2 gmp-6.2.0-1 gnupg-2.2.20-1 gnutls-3.6.13-2
gpgme-1.13.1-5 gpm-1.20.7.r27.g1fd1941-2 grep-3.4-1 gzip-1.10-3
hwids-20200306-1 iana-etc-20200428-1 icu-67.1-1
iproute2-5.6.0-1 iptables-1:1.8.4-1.1 iputils-20190709-2
jansson-2.12-2 js60-60.9.0-2 json-c-0.14-4 kbd-2.2.0-5
keyutils-1.6.1-4 kmod-27-1 krb5-1.18-1 less-551-3
libarchive-3.4.2-1 libassuan-2.5.3-2 libcap-2.33-1
libcap-ng-0.7.10-1 libcroco-0.6.13-1 libdaemon-0.14-4
libelf-0.178-2 libffi-3.3-3 libgcrypt-1.8.5-2
libgpg-error-1.37-1 libidn2-2.3.0-1 libksba-1.3.5-2
libldap-2.4.49-1 libmm-glib-1.12.10-1 libmnl-1.0.4-3
libndp-1.7-1 libnetfilter_conntrack-1.0.8-1 libnewt-0.52.21-3
libnfnetlink-1.0.1-3 libnftnl-1.1.6-1 libnghttp2-1.40.0-1
libnl-3.5.0-2 libnm-1.24.0-1 libnsl-1.2.0-2
libp11-kit-0.23.20-5 libpcap-1.9.1-2 libpgm-5.2.122-5
libpsl-0.21.0-2 libsasl-2.1.27-2 libseccomp-2.4.2-1
libsecret-0.20.3-1 libsodium-1.0.18-1 libssh2-1.9.0-2
libtasn1-4.16.0-1 libteam-1.30-1 libtirpc-1.2.6-1
libunistring-0.9.10-2 libusb-1.0.23-2 libutil-linux-2.35.1-2.1
libxml2-2.9.10-2 licenses-20200427-1 linux-api-headers-5.4.17-1
linux-firmware-20200424.r1632.b2cad6a-1 linux316-3.16.83-1
lz4-1:1.9.2-2 manjaro-keyring-20200421-1 mkinitcpio-27-3
mkinitcpio-busybox-1.31.1-1
mobile-broadband-provider-info-20190618-1 mpfr-4.0.2-2
ncurses-6.2-1 nettle-3.6-1 npth-1.6-2 nspr-4.25-1 nss-3.52-1
openssl-1.1.1.g-1 p11-kit-0.23.20-5 pacman-5.2.1-4
pacman-mirrors-4.16.4-1 pam-1.3.1-2 pambase-20190105.1-2
pciutils-3.6.4-1 pcre-8.44-1 pcre2-10.34-3 perl-5.30.2-1
pinentry-1.1.0-5 polkit-0.116-5.1 popt-1.16-12
procps-ng-3.3.16-1 psmisc-23.3-2 python-3.8.2-2
python-appdirs-1.4.3-5 python-chardet-3.0.4-4 python-idna-2.9-1
python-npyscreen-4.10.5-4 python-ordered-set-3.1.1-1
python-packaging-20.3-1 python-pyparsing-2.4.7-1
python-requests-2.23.0-1 python-setuptools-1:46.1.3-1
python-six-1.14.0-1 python-urllib3-1.25.9-1 readline-8.0.004-1
sed-4.8-1 shadow-4.8.1-1 slang-2.3.2-2 sqlite-3.31.1-1
systemd-245.5-2 systemd-libs-245.5-2 systemd-sysvcompat-245.5-2
tar-1.32-3 tzdata-2020a-1 util-linux-2.35.1-2.1
wpa_supplicant-2:2.9-7 xz-5.2.5-1 zeromq-4.3.2-1
zlib-1:1.2.11-4 zstd-1.4.4-1 base-2-2 efibootmgr-17-1
grub-2.04-10 intel-ucode-20191115-3
linux316-broadcom-wl-6.30.223.271-43 networkmanager-1.24.0-1

Gesamtgröße des Downloads: 72,31 MiB
Gesamtgröße der installierten Pakete: 1378,46 MiB

:: Installation fortsetzen? [J/n]
:: Empfange Pakete...
filesystem-2019.... 13,2 KiB 0,00 B/s 00:00 [######################] 100%
gdbm-1.18.1-3-x86_64 160,4 KiB 5,22 MiB/s 00:00 [######################] 100%
db-5.3.28-5-x86_64 1098,0 KiB 3,50 MiB/s 00:00 [######################] 100%
zlib-1:1.2.11-4-... 81,5 KiB 4,97 MiB/s 00:00 [######################] 100%
mpfr-4.0.2-2-x86_64 314,0 KiB 4,38 MiB/s 00:00 [######################] 100%
mkinitcpio-busyb... 254,8 KiB 4,15 MiB/s 00:00 [######################] 100%
cracklib-2.9.7-2... 250,4 KiB 4,08 MiB/s 00:00 [######################] 100%
libsasl-2.1.27-2... 136,2 KiB 5,54 MiB/s 00:00 [######################] 100%
pambase-20190105... 2,9 KiB 978 KiB/s 00:00 [######################] 100%
pam-1.3.1-2-x86_64 559,6 KiB 3,50 MiB/s 00:00 [######################] 100%
libcap-ng-0.7.10... 35,7 KiB 8,71 MiB/s 00:00 [######################] 100%
audit-2.8.5-6-x86_64 338,5 KiB 4,13 MiB/s 00:00 [######################] 100%
libgcrypt-1.8.5-... 485,4 KiB 3,85 MiB/s 00:00 [######################] 100%
lz4-1:1.9.2-2-x86_64 109,4 KiB 6,29 MiB/s 00:00 [######################] 100%
bzip2-1.0.8-3-x86_64 53,4 KiB 4,01 MiB/s 00:00 [######################] 100%
expat-2.2.9-3-x86_64 94,6 KiB 5,43 MiB/s 00:00 [######################] 100%
zstd-1.4.4-1-x86_64 391,9 KiB 3,58 MiB/s 00:00 [######################] 100%
diffutils-3.7-3-... 324,1 KiB 3,96 MiB/s 00:00 [######################] 100%
findutils-4.7.0-... 454,6 KiB 3,83 MiB/s 00:00 [######################] 100%
less-551-3-x86_64 100,9 KiB 5,80 MiB/s 00:00 [######################] 100%
gzip-1.10-3-x86_64 77,8 KiB 5,85 MiB/s 00:00 [######################] 100%
popt-1.16-12-x86_64 62,9 KiB 3,07 MiB/s 00:00 [######################] 100%
libmnl-1.0.4-3-x... 10,4 KiB 0,00 B/s 00:00 [######################] 100%
libnl-3.5.0-2-x86_64 364,7 KiB 3,42 MiB/s 00:00 [######################] 100%
libusb-1.0.23-2-... 57,0 KiB 7,96 MiB/s 00:00 [######################] 100%
libpcap-1.9.1-2-... 240,0 KiB 4,69 MiB/s 00:00 [######################] 100%
kbd-2.2.0-5-x86_64 1135,6 KiB 3,39 MiB/s 00:00 [######################] 100%
libunistring-0.9... 498,6 KiB 3,75 MiB/s 00:00 [######################] 100%
libidn2-2.3.0-1-... 115,9 KiB 3,77 MiB/s 00:00 [######################] 100%
libssh2-1.9.0-2-... 205,8 KiB 4,57 MiB/s 00:00 [######################] 100%
libpsl-0.21.0-2-... 73,2 KiB 7,14 MiB/s 00:00 [######################] 100%
pcre2-10.34-3-x86_64 1038,5 KiB 3,62 MiB/s 00:00 [######################] 100%
linux316-3.16.83... 55,5 MiB 3,40 MiB/s 00:16 [######################] 100%
efivar-37-3-x86_64 101,1 KiB 6,17 MiB/s 00:00 [######################] 100%
tar-1.32-3-x86_64 742,3 KiB 3,68 MiB/s 00:00 [######################] 100%
psmisc-23.3-2-x86_64 110,1 KiB 5,38 MiB/s 00:00 [######################] 100%
npth-1.6-2-x86_64 12,8 KiB 0,00 B/s 00:00 [######################] 100%
libksba-1.3.5-2-... 116,6 KiB 7,12 MiB/s 00:00 [######################] 100%
libassuan-2.5.3-... 85,0 KiB 5,93 MiB/s 00:00 [######################] 100%
pinentry-1.1.0-5... 101,6 KiB 5,84 MiB/s 00:00 [######################] 100%
libnsl-1.2.0-2-x... 57,4 KiB 5,61 MiB/s 00:00 [######################] 100%
iputils-20190709... 92,1 KiB 6,43 MiB/s 00:00 [######################] 100%
base-2-2-any 2,1 KiB 0,00 B/s 00:00 [######################] 100%
gpm-1.20.7.r27.g... 132,0 KiB 5,61 MiB/s 00:00 [######################] 100%
libnfnetlink-1.0... 16,4 KiB 0,00 B/s 00:00 [######################] 100%
linux316-broadco... 2,7 MiB 3,52 MiB/s 00:01 [######################] 100%
intel-ucode-2019... 2,4 MiB 3,50 MiB/s 00:01 [######################] 100%
libcroco-0.6.13-... 146,0 KiB 5,28 MiB/s 00:00 [######################] 100%
python-appdirs-1... 14,2 KiB 0,00 B/s 00:00 [######################] 100%
python-ordered-s... 12,5 KiB 0,00 B/s 00:00 [######################] 100%
python-chardet-3... 150,7 KiB 5,66 MiB/s 00:00 [######################] 100%
libndp-1.7-1-x86_64 17,0 KiB 0,00 B/s 00:00 [######################] 100%
libdaemon-0.14-4... 18,2 KiB 0,00 B/s 00:00 [######################] 100%
mobile-broadband... 58,4 KiB 8,14 MiB/s 00:00 [######################] 100%
python-npyscreen... 160,2 KiB 4,74 MiB/s 00:00 [######################] 100%
libnewt-0.52.21-... 89,8 KiB 6,26 MiB/s 00:00 [######################] 100%
libsodium-1.0.18... 158,6 KiB 5,16 MiB/s 00:00 [######################] 100%
zeromq-4.3.2-1-x... 550,4 KiB 3,84 MiB/s 00:00 [######################] 100%
(157/157) Prüfe Schlüssel im Schlüsselring [######################] 100%
(157/157) Überprüfe Paket-Integrität [######################] 100%
(157/157) Lade Paket-Dateien [######################] 100%
(157/157) Prüfe auf Dateikonflikte [######################] 100%
(157/157) Überprüfe verfügbaren Festplattenspe... [######################] 100%
:: Verarbeite Paketänderungen...
( 1/157) Installiere linux-api-headers [######################] 100%
( 2/157) Installiere tzdata [######################] 100%
( 3/157) Installiere iana-etc [######################] 100%
( 4/157) Installiere filesystem [######################] 100%
( 5/157) Installiere glibc [######################] 100%
Optionale Abhängigkeiten für glibc
gd: for memusagestat
( 6/157) Installiere attr [######################] 100%
( 7/157) Installiere acl [######################] 100%
( 8/157) Installiere gcc-libs [######################] 100%
( 9/157) Installiere bashrc-manjaro [######################] 100%
( 10/157) Installiere ncurses [######################] 100%
( 11/157) Installiere readline [######################] 100%
( 12/157) Installiere bash [######################] 100%
Optionale Abhängigkeiten für bash
bash-completion: for tab completion
( 13/157) Installiere gmp [######################] 100%
( 14/157) Installiere libcap [######################] 100%
( 15/157) Installiere gdbm [######################] 100%
( 16/157) Installiere db [######################] 100%
( 17/157) Installiere perl [######################] 100%
( 18/157) Installiere openssl [######################] 100%
Optionale Abhängigkeiten für openssl
ca-certificates [ausstehend]
( 19/157) Installiere coreutils [######################] 100%
( 20/157) Installiere linux-firmware [######################] 100%
( 21/157) Installiere zlib [######################] 100%
( 22/157) Installiere xz [######################] 100%
( 23/157) Installiere kmod [######################] 100%
( 24/157) Installiere mpfr [######################] 100%
( 25/157) Installiere gawk [######################] 100%
( 26/157) Installiere mkinitcpio-busybox [######################] 100%
( 27/157) Installiere cracklib [######################] 100%
( 28/157) Installiere libutil-linux [######################] 100%
( 29/157) Installiere e2fsprogs [######################] 100%
( 30/157) Installiere libsasl [######################] 100%
( 31/157) Installiere libldap [######################] 100%
( 32/157) Installiere keyutils [######################] 100%
( 33/157) Installiere krb5 [######################] 100%
( 34/157) Installiere libtirpc [######################] 100%
( 35/157) Installiere pambase [######################] 100%
( 36/157) Installiere pam [######################] 100%
( 37/157) Installiere libcap-ng [######################] 100%
( 38/157) Installiere audit [######################] 100%
( 39/157) Installiere shadow [######################] 100%
( 40/157) Installiere libgpg-error [######################] 100%
( 41/157) Installiere libgcrypt [######################] 100%
( 42/157) Installiere lz4 [######################] 100%
( 43/157) Installiere systemd-libs [######################] 100%
( 44/157) Installiere util-linux [######################] 100%
Optionale Abhängigkeiten für util-linux
python: python bindings to libmount [ausstehend]
words: default dictionary for look
( 45/157) Installiere bzip2 [######################] 100%
( 46/157) Installiere expat [######################] 100%
( 47/157) Installiere zstd [######################] 100%
( 48/157) Installiere libarchive [######################] 100%
( 49/157) Installiere diffutils [######################] 100%
( 50/157) Installiere findutils [######################] 100%
( 51/157) Installiere pcre [######################] 100%
( 52/157) Installiere grep [######################] 100%
( 53/157) Installiere less [######################] 100%
( 54/157) Installiere gzip [######################] 100%
( 55/157) Installiere device-mapper [######################] 100%
( 56/157) Installiere popt [######################] 100%
( 57/157) Installiere json-c [######################] 100%
( 58/157) Installiere argon2 [######################] 100%
( 59/157) Installiere cryptsetup [######################] 100%
( 60/157) Installiere dbus [######################] 100%
( 61/157) Installiere libmnl [######################] 100%
( 62/157) Installiere libnftnl [######################] 100%
( 63/157) Installiere libnl [######################] 100%
( 64/157) Installiere libusb [######################] 100%
( 65/157) Installiere libpcap [######################] 100%
( 66/157) Installiere libnfnetlink [######################] 100%
( 67/157) Installiere libnetfilter_conntrack [######################] 100%
( 68/157) Installiere iptables [######################] 100%
( 69/157) Installiere kbd [######################] 100%
( 70/157) Installiere hwids [######################] 100%
( 71/157) Installiere libunistring [######################] 100%
( 72/157) Installiere libidn2 [######################] 100%
( 73/157) Installiere libtasn1 [######################] 100%
( 74/157) Installiere libffi [######################] 100%
( 75/157) Installiere libp11-kit [######################] 100%
( 76/157) Installiere p11-kit [######################] 100%
( 77/157) Installiere ca-certificates-utils [######################] 100%
( 78/157) Installiere ca-certificates-mozilla [######################] 100%
( 79/157) Installiere ca-certificates [######################] 100%
( 80/157) Installiere libssh2 [######################] 100%
( 81/157) Installiere libpsl [######################] 100%
( 82/157) Installiere libnghttp2 [######################] 100%
( 83/157) Installiere curl [######################] 100%
( 84/157) Installiere libelf [######################] 100%
( 85/157) Installiere libseccomp [######################] 100%
( 86/157) Installiere pcre2 [######################] 100%
( 87/157) Installiere systemd [######################] 100%
Initializing machine ID from random generator.
Created symlink /etc/systemd/system/getty.target.wants/[email protected] → /usr/lib/systemd/system/[email protected].
Created symlink /etc/systemd/system/multi-user.target.wants/remote-fs.target → /usr/lib/systemd/system/remote-fs.target.
:: Append 'init=/usr/lib/systemd/systemd' to your kernel command line in your
bootloader to replace sysvinit with systemd, or install systemd-sysvcompat
Optionale Abhängigkeiten für systemd
libmicrohttpd: remote journald capabilities
quota-tools: kernel-level quota management
systemd-sysvcompat: symlink package to provide sysvinit binaries [ausstehend]
polkit: allow administration as unprivileged user [ausstehend]
curl: machinectl pull-tar and pull-raw [Installiert]
( 88/157) Installiere mkinitcpio [####################################################] 100%
Optionale Abhängigkeiten für mkinitcpio
xz: Use lzma or xz compression for the initramfs image [Installiert]
bzip2: Use bzip2 compression for the initramfs image [Installiert]
lzop: Use lzo compression for the initramfs image
lz4: Use lz4 compression for the initramfs image [Installiert]
mkinitcpio-nfs-utils: Support for root filesystem on NFS
( 89/157) Installiere linux316 [####################################################] 100%
Optionale Abhängigkeiten für linux316
crda: to set the correct wireless channels of your country
( 90/157) Installiere linux316-broadcom-wl [####################################################] 100%
( 91/157) Installiere intel-ucode [####################################################] 100%
( 92/157) Installiere glib2 [####################################################] 100%
Optionale Abhängigkeiten für glib2
python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report [ausstehend]
libelf: gresource inspection tool [Installiert]
( 93/157) Installiere icu [####################################################] 100%
( 94/157) Installiere libxml2 [####################################################] 100%
( 95/157) Installiere libcroco [####################################################] 100%
( 96/157) Installiere gettext [####################################################] 100%
Optionale Abhängigkeiten für gettext
git: for autopoint infrastructure updates
( 97/157) Installiere grub [####################################################] 100%
Generating grub.cfg.example config file...
This may fail on some machines running a custom kernel.
done.
Optionale Abhängigkeiten für grub
freetype2: For grub-mkfont usage
fuse2: For grub-mount usage
dosfstools: For grub-mkrescue FAT FS and EFI support
efibootmgr: For grub-install EFI support [ausstehend]
libisoburn: Provides xorriso for generating grub rescue iso using grub-mkrescue
os-prober: To detect other OSes when generating grub.cfg in BIOS systems
mtools: For grub-mkrescue FAT FS support
libusbx: For grub-emu USB support [Installiert]
sdl: For grub-emu SDL support
( 98/157) Installiere efivar [####################################################] 100%
( 99/157) Installiere efibootmgr [####################################################] 100%
(100/157) Installiere file [####################################################] 100%
(101/157) Installiere procps-ng [####################################################] 100%
(102/157) Installiere sed [####################################################] 100%
(103/157) Installiere tar [####################################################] 100%
(104/157) Installiere pciutils [####################################################] 100%
(105/157) Installiere psmisc [####################################################] 100%
(106/157) Installiere licenses [####################################################] 100%
(107/157) Installiere npth [####################################################] 100%
(108/157) Installiere libksba [####################################################] 100%
(109/157) Installiere libassuan [####################################################] 100%
(110/157) Installiere libsecret [####################################################] 100%
Optionale Abhängigkeiten für libsecret
org.freedesktop.secrets: secret storage backend
(111/157) Installiere pinentry [####################################################] 100%
Optionale Abhängigkeiten für pinentry
gtk2: gtk2 backend
qt5-base: qt backend
gcr: gnome3 backend
(112/157) Installiere nettle [####################################################] 100%
(113/157) Installiere gnutls [####################################################] 100%
Optionale Abhängigkeiten für gnutls
guile: for use with Guile bindings
(114/157) Installiere sqlite [####################################################] 100%
(115/157) Installiere gnupg [####################################################] 100%
Optionale Abhängigkeiten für gnupg
libldap: gpg2keys_ldap [Installiert]
libusb-compat: scdaemon
pcsclite: scdaemon
(116/157) Installiere gpgme [####################################################] 100%
(117/157) Installiere archlinux-keyring [####################################################] 100%
(118/157) Installiere manjaro-keyring [####################################################] 100%
(119/157) Installiere libnsl [####################################################] 100%
(120/157) Installiere python [####################################################] 100%
Optionale Abhängigkeiten für python
python-setuptools [ausstehend]
python-pip
sqlite [Installiert]
mpdecimal: for decimal
xz: for lzma [Installiert]
tk: for tkinter
(121/157) Installiere python-npyscreen [####################################################] 100%
(122/157) Installiere python-urllib3 [####################################################] 100%
Optionale Abhängigkeiten für python-urllib3
python-pysocks: SOCKS support
python-brotli: Brotli support
python-pyopenssl: security support
(123/157) Installiere python-appdirs [####################################################] 100%
(124/157) Installiere python-pyparsing [####################################################] 100%
(125/157) Installiere python-six [####################################################] 100%
(126/157) Installiere python-packaging [####################################################] 100%
(127/157) Installiere python-ordered-set [####################################################] 100%
(128/157) Installiere python-setuptools [####################################################] 100%
(129/157) Installiere python-chardet [####################################################] 100%
(130/157) Installiere python-idna [####################################################] 100%
(131/157) Installiere python-requests [####################################################] 100%
Optionale Abhängigkeiten für python-requests
python-pysocks: SOCKS proxy support
(132/157) Installiere pacman-mirrors [####################################################] 100%
Optionale Abhängigkeiten für pacman-mirrors
gtk3: for interactive mode (GUI)
python-gobject: for interactive mode (GUI)
(133/157) Installiere pacman [####################################################] 100%
==> To import the data required by pacman for package verification run:
==> pacman-key --init; pacman-key --populate archlinux manjaro
==> See: https://www.archlinux.org/news/having-pacman-verify-packages
Optionale Abhängigkeiten für pacman
haveged: for pacman-init.service
perl-locale-gettext: translation support in makepkg-template
(134/157) Installiere systemd-sysvcompat [####################################################] 100%
(135/157) Installiere iputils [####################################################] 100%
Optionale Abhängigkeiten für iputils
xinetd: for tftpd
(136/157) Installiere iproute2 [####################################################] 100%
Optionale Abhängigkeiten für iproute2
linux-atm: ATM support
(137/157) Installiere base [####################################################] 100%
Optionale Abhängigkeiten für base
linux: bare metal support [Installiert]
(138/157) Installiere nspr [####################################################] 100%
(139/157) Installiere nss [####################################################] 100%
(140/157) Installiere jansson [####################################################] 100%
(141/157) Installiere libnm [####################################################] 100%
(142/157) Installiere js60 [####################################################] 100%
(143/157) Installiere polkit [####################################################] 100%
(144/157) Installiere wpa_supplicant [####################################################] 100%
(145/157) Installiere libmm-glib [####################################################] 100%
(146/157) Installiere slang [####################################################] 100%
(147/157) Installiere gpm [####################################################] 100%
(148/157) Installiere libnewt [####################################################] 100%
Optionale Abhängigkeiten für libnewt
tcl: whiptcl support
python: libnewt support with the _snack module [Installiert]
python2: libnewt support with the _snack module
(149/157) Installiere libndp [####################################################] 100%
(150/157) Installiere libdaemon [####################################################] 100%
(151/157) Installiere libsodium [####################################################] 100%
(152/157) Installiere libpgm [####################################################] 100%
(153/157) Installiere zeromq [####################################################] 100%
(154/157) Installiere libteam [####################################################] 100%
(155/157) Installiere bluez-libs [####################################################] 100%
(156/157) Installiere mobile-broadband-provider-info [####################################################] 100%
(157/157) Installiere networkmanager [####################################################] 100%
Optionale Abhängigkeiten für networkmanager
dnsmasq: connection sharing
bluez: Bluetooth support
ppp: dialup connection support
modemmanager: cellular network support
iwd: wpa_supplicant alternative
dhclient: alternative DHCP client
openresolv: alternative resolv.conf manager
:: Starte post-transaction hooks...
( 1/15) Creating system user accounts...
( 2/15) Updating journal message catalog...
( 3/15) Reloading system manager configuration...
Running in chroot, ignoring request: daemon-reload
( 4/15) Updating udev hardware database...
( 5/15) Applying kernel sysctl settings...
( 6/15) Creating temporary files...
Fehler: Befehl konnte nicht korrekt ausgeführt werden
( 7/15) Reloading device manager configuration...
Running in chroot, ignoring request.
( 8/15) Arming ConditionNeedsUpdate...
( 9/15) Updating module dependencies...
(10/15) Updating linux initcpios...
==> Building image from preset: /etc/mkinitcpio.d/linux316.preset: 'default'
-> -k /boot/vmlinuz-3.16-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-3.16-x86_64.img
==> Starting build: 3.16.83-1-MANJARO
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [autodetect]
-> Running build hook: [modconf]
-> Running build hook: [block]
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-3.16-x86_64.img
bsdtar: bsdtar: Failed to set default locale
Failed to set default locale
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux316.preset: 'fallback'
-> -k /boot/vmlinuz-3.16-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-3.16-x86_64-fallback.img -S autodetect
==> Starting build: 3.16.83-1-MANJARO
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [modconf]
-> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-3.16-x86_64-fallback.img
bsdtar: Failed to set default locale
bsdtar: Failed to set default locale
==> Image generation successful
(11/15) Updating Grub-Bootmenu
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.16-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-3.16-x86_64.img
Found initrd fallback image: /boot/initramfs-3.16-x86_64-fallback.img
done
(12/15) Reloading system bus configuration...
Running in chroot, ignoring request: try-reload-or-restart
(13/15) Warn about old perl modules
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_ADDRESS = "de_AT.UTF-8",
LC_NAME = "de_AT.UTF-8",
LC_MONETARY = "de_AT.UTF-8",
LC_PAPER = "de_AT.UTF-8",
LC_IDENTIFICATION = "de_AT.UTF-8",
LC_TELEPHONE = "de_AT.UTF-8",
LC_MEASUREMENT = "de_AT.UTF-8",
LC_TIME = "de_AT.UTF-8",
LC_NUMERIC = "de_AT.UTF-8",
LANG = "de_AT.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
(14/15) Configuring pacman-mirrors ...
::WARNING https://gitlab.manjaro.org '<urlopen error [Errno -2] Name or service not known>'
::WARNING https://wikipedia.org '<urlopen error [Errno -2] Name or service not known>'
::WARNING https://bitbucket.org '<urlopen error [Errno -2] Name or service not known>'
::INFO Internet connection appears to be down
::INFO Mirror ranking is not available
::INFO Mirror list is generated using random method
::INFO Writing mirror list
::Indonesia : http://kartolo.sby.datautama.net.id/manjaro/stable
::Czech : https://mirror.dkm.cz/manjaro/stable
::China : https://mirrors.ustc.edu.cn/manjaro/stable
::Germany : http://mirror.ragenetwork.de/manjaro/stable
::Poland : https://mirror.tuchola-dc.pl/manjaro/stable
::France : http://ftp.free.org/mirrors/repo.manjaro.org/repos/stable
::Japan : http://ftp.riken.jp/Linux/manjaro/stable
::Australia : http://manjaro.melbourneitmirror.net/stable
::United_Kingdom : http://repo.manjaro.org.uk/stable
::Germany : https://repo.rhindon.net/manjaro/stable
::Brazil : https://manjaro.c3sl.ufpr.br/stable
::Denmark : https://www.uex.dk/public/manjaro/stable
::Belgium : http://ftp.belnet.be/mirrors/manjaro/stable
::Philippines : http://mirror.rise.ph/manjaro/stable
::Taiwan : http://free.nchc.org.tw/manjaro/stable
::Russia : https://mirror.yandex.ru/mirrors/manjaro/stable
::Netherlands : https://ftp.nluug.nl/pub/os/Linux/distr/manjaro/stable
::Romania : http://mirrors.serverhost.ro/manjaro/packages/stable
::Turkey : http://ftp.linux.org.tr/manjaro/stable
::United_States : https://mirror.math.princeton.edu/pub/manjaro/stable
::Brazil : http://linorg.usp.br/manjaro/stable
::Sweden : https://ftp.lysator.liu.se/pub/manjaro/stable
::Austria : http://mirror.inode.at/manjaro/stable
::Bangladesh : http://mirror.xeonbd.com/manjaro/stable
::Chile : http://manjaro.dcc.uchile.cl/stable
::United_Kingdom : http://mirror.catn.com/pub/manjaro/stable
::China : https://mirrors.zju.edu.cn/manjaro/stable
::United_Kingdom : http://manjaro.mirrors.uk2.net/stable
::United_Kingdom : https://www.mirrorservice.org/sites/repo.manjaro.org/repos/sta
::Italy : https://manjaro.mirror.garr.it/mirrors/manjaro/stable
::United_States : https://mirrors.ocf.berkeley.edu/manjaro/stable
::Spain : http://ftp.caliu.cat/manjaro/stable
::China : https://mirrors.sjtug.sjtu.edu.cn/manjarostable
::Brazil : http://mirror.ufam.edu.br/manjaro/stable
::Costa_Rica : https://mirrors.ucr.ac.cr/manjaro/stable
::Belarus : http://mirror.datacenter.by/pub/mirrors/manjaro/stable
::Germany : https://ftp.halifax.rwth-aachen.de/manjaro/stable
::Hong_Kong : http://ftp.cuhk.edu.hk/pub/Linux/manjaro/stable
::United_States : https://mirror.clarkson.edu/manjaro/stable
::Netherlands : https://mirror.koddos.net/manjaro/stable
::Greece : https://ftp.cc.uoc.gr/mirrors/linux/manjaro/stable
::Bulgaria : https://mirrors.netix.net/manjaro/stable
::Sweden : https://mirror.zetup.net/manjaro/stable
::Hungary : http://mirror.infotronik.hu/mirrors/pub/manjaro/stable
::China : https://mirrors.shu.edu.cn/manjaro/stable
::Bulgaria : https://manjaro.ipacct.com/manjaro/stable
::Belgium : https://manjaro.cu.be/stable
::Colombia : http://mirror.upb.edu.co/manjarostable
::Germany : http://ftp.tu-chemnitz.de/pub/linux/manjaro/stable
::Germany : https://mirror.netcologne.de/manjaro/stable
::Germany : https://mirror.philpot.de/manjaro/stable
::Canada : https://osmirror.org/manjaro/stable
::Ecuador : https://mirror.espoch.edu.ec/manjaro/stable
::Germany : https://manjaro.moson.eu/stable
::Poland : http://mirror.chmuri.net/manjaro/stable
::South_Africa : http://mirror.is.co.za/mirrors/manjaro.org/stable
::Germany : http://ftp.rz.tu-bs.de/pub/mirror/manjaro.org/repos/stable
::United_States : http://mirror.dacentec.com/manjaro/stable
::Denmark : https://mirrors.dotsrc.org/manjaro/stable
::Japan : http://ftp.tsukuba.wide.ad.jp/Linux/manjaro/stable
::Netherlands : http://ftp.snt.utwente.nl/pub/linux/manjaro/stable
::Italy : https://ba.mirror.garr.it/mirrors/manjaro/stable
::Ecuador : https://mirror.cedia.org.ec/manjaro/stable
::Italy : https://ct.mirror.garr.it/mirrors/manjaro/stable
::South_Africa : http://manjaro.mirror.ac.za/stable
::Australia : http://mirror.ventraip.net.au/Manjaro/stable
::France : http://kibo.remi.lu/stable
::United_States : http://distro.ibiblio.org/manjaro/stable
::Brazil : http://pet.inf.ufsc.br/mirrors/manjarolinux/stable
::China : http://mirrors.tuna.tsinghua.edu.cn/manjaro/stable
::Singapore : https://download.nus.edu.sg/mirror/manjaro/stable
::China : https://mirrors.shuosc.org/manjaro/stable
::Portugal : http://manjaro.barata.pt/stable
::Iran : https://repo.sadjad.ac.ir/manjaro/stable
::Russia : http://mirror.truenetwork.ru/manjaro/stable
::Indonesia : http://kambing.ui.ac.id/manjaro/stable
::Bulgaria : http://manjaro.telecoms.bg/stable
::Germany : https://mirror.netzspielplatz.de/manjaro/packages/stable
::INFO Mirror list generated and saved to: /etc/pacman.d/mirrorlist
hint: use pacman-mirrors to generate and update your pacman mirrorlist.
(15/15) Rebuilding certificate stores...
2020-05-18 09:53:55 INFO alma > Performing post installation tasks
Created symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service → /usr/lib/systemd/system/NetworkManager.service.
Created symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service → /usr/lib/systemd/system/NetworkManager-dispatcher.service.
Created symlink /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service → /usr/lib/systemd/system/NetworkManager-wait-online.service.
2020-05-18 09:53:55 INFO alma > Configuring journald
2020-05-18 09:53:55 INFO alma > Setting locale
Generating locales...
en_US.UTF-8... done
Generation complete.
2020-05-18 09:54:05 INFO alma > Generating initramfs
/usr/bin/mkinitcpio: line 265: /etc/mkinitcpio.d/linux.preset: No such file or directory
==> ERROR: Failed to load preset: `/etc/mkinitcpio.d/linux.preset'
2020-05-18 09:55:23 ERROR alma > Initramfs error
2020-05-18 09:55:23 ERROR alma > Caused by: exit code: 1

sgdisk and binary path

Hi!

I'm not sure if I'm using it correctly, but when I type in:
./alma create /dev/disk/by-id/usb-VendorCo_ProductCode_920710705A405112181-0:0
I get this error:
2019-08-02 08:44:45 ERROR alma > Could not find sgdisk
2019-08-02 08:44:45 ERROR alma > Caused by: Cannot find binary path

I'm a newbie at Arch, so forgive me if I made a simple mistake.

error[E0658]: use of unstable library feature 'alloc'

Fails to build on my system

   Compiling proc-macro2 v0.4.30
   Compiling libc v0.2.60
   Compiling semver-parser v0.7.0
   Compiling unicode-xid v0.1.0
   Compiling autocfg v0.1.5
   Compiling cfg-if v0.1.9
   Compiling syn v0.15.42
   Compiling memchr v2.2.1
   Compiling cc v1.0.38
   Compiling lazy_static v1.3.0
   Compiling ppv-lite86 v0.2.5
   Compiling ucd-util v0.1.5
   Compiling failure_derive v0.1.5
   Compiling log v0.4.8
   Compiling smallvec v0.6.10
   Compiling bitflags v1.1.0
   Compiling scopeguard v1.0.0
   Compiling rustc-demangle v0.1.15
   Compiling utf8-ranges v1.0.3
   Compiling serde v1.0.98
   Compiling quick-error v1.2.2
   Compiling unicode-segmentation v1.3.0
   Compiling unicode-width v0.1.5
   Compiling ansi_term v0.11.0
   Compiling strsim v0.8.0
   Compiling termcolor v1.0.5
   Compiling nix v0.14.1
   Compiling remove_dir_all v0.5.2
   Compiling vec_map v0.8.1
   Compiling void v1.0.2
   Compiling byte-unit v3.0.1
   Compiling semver v0.9.0
   Compiling num-traits v0.2.8
error[E0658]: use of unstable library feature 'alloc': this library is unlikely to be stabilized in its current form or name (see issue #27783)
   --> /home/nick/.cargo/registry/src/github.com-1ecc6299db9ec823/byte-unit-3.0.1/src/lib.rs:134:1
    |
134 | extern crate alloc;
    | ^^^^^^^^^^^^^^^^^^^

   Compiling num-integer v0.1.41
error: aborting due to previous error

For more information about this error, try `rustc --explain E0658`.
error: Could not compile `byte-unit`.
warning: build failed, waiting for other jobs to finish...
error: build failed

Add linux-lts

A recent bug in the kernel prevents me from booting. In such cases, it would be nice to be able to select a stable kernel in grub.

Add flag to disable LiveUSB optimisations

Task

Add a flag to disable LiveUSB optimisations, allowing ALMA to also function as install scripts for a standard system on a hard disk (we could even consider adding choices of SSD optimisations, etc. but that is probably better left to preset files).

Justification

This would allow the user to create a USB with ALMA to try out their installation from their preset files. Then if they like it they could install it to disk from that very USB distribution.

grub fails to install

Thank you for this project. Had one issue, when the usb has a existing label grub fails to install. For example, if your usb has a fs type of iso9660 with a fs label from imaging an archlinux install iso onto the drive grub install errors. Fdisk will remove this by default, gdisk will not. Possibly related to #25.

Best,
Kris

Add flag to specify target partition rather than reformatting whole disk

Task

A flag should be added to specify the target partition, instead of formatting the entire disk.

The partition itself could be reformatted.

Full disk encryption should not be allowed in this case, bootloader installation should be optional as a separate flag.

Justification

This is useful if installing to a device you are already using, i.e if you have some UDF or NTFS partitions that you want to keep.

Package as deb and rpm for other distributions

Task

We should package ALMA for other distributions - rpm and deb being the main targets (Fedora, Ubuntu, Debian, etc.)

This can probably be achieved using the dockerfile (or perhaps even with just LXC or chroots if they are on a Linux system).

Justification

Users will be able to create an Arch Linux image with ALMA, without using Arch Linux beforehand.

Perl install error

: Processing package changes...
( 1/165) installing linux-api-headers [--------------------------------] 100%
( 2/165) installing tzdata [--------------------------------] 100%
( 3/165) installing iana-etc [--------------------------------] 100%
( 4/165) installing filesystem [--------------------------------] 100%
( 5/165) installing glibc [--------------------------------] 100%
Optional dependencies for glibc
gd: for memusagestat
( 6/165) installing gcc-libs [--------------------------------] 100%
( 7/165) installing ncurses [--------------------------------] 100%
( 8/165) installing readline [--------------------------------] 100%
( 9/165) installing bash [--------------------------------] 100%
Optional dependencies for bash
bash-completion: for tab completion
( 10/165) installing bzip2 [--------------------------------] 100%
( 11/165) installing attr [--------------------------------] 100%
( 12/165) installing acl [--------------------------------] 100%
( 13/165) installing gmp [--------------------------------] 100%
( 14/165) installing libcap [--------------------------------] 100%
( 15/165) installing gdbm [--------------------------------] 100%
( 16/165) installing db [--------------------------------] 100%
( 17/165) installing perl [--------------------------------] 100%
error: could not extract /tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/PerlIO/ (Can't create '/tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/PerlIO')
error: could not extract /tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/PerlIO/encoding.pm (Can't create '/tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/PerlIO/encoding.pm')
error: could not extract /tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/PerlIO/mmap.pm (Can't create '/tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/PerlIO/mmap.pm')
error: could not extract /tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/PerlIO/scalar.pm (Can't create '/tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/PerlIO/scalar.pm')
error: could not extract /tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/PerlIO/via.pm (Can't create '/tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/PerlIO/via.pm')
error: could not extract /tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/SDBM_File.pm (Can't create '/tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/SDBM_File.pm')
error: could not extract /tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/Scalar/ (Can't create '/tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/Scalar')
warning: warning given when extracting /tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/Scalar/Util.pm (Failed to create dir '/tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/Scalar')
error: could not extract /tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/Storable/ (Can't create '/tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/Storable')
error: could not extract /tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/Storable.pm (Can't create '/tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/Storable.pm')
error: could not extract /tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/Unicode/Normalize.pm (Can't create '/tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/Unicode/Normalize.pm')
error: could not extract /tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/arybase.pm (Can't create '/tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/arybase.pm')
error: could not extract /tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/attributes.pm (Can't create '/tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/attributes.pm')
error: could not extract /tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/auto/ (Can't create '/tmp/.tmpn2ocTn/usr/lib/perl5/5.28/core_perl/auto')
error: problem occurred while installing perl
error: could not commit transaction
error: failed to commit transaction (transaction aborted)
Errors occurred, no packages were upgraded.
==> ERROR: Failed to install packages to new root
16:23:01 [DEBUG] alma::mountstack: Unmounting /tmp/.tmpn2ocTn/boot
16:23:02 [DEBUG] alma::mountstack: Unmounting /tmp/.tmpn2ocTn
16:23:09 [ERROR] Pacstrap error
16:23:09 [ERROR] Bad exit code: exit code: 1

Increase default size of boot partition

Hi :)
I love the tool @r-darwish, saves me loads of time - many thanks for sharing!

I did however came across a default setting where I see some room for improvement: The size of the boot partition.
In my example setup 78M out of 100M of the boot partition are occupied after the installation. This means that I won't be able to place any additional boot images like linux-lts on there without having to resize both the root and boot partition.

I would thus suggest to increase the default size of the boot partition to support setting up multiple boot images without the need to touch the partition table again.

In my example the boot partition content grew to 159M after setting up linux-lts, an increase of 81M compared to the original state. My personal preference would be to support up to 2 additional boot options. A default size of 250M should cover this.

What do you think?

P.S.: Ideally, I'd make the partition sizes user-configurable. Maybe as additional command line arguments to the alma create command? Will try to prepare an example in my fork.

not working in Manjaro

Hello

thank you for the great tool.
I am not sure whether manjaro is supported or not anyway it is not working with my manjaro laptop

Generating locales...
  en_US.UTF-8... done
Generation complete.
 2020-03-17 07:45:16 INFO  alma > Generating initramfs
/usr/bin/mkinitcpio: line 265: /etc/mkinitcpio.d/linux.preset: No such file or directory
==> ERROR: Failed to load preset: `/etc/mkinitcpio.d/linux.preset'
 2020-03-17 07:45:22 ERROR alma > Initramfs error
 2020-03-17 07:45:22 ERROR alma > Caused by: exit code: 1

setting Locale

Hy there,

created an preset to adjust the locale-setting:

script = """ set -eux sed -i 's/#de_DE/de_DE/' /etc/locale.gen sed -i 's/en_US/#en_US/' /etc/locale.gen locale-gen echo KEYMAP=de-latin1 > /etc/vconsole.conf echo FONT=lat9w-16 >> /etc/vconsole.conf echo LANG=de_DE.UTF-8 > /etc/locale.conf ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime localectl set-locale LANG=de_DE.UTF-8 localectl --no-convert set-keymap de-latin1-nodeadkeys """

its getting executed but afterwards i get this during the creation:
2020-09-11 10:18:26 INFO alma > Setting locale Generating locales... de_DE.UTF-8... done de_DE.ISO-8859-1... done de_DE.ISO-8859-15@euro... done en_US.UTF-8... done

and at the end, its all English again. Is there any config parameter im missing to pass to alma?

bsdcpio: Failed to set default locale

Hi, I get this error... how I can fix it?

==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img
bsdcpio: Failed to set default locale
==> Image generation successful
( 3/13) Warn about old perl modules
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_MESSAGES = "",
        LC_CTYPE = "en_US.UTF-8",
        LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

thanks in advance,

Does not detect drive when addressed as /dev/sdb

Describe the bug
When I try to put Arch on a USB stick using ALMA I get an error that /dev/sdb is not a binary path.

To Reproduce
Try to install by using /dev/sdX

Expected behavior
I would expect it to work because it is still a block device file.

Additional context
The USB is 8gb and formatted as ext4.

EDIT: It does not work for any path at all

Allow user to skip, edit script in place, or abort on preset custom script failure

Task

If a custom script in a preset file fails we should ask the user if they want to either:

  • Skip the script and continue with the rest of the presets
  • Edit the script (i.e. edit the tempfile in the host's $EDITOR) and re-run it after modifications
  • Abort ALMA execution entirely (the current behaviour)

Justification

This will make it easier for users when composing a system with many preset files (i.e. you don't want to re-install 100 packages again because of a typo in one preset script).

GRUB issues and documentation

Hi,

This tool is amazing, and saved me loads of time! I added it to the ArchWiki page: https://wiki.archlinux.org/index.php?title=Installing_Arch_Linux_on_a_USB_key as I had just found it by searching on GitHub.

I had a few minor issues:

  • I had to reinstall GRUB to get MBR booting working, I'm not sure why, but reinstalling it worked perfectly (per this guide). I had formatted the drive to an unformatted partition before starting, and alma seemed to treat that as though it were the existing MBR partition. I'm not sure if that was the cause of the issue or not.

  • In my case, I set up an encrypted home partition with dm-crypt. This is quite hard to get right (I still don't have locking after unmount working correctly on logout), so it'd be great if that could be added (as well as a full disk encryption option perhaps).

  • I set up libeatmydata and profile-sync-daemon for Chromium. It'd be cool to have this as an option to install automatically (or in a comprehensive preset example).

  • I would still like to set it up to work with Secure Boot. This would be another great option for the installer.

But overall I think it'd be great to add a user guide to the README.md and some more comprehensive presets. As I did some work myself setting up dm-crypt and then noticed you have crypt.rs in the source code handling some LUKS stuff, so maybe alma can do it directly.

The guide could also include installing yay by default in a preset, and exporting the package list from an existing Arch system, how to migrate dotfiles, etc.

Overall this tool is incredible, and I think with a little work on the documentation and included presets, it could become a standard piece of the Arch Linux ecosystem.

Can this tool be used to build what will become a read-only ISO for future Live Boots? (not persistent)

Man, from what I am reading, this tool seems to be awesome! Thanks!
I am searching for a way to create a "respin" or a "snapshot" of my system, compress it down into SquashFS and run it as Live-Session to use the least disk writes as possible to my SSD drive. (I guess the better phrasing of it would be "a custom Live-Session ISO" with all my custom apps on it)
So the "persistent" side of it is not of interest to me. Also, I like very much having a working functional system at every reboot, without having to worry about breakages, package manager becoming stuck, and so on. Reboot, it's back to stage zero.
Does this tool uses the Chroot method for customizations? Do you know of any chroot tools or methods to achieve what I'm looking for out there?
I used to use a tool called JLiveCD for Ubuntu-based distros, but because of my new Ryzen hardware I am pretty much "locked" down with Manjaro, because it was the only one that worked properly from 1st boot, and that tool doesn't work for Manjaro yet, there are a few specific quirks on it that prevent it.

build from master fails

Because of my problems from #49 I tried building the git version via the AUR:

==> Beginne build()...
Compiling libc v0.2.67
Compiling cfg-if v0.1.9
Compiling lazy_static v1.4.0
Compiling proc-macro2 v1.0.9
Compiling unicode-xid v0.2.0
Compiling syn v1.0.16
Compiling memchr v2.2.1
Compiling version_check v0.9.1
Compiling proc-macro2 v0.4.30
Compiling cc v1.0.40
Compiling unicode-xid v0.1.0
Compiling regex-syntax v0.6.15
Compiling bitflags v1.1.0
Compiling log v0.4.8
Compiling ppv-lite86 v0.2.5
Compiling syn v0.15.44
Compiling unicode-width v0.1.5
Compiling quick-error v1.2.2
Compiling failure_derive v0.1.6
Compiling termcolor v1.0.5
Compiling rustc-demangle v0.1.16
Compiling unicode-segmentation v1.3.0
Compiling serde v1.0.98
Compiling ansi_term v0.11.0
Compiling remove_dir_all v0.5.2
Compiling vec_map v0.8.1
Compiling strsim v0.8.0
Compiling nix v0.17.0
Compiling void v1.0.2
Compiling byte-unit v3.0.1
Compiling thread_local v1.0.1
Compiling proc-macro-error-attr v0.4.10
Compiling proc-macro-error v0.4.10
Compiling c2-chacha v0.2.2
Compiling textwrap v0.11.0
Compiling humantime v1.3.0
Compiling heck v0.3.1
error: failed to run custom build command for proc-macro-error-attr v0.4.10

Caused by:
process didn't exit successfully: /var/tmp/pamac-build-dorifer/alma-git/src/alma/target/release/build/proc-macro-error-attr-248a21d7ac6b2a8c/build-script-build (exit code: 101)
--- stderr
thread 'main' panicked at 'called Option::unwrap() on a None value', /home/dorifer/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro-error-attr-0.4.10/build.rs:2:27
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

warning: build failed, waiting for other jobs to finish...
error: build failed

Add very verbose flag to print every command run

Task

Add an additional verbose flag (or override the current one), to log every command run by ALMA on the host and the image.

Justification

In addition for being useful for debugging, this could be very educational for newer Linux users.

I want to use grub to boot the img image created by ALMA.

Use similar grub commands.

menuentry "Manjaro img" {
    insmod exfat
    set isofile="/Linux/manjaro.img"
    set dri="free"
    search --no-floppy -f --set=root $isofile
    probe -u $root --set=uuid
    set dev="/dev/disk/by-uuid/$uuid"
    loopback loop $isofile
    linux  (loop)/boot/vmlinuz-5.9-x86_64 img_dev=$dev img_loop=$isofile driver=$dri tz=utc keytable=us
    initrd  (loop)/boot/amd_ucode.img (loop)/boot/intel_ucode.img (loop)/boot/initramfs-5.9-x86_64.img
}

However, the current img generated by ALMA seems to lack adaptation to this.
In fact, I want to boot linux on a dynamically expanding virtual disk like qcow2, but grub2 seems to lack support for this, and I can only use img as a last resort.

No check to see if grub-install is present

Hey, just a quick thing I spotted whilst looking through the code. There's already some checks in place to see if various tools are present, but there is no such check for grub-install. Most people are going to have GRUB installed anyway, so no big deal.

alma/src/main.rs

Lines 125 to 140 in 19eef3a

let sgdisk = Tool::find("sgdisk")?;
let pacstrap = Tool::find("pacstrap")?;
let arch_chroot = Tool::find("arch-chroot")?;
let genfstab = Tool::find("genfstab")?;
let mkfat = Tool::find("mkfs.fat")?;
let mkext4 = Tool::find("mkfs.ext4")?;
let cryptsetup = if command.encrypted_root {
Some(Tool::find("cryptsetup")?)
} else {
None
};
let blkid = if command.encrypted_root {
Some(Tool::find("blkid")?)
} else {
None
};

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.