[unstable] Manjaro-architect beta testing

netinstall
manjaro-architect

#1

I hereby announce beta testing of manjaro-architect, the new (unofficial) command line installer for manjaro.

Manjaro-architect is based on the famous Architect Linux installer that has been modified to install manjaro editions instead of Arch linux. The original architect installer is also provided with the package in case you wish to install arch linux.

The installer creates the new installation by downloading up to date packages from manjaro repos. Drivers are installed with mhwd. Because of this, installer needs internet connection, but on the other hand you can install any manjaro editions with it regardless of what edition you are running. This makes it also very suitable for installing manjaro on USB drives from installed manjaro system. It should also always install the latest version of chosen edition, regardless of how old install media you run it from.

After installing minimalistic, arch like base system, you can optionally add one manjaro edition desktop, and as many vanilla desktops as you like. Some additional software is also selectable.

The installer is not as beginner friendly as the previous cli-installer, but it gives you very good idea of what gets installed to your system and what is needed for linux installation.

Features:

  • translated to english, dutch, french, hungarian, italian, portugese, russian, danish and spanish (for the most part)
  • automatic and manual partitioning options (tested to work with ext4, btrfs, f2fs and nilfs2 root)
  • support for lvm and luks encryption (I haven’t tested these)
  • choose between systemd and openrc initsystem
  • choose between stable, testing and unstable branch
  • if you choose to install zsh, users automatically have it as their default shell (note that only some editions come with pre-configured zsh)
  • choose from selection of manjaro kernels
  • automatic detection of uefi. Both uefi and legacy installation should work

Known issues:

  • plymouth is not enabled automatically even if the chosen edition has it. (this is being moved to package level, so it will fix itself)
  • only grub is supported of the bootloaders
  • only the editions in iso-profiles repo are currently supported.
  • most manjaro parts are only in english, and some parts show messages assuming you are installing arch linux
  • dialogs look messy inside tmux if TERM is not set to value “screen”
  • at least when installing to USB sticks, os-prober fails to find other operating systems during installation. You need to run update-grub on your new installation to get menu entries for other systems you have installed.

Planned features:

  • installation to btrfs subvolumes
  • refind as uefi boot menu

You can install this in unstable repos with

 sudo pacman -Sy manjaro-architect 

To install manjaro, run

  sudo manjaro-architect 

To install arch, run

 sudo aif

(WARNING: using aif changes your host systems mirrorlist to arch mirrors, creating unholy and unsupported manjaro/arch fusion if you update your system before restoring your mirrors with pacman-mirrors -g)

EDIT: original aif has been removed from the package for now, because I can’t maintain it while manjaro-architect is still incomplete


When is Manjaro 17 stable coming out?
[git] Archtect CLI Installer fork for Manjaro (development & test)
[experimental] Manjaro-Architect Test-ISO
Manjaro-Net Installer cannot find /dev/nvme0n1
[Unstable Update] 2017-01-21 - Kernels, Awesome, Calamares, Mhwd
Desktop Umgebungen in Manjaro >>> Eure Meinung
Memory requirements for 32 and 64 bit editions
Seven i3 tools using dmenu
Manjaro LXDE/OpenBox/FluxBox/PekWM question
Openrc testers and advice needed for manjaro-architect
Installation problem new user
#2

Bugs can be reported here or in the the github.com https://github.com/Chrysostomus/aif-dev.

If you wish to contribute, I gladly accept pull requests. It doesn’t take much to write better bash than I do. Especially appreciated is help with translations and in implementing the btrfs subvolume support.


#3

LOL! This needs to be in bold red flashing letters. :wink:

Congrats, @Chrysostomus! :smiley:


#4

Greetings .

Thank you for picking up on this one. Actually I have cloned that repo a long time ago - just to be sure it would continue existence :smile: Your github repo does not have issues activated so I put one here:

When installing base system

  • select systemd or open-rc
  • select default or advanced

when selecting advanced - accepting defaults and continue installer push an error

Selecting default - works as expected.


#5

Thanks! I’ll look into it. Does it work as expected if you have a kernel selected? If so, it should be a matter of adding a kernel to the default selection.

I’ll try to enable the issues tracker in github. I had not noticed it was missing. Btw, if anyone can point me in the right direction about how to do this, it would be much appreciated.


#6

Using the default instead of advanced is working as expected.

I don’t think I saw an option for selecting a kernel - I might have missed it - which means I created the error by not selecting a kernel.

But a default kernel would be a solution.


#7

Yes. It is designed to stop if no kernel is chosen, but I was wondering if there is also some other problem. Anyway, defaults should be made functional also in advanced mode.


#8

Do what :confused:

activating issues or the project in general

for the first - select settings for your repo - under features, check issues.

for the second - i am as much in the dark as you are - one thing though, test, test, check, check, test, test, check, proof-read, check, test … … …

:smile:


#9

Ah, there it is! Thanks! It is difficult to find on a mobile phone.


#10

