Installation with Manjaro-Architect ISO



NoSQL databases are designed for a distributed environment. So until you want to deploy a Manjaro cluster :heart_eyes:, it’s pretty overkill and even less efficient than a SQL solution. Moreover, there are more than 300 different NoSQL systems with very heterogeneous principles. I believe then that database deployment should be left to the user :slight_smile:.

I totally agree with a minimalist deployment. That said, I find M-A already flexible enough. The question is : Do the people wanting to test a Manjaro server need more than M-A? Deploying a server requires some base knowledge and those are sufficient then to operate M-A. Perhaps a wiki article like "How setting up a Manjaro server with manjaro-architect" would do the job?

Of course, it would not be suitable for a production environment, despite I found some people advocating it on the ArchLinux forum :wink: . I documented myself around and it seem to be more maintenance to have a rolling release. Manjaro has the advantage over Arch not (exactly) being bleeding edge. I clearly prefer pacman over APT by the way.
Concerning the kernel optimization, Debian just propose a netinstall ISO for server. So perhaps I’m wrong, but it doesn’t seems to be optimized for anything special. On the Canonical side, the Ubuntu server flavor is pretty opaque so I wouldn’t tell.

Anyway, I intend to install a Manjaro server on a desktop here for hosting students’ projects demanding SSH, python 3 and Django (and just the L of LAMP). This is clearly on recreative purpose :wink: . I will probably use M-A and I’ll keep you informed.


Any way this could get onto the wiki? It would certainly be helpful. I’d be willing to get it over there when I get time.


Here we are: I deployed Manjaro yesterday for a academic/recreational server use on a single machine using Manjaro-Architect (M-A).

Manjaro-Architect steps

1. Prepare installation:
1.1. Set virtual console: be_latin1 for Belgian keyboard
1.2. Partition disk: I used parted to make a custom partition since I don’t like the automatic one :wink:. I chose to put boot and root on the same partition because it’s easier to re-install in case of failure. I prefer also having a swap partition over a swap file because swap file is not supported by all file systems. As rule-of-the-thumb, I use swap = 1/2*memory.

[----------------------------------- /dev/sda (165 GB) -------------------------------]
[------------------- boot + root (155 GB) ---------------| ---- swap (8.1 GB) ----]

1.6. Mount partitions: I selected /dev/sda1 for root and /dev/sda2 for swap.
1.8. Configure mirrorlist: by speed as @oberon said.

3. Install CLI system: skip 2. and 4. since they are made for desktop install
3.1. Install base packages: I chose linux49. Eventually, I also selected yaourt + base-devel because I may need AUR packages.
3.1.2. I selected “Auto-install free drivers”. I recommend it if you want your Ethernet to work! :wink:
3.2. Bootloader: I selected grub only since there will be no other OS on this machine. Installation on /dev/sda.
3.3. Configure base: The choices for this section are more personal but I give them as an example :slight_smile:.
3.3.1. Generate FSTAB: UUID
3.3.2. Hostname: recreational (Me? Predictable?)
3.3.3. Language: en_US (it’s a damn server, not my parents’ laptop :upside_down_face:)
3.3.4. Timezone: Europe/Brussels, UTC
3.3.6. Add user: manjaro. At the first glance, it’s useless for server administration but I have 2 reasons for doing it:

  • It creates a directory in /home/manjaro where I can put my maintenance stuff like git repositories and ssh configuration.
  • It is a security measure: I use this sudoer account for remote administration while forbidding the remote access as root over ssh. In /etc/ssh/sshd_config, use PermitRootLogin no.

3.4. Install custom packages: The fun part! :smile:

  • Generally useful for a server:
    cronie for scheduling jobs
    ntp for being up to date with the date
    openssh for the remote access and administration
    net-tools for getting info about the network

  • Specific to my utilization and tastes:
    emacs-nox (no X server needed) for the good ol’ C-x M-c M-butterfly :wink:
    screenfetch, always fancy
    rxvt-unicode and rxvt-unicode-terminfo for compatibility with Manjaro i3 terminal
    python-django for MCV use


Post-installation tasks

I configured ssh access. With systemd, I enabled and started cronie, ntp and sshd.
I had some problems with the Ethernet. In fact, I had no Ethernet anymore after reboot :face_with_raised_eyebrow:. The solution was:

$ ip link # look the name of your etheret, eg. enp3s0
$ sudo systemctl enable dhcpcd@enpXsX
$ sudo systemctl start dhcpcd@enpXsX

