diff mbox series

[1/1] configs: add raspberrypi4 64bits defconfig

Message ID 20191129160208.3520611-2-arthur.courtel@smile.fr
State Superseded, archived
Headers show
Series [1/1] configs: add raspberrypi4 64bits defconfig | expand

Commit Message

Arthur Courtel Nov. 29, 2019, 4:02 p.m. UTC
This configuration builds a 64bit image for RaspberryPi 4.

Signed-off-by: Arthur Courtel <arthur.courtel@smile.fr>
---
 .../raspberrypi/genimage-raspberrypi4-64.cfg  | 30 +++++++++++++++++++
 board/raspberrypi/post-image.sh               |  4 +--
 board/raspberrypi4-64                         |  1 +
 configs/raspberrypi4_64_defconfig             | 24 +++++++++++++++
 4 files changed, 57 insertions(+), 2 deletions(-)
 create mode 100644 board/raspberrypi/genimage-raspberrypi4-64.cfg
 create mode 120000 board/raspberrypi4-64
 create mode 100644 configs/raspberrypi4_64_defconfig

Comments

Romain Naour Nov. 29, 2019, 5:43 p.m. UTC | #1
Hi Arthur,

Le 29/11/2019 à 17:02, Arthur Courtel a écrit :
> This configuration builds a 64bit image for RaspberryPi 4.
> 
> Signed-off-by: Arthur Courtel <arthur.courtel@smile.fr>
> ---
>  .../raspberrypi/genimage-raspberrypi4-64.cfg  | 30 +++++++++++++++++++
>  board/raspberrypi/post-image.sh               |  4 +--
>  board/raspberrypi4-64                         |  1 +
>  configs/raspberrypi4_64_defconfig             | 24 +++++++++++++++
>  4 files changed, 57 insertions(+), 2 deletions(-)
>  create mode 100644 board/raspberrypi/genimage-raspberrypi4-64.cfg
>  create mode 120000 board/raspberrypi4-64
>  create mode 100644 configs/raspberrypi4_64_defconfig
> 
> diff --git a/board/raspberrypi/genimage-raspberrypi4-64.cfg b/board/raspberrypi/genimage-raspberrypi4-64.cfg
> new file mode 100644
> index 0000000000..3c480e98f0
> --- /dev/null
> +++ b/board/raspberrypi/genimage-raspberrypi4-64.cfg
> @@ -0,0 +1,30 @@
> +image boot.vfat {
> +  vfat {
> +    files = {
> +      "bcm2711-rpi-4-b.dtb",
> +      "rpi-firmware/cmdline.txt",
> +      "rpi-firmware/config.txt",
> +      "rpi-firmware/fixup4.dat",
> +      "rpi-firmware/start4.elf",
> +      "rpi-firmware/overlays",
> +      "Image"

Not related to your patch but the raspberry-pi3 defconfig use zImage but the
64bit version use Image.

Any reason for this?

> +    }
> +  }
> +  size = 32M
> +}
> +
> +image sdcard.img {
> +  hdimage {
> +  }
> +
> +  partition boot {
> +    partition-type = 0xC
> +    bootable = "true"
> +    image = "boot.vfat"
> +  }
> +
> +  partition rootfs {
> +    partition-type = 0x83
> +    image = "rootfs.ext4"
> +  }
> +}
> diff --git a/board/raspberrypi/post-image.sh b/board/raspberrypi/post-image.sh
> index bf9af5dc60..e79141f142 100755
> --- a/board/raspberrypi/post-image.sh
> +++ b/board/raspberrypi/post-image.sh
> @@ -15,7 +15,7 @@ do
>  			echo "Adding 'dtoverlay=pi3-miniuart-bt' to config.txt (fixes ttyAMA0 serial console)."
>  			cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
>  
> -# fixes rpi3 ttyAMA0 serial console
> +# fixes rpi3/4 ttyAMA0 serial console

Are you sure that is the same devicetree overlay for rpi3 and rpi4 ?

The option is rpi3 specific (--add-pi3-miniuart-bt-overlay).