My idea for direction is:

  • improve btrfs support (install on subvolumes, setup grub-btrfs if root is on btrfs device and disable grub menu item saving by default to avoid errors. Remove fsck hook from mkinitcpio.conf, because it cannot fsck btrfs devices anyway)
  • choose profiles from iso-profiles repo dynamically instead of hardcoding (less maintenance)
  • read chosen displaymanager from profiles instead of hardcoding (less maintenance)
  • add support for plymouth (official approval?)
  • test and improve virtualbox support (it might already work)
  • fix issues that come up in the beta.
  • convince someone to translate the manjaro parts

I hope that if this gets good enough, it could be included on some install medias (no qt dependency in bspwm edition! :grinning:)


#11

Will give it a try in VB, cheers.


#12

This will be a great solution for brand new devices wont install.
Thanks.


#13

please delete this post. I got it, just not paying attention.


#14


#15

congrats and thanks @Chrysostomus and @eugen-b for testing, … to ALL thx.
gonna try it out, when I get back to my manjaro system.


#16

Thanks, I’m gonna try this out, as I will have a spare SSD for testing next week.
Any special care needed? I suppose I can integrate architect into my custom ISO? They are mostly the same than default Manjaro with just a few changes in packages.


#17

I’m not sure if it is fixed already, if not after installing base packages (kernel etc.) you will be thrown to the main menu, but you need to get back to install a Manjaro Desktop.


#18

Error still throws you there, but normal operation should not produce error anymore.


#19

[bare-metal-install]
Tried “aif” install [Arch upstream], on /dev/sda spare drive, with kde/plasma5 Desktop
Everything went fine, one step at a time, upto Install Base -> Standard Installation:
-Linux
-base-install

It didn’t seem to save/copy over the Arch mirrorlist, it was blank.
So, I went back some steps edited mirrorlist, via the built-in nano, and added a redundant “#” and then it saved it in /tmp/“some file name”, for copying over later, which worked.
Also, did the same with pacman.conf, which saved it in /etc/pacman.conf?, however, it copied over the manjaro pacman.conf instead ?

the line in “/mnt/etc/pacman.conf”:
SyncFirst = manjaro-system archlinux-keyring manjaro-keyring
needs to be commented out in the “aif” installer’s pacman.conf version.

After successful reboot, uname -a:
Linux chimo 4.8.13-1-ARCH #1 SMP PREEMPT Fri Dec 9 07:24:34 CET 2016 x86_64 GNU/Linux
:slight_smile:

Commented out the above:

SyncFirst = manjaro-system archlinux-keyring manjaro-keyring, since it’s not used in Arch upstream.

some Minor issues:
aif” had successfuly installed KDE/Plasma5 fine, but Networkmanager in KDE was not enabled.
sudo systemctl enable NetworkManager # reboot
fixes that.

All in all, it worked out very well on test install of “aif
~


#20

Good to know. Aif does not enable services by default unless you tell it to. I think the mainmenu item 5 should have submenu that enables networkmanager. I’m not going to use much time to fix the original aif (though I will accept pull requests if someone else wants to).

I fix a typo (linuxlinux410) and added some automatic btrfs customizations. Namely, if you have your root on btrfs volume, fsck hook gets removed from mkinitcpio.conf and GRUB_SAVEDEFAULT=true gets commented out from /etc/default/grub before generating a grub config. Fsck hook cannot check btrfs root anyway, and GRUB_SAVEDEFAULT=true gives you annoying warning message on every boot. (I haven’t tested the updated installer yet)

Also the manjaro edition list is now dynamically generated from iso-profiles repo, so if new profiles are added they should show in the list automatically.

You can test the updates by running

 makepkg -sri

on this PKGBUILD:

# Maintainer: Chrysostomus @forum.manjaro.org

pkgname=manjaro-architect
pkgver=0.3
pkgrel=1
pkgdesc="A clone of architect installer modified to install manjaro instead of arch linux"
arch=(any)
url="https://github.com/Chrysostomus/aif-dev"
license=(GPL2)
depends=('pacman'
	'arch-install-scripts'
	'mhwd'
	'manjaro-tools-base'
	'dialog'
	'bash'
	'pacman-mirrorlist')
makedepends=('git')
source=("git://github.com/Chrysostomus/aif-dev")
md5sums=('SKIP')
package () {
    cd "$srcdir/aif-dev"
    install -Dm755 "$srcdir/aif-dev/aif" "$pkgdir/usr/bin/aif"
    install -Dm755 "$srcdir/aif-dev/basestrappy" "$pkgdir/usr/bin/basestrappy"
    install -Dm755 "$srcdir/aif-dev/manjaro-architect" "$pkgdir/usr/bin/manjaro-architect"
    install -dm655 $pkgdir/usr/share/aif/package-lists
    install -dm655 $pkgdir/usr/share/aif/translations
    cp -r $srcdir/aif-dev/package-lists/ "$pkgdir/usr/share/aif/"
    cp -r $srcdir/aif-dev/translations/ "$pkgdir/usr/share/aif/"
}