I made a hourly cron job to update /etc/motd with screenfetch and put the ssh client configuration on my PC.

And voilà! :sunglasses:

Remarks about M-A

  • Before booting, grub proposes to choose a keymap. However, the choice is never applied and in M-A, the keymap will be QWERTY.
  • If you choose “2. Install Desktop” instead of “3. Install CLI” and if you select no desktop environment or press Cancel, the installation will fail and get stuck on:
    Enabling services...
    Eventually the following error will also be raised:
    [copy-overlay][1] cp: cannot stat '*': No such file or directory


M-A is a powerful tool and it’s quite easy to operate. Good job! :raised_hands:
If anyone want more precision on anything I wrote, I will gladly expand this post.
If help is needed for a wiki post, I will gladly contribute as well :wink:.


  • Disabling root login over SSH was a good idea: Over the last 5 days, the server had over 200 failed attempts to connect as root user from foreign unauthorized hosts. Another username to avoid is “user”.
  • To improve SSH security, I also changed the port from 22 (default) to something higher that 2048. I added a limit for failed connections so that robots IPs are automatically blocked (and it works well!).

Updates (bis)

  • I expanded my cron job for the message of the day to print the screenfetch plus the number of packages needing an update. I putted the following file in /etc/cron.hourly/update-motd and made it executable.

screenfetch > /etc/motd
echo “$(checkupdates | wc -l) packages need to be updated.” >> /etc/motd

  • After 3 months of administration, I can draw the following conclusion for Manjaro as server OS: updating the system is quite easy with pacman and I had no compatibility problem yet, due to the small number of installed packages. I find the packages and the updates really transparent compared to Ubuntu (which runs on my cluster). The pace of updates is a drawback of Manjaro for a server use since updates can break the workflow and require attention but so far, I had more problems with updating Ubuntu servers than this Manjaro machine.


A question regarding installation…

I need acpi_call for disabling GPU at boot and use only Intel

in the part concerning kernel modules should I install acpi_call there or I need linuxXX-acpi_call from repos?


When you select acpi_call on the kernel extramodules page, m-a will install exactly that for you, meaning the matching packages for your selected kernel(s) :slight_smile:


thanks for replay oberon,
I deed few times in that way but after installation linuxXX-acpi_call was not appearing as installed in Octopi …
maybe my mistake?


I’ve ported this thread to the wiki, since I think that is probably a more visible place. Hoping this was Ok, since I didn’t get a response to the first post.



However, the pictures of your wiki post are not displayed for me.
Perhaps a link to this thread may be useful as well :wink:.


Yes, I’m still trying to decide what to do with those (they don’t work for me either).

I can either copy the images from imgr, or the wiki staff can enable external images info here.


pictures work for me.


That’s interesting, what browser are you using?


Good job with this installer! It helped me a lot, to override the mystery bugs around Kernel49 and R8168. Only the Grub I have to install manually, but now it works like a charm. :wink:


I downloaded the installer today to see how it runs.
All seemed to run fine until I wanted to install Gnome, I came across the same issue like someone had in april, install failed.

I’ve tried it a couple of times and ran into the same error over and over again.

So I picked Bugdie for a change and it is downloading 1.1GB as we speak.

Something wrong with Gnome or with me? :wink:


Gnome minimal, same failure…


It is not the same issue, just same error message. @Ste74 added a new package to the gnome profile, but it has not reached the stable branch yet. Wait a few days, use unstable branch or just remove that package from /mnt/.desktop during the custom package selection.


I installed this iso a few weeks ago, and the one thing that I wish could be different is the mounting options and formatting selection. A “default” or “suggested” in brackets would help a lot.


There is a default partitioning option:

I don’t remember the exact name in the menu. But I remember it correctly partitions everything for a UEFI system. If you find time start it again, copy the terminal output and tell where you get confused. It took some mental struggle to order the menu this way and it was a simple thing like “Install Desktop System” to be the second entry which avoided much confusion and not “Install CLI System” as it was before.


I think he meant the mount partitions section, where formatting happens.

@fatboy could you elaborate further? I thought I had set default mount flags at least for ext4 and btrfs. It even detects if the disk is ssd or not and suggests accordingly.


i did a new install yesterday with no big issues. my only minor one was that i fumbled and picked the wrong shell when i created my user. i saw no option to modify or delete it and attempting to recreate it didn’t offer me the chance to overwrite the existing one. not a hard thing to fix once booted, of course.


The partitioning itself was alright, my concern was when I had to mount the swap and / partitions. I had no idea what mount options I should consider, noatime etc.