I have an ARM system using buildroot-2011.05 - Linux 2.6.38.7. The board uses a NAND flash and to get around a problem with squashfs not liking bad blocks I changed the root file system to use read-only UBIFS instead.
The system now boots Ok but I am concerned by and can't find the source of a kernel message about remounting the UBI volume R/W:
[ 1.540000] UBIFS: read-only UBI device
[ 1.630000] UBIFS: recovery needed
[ 1.700000] UBIFS: recovery deferred
[ 1.710000] UBIFS: mounted UBI device 0, volume 0, name "rootfs"
[ 1.710000] UBIFS: mounted read-only
[ 1.720000] UBIFS: file system size: 14321664 bytes (13986 KiB, 13 MiB, 111 LEBs)
[ 1.720000] UBIFS: journal size: 9033728 bytes (8822 KiB, 8 MiB, 71 LEBs)
[ 1.730000] UBIFS: media format: w4/r0 (latest is w4/r0)
[ 1.740000] UBIFS: default compressor: lzo
[ 1.740000] UBIFS: reserved for root: 0 bytes (0 KiB)
[ 1.750000] VFS: Mounted root (ubifs filesystem) readonly on device 0:14.
[ 1.760000] devtmpfs: mounted on dev
[ 1.770000] Freeing init memory: 104K
**[ 2.060000] UBIFS: cannot re-mount R/W - UBI volume is R/O**
It uses barebox init (no sysvinit) but I think the message is generated before it gets to this. There are posts on the net about the UBIFS bug when remounting R/W after an error but this isn't the case, it's mounted read only to begin with. All I can think of is there could be default kernel behaviour to mount the rootfs r/w.
Kernel bootargs:
console=ttymxc0,115200 rootfstype=ubifs ro ubi.mtd=3 root=ubi0:rootfs otg_mode=host lpj=514048 mtdparts=mxc_nand:256k(barebox)ro,128k(bareboxenv),3M(kernel),16M(rootfs)ro,16M(flash),-(misc)
Relevant parts of inittab and fstab:
::sysinit:/bin/mount -t proc proc /proc
::sysinit:/bin/mkdir -p /dev/pts
::sysinit:/bin/mount -a
proc /proc proc defaults 0 0
devpts /dev/pts devpts defaults,gid=5,mode=620 0 0
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
/dev/mtdblock4 /mnt/flash jffs2 noatime
Any help gratefully received!