Both aufs and overlay work in latest EasyOS
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 0 ];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 i 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