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(+)
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.
Signed-off-by: Fathi Boudra fathi.boudra@linaro.org --- arch/arm/configs/vexpress_defconfig | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/arch/arm/configs/vexpress_defconfig b/arch/arm/configs/vexpress_defconfig index f2de51f..3f970f1 100644 --- a/arch/arm/configs/vexpress_defconfig +++ b/arch/arm/configs/vexpress_defconfig @@ -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
On Tue, 2013-08-20 at 22:02 +0100, Fathi Boudra wrote:
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.
Signed-off-by: Fathi Boudra fathi.boudra@linaro.org
arch/arm/configs/vexpress_defconfig | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/arch/arm/configs/vexpress_defconfig b/arch/arm/configs/vexpress_defconfig index f2de51f..3f970f1 100644 --- a/arch/arm/configs/vexpress_defconfig +++ b/arch/arm/configs/vexpress_defconfig @@ -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...
+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.
CONFIG_MTD=y CONFIG_MTD_CONCAT=y CONFIG_MTD_PARTITIONS=y
On 21 August 2013 13:46, Pawel Moll pawel.moll@arm.com wrote:
On Tue, 2013-08-20 at 22:02 +0100, Fathi Boudra wrote:
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.
Signed-off-by: Fathi Boudra fathi.boudra@linaro.org
arch/arm/configs/vexpress_defconfig | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/arch/arm/configs/vexpress_defconfig b/arch/arm/configs/vexpress_defconfig index f2de51f..3f970f1 100644 --- a/arch/arm/configs/vexpress_defconfig +++ b/arch/arm/configs/vexpress_defconfig @@ -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...
+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.
CONFIG_MTD=y CONFIG_MTD_CONCAT=y CONFIG_MTD_PARTITIONS=y
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 card
Signed-off-by: Christoffer Dall christoffer.dall@linaro.org Signed-off-by: Fathi Boudra fathi.boudra@linaro.org --- arch/arm/configs/vexpress_defconfig | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/arch/arm/configs/vexpress_defconfig b/arch/arm/configs/vexpress_defconfig index 3f970f1..c2f7ca1 100644 --- a/arch/arm/configs/vexpress_defconfig +++ b/arch/arm/configs/vexpress_defconfig @@ -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
On Tue, 2013-08-20 at 22:02 +0100, Fathi Boudra wrote:
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 card
Signed-off-by: Christoffer Dall christoffer.dall@linaro.org Signed-off-by: Fathi Boudra fathi.boudra@linaro.org
arch/arm/configs/vexpress_defconfig | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/arch/arm/configs/vexpress_defconfig b/arch/arm/configs/vexpress_defconfig index 3f970f1..c2f7ca1 100644 --- a/arch/arm/configs/vexpress_defconfig +++ b/arch/arm/configs/vexpress_defconfig @@ -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ł
An 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.
Signed-off-by: Fathi Boudra fathi.boudra@linaro.org --- arch/arm/configs/vexpress_defconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/arch/arm/configs/vexpress_defconfig b/arch/arm/configs/vexpress_defconfig index c2f7ca1..e9ab454 100644 --- a/arch/arm/configs/vexpress_defconfig +++ b/arch/arm/configs/vexpress_defconfig @@ -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
On Wed, 2013-08-21 at 00:02 +0300, Fathi Boudra wrote:
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(+)
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?
On Wed, 2013-08-21 at 10:05 +0100, Jon Medhurst (Tixy) wrote:
On Wed, 2013-08-21 at 00:02 +0300, Fathi Boudra wrote:
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(+)
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ł
On Wed, Aug 21, 2013 at 11:51:53AM +0100, Pawel Moll wrote:
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.
The removal of that configuration will break two of the nightly builds I run.
On Wed, Aug 21, 2013 at 12:51 PM, Pawel Moll pawel.moll@arm.com wrote:
This gets down to the question do we actually want the vexpress_defconfig at 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
On 21 August 2013 15:57, Linus Walleij linus.walleij@linaro.org wrote:
On Wed, Aug 21, 2013 at 12:51 PM, Pawel Moll pawel.moll@arm.com wrote:
This gets down to the question do we actually want the vexpress_defconfig at 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/
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
linaro-kernel@lists.linaro.org