Manjaro-architect, testers wanted

manjaro-architect
zfs

#21

The modules won’t work unless the current version of the kernel is the same as the one on the ISO. So, it will only work if you happen to have a band-new ISO.

It is surprisingly easy to do this on Manjaro. There is a video on how to do it that philm made here: https://www.youtube.com/watch?v=B--je--m0VI

Just use one of the existing profiles and add the spl and zfs modules. Since you are doing an architect install, it doesn’t really matter which profile you use.


#22

I think I should upload a testing iso with zfs modules. It’s currently a bit difficult to find time for that, but it would help the testing.


#23

I finally got a testing environment set up, and made the initial implementation of microcode in refind. Currently it has two issues:

  1. It makes some breaking spelling mistakes in the config
  2. The supposed correct line doesn’t seem to work.

So, more research is needed…


#24

What are “breaking spelling mistakes”? :thinking:


#25

Sed command that should insert \ inserts ^G


#26

Does the backslash vs forward slash matter? All the refind examples I see use forward slashes.


#27

I was using example config that someone had used to get it working. Trying forward slashes next.


#28

Research complete. The line that gets ucode working with refind is

"Boot with standard options"  "rw  root=UUID=4d363235-82dd-4bac-85fd-e5fbb8eb09db   rootflags=subvol=/@ initrd=//@/boot/intel-ucode.img initrd=//@/boot/amd-ucode.img initrd=/@/boot/initramfs-%v.img"

for btrfs subvolumes. If I don’t find some simple way of detecting the path to microcodes, the detection logic is going to get real messy…


#29

And the microcode detection for refind is complete:


    # Figure out microcode
    rootsubvol=$(findmnt -o TARGET,SOURCE | awk '/\/mnt / {print $2}' | cut -d "[" -f2 | cut -d "]" -f1)
    # set microcode
    if findmnt -o TARGET,SOURCE | grep -q "/mnt/boot " ; then
        #there is a separate boot, path to microcode is at partition root
        sed -i "s|\"$| initrd=/intel-ucode.img initrd=/amd-ucode.img initrd=/initramfs-%v.img\"|g" /mnt/boot/refind_linux.conf
    elif [[ -n "$rootsubvol" ]]; then
        #Initramfs is on the root partition and root is on btrfs subvolume
        sed -i "s|\"$| initrd=$rootsubvol/boot/intel-ucode.img initrd=$rootsubvol/boot/amd-ucode.img initrd=$rootsubvol/boot/initramfs-%v.img\"|g" /mnt/boot/refind_linux.conf
    else
        #Initramfs is on the root partition
        sed -i "s|\"$| initrd=/boot/intel-ucode.img initrd=/boot/amd-ucode.img initrd=/boot/initramfs-%v.img\"|g" /mnt/boot/refind_linux.conf
    fi

It adds both intel and amd microcode to any system. This greatly simplifies the detection logic (no need to make difference between removable and internal disks) and seems harmless because

  1. manjaro seems to install both of them to all systems anyway
  2. Grub seems to do it too
  3. I tested it and it boots

The upgraded testing package is now in the unstable repos


#30

Okay, uploaded the speed fixes for grub. Not yet implemented with zfs (@dalto, wanna take a look at it?) , but otherwise done. All bootloader options have improved significantly and I feel that time is soon ripe for the next release of manjaro-architect. It still lacks some polish in the menus, but it mostly works now…


#31

It looks like it should work to me. I will test it tonight.


#32

Is the latest code in master? What is currently there doesn’t work for me with any filesystem.

For me, the reason is this:

manjaro-chroot /mnt "ln -s /hostlvm /run/lvm"

/run starts clean with each chroot so this change doesn’t persist. Is it possible this has to be a change to manjaro-chroot for it to work? Do I also need a different manjaro-chroot than what is in the repos?


#33

Oops, seems like a saving error in the git. The master is not up to date. I added the symlink command to the grub install script, there it worked. I’ll upload the changes…

EDIT: now


#34

Well…now I see why it needs to be updated for zfs :smile:

I made some other minor fixes while I was in there.


#35

Merged :smiley:

It’s getting better by the day, the release should be close.

Excellent, nice touch!


#36

Great success, I just found out why the dialog aspect ratios have been so off. It was the custom dialogrc messing things up. Fixing it for the next release.


#37

I just uploaded a new version of manjaro-architect-dev. I think we might be ready to do a actual release. So far we’ve got:

  • improved start up time
  • self updating boot entries for systemd-boot (thanks @dalto)
  • initial zfs support (thanks @dalto)
  • zstd compression for btrfs
  • Ukrainian translation
  • Turkish translation
  • microcode support for refind (thanks @openminded) and systemd-boot (thanks @dalto)
  • improved grub installation time by ~5 minutes (thanks @papajoke)
  • bug fixes for lvm
  • offer yay instead of yaourt
  • silent boot with grub (systemd service instead of fsck hook)
  • improved aspect ratios for dialogs

Maybe that’s enough for one release?


#38

Great job!

I would like to test it in a VM. I think I could use this new version with an existing MA ISO, is it true?
On ISO boot/login can I…

sudo pacman-mirrors -naS unstable
sudo pacman -Syy manjaro-architect-dev
sudo pacman-mirrors -naS stable/testing
sudo pacman -Syy
sudo ma-launcher

Is this correct, or needs something else?


#39

Any manjaro-iso will do, they all come with manjaro-architect. In your list of commands, I would run

 sudo manjaro-architect

instead of the last command.

I also just updated the stable version in unstable and testing to 0.9.20, so You can also just use that.


#40

Since m-a-dev is in all branches this is what I use:

sudo pacman-mirrors <whatever flags you normally use>
sudo pacman -Syy manjaro-architect-dev
sudo manjaro-architect

ma-launcher will get removed when you install manjaro-architect-dev