Skip to content

[Bug]: Malformed /etc/fstab entry (double comma) in partitioning.sh causes boot failure #9201

@NickAlilovic

Description

@NickAlilovic

What happened?

The partitioning.sh script generates a malformed /etc/fstab file when constructing mount options for the root filesystem. Specifically, it can produce a double comma (e.g., defaults,,commit=120), which causes the system to fail during boot. This happens with ext4 fs.

Symptoms:

  • Plymouth (boot splash) hangs or shows errors due to failing to initialize correctly.

Received SIGRTMIN+20 from PID 207 (plymouthd)

  • The system drops into emergency/maintenance mode.

  • The root filesystem must be mounted as read-write to fix the issue. But this can cause a security risk and potential corruption. Long term fix is to add noatime${mountopts[$ROOTFS_TYPE]} or remove the comma after defaults.

Using rw, the kernel mounts the partition as read-write immediately, which can prevent a proper fsck from running or lead to potential corruption if the filesystem was not cleanly unmounted.

How to reproduce?

Build an Armbian image using the current main branch of the armbian/build framework using ext4 as the rootfs.

  1. Burn the image to an SD card or eMMC.

  2. Attempt to boot the device.

  3. Inspect /etc/fstab on the target device to find the malformed line: (double comma)

UUID=... / ext4 defaults,,commit=120,errors=remount-ro 0 1

Branch

main (main development branch)

On which host OS are you running the build script and observing this problem?

Ubuntu 24.04 Noble

Are you building on Windows WSL2?

  • Yes, my Ubuntu/Debian/OtherOS is running on WSL2

Relevant log URL

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugSomething isn't working as it shouldGood first issueFeel free to contribute :)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions