site  contact  subhomenews

Both aufs and overlay work in latest EasyOS

October 02, 2025 — BarryK

Running Easy 7.0.18, I'm planning the next task will be to fix direct-save to the working-partition.

Easy is now defaulting to using overlay filesystem, but I haven't "burnt the bridges" and kept aufs support. To switch back to aufs, edit the boot manager, in the case of booting from usb-stick, that will be 'limine.cfg', and insert "qfix=aufs" into the kernel commandline parameters.

Have just done that, yes, aufs still works. Installed abiword, saved the session at shutdown, rebooted, and all ok, abiword still there.

Ah, but does direct-save still work for aufs? That is turned on by clicking on the desktop "save" icon, then tick the "Tick checkbox to restore traditional behaviour; direct writes to the drive" checkbox.

So I did that, and yes, direct-write works. But, hanging at bootup is back, at the "Loading kernel modules..." message on the screen. As it plagued us before, not every time.

But this time there is a difference. 7.0.18 has put in place a mechanism to create log files that can be examined afterward, and an attempt to restart udevd. Because it is udevd that is somehow having a problem with aufs. What now happens, is there is a 22-second timeout while waiting for udev rules to complete, then a 61-second countdown, then attempt to kill udevd, then restart it. This is the code in /etc/rc.d/rc.sysinit, line 740:

udevadm trigger --action=add --attr-nomatch=driver --type=devices
udevadm settle --timeout=22 #20250905

#20250905 20250906 20250912
if $? -ne ];then
 echo -e "\\033[1;31m" >/dev/console #red.
 echo "ERROR: udevd timed-out, had to kill it." >/dev/console
 echo "After bootup, or reboot, examine /mnt/wkg/.syslogd-timeout.log" >/dev/console
 echo " and /mnt/wkg/.udevd-timeout.log" >/dev/console
 echo "Attempting to restart udevd... " >/dev/console
 echo "Please wait for 65+ seconds, if still hung, hold down the power-button to" >/dev/console
 echo "reboot. After a successful reboot, examine /mnt/wkg/.syslogd-timeout.log" >/dev/console
 echo 'for words such as "blocked", "timeout" and "error"' >/dev/console
 echo "Appreciate if report cause of hanging to the forum." >/dev/console
 echo -e "\\033[0;39m" >/dev/console #restore default color.
 echo -n -e "\\033[1;95m" >/dev/console #bright-purple
 echo "Please wait: " >/dev/console
 for in $(seq 1 61)do
  echo -ne "\b\b${i}" >/dev/console
  sleep 1
 done
 echo "Wait a couple more seconds, still hung then do hard power-off."
 echo -e "\\033[0;39m" >/dev/console
 busybox cp -f /mnt/wkg/.syslogd.log /mnt/wkg/.syslogd-timeout.log
 busybox cp -f /tmp/udevd-debug.log /mnt/wkg/.udevd-timeout.log
 busybox fsync /mnt/wkg/.syslogd-timeout.log
 busybox fsync /mnt/wkg/.udevd-timeout.log
 udevadm control --exit --timeout=1
 sleep 0.2
 killall -s SIGTERM udevd 2>/dev/null #just in case.
 sleep 0.2
 killall -s SIGKILL udevd 2>/dev/null #just in case.
 sleep 0.2
 udevd --daemon --resolve-names=early --children-max=48 --event-timeout=20 >/tmp/udevd-debug2.log 2>&1
fi

These lines display a count, up to 61:

 for i in $(seq 1 61); do
echo -ne "\b\b${i}" >/dev/console
sleep 1
done

...that "\b\b" moves the screen cursor back one or two places, so the count displays overlapped.

The good news is that it works. Sit there watching the count, it reaches 61, then udevd is killed and restarted and bootup continues. So there is good news. The timeout shouldn't be happening of course.   

Tags: easy