>  dtoverlay=pi3-miniuart-bt
>  __EOF__
>  		fi
> @@ -35,7 +35,7 @@ __EOF__
>  		if ! grep -qE '^enable_uart=1' "${BINARIES_DIR}/rpi-firmware/config.txt"; then
>  			cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
>  
> -# enable rpi3 ttyS0 serial console
> +# enable rpi3/4 ttyS0 serial console
>  enable_uart=1
>  __EOF__
>  		fi
> diff --git a/board/raspberrypi4-64 b/board/raspberrypi4-64
> new file mode 120000
> index 0000000000..fcdafc81ed
> --- /dev/null
> +++ b/board/raspberrypi4-64
> @@ -0,0 +1 @@
> +raspberrypi
> \ No newline at end of file
> diff --git a/configs/raspberrypi4_64_defconfig b/configs/raspberrypi4_64_defconfig
> new file mode 100644
> index 0000000000..3d30fb05f5
> --- /dev/null
> +++ b/configs/raspberrypi4_64_defconfig
> @@ -0,0 +1,24 @@
> +BR2_aarch64=y
> +BR2_cortex_a72=y
> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
> +BR2_TOOLCHAIN_BUILDROOT_CXX=y
> +BR2_SYSTEM_DHCP="eth0"
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4-64/post-build.sh"
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4-64/post-image.sh"
> +BR2_ROOTFS_POST_SCRIPT_ARGS="--add-pi3-miniuart-bt-overlay --aarch64"
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
> +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,raspberrypi-kernel_1.20190819-1)/linux-raspberrypi-kernel_1.20190819-1.tar.gz"
> +BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-4-b"
> +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
> +BR2_PACKAGE_RPI_FIRMWARE=y
> +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> +BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
> +# BR2_TARGET_ROOTFS_TAR is not set
> +BR2_PACKAGE_HOST_DOSFSTOOLS=y
> +BR2_PACKAGE_HOST_GENIMAGE=y
> +BR2_PACKAGE_HOST_MTOOLS=y

We use generally a hand written defconfig file to add some comments, see [1].

[1] https://git.buildroot.net/buildroot/tree/configs/raspberrypi4_defconfig

Best regards,
Romain
Romain Naour Nov. 29, 2019, 5:45 p.m. UTC | #2
Le 29/11/2019 à 18:43, Romain Naour a écrit :
> Hi Arthur,
> 
> Le 29/11/2019 à 17:02, Arthur Courtel a écrit :
>> This configuration builds a 64bit image for RaspberryPi 4.
>>
>> Signed-off-by: Arthur Courtel <arthur.courtel@smile.fr>
>> ---

[...]

>> diff --git a/configs/raspberrypi4_64_defconfig b/configs/raspberrypi4_64_defconfig
>> new file mode 100644
>> index 0000000000..3d30fb05f5
>> --- /dev/null
>> +++ b/configs/raspberrypi4_64_defconfig
>> @@ -0,0 +1,24 @@
>> +BR2_aarch64=y
>> +BR2_cortex_a72=y
>> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
>> +BR2_TOOLCHAIN_BUILDROOT_CXX=y
>> +BR2_SYSTEM_DHCP="eth0"
>> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4-64/post-build.sh"
>> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4-64/post-image.sh"
>> +BR2_ROOTFS_POST_SCRIPT_ARGS="--add-pi3-miniuart-bt-overlay --aarch64"

Here you are using "--add-pi3-miniuart-bt-overlay", have you tested the
Bluetooth interface?

