Message ID | 1386201464-19380-1-git-send-email-thomas@cozybit.com |
---|---|
State | Superseded |
Headers | show |
Dear Thomas Pedersen, On Wed, 4 Dec 2013 15:57:44 -0800, Thomas Pedersen wrote: > The patch "pandaboard: Fix defconfig build" locked the > default pandaboard kernel to 3.8.11. This is inconvenient, > however, and we can make the default pandaboard kernel > build and boot with a few changes: The lock down to a specific version of the kernel and a specific version of the kernel headers is intentional. These are here to guarantee that the defconfig will always produce the same result, regardless of whether Buildroot updates the default kernel / kernel headers version. > -# Lock to 3.8 headers to avoid breaking with newer kernels > -BR2_KERNEL_HEADERS_3_8=y So this should be kept (possibly updating to a new kernel headers version of course, but we should keep a kernel headers version here). > # Kernel > BR2_LINUX_KERNEL=y > -BR2_LINUX_KERNEL_CUSTOM_VERSION=y > -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.8.11" Same thing here. No problem with bumping from 3.8.x to 3.12.x or something like that, if you've tested 3.12.x, but an explicit version selection must be kept. > BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" > +BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x80008000" > +BR2_LINUX_KERNEL_APPENDED_UIMAGE=y > +BR2_LINUX_KERNEL_APPENDED_DTB=y > +BR2_LINUX_KERNEL_USE_INTREE_DTS=y > +# might need omap4-panda or omap4-panda-a4 instead > +BR2_LINUX_KERNEL_INTREE_DTS_NAME="omap4-panda-es" > > # GCC > BR2_GCC_VERSION_4_6_X=y Thanks! Thomas
>>>>> "Thomas" == Thomas Pedersen <thomas@cozybit.com> writes: > The patch "pandaboard: Fix defconfig build" locked the > default pandaboard kernel to 3.8.11. This is inconvenient, > however, and we can make the default pandaboard kernel > build and boot with a few changes: > 1. specify the correct load address > 2. append the flattened device tree to the uImage > Note the default device tree is now for the pandaboard-ES, > so users of other board revisions will need to set the > correct DTS_NAME. Thanks. There afaik has been quite some breakage in the kernel related to pandaboard, what version have you tested with? In general we try to stick to known (fixed) kernel version in the defconfigs, to not get the users into that kind of trouble by default.
On Dec 4, 2013 11:59 PM, "Thomas Petazzoni" < thomas.petazzoni@free-electrons.com> wrote: > > Dear Thomas Pedersen, > > On Wed, 4 Dec 2013 15:57:44 -0800, Thomas Pedersen wrote: > > The patch "pandaboard: Fix defconfig build" locked the > > default pandaboard kernel to 3.8.11. This is inconvenient, > > however, and we can make the default pandaboard kernel > > build and boot with a few changes: > > The lock down to a specific version of the kernel and a specific version > of the kernel headers is intentional. These are here to guarantee that > the defconfig will always produce the same result, regardless of > whether Buildroot updates the default kernel / kernel headers version. Ah OK. At least this patch will make future kernels compatible with legacy u-boot loaders. In our case we're using usbboot, and I'm not aware of a method to pass the device tree over USB or PXE. > > -# Lock to 3.8 headers to avoid breaking with newer kernels > > -BR2_KERNEL_HEADERS_3_8=y > > So this should be kept (possibly updating to a new kernel headers > version of course, but we should keep a kernel headers version here). > > > # Kernel > > BR2_LINUX_KERNEL=y > > -BR2_LINUX_KERNEL_CUSTOM_VERSION=y > > -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.8.11" > > Same thing here. No problem with bumping from 3.8.x to 3.12.x or > something like that, if you've tested 3.12.x, but an explicit version > selection must be kept. Will do. Thanks! Thomas
Thomas Pedersen, Thomas Pedersen <thomas@cozybit.com> wrote on 12/04/2013 05:57:44 PM: [...] > # Kernel > BR2_LINUX_KERNEL=y > -BR2_LINUX_KERNEL_CUSTOM_VERSION=y > -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.8.11" > BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" Would it be possible to lock the kernel version down by using the custom version? This way that when we provide a defconfig with a known working kernel. If it were to be left to not use this, the kernel version will change with all the bumps. > +BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x80008000" > +BR2_LINUX_KERNEL_APPENDED_UIMAGE=y What is the need for uImage? zImage is what is supported by default in U-Boot for pandaboard - http://git.denx.de/cgi-bin/gitweb.cgi?p=u-boot.git;a=blob;f=include/configs/omap4_common.h This configuration is not going to work out of the box for a user since U-Boot searches for a zImage and a omap4-panda-es.dtb. So we would want to generate a stand-alone dtb. > +BR2_LINUX_KERNEL_APPENDED_DTB=y > +BR2_LINUX_KERNEL_USE_INTREE_DTS=y > +# might need omap4-panda or omap4-panda-a4 instead > +BR2_LINUX_KERNEL_INTREE_DTS_NAME="omap4-panda-es" Also could we lock down the version of u-boot too? Currently it looks like this - # Bootloaders BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_BOARDNAME="omap4_panda" BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="MLO" Which means we will be pulling the latest version of U-Boot which is also not preferable since U-Boot also has a tendency to break. Would you be willing to specify a custom version of u-boot too in your update to the defconfig? Thanks, -Ryan
On Dec 5, 2013 12:15 AM, "Peter Korsgaard" <jacmet@uclibc.org> wrote: > > >>>>> "Thomas" == Thomas Pedersen <thomas@cozybit.com> writes: > > > The patch "pandaboard: Fix defconfig build" locked the > > default pandaboard kernel to 3.8.11. This is inconvenient, > > however, and we can make the default pandaboard kernel > > build and boot with a few changes: > > > 1. specify the correct load address > > 2. append the flattened device tree to the uImage > > > Note the default device tree is now for the pandaboard-ES, > > so users of other board revisions will need to set the > > correct DTS_NAME. > > Thanks. There afaik has been quite some breakage in the kernel related > to pandaboard, what version have you tested with? This was tested with 3.12.2, and AFAICT should continue to work moving forward. The recent pandaboard breakage seems to have been shook out since the 3.8+ transition. > In general we try to stick to known (fixed) kernel version in the > defconfigs, to not get the users into that kind of trouble by default. Makes sense. I'll submit a v2 which does this in the morning. Thomas
HI Ryan, On Thu, Dec 5, 2013 at 12:29 AM, <rjbarnet@rockwellcollins.com> wrote: > Thomas Pedersen <thomas@cozybit.com> wrote on 12/04/2013 05:57:44 PM: > > [...] > >> # Kernel >> BR2_LINUX_KERNEL=y >> -BR2_LINUX_KERNEL_CUSTOM_VERSION=y >> -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.8.11" >> BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" > > Would it be possible to lock the kernel version down by using the custom > version? This way that when we provide a defconfig with a known working > kernel. If it were to be left to not use this, the kernel version will > change with all the bumps. Yes, I'll lock it to 3.12.2 or so. >> +BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x80008000" >> +BR2_LINUX_KERNEL_APPENDED_UIMAGE=y > > What is the need for uImage? zImage is what is supported by default in > U-Boot for pandaboard - > http://git.denx.de/cgi-bin/gitweb.cgi?p=u-boot.git;a=blob;f=include/configs/omap4_common.h > > This configuration is not going to work out of the box for a user since > U-Boot searches for a zImage and a omap4-panda-es.dtb. So we would want to > generate a stand-alone dtb. zImage and dtb is still intact. The appended uImage is simply generated as an extra step after appending the DTB to the zImage. >> +BR2_LINUX_KERNEL_APPENDED_DTB=y >> +BR2_LINUX_KERNEL_USE_INTREE_DTS=y >> +# might need omap4-panda or omap4-panda-a4 instead >> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="omap4-panda-es" > > Also could we lock down the version of u-boot too? > > Currently it looks like this - > > # Bootloaders > BR2_TARGET_UBOOT=y > BR2_TARGET_UBOOT_FORMAT_IMG=y > BR2_TARGET_UBOOT_BOARDNAME="omap4_panda" > BR2_TARGET_UBOOT_SPL=y > BR2_TARGET_UBOOT_SPL_NAME="MLO" > > Which means we will be pulling the latest version of U-Boot which is also > not preferable since U-Boot also has a tendency to break. Would you be > willing to specify a custom version of u-boot too in your update to the > defconfig? I'm actually using the linaro-boot-utils u-boot (SPL 2012.07) to enable booting over USB. I'll see if the vanilla version boots the generated uImage off an SD card. Thanks,
On Thu, Dec 5, 2013 at 12:26 PM, Thomas Pedersen <thomas@cozybit.com> wrote: > HI Ryan, > > On Thu, Dec 5, 2013 at 12:29 AM, <rjbarnet@rockwellcollins.com> wrote: >> Thomas Pedersen <thomas@cozybit.com> wrote on 12/04/2013 05:57:44 PM: >> >> [...] >> >>> # Kernel >>> BR2_LINUX_KERNEL=y >>> -BR2_LINUX_KERNEL_CUSTOM_VERSION=y >>> -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.8.11" >>> BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" >> >> Would it be possible to lock the kernel version down by using the custom >> version? This way that when we provide a defconfig with a known working >> kernel. If it were to be left to not use this, the kernel version will >> change with all the bumps. > > Yes, I'll lock it to 3.12.2 or so. > >>> +BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x80008000" >>> +BR2_LINUX_KERNEL_APPENDED_UIMAGE=y >> >> What is the need for uImage? zImage is what is supported by default in >> U-Boot for pandaboard - >> http://git.denx.de/cgi-bin/gitweb.cgi?p=u-boot.git;a=blob;f=include/configs/omap4_common.h >> >> This configuration is not going to work out of the box for a user since >> U-Boot searches for a zImage and a omap4-panda-es.dtb. So we would want to >> generate a stand-alone dtb. > > zImage and dtb is still intact. The appended uImage is simply > generated as an extra step after appending the DTB to the zImage. Sorry Ryan, you were correct. The resulting uImage is then installed instead of the zImage, breaking boot with current u-boot. >>> +BR2_LINUX_KERNEL_APPENDED_DTB=y >>> +BR2_LINUX_KERNEL_USE_INTREE_DTS=y >>> +# might need omap4-panda or omap4-panda-a4 instead >>> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="omap4-panda-es" >> >> Also could we lock down the version of u-boot too? >> >> Currently it looks like this - >> >> # Bootloaders >> BR2_TARGET_UBOOT=y >> BR2_TARGET_UBOOT_FORMAT_IMG=y >> BR2_TARGET_UBOOT_BOARDNAME="omap4_panda" >> BR2_TARGET_UBOOT_SPL=y >> BR2_TARGET_UBOOT_SPL_NAME="MLO" >> >> Which means we will be pulling the latest version of U-Boot which is also >> not preferable since U-Boot also has a tendency to break. Would you be >> willing to specify a custom version of u-boot too in your update to the >> defconfig? > > I'm actually using the linaro-boot-utils u-boot (SPL 2012.07) to > enable booting over USB. I'll see if the vanilla version boots the > generated uImage off an SD card. > > Thanks, > > -- > Thomas
diff --git a/configs/pandaboard_defconfig b/configs/pandaboard_defconfig index 95cfdd6..341ce22 100644 --- a/configs/pandaboard_defconfig +++ b/configs/pandaboard_defconfig @@ -11,14 +11,15 @@ BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Lock to 3.8 headers to avoid breaking with newer kernels -BR2_KERNEL_HEADERS_3_8=y - # Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.8.11" BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" +BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x80008000" +BR2_LINUX_KERNEL_APPENDED_UIMAGE=y +BR2_LINUX_KERNEL_APPENDED_DTB=y +BR2_LINUX_KERNEL_USE_INTREE_DTS=y +# might need omap4-panda or omap4-panda-a4 instead +BR2_LINUX_KERNEL_INTREE_DTS_NAME="omap4-panda-es" # GCC BR2_GCC_VERSION_4_6_X=y
The patch "pandaboard: Fix defconfig build" locked the default pandaboard kernel to 3.8.11. This is inconvenient, however, and we can make the default pandaboard kernel build and boot with a few changes: 1. specify the correct load address 2. append the flattened device tree to the uImage Note the default device tree is now for the pandaboard-ES, so users of other board revisions will need to set the correct DTS_NAME. Signed-off-by: Thomas Pedersen <thomas@cozybit.com> --- configs/pandaboard_defconfig | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)