[Wiki] Creating manjaro-architect installation media

usb
netinstall
installation
manjaro-architect
installmedia

#1

Manjaro-architect is a terminal based netinstall installer. It always installs up to date system regardless of how old your installation media is, and lets you choose any manjaro desktop entertainment regardless of what your installation media has.

There is separate manjaro-architect iso available for download. You can burn it to USB flash drive or cd like any other manjaro iso. However, this probably the least effective way to use manjaro-architect, and should only be used if you need to create the install media from windows. This guide shows you how to create a better install media. This achieved by using a real USB installation instead of live iso.

Advantages

  • a real installation: you can add and remove packages as you wish and the changes are persistent across reboots. This means you always have available the extra tools you want to use
  • pacman cache: you don’t need to download the packages that you have already downloaded. Only download new packages and updated versions. This can often lead to a situation where you don’t need to download anything at all. This can speed up the installation process greatly slow internet connection.
  • no need to update mirrorlist. It keeps the good and fast mirrorlist you create the first time. This saves a lot of time.
  • manjaro-architect remembers your language settings, but you can’t benefit from that if you use a live ISO.

**What you need **

  • existing manjaro installation
  • USB drive with at least 8gb (bigger is better. Also, USB3 is better than USB2)
  • internet connection

Steps

  1. boot your manjaro installation

  2. Install manjaro-architect-dev with

    sudo pacman -Sy manjaro-architect-dev

  3. Plug in your USB flash drive

  4. Make sure that it does not have any partitions mounted. You can check it with command

    lsblk 
    

And unmount any mounted partitions with

  sudo umount /dev/sdxy 

Replace sdxy with the actual name of your partition.

  1. start the installer with

    sudo manjaro-architect

  2. use the installer as if you would install to any other drive, but use your USB drive as the installation target.

Some recommendations

  • use the automatic partitioning
  • for root mountpoint choose ext4 with “data=writeback” and “noatime” options. This gives you the best performance.
  • don’t use swap. Check your fstab after installation and remove it if it was added. This can happen if your host system has swap. Failing to remove it remove it from fstab causes your USB installation spend a lot of time looking for that particular swap partition at boot time if you move it to another computer.
  • for bootloader use grub and set it as default. It is the most bootloader for a removable drive.
  • if you want to use the USB drive on many computers with different graphics cards, don’t use mhwd to install drivers. Instead, choose option 4 to install all free drivers. Use the fallback initramfs when booting for maximum compatibility with different hardware.

You can now use this USB flash drive to install any manjaro editions with manjaro-architect.

Unmounting a partition…

  • Choosing the best mount options…*

Choosing all network driver modules…


Installation with Manjaro-Architect ISO
Installing onto a USB stick
Want run Manjaro from USB Device on different computers
Add package to Live bootable?
Opinions on Manjaro Architect? And what can improve?
KDE live environment image size
#2

Bookmarked it. Looking forward to the whole piece… :smile:


#3

And I suppose this would then also add profiles as they become available ? LXQT for example


#4

All profiles in the iso-profiles repo are automatically available, and installer checks them at runtime. Currently available are at least xfce, kde, gnome, budgie, cinnamon, deepin, lxde, lxqt, i3, bspwm, awesome and mate. You can choose your initsystem separately, but lxde and gnome profiles have not been configured to work with openrc. All others should work with either of them though.

At the moment moment there is no lumina, openbox, fluxbox, jwm or pantheon profile available.


#5

Cool. Testing now… now what to plug it into ? :thinking:


#6

USB port, preferably USB3.


#7


#8

@Chrysostomus: first of all: great work and great post!!!

Second:I tried to do it but I got some problem with this step

The question is: I wasn’t able to find the option 4. Where is it? :slight_smile:


#9

Maybe not in the repos yet?

Use manjaro-architect-dev PKGBUILD to build the latest version: https://github.com/manjaro/packages-community/tree/master/manjaro-architect-dev


#10

I installed this version:

manjaro-architect-dev-0.8.11.r3.g8a0f62e-1-any.pkg.tar.xz

Now I bring the last from the git :slight_smile: Thanks’

OPS:
git clone https://github.com/manjaro/packages-community/tree/master/manjaro-architect-dev
Cloning into ‘manjaro-architect-dev’…
remote: Not Found
fatal: repository ‘https://github.com/manjaro/packages-community/tree/master/manjaro-architect-dev/’ not found

EDIT: I cloned all the packages-community tree and it work.
Now I installed this version:
manjaro-architect-dev-0.8.11.r25.g519995b-1-any.pkg.tar.xz
manjaro-architect-dev-launcher-0.8.11.r25.g519995b-1-any.pkg.tar.xz

EDIT 1: menu voice 4 appear, test done and almost all fine. Feedback soon :slight_smile:


#11

I’ve got the idea that one could install a CLI system on a USB and not bother with graphics drivers.

I’ve got another idea to distribute such a system simply compressed and not as an ISO. Then uncompress it to a USB stick, install a bootloader and you are good to go. What do you think?


#12

I fully agree: great idea! Can solve a lot of complication when you have to interact with all these modern GPUs, definitely usefulness during the installation step yep :smiley:


#13

Sure, you can do that. The main benefit is smaller size, as you can just choose to boot into text mode even if you have desktop installed (kernel parameter 3).

The biggest benefit of installing drivers with option 4 is that you get all network drivers, so chances that your Internet connection works are good.

