Troubleshooting launching xfce/any session on live ISO

But GRUB still has splash boot parameter??
I usually remove quiet, splash and apparmor parameters


202607191707 - Full ISOs (6.16 & 7.1 kernels) can boot to desktop but no change of locale, similar to minimal ISOs

202607201859 - Minimal ISOs (6.16 & 7.1 kernels) - Unable to contact settings server

202607210749 - minimal linux71 ISO - Unable to contact settings server

1 Like

202607191707 is not calling manjaro-live at all. Those are with the locale settings and other things. The newer ones already have the user created on build-time but still call part of things manjaro-live originally did.

Since it is kinda dbus related I assume this might create some issue:

configure_machine_id(){
	if [ -e "/etc/machine-id" ] ; then
		# delete existing machine-id
		echo "Deleting existing machine-id ..." >> /var/log/manjaro-live.log
		rm /etc/machine-id
	fi
	# set unique machine-id
	echo "Setting machine-id ..." >> /var/log/manjaro-live.log
	dbus-uuidgen --ensure=/etc/machine-id
	ln -sf /etc/machine-id /var/lib/dbus/machine-id
}

See also:

Even when this changes in KDE is a little bid older and occured in December, im still wondering if this has something to do with the ISO’s, somehow?

:backhand_index_pointing_down:

I know its just a shoot in the blue sky and it would only explain the KDE problem…

Probably im wrong, if there is really a connection between XFCE and KDE.

Edit:
I downloaded this splitted iso.z01 iso.z02 iso.zip but ark is telling me:
Failed to open archive: Multi-disk zip archives not supported
:upside_down_face:

“202607210749 - TBC”

manjaro-xfce-26.1-testing-260721-linux71.iso.
Intel IGP machine + Ventoy
Unable not contact settings server → Ctrl+Alt+Backspace → the password prompt window appears → I enter the password and wait 2-3 minutes → enter → the live session starts!

You have to use cat google how to do it.

This is now a set of ISOs not calling a machine-id refresh: Release 202607210930 · manjaro/release-review · GitHub. So far my MINI-PC booted 3 out of 3 …

Question: What is the difference between systemd-machine-id-setup and the dbus version?

You can find that part in the Debian Wiki: I Challenge Thee

1 Like

I edited my ISO source file systems and commented the lines in live-overlay/usr/bin/manjaro-live

#livetimer=$(get_timer_ms)
#configure_machine_id
#echo "Configured machine-id: $(elapsed_time_ms ${livetimer})ms" >> /var/log/manjaro-live.log

Rebuild the images with -zc and with that single change - all ISO boot to desktop.

  • kde
  • gnome
  • xfce
  • cinnamon

I may be prudent to ensure the installed system get’s a unique id.

rm /<calamares-root>/etc/machine-id
systemd-machine-id-setup --root /<calamares-root>
1 Like

Booting manjaro-kde-26.1-testing-minimal-260721-linux618.iso reaches desktop logged in as manjaro on my laptop HP Elitebook 820 G1 and on my desktop PC with AMD Ryzen 5 3600 CPU and Radeon RX 590 graphics.

The keyboard is not my chosen DK, but instead the default US. However, keyboard setting is a problem separate from the desktop login.

1 Like

Just a wild guess, but could it be a delay in the creation of the tmpfs on /run by systemd which would be the problem?

If the filesystem is not mounted, then dbus cannot create the socket. :thinking:

When investigating I found a lot of other stuff exit in /run - so no, I don’t think that is the issue.

In my tests - removing the live script’s reset of the machine-id resolves the issue fully.

This indicates that resetting the machine-id during boot is a bad idea when your goal is to auto-login a given user.

I dumped a copy of the manjaro-live script in

<iso-profiles-dir>/shared/manjaro/live-overlay/usr/bin/manjaro-live

The edited the file and commented the lines 46-48 - saved the file and build the profile.

@philm

As for the keymap settings - it seems that Gnome and Plasma Desktop may require the use of localectl set-keymap to pickup the keymap whereas xfce terminal pickup the keymap set by the kernel cmdline.

The desktop itself - tested using xfce - does not pickup the chosen locale from the kernel cmdline.

systemd-machine-id-setup should not be used as it creates a machine-id during build-time.

We should rather cleanup the files suggested here: Safely Building Images

See also commits here: Commits ¡ master ¡ Tools / development-tools / manjaro-tools ¡ GitLab

