[LEDE-DEV] initramfs kernel using the wrong rootfs filesystem
Thomas Reifferscheid
thomas at reifferscheid.org
Tue Mar 21 13:34:52 PDT 2017
Hello,
I'm on ipq8064, R7500 and netbooting the initramfs kernel gets me
a rootfs / mount using the wrong filesystem. As a result opkg refuses
to install packages, claiming that there is not enough space on /
rootfs however was mounted using *ramfs* which according to
Documentation/filesystems/ramfs-rootfs-initramfs.txt [0] should have
been *tmpfs* instead.
Adjusting the bootargs argument in the .dts file fixes the initramfs
kernel while keeping everything alright when booting from nand/flash.
- bootargs = "rootfstype=squashfs noinitrd";
+ bootargs = "rootfstype=squashfs,tmpfs noinitrd";
Please see my questions below.
Console output, current situation:
root at LEDE:/# opkg install coreutils-stat
Installing coreutils-stat (8.23-2) to root...
Collected errors:
* verify_pkg_installable: Only have 0kb available on filesystem
/overlay, pkg coreutils-stat needs 33
* opkg_install_cmd: Cannot install package coreutils-stat.
root at LEDE:/# stat -f /
File: "/"
ID: 0 Namelen: 255 Type: ramfs <------------------
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 0 Free: 0 Available: 0
Inodes: Total: 0 Free: 0
root at LEDE:/# df -h
Filesystem Size Used Available Use% Mounted on
# rootfs or / is missing here
tmpfs 108.2M 508.0K 107.7M 0% /tmp
tmpfs 512.0K 0 512.0K 0% /dev
root at LEDE:/# df -h /
Filesystem Size Used Available Use% Mounted on
rootfs 0 0 0 0% /
root at LEDE:/#
Console output, with the bootargs adjustment:
root at LEDE:/# opkg install coreutils-stat
Installing coreutils-stat (8.23-2) to root...
Downloading
http://downloads.lede-project.org/snapshots/packages/arm_cortex-a15_neon-vfpv4/packages/coreutils-stat_8.23-2_arm_cortex-a15_neon-vfpv4.ipk
Installing coreutils (8.23-2) to root...
Downloading
http://downloads.lede-project.org/snapshots/packages/arm_cortex-a15_neon-vfpv4/packages/coreutils_8.23-2_arm_cortex-a15_neon-vfpv4.ipk
Configuring coreutils.
Configuring coreutils-stat.
root at LEDE:/# stat -f /
File: "/"
ID: 0 Namelen: 255 Type: tmpfs<-------------------
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 27411 Free: 25475 Available: 25475
Inodes: Total: 27411 Free: 26625
root at LEDE:/# df -h
Filesystem Size Used Available Use% Mounted on
rootfs 107.1M 7.6M 99.5M 7% /
tmpfs 108.2M 504.0K 107.7M 0% /tmp
tmpfs 512.0K 0 512.0K 0% /dev
root at LEDE:/#
The patch would simplify general debugging using initramfs kernels and
would let you install whatever packages are necessary for further debugging
just out of the box.
It also would make use of the better filesystem tmpfs, see kernel docs
[0] and [1].
Please let me know what you think:
What would be the best way of fixing all targets on initramfs for
mounting rootfs as tmpfs rather than ramfs?
Would be patching the bootargs for the related ipq8064 devices (3 in
total) be enough for now?
Or just apply the patch against the ipq8064-R7500?
Thank you
Thomas
[0]:
http://lxr.free-electrons.com/source/Documentation/filesystems/ramfs-rootfs-initramfs.txt?v=4.9#L60
[1]:
http://lxr.free-electrons.com/source/Documentation/filesystems/tmpfs.txt?v=4.9#L13
More information about the Lede-dev
mailing list