Benefits of having a desktop environment installed are

  • at least that desktop is already in pacman cache, so you’ll probably (and surely if that is the same desktop) need to download less packages when you use this install media.
  • Graphical web browser can be useful for checking details
  • graphical partitioning tools.

#14

Nice guide, I was able to make a usb with LUKS Encryption.

During the grub install I thought it was going to fail, but I waited a little bit longer and after a couple of minutes I could set the bootloader as default.

Still having some questions:
I also installed all the free drivers as you recommended. Do I still need to setup a gpu driver so I can boot from the manjaro option in grub. Now it only works when I boot from the advanced fallback initramfs option.

When booting in fallback initramfs these services fail, not sure if it’s normal in fallback:

● systemd-modules-load.service loaded failed failed Load Kernel Modules                 
● systemd-remount-fs.service   loaded failed failed Remount Root and Kernel File Systems

#15

Ok, install a DE or WM, but you can make it boot to TTY by default like your bspwm edition and select the session with x lxde.


#16

It’s complicated. The easiest way to to do this is make your regular boot option work like fallback mode. You can do this by removing the autodetect hook from the HOOKS line of your /etc/mkinitcpio.conf and running

 mkinitcpio -P 

To avoid generating fallback images twice, you can disable fallback image generation from the kernel preset files before running mkinitcpio.

Note that installing all drivers makes sense only if you use the install media with multiple computers that have different hardware. If you have just one computer, the other options install just what you need.


#17

This worked, I can boot now in the regular manjaro at grub.

Yes, I want to show-off my install on any pc I can get my hands on. :sweat_smile:

That systemd-modules-load.service service error I had got fixed by removing linux49-virtualbox-guest-modules and virtualbox-gues-utils (don’t know why they were installed)
The tp_smapi has something todo with my ThinkPad, but from what I’ve read it’s quite harmless, but after installing linux49-tp_smapi it got most of it ok. (At the end I blacklisted this module, and itś no more an issue)

● systemd-modules-load.service - Load Kernel Modules
   Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2017-06-06 19:29:56 CEST; 2min 36s ago
     Docs: man:systemd-modules-load.service(8)
           man:modules-load.d(5)
  Process: 581 ExecStart=/usr/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)
 Main PID: 581 (code=exited, status=1/FAILURE)

jun 06 19:29:55 manjaro-usb systemd[1]: Starting Load Kernel Modules...
jun 06 19:29:55 manjaro-usb systemd-modules-load[581]: Failed to insert 'tp_smapi': No such device or address
jun 06 19:29:56 manjaro-usb systemd-modules-load[581]: Failed to insert 'vboxguest': No such device
jun 06 19:29:56 manjaro-usb systemd-modules-load[581]: Failed to insert 'vboxsf': No such device
jun 06 19:29:56 manjaro-usb systemd-modules-load[581]: Failed to insert 'vboxvideo': No such device
jun 06 19:29:56 manjaro-usb systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILUR
jun 06 19:29:56 manjaro-usb systemd[1]: Failed to start Load Kernel Modules.
jun 06 19:29:56 manjaro-usb systemd[1]: systemd-modules-load.service: Unit entered failed state.
jun 06 19:29:56 manjaro-usb systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.

The other service systemd-remount-fs.service is still under investigation, but it has something todo with
https://bbs.archlinux.org/viewtopic.php?id=153984

This is my /etc/fstab on my usb

filip@laptop  ~  sudo manjaro-chroot /media/mount
sh-4.4# cat /etc/fstab
# UUID=cdc2ab39-b9a1-44c2-9de3-a5076a7ae02f
/dev/mapper/cryptroot   /               ext4            rw,noatime,data=writeback       0 0

# UUID=90D7-A7DC LABEL=MJRO1701
/dev/sdb1               /boot           vfat            rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro   0 0

#18

I removed data=writeback out of my /etc/fstab and all is fine, it seems it doesn’t work well with LUKS.


#19

I’ve tried removing data=writeback, adding tmpfs to fstab, removing extra modules, etc. But any usb I create this way is painfully slow. I’m saying this mainly from a usable DE perspective. Granted they arent especially fast sticks or anything, but the Live ISO’s outperform them, let alone comparing to something like puppy.

Any idea what I’m missing ?


#20

I don’t think there is any way to get to the same levels of performance as puppy or live iso. Puppy is so much smaller than anything achievable with manjaro, and live iso does not write anything to USB. USB installation needs to read from USB, and worse, write to it. On a fast USB3 stick you can get near slow hdd speeds, but the performance is always going to be poor.

Things you can do to improve performance are

  • use faster usb stick and port (or even better, external ssd)
  • use lighter desktop (bspwm, awesome, jwm, lxqt)
  • minimize writes to disk
    • use noatime option
    • use profile sync daemon and move browser cache to tmpfs to keep browser activity in ram
    • use something like liveroot to mimic behavior of live iso https://bbs.archlinux.org/viewtopic.php?id=193461
    • just don’t do much stuff requires writing to disk
    • don’t use swap
  • instead of the just using data=writeback, actually format the ext4 without journal:
 mkfs.ext4 -O "^has_journal" /dev/sdXX

I get quite satisfactory performance out of my USB installations (with data=writeback noatime + using profile sync daemon), but if you want something to actually use from USB device, manjaro just isn’t the best choice.