Best regards,
Romain
Peter Korsgaard Dec. 1, 2019, 5:54 p.m. UTC | #3
>>>>> "Romain" == Romain Naour <romain.naour@smile.fr> writes:

 > Hi Arthur,
 > Le 29/11/2019 à 17:02, Arthur Courtel a écrit :
 >> This configuration builds a 64bit image for RaspberryPi 4.
 >> 
 >> Signed-off-by: Arthur Courtel <arthur.courtel@smile.fr>
 >> ---
 >> .../raspberrypi/genimage-raspberrypi4-64.cfg  | 30 +++++++++++++++++++
 >> board/raspberrypi/post-image.sh               |  4 +--
 >> board/raspberrypi4-64                         |  1 +
 >> configs/raspberrypi4_64_defconfig             | 24 +++++++++++++++
 >> 4 files changed, 57 insertions(+), 2 deletions(-)
 >> create mode 100644 board/raspberrypi/genimage-raspberrypi4-64.cfg
 >> create mode 120000 board/raspberrypi4-64
 >> create mode 100644 configs/raspberrypi4_64_defconfig
 >> 
 >> diff --git a/board/raspberrypi/genimage-raspberrypi4-64.cfg b/board/raspberrypi/genimage-raspberrypi4-64.cfg
 >> new file mode 100644
 >> index 0000000000..3c480e98f0
 >> --- /dev/null
 >> +++ b/board/raspberrypi/genimage-raspberrypi4-64.cfg
 >> @@ -0,0 +1,30 @@
 >> +image boot.vfat {
 >> +  vfat {
 >> +    files = {
 >> +      "bcm2711-rpi-4-b.dtb",
 >> +      "rpi-firmware/cmdline.txt",
 >> +      "rpi-firmware/config.txt",
 >> +      "rpi-firmware/fixup4.dat",
 >> +      "rpi-firmware/start4.elf",
 >> +      "rpi-firmware/overlays",
 >> +      "Image"

 > Not related to your patch but the raspberry-pi3 defconfig use zImage but the
 > 64bit version use Image.

 > Any reason for this?

Image is the default name for arm64 kernels. There is no "zImage"
support for arm64.
Arthur Courtel Dec. 2, 2019, 12:46 p.m. UTC | #4
Hi Romain,
I took the --add-pi3-miniuart-bt-overlay option from the RPI 4 defconfig. I
don't know well enough DTS mechanism to tell if this overlay is needed by
the rpi4 DTS.
If someone can look at it ?
I don't have the board to test without today but I'll test test as soon as
I can.
i will send proper defconfig as soon as we know about bt overlay option.

Best regards,
Arthur


On Fri, Nov 29, 2019 at 6:43 PM Romain Naour <romain.naour@smile.fr> wrote:

> Hi Arthur,
>
> Le 29/11/2019 à 17:02, Arthur Courtel a écrit :
> > This configuration builds a 64bit image for RaspberryPi 4.
> >
> > Signed-off-by: Arthur Courtel <arthur.courtel@smile.fr>
> > ---
> >  .../raspberrypi/genimage-raspberrypi4-64.cfg  | 30 +++++++++++++++++++
> >  board/raspberrypi/post-image.sh               |  4 +--
> >  board/raspberrypi4-64                         |  1 +
> >  configs/raspberrypi4_64_defconfig             | 24 +++++++++++++++
> >  4 files changed, 57 insertions(+), 2 deletions(-)
> >  create mode 100644 board/raspberrypi/genimage-raspberrypi4-64.cfg
> >  create mode 120000 board/raspberrypi4-64
> >  create mode 100644 configs/raspberrypi4_64_defconfig
> >
> > diff --git a/board/raspberrypi/genimage-raspberrypi4-64.cfg
> b/board/raspberrypi/genimage-raspberrypi4-64.cfg
> > new file mode 100644
> > index 0000000000..3c480e98f0
> > --- /dev/null
> > +++ b/board/raspberrypi/genimage-raspberrypi4-64.cfg
> > @@ -0,0 +1,30 @@
> > +image boot.vfat {
> > +  vfat {
> > +    files = {
> > +      "bcm2711-rpi-4-b.dtb",
> > +      "rpi-firmware/cmdline.txt",
> > +      "rpi-firmware/config.txt",
> > +      "rpi-firmware/fixup4.dat",
> > +      "rpi-firmware/start4.elf",
> > +      "rpi-firmware/overlays",
> > +      "Image"
>
> Not related to your patch but the raspberry-pi3 defconfig use zImage but
> the
> 64bit version use Image.
>
> Any reason for this?
>
> > +    }
> > +  }
> > +  size = 32M
> > +}
> > +
> > +image sdcard.img {
> > +  hdimage {
> > +  }
> > +
> > +  partition boot {
> > +    partition-type = 0xC
> > +    bootable = "true"
> > +    image = "boot.vfat"
> > +  }
> > +
> > +  partition rootfs {
> > +    partition-type = 0x83
> > +    image = "rootfs.ext4"
> > +  }
> > +}
> > diff --git a/board/raspberrypi/post-image.sh
> b/board/raspberrypi/post-image.sh
> > index bf9af5dc60..e79141f142 100755
> > --- a/board/raspberrypi/post-image.sh
> > +++ b/board/raspberrypi/post-image.sh
> > @@ -15,7 +15,7 @@ do
> >                       echo "Adding 'dtoverlay=pi3-miniuart-bt' to
> config.txt (fixes ttyAMA0 serial console)."
> >                       cat << __EOF__ >>
> "${BINARIES_DIR}/rpi-firmware/config.txt"
> >
> > -# fixes rpi3 ttyAMA0 serial console
> > +# fixes rpi3/4 ttyAMA0 serial console
>
> Are you sure that is the same devicetree overlay for rpi3 and rpi4 ?
>
> The option is rpi3 specific (--add-pi3-miniuart-bt-overlay).
>
> >  dtoverlay=pi3-miniuart-bt
> >  __EOF__
> >               fi
> > @@ -35,7 +35,7 @@ __EOF__
> >               if ! grep -qE '^enable_uart=1'
> "${BINARIES_DIR}/rpi-firmware/config.txt"; then
> >                       cat << __EOF__ >>
> "${BINARIES_DIR}/rpi-firmware/config.txt"
> >
> > -# enable rpi3 ttyS0 serial console
> > +# enable rpi3/4 ttyS0 serial console
> >  enable_uart=1
> >  __EOF__
> >               fi
> > diff --git a/board/raspberrypi4-64 b/board/raspberrypi4-64
> > new file mode 120000
> > index 0000000000..fcdafc81ed
> > --- /dev/null
> > +++ b/board/raspberrypi4-64
> > @@ -0,0 +1 @@
> > +raspberrypi
> > \ No newline at end of file
> > diff --git a/configs/raspberrypi4_64_defconfig
> b/configs/raspberrypi4_64_defconfig
> > new file mode 100644
> > index 0000000000..3d30fb05f5
> > --- /dev/null
> > +++ b/configs/raspberrypi4_64_defconfig
> > @@ -0,0 +1,24 @@
> > +BR2_aarch64=y
> > +BR2_cortex_a72=y
> > +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
> > +BR2_TOOLCHAIN_BUILDROOT_CXX=y
> > +BR2_SYSTEM_DHCP="eth0"
> > +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4-64/post-build.sh"
> > +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4-64/post-image.sh"
> > +BR2_ROOTFS_POST_SCRIPT_ARGS="--add-pi3-miniuart-bt-overlay --aarch64"
> > +BR2_LINUX_KERNEL=y
> > +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
> > +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call
> github,raspberrypi,linux,raspberrypi-kernel_1.20190819-1)/linux-raspberrypi-kernel_1.20190819-1.tar.gz"
> > +BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
> > +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> > +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-4-b"
> > +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
> > +BR2_PACKAGE_RPI_FIRMWARE=y
> > +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
> > +BR2_TARGET_ROOTFS_EXT2=y
> > +BR2_TARGET_ROOTFS_EXT2_4=y
> > +BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
> > +# BR2_TARGET_ROOTFS_TAR is not set
> > +BR2_PACKAGE_HOST_DOSFSTOOLS=y
> > +BR2_PACKAGE_HOST_GENIMAGE=y
> > +BR2_PACKAGE_HOST_MTOOLS=y
>
> We use generally a hand written defconfig file to add some comments, see
> [1].
>
> [1]
> https://git.buildroot.net/buildroot/tree/configs/raspberrypi4_defconfig
>
> Best regards,
> Romain
>
>
>
Peter Seiderer Dec. 2, 2019, 8:33 p.m. UTC | #5
Hello Romain, Arthur,

On Fri, 29 Nov 2019 18:43:42 +0100, Romain Naour <romain.naour@smile.fr> wrote:

> Hi Arthur,
> 
> Le 29/11/2019 à 17:02, Arthur Courtel a écrit :
> > This configuration builds a 64bit image for RaspberryPi 4.
> > 
> > Signed-off-by: Arthur Courtel <arthur.courtel@smile.fr>
> > ---
> >  .../raspberrypi/genimage-raspberrypi4-64.cfg  | 30 +++++++++++++++++++
> >  board/raspberrypi/post-image.sh               |  4 +--
> >  board/raspberrypi4-64                         |  1 +
> >  configs/raspberrypi4_64_defconfig             | 24 +++++++++++++++
> >  4 files changed, 57 insertions(+), 2 deletions(-)
> >  create mode 100644 board/raspberrypi/genimage-raspberrypi4-64.cfg
> >  create mode 120000 board/raspberrypi4-64
> >  create mode 100644 configs/raspberrypi4_64_defconfig
> > 
> > diff --git a/board/raspberrypi/genimage-raspberrypi4-64.cfg b/board/raspberrypi/genimage-raspberrypi4-64.cfg
> > new file mode 100644
> > index 0000000000..3c480e98f0
> > --- /dev/null
> > +++ b/board/raspberrypi/genimage-raspberrypi4-64.cfg
> > @@ -0,0 +1,30 @@
> > +image boot.vfat {
> > +  vfat {
> > +    files = {
> > +      "bcm2711-rpi-4-b.dtb",
> > +      "rpi-firmware/cmdline.txt",
> > +      "rpi-firmware/config.txt",
> > +      "rpi-firmware/fixup4.dat",
> > +      "rpi-firmware/start4.elf",
> > +      "rpi-firmware/overlays",
> > +      "Image"  
> 
> Not related to your patch but the raspberry-pi3 defconfig use zImage but the
> 64bit version use Image.
> 
> Any reason for this?
> 
> > +    }
> > +  }
> > +  size = 32M
> > +}
> > +
> > +image sdcard.img {
> > +  hdimage {
> > +  }
> > +
> > +  partition boot {
> > +    partition-type = 0xC
> > +    bootable = "true"
> > +    image = "boot.vfat"
> > +  }
> > +
> > +  partition rootfs {
> > +    partition-type = 0x83
> > +    image = "rootfs.ext4"
> > +  }
> > +}
> > diff --git a/board/raspberrypi/post-image.sh b/board/raspberrypi/post-image.sh
> > index bf9af5dc60..e79141f142 100755
> > --- a/board/raspberrypi/post-image.sh
> > +++ b/board/raspberrypi/post-image.sh
> > @@ -15,7 +15,7 @@ do
> >  			echo "Adding 'dtoverlay=pi3-miniuart-bt' to config.txt (fixes ttyAMA0 serial console)."
> >  			cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
> >  
> > -# fixes rpi3 ttyAMA0 serial console
> > +# fixes rpi3/4 ttyAMA0 serial console  
> 
> Are you sure that is the same devicetree overlay for rpi3 and rpi4 ?
> 
> The option is rpi3 specific (--add-pi3-miniuart-bt-overlay).

The raspberrypi firmware README ([1]) states:

	Name:   pi3-miniuart-bt
	Info:   This overlay has been renamed miniuart-bt, keeping pi3-miniuart-bt as
	        an alias for backwards compatibility.
	Load:   <Deprecated>

and

	Name:   miniuart-bt
	Info:   Switch the onboard Bluetooth function on Pi 3B, 3B+, 3A+, 4B and Zero W
	        to use the mini-UART (ttyS0) and restore UART0/ttyAMA0 over GPIOs 14 &
	        15. Note that this may reduce the maximum usable baudrate.
	        N.B. It is also necessary to edit /lib/systemd/system/hciuart.service
	        and replace ttyAMA0 with ttyS0, unless using Raspbian or another
	        distribution with udev rules that create /dev/serial0 and /dev/serial1,
	        in which case use /dev/serial1 instead because it will always be
	        correct. Furthermore, you must also set core_freq and core_freq_min to
	        the same value in config.txt or the miniuart will not work.
	Load:   dtoverlay=miniuart-bt
	Params: <None>

So yes the name is pi3 specific, yes it is needed to gain the 'normal' serial
output, yes is will work on the pi4 (not personal tested because of lack
of pi4 hardware), and yes time for an update of the option with the next
firmware update....

Regards,
Peter

[1] https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README

> 
> >  dtoverlay=pi3-miniuart-bt
> >  __EOF__
> >  		fi
> > @@ -35,7 +35,7 @@ __EOF__
> >  		if ! grep -qE '^enable_uart=1' "${BINARIES_DIR}/rpi-firmware/config.txt"; then
> >  			cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
> >  
> > -# enable rpi3 ttyS0 serial console
> > +# enable rpi3/4 ttyS0 serial console
> >  enable_uart=1
> >  __EOF__
> >  		fi
> > diff --git a/board/raspberrypi4-64 b/board/raspberrypi4-64
> > new file mode 120000
> > index 0000000000..fcdafc81ed
> > --- /dev/null
> > +++ b/board/raspberrypi4-64
> > @@ -0,0 +1 @@
> > +raspberrypi
> > \ No newline at end of file
> > diff --git a/configs/raspberrypi4_64_defconfig b/configs/raspberrypi4_64_defconfig
> > new file mode 100644
> > index 0000000000..3d30fb05f5
> > --- /dev/null
> > +++ b/configs/raspberrypi4_64_defconfig
> > @@ -0,0 +1,24 @@
> > +BR2_aarch64=y
> > +BR2_cortex_a72=y
> > +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
> > +BR2_TOOLCHAIN_BUILDROOT_CXX=y
> > +BR2_SYSTEM_DHCP="eth0"
> > +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4-64/post-build.sh"
> > +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4-64/post-image.sh"
> > +BR2_ROOTFS_POST_SCRIPT_ARGS="--add-pi3-miniuart-bt-overlay --aarch64"
> > +BR2_LINUX_KERNEL=y
> > +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
> > +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,raspberrypi-kernel_1.20190819-1)/linux-raspberrypi-kernel_1.20190819-1.tar.gz"
> > +BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
> > +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> > +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-4-b"
> > +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
> > +BR2_PACKAGE_RPI_FIRMWARE=y
> > +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
> > +BR2_TARGET_ROOTFS_EXT2=y
> > +BR2_TARGET_ROOTFS_EXT2_4=y
> > +BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
> > +# BR2_TARGET_ROOTFS_TAR is not set
> > +BR2_PACKAGE_HOST_DOSFSTOOLS=y
> > +BR2_PACKAGE_HOST_GENIMAGE=y
> > +BR2_PACKAGE_HOST_MTOOLS=y  
> 
> We use generally a hand written defconfig file to add some comments, see [1].
> 
> [1] https://git.buildroot.net/buildroot/tree/configs/raspberrypi4_defconfig
> 
> Best regards,
> Romain
> 
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/board/raspberrypi/genimage-raspberrypi4-64.cfg b/board/raspberrypi/genimage-raspberrypi4-64.cfg
new file mode 100644
index 0000000000..3c480e98f0
--- /dev/null
+++ b/board/raspberrypi/genimage-raspberrypi4-64.cfg
@@ -0,0 +1,30 @@ 
+image boot.vfat {
+  vfat {
+    files = {
+      "bcm2711-rpi-4-b.dtb",
+      "rpi-firmware/cmdline.txt",
+      "rpi-firmware/config.txt",
+      "rpi-firmware/fixup4.dat",
+      "rpi-firmware/start4.elf",
+      "rpi-firmware/overlays",
+      "Image"
+    }
+  }
+  size = 32M
+}
+
+image sdcard.img {
+  hdimage {
+  }
+
+  partition boot {
+    partition-type = 0xC
+    bootable = "true"
+    image = "boot.vfat"
+  }
+
+  partition rootfs {
+    partition-type = 0x83
+    image = "rootfs.ext4"
+  }
+}
diff --git a/board/raspberrypi/post-image.sh b/board/raspberrypi/post-image.sh
index bf9af5dc60..e79141f142 100755
--- a/board/raspberrypi/post-image.sh
+++ b/board/raspberrypi/post-image.sh
@@ -15,7 +15,7 @@  do
 			echo "Adding 'dtoverlay=pi3-miniuart-bt' to config.txt (fixes ttyAMA0 serial console)."
 			cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
 
-# fixes rpi3 ttyAMA0 serial console
+# fixes rpi3/4 ttyAMA0 serial console
 dtoverlay=pi3-miniuart-bt
 __EOF__
 		fi
@@ -35,7 +35,7 @@  __EOF__
 		if ! grep -qE '^enable_uart=1' "${BINARIES_DIR}/rpi-firmware/config.txt"; then
 			cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
 
-# enable rpi3 ttyS0 serial console
+# enable rpi3/4 ttyS0 serial console
 enable_uart=1
 __EOF__
 		fi
diff --git a/board/raspberrypi4-64 b/board/raspberrypi4-64
new file mode 120000
index 0000000000..fcdafc81ed
--- /dev/null
+++ b/board/raspberrypi4-64
@@ -0,0 +1 @@ 
+raspberrypi
\ No newline at end of file
diff --git a/configs/raspberrypi4_64_defconfig b/configs/raspberrypi4_64_defconfig
new file mode 100644
index 0000000000..3d30fb05f5
--- /dev/null
+++ b/configs/raspberrypi4_64_defconfig
@@ -0,0 +1,24 @@ 
+BR2_aarch64=y
+BR2_cortex_a72=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+BR2_SYSTEM_DHCP="eth0"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4-64/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4-64/post-image.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="--add-pi3-miniuart-bt-overlay --aarch64"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,raspberrypi-kernel_1.20190819-1)/linux-raspberrypi-kernel_1.20190819-1.tar.gz"
+BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-4-b"
+BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_RPI_FIRMWARE=y
+BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
+# BR2_TARGET_ROOTFS_TAR is not set
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y