Having the same machine-id on the live session is not so big, however the installed system should have a unique one.

Calamares might already have some function to make sure of that.

Currently on a phone and coding there isn’t great. @linux-aarhus maybe you find better code to follow the instructions.

Deleting the files will recreate them on reboot/boot.


This set of ISOs may have an unique machine-id also on live session: Release 202607211152 ¡ manjaro/release-review ¡ GitHub

I have an idea of why the locale settings sometimes fails

When the ISO is booted using Ventoy Grub2 mode - then the locale variables are doubled, instead of replaced.

Normal boot using Ventoy will result in the correct locale parameters.

Xfce test

The xfce desktop defaults to en_US (da_DK was chosen), the keymap (dk) is correct, and Manjaro Hello uses the chosen locale (da_DK).

The first may be attributed to the locale-gen for da_DK has not been run by the live setup.

I think there was a time where we had all locales compiled - but then some was complaining about bloat - possibly the reason they are not there - this could be a task for manjaro-live - rebuilding the chosen locale.

Manjaro Settings Manager shows the locale, timezone and keymap correct.

1 Like

I changed the service to start After. Before might be correct. Locale-gen is normally called. Since German locale is part of the default that works.

So we should do:

  • make sure that all suggested files get removed during image building
  • check what is missing for locale and reorder when manjaro-live gets called.

Most likely we cam keep the splitup to manjaro-live-setup.

I made a boot medium without Ventoy by using GRUB and EFI. The boot parameters for keyboard and tz are not doubled here, but the resulting keyboard on the desktop is still US.

In Konsole:

$ localectl
System Locale: LANG=en_US.UTF-8
VC Keymap: dk
X11 Layout: (unset)

However, typing blübÌrgrød instead shows bl[b;rgr'd

Well, /run is itself a tmpfs, but several directories under /run are themselves separate tmpfs mounts, including /run/user/1000, which must be created when the 1000 user account itself is created. :backhand_index_pointing_down:

[nx-74205:/dev/pts/3][/home/aragorn]
[aragorn] >  mount | grep run
tmpfs on /run type tmpfs (rw,nosuid,nodev,size=3247152k,nr_inodes=819200,mode=755,inode64)
none on /run/credentials/systemd-journald.service type tmpfs (ro,nosuid,nodev,noexec,relatime,nosymfollow,size=1024k,nr_inodes=1024,mode=700,inode64,noswap)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=1623572k,nr_inodes=405893,mode=700,uid=1000,gid=1000,inode64)

[nx-74205:/dev/pts/3][/home/aragorn]
[aragorn] >

Just sayin’… :man_shrugging:

1 Like

Download all needed files for split isos…navigate to the downloaded files…open terminal here:

7z t "man*iso.zip"; 7z e "man*iso.zip"; shasum -c manjaro-xfce-*sha*;

…change command accordingly, this example is xfce.

extra/7zip 26.02-1 is needed.

3 Likes

@linux-aarhus util-live.sh actually has the code for locale-gen:

configure_language(){
    # hack to be able to set the locale on bootup
    local lang=$(get_lang)
    keytable=$(get_keytable)
    local timezone=$(get_tz)
    # Fallback
    [[ -z "${lang}" ]] && lang="en_US"
    [[ -z "${keytable}" ]] && keytable="us"
    [[ -z "${timezone}" ]] && timezone="Etc/UTC"

    sed -e "s/#${lang}.UTF-8/${lang}.UTF-8/" -i /etc/locale.gen

    echo "LANG=${lang}.UTF-8" >> /etc/environment

    if [[ -d /run/openrc ]]; then
        sed -i "s/keymap=.*/keymap=\"${keytable}\"/" /etc/conf.d/keymaps
    fi
    echo "KEYMAP=${keytable}" > /etc/vconsole.conf
    echo "LANG=${lang}.UTF-8" > /etc/locale.conf
    ln -sf /usr/share/zoneinfo/${timezone} /etc/localtime

    write_x11_config

    loadkeys "${keytable}"

    locale-gen ${lang}
    echo "Configured language: ${lang}" >> /var/log/manjaro-live.log
    echo "Configured keymap: ${keytable}" >> /var/log/manjaro-live.log
    echo "Configured timezone: ${timezone}" >> /var/log/manjaro-live.log
}

So we have to recheck the latest ISOs in that regard …