ARM: vexpress_defconfig: Allow to boot using a regular filesystem on SD card
Subsystems (2)
cover ARM: vexpress_defconfig: Allow to boot using a regular filesystem on SD card
vexpress_defconfig is known broken on some use-cases. This serie of patches allow to boot test Versatile Express using a regular filesystem on SD card.
Fathi Boudra (3):
ARM: vexpress_defconfig: Enable and automount devtmpfs filesystem
ARM: vexpress_defconfig: Enable voltage regulator support
ARM: vexpress_defconfig: Enable ext4 filesystem
arch/arm/configs/vexpress_defconfig | 5 +++++ 1 file changed, 5 insertions(+)
Signature · 1 line
1.8.1.2
PATCH 1/3 ARM: vexpress_defconfig: Enable and automount devtmpfs filesystem
udev no longer creates device nodes under /dev and it has to be managed by the kernel devtmpfs filesystem.
This means that a kernel built with the current config will not boot on a system with a recent udev:
mount: mounting udev on /dev failed: No such device
W: devtmpfs not available, falling back to tmpfs for /dev
Also, it is good to have /dev automatically mounted since some non-initramfs based setups assumes this and don't manually mount it.
--- arch/arm/configs/vexpress_defconfig | 2 ++ 1 file changed, 2 insertions(+)
arch/arm/configs/vexpress_defconfig +2 -0
@@ -45,6 +45,8 @@ CONFIG_IP_PNP_BOOTP=y # CONFIG_IPV6 is not set # CONFIG_WIRELESS is not set CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y CONFIG_MTD=y CONFIG_MTD_CONCAT=y CONFIG_MTD_PARTITIONS=y
Signature · 1 line
1.8.1.2
PATCH 1/3 ARM: vexpress_defconfig: Enable and automount devtmpfs filesystem
Quoted 22 lines · Fathi Boudra
udev no longer creates device nodes under /dev and it has to be managed by the kernel devtmpfs filesystem.
This means that a kernel built with the current config will not boot on a system with a recent udev:
mount: mounting udev on /dev failed: No such device
W: devtmpfs not available, falling back to tmpfs for /devAlso, it is good to have /dev automatically mounted since some non-initramfs based setups assumes this and don't manually mount it.
Signed-off-by Fathi Boudra <[email protected]>--- arch/arm/configs/vexpress_defconfig | 2 ++ 1 file changed, 2 insertions(+)arch/arm/configs/vexpress_defconfig +0
-0
arch/arm/configs/vexpress_defconfig CONFIG_IP_PNP_BOOTP=y · line 48
Quoted 4 lines
arch/arm/configs/vexpress_defconfig +1
-0@@ -45,6 +45,8 @@ CONFIG_IP_PNP_BOOTP=y # CONFIG_IPV6 is not set # CONFIG_WIRELESS is not set CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_DEVTMPFS=y
This makes sense...
arch/arm/configs/vexpress_defconfig CONFIG_IP_PNP_BOOTP=y · line 49
Quoted 1 line
arch/arm/configs/vexpress_defconfig +1
-0+CONFIG_DEVTMPFS_MOUNT=y
... but I'm not so sure about this one. Normally it's up to the boot scripts to decide when to mount the devtmpfs. And yes - I know it's required to boot Ubuntu-based rootfs without initramfs, but that's Ubuntu's problem, really.
Quoted 3 lines
arch/arm/configs/vexpress_defconfig +0
-0CONFIG_MTD=y CONFIG_MTD_CONCAT=y CONFIG_MTD_PARTITIONS=y
PATCH 1/3 ARM: vexpress_defconfig: Enable and automount devtmpfs filesystem
Quoted 30 lines · Pawel Moll
Quoted 22 lines · Fathi Boudra
udev no longer creates device nodes under /dev and it has to be managed by the kernel devtmpfs filesystem.
This means that a kernel built with the current config will not boot on a system with a recent udev:
mount: mounting udev on /dev failed: No such device
W: devtmpfs not available, falling back to tmpfs for /devAlso, it is good to have /dev automatically mounted since some non-initramfs based setups assumes this and don't manually mount it.
Signed-off-by Fathi Boudra <[email protected]>--- arch/arm/configs/vexpress_defconfig | 2 ++ 1 file changed, 2 insertions(+)arch/arm/configs/vexpress_defconfig +0
-0arch/arm/configs/vexpress_defconfig CONFIG_IP_PNP_BOOTP=y · line 48
Quoted 4 lines
arch/arm/configs/vexpress_defconfig +1
-0@@ -45,6 +45,8 @@ CONFIG_IP_PNP_BOOTP=y # CONFIG_IPV6 is not set # CONFIG_WIRELESS is not set CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_DEVTMPFS=yThis makes sense...
Quoted 6 lines
arch/arm/configs/vexpress_defconfig CONFIG_IP_PNP_BOOTP=y · line 49
Quoted 1 line
arch/arm/configs/vexpress_defconfig +1
-0+CONFIG_DEVTMPFS_MOUNT=y... but I'm not so sure about this one. Normally it's up to the boot scripts to decide when to mount the devtmpfs. And yes - I know it's required to boot Ubuntu-based rootfs without initramfs, but that's Ubuntu's problem, really.
Sure, I can workaround in my build system but why is it an issue to enable it? Obviously, it resolves my use case to boot test vexpress with Linaro images and doesn't introduce a particular problem afaics.
Quoted 3 lines
Quoted 3 lines
arch/arm/configs/vexpress_defconfig +0
-0CONFIG_MTD=y CONFIG_MTD_CONCAT=y CONFIG_MTD_PARTITIONS=y
PATCH 2/3 ARM: vexpress_defconfig: Enable voltage regulator support
In reply to Fathi BoudraIt is needed for the MMC controller and allows to use the SD card:
mmc0: host doesn't support card's voltages
mmc0: error -22 whilst initialising SD card
--- arch/arm/configs/vexpress_defconfig | 2 ++ 1 file changed, 2 insertions(+)
arch/arm/configs/vexpress_defconfig +2 -0
@@ -77,6 +77,8 @@ CONFIG_SERIAL_AMBA_PL011_CONSOLE=y CONFIG_LEGACY_PTY_COUNT=16 # CONFIG_HW_RANDOM is not set # CONFIG_HWMON is not set +CONFIG_REGULATOR=y +CONFIG_REGULATOR_VEXPRESS=y CONFIG_FB=y CONFIG_FB_ARMCLCD=y CONFIG_FRAMEBUFFER_CONSOLE=y
Signature · 1 line
1.8.1.2
PATCH 2/3 ARM: vexpress_defconfig: Enable voltage regulator support
Quoted 16 lines · Fathi Boudra
It is needed for the MMC controller and allows to use the SD card:
mmc0: host doesn't support card's voltages
mmc0: error -22 whilst initialising SD cardSigned-off-by Christoffer Dall <[email protected]>Signed-off-by Fathi Boudra <[email protected]>--- arch/arm/configs/vexpress_defconfig | 2 ++ 1 file changed, 2 insertions(+)arch/arm/configs/vexpress_defconfig +0
-0
arch/arm/configs/vexpress_defconfig CONFIG_SERIAL_AMBA_PL011_CONSOLE=y · line 81
Quoted 5 lines
arch/arm/configs/vexpress_defconfig +2
-0@@ -77,6 +77,8 @@ CONFIG_SERIAL_AMBA_PL011_CONSOLE=y CONFIG_LEGACY_PTY_COUNT=16 # CONFIG_HW_RANDOM is not set # CONFIG_HWMON is not set +CONFIG_REGULATOR=y +CONFIG_REGULATOR_VEXPRESS=y
The REGULATOR_VEXPRESS is not necessary to "fix" the MMC issue. REGULATOR=y will make the REGULATOR_FIXED_VOLTAGE being selected, which is enough.
Pawe?
PATCH 3/3 ARM: vexpress_defconfig: Enable ext4 filesystem
In reply to Fathi BoudraAn ext4 partition could be used to store the root file system. The kernel need to have built-in support for ext4 to be able to mount the VFS root on boot.
--- arch/arm/configs/vexpress_defconfig | 1 + 1 file changed, 1 insertion(+)
arch/arm/configs/vexpress_defconfig +1 -0
@@ -119,6 +119,7 @@ CONFIG_EXT2_FS=y CONFIG_EXT3_FS=y # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set # CONFIG_EXT3_FS_XATTR is not set +CONFIG_EXT4_FS=y CONFIG_VFAT_FS=y CONFIG_TMPFS=y CONFIG_JFFS2_FS=y
Signature · 1 line
1.8.1.2
cover ARM: vexpress_defconfig: Allow to boot using a regular filesystem on SD card
In reply to Fathi BoudraQuoted 11 lines · Fathi Boudra
vexpress_defconfigis known broken on some use-cases. This serie of patches allow to boot test Versatile Express using a regular filesystem on SD card.Fathi Boudra (3):
ARM:vexpress_defconfig: Enable and automount devtmpfs filesystem
ARM:vexpress_defconfig: Enable voltage regulator support
ARM:vexpress_defconfig: Enable ext4 filesystemarch/arm/configs/vexpress_defconfig | 5 +++++ 1 file changed, 5 insertions(+)
One good question is who do you have to convince to get these changes accepted (or rejected)?
The original config was added by Linus Walleij through Russell's tree (who is the maintainer according to get_maintainer.pl), and as of late, Pawel Moll seems to have been acting a vexpress maintainer. I've added those names to the CC list.
I suspect that nobody really cases that much, but it would be good to get some feedback or if there is silence, just ask the armsoc people to take the changes?
Signature · 1 line
Tixy
cover ARM: vexpress_defconfig: Allow to boot using a regular filesystem on SD card
Quoted 10 lines · Jon Medhurst (Tixy)
Quoted 9 lines · Fathi Boudra
vexpress_defconfigis known broken on some use-cases. This serie of patches allow to boot test Versatile Express using a regular filesystem on SD card.Fathi Boudra (3):
ARM:vexpress_defconfig: Enable and automount devtmpfs filesystem
ARM:vexpress_defconfig: Enable voltage regulator support
ARM:vexpress_defconfig: Enable ext4 filesystem
Quoted 5 lines
Quoted 2 lines
arch/arm/configs/vexpress_defconfig | 5 +++++ 1 file changed, 5 insertions(+)One good question is who do you have to convince to get these changes accepted (or rejected)?
This gets down to the question do we actually want the vexpress_defconfig at all? I was considering removing it completely as multi_v7_defconfig should do the job (potentially subject to an extra config option or two), but if there really is a need for vexpress-only one, I can take the changes and queue it for the next-next merge window.
Pawe?
cover ARM: vexpress_defconfig: Allow to boot using a regular filesystem on SD card
Quoted 5 lines · Pawel Moll
This gets down to the question do we actually want the
vexpress_defconfigat all? I was considering removing it completely asmulti_v7_defconfigshould do the job (potentially subject to an extra config option or two), but if there really is a need for vexpress-only one, I can take the changes and queue it for the next-next merge window.
The removal of that configuration will break two of the nightly builds I run.
cover ARM: vexpress_defconfig: Allow to boot using a regular filesystem on SD card
In reply to Pawel MollQuoted 2 lines · Pawel Moll
This gets down to the question do we actually want the
vexpress_defconfigat all?
I added it because people were complaining that I was not testing code against Vexpress and there was no way to conveniently do that without a defconfig.
It is also used in Rothwells kisskb:
http://kisskb.ellerman.id.au/kisskb/branch/9/
Yours,
Linus Walleij
cover ARM: vexpress_defconfig: Allow to boot using a regular filesystem on SD card
Quoted 5 lines · Linus Walleij
Quoted 2 lines · Pawel Moll
This gets down to the question do we actually want the
vexpress_defconfigat all?
Quoted 7 lines
I added it because people were complaining that I was not testing code against Vexpress and there was no way to conveniently do that without a defconfig.
It is also used in Rothwells kisskb:
http://kisskb.ellerman.id.au/kisskb/branch/9/
And it's mentioned in a wide variety of guides concerning building QEMU/KVM guest images - I think it would be premature to remove it.
-Christoffer