PiShrink icon indicating copy to clipboard operation
PiShrink copied to clipboard

Fix autoresize if no console

Open yablacky opened this issue 4 years ago • 1 comments

If a raspi image is configured to boot really silent, the console may be disabled in /boot/cmdline.txt

In this case the auto-expander may not be called in some cirmunstances. Usually /etc/rc.local which does expanding, is called by systemd. But systemd may fail to start /etc/rc.local if no console is there. In the log there is first a Aug 13 11:17:01 HOSTNAME kernel: Warning: unable to open an initial console. and later: Aug 13 11:17:16 HOSTNAME systemd[1]: Starting /etc/rc.local Compatibility... Aug 13 11:17:16 HOSTNAME systemd[740]: Failed at step STDOUT spawning /etc/rc.local: No such device Aug 13 11:17:16 HOSTNAME systemd[1]: Failed to start /etc/rc.local Compatibility. As a result the image runs un-expanded.

This pull request fixes this: If a disabled console is detected it will be enabled temporarily until the auto-expander is called.

Since the expander-code in /etc/rc.local must be changed to implement this fix, the implementation changed how an already auto-expanding image is detected: It does no longer check md5 sum but compares the code directly. This makes it even easier to add further features to the auto-expander code.

yablacky avatar Sep 04 '20 16:09 yablacky

I did not face problems with autoresize on my headless CM4 raspberry having the console disabled, even without including this pull request.

romor avatar Apr 20 '23 08:04 romor