Commit Graph

36 Commits

Author SHA1 Message Date
Matt Flax
b05381cbb5 Fix rasberry Pi 64bit firmware overlay inclusion
This patch enables the inclusion of the Pi's overlays. Previously
the overlays were not included in the genimage configuration.
This patch ensures overlays are included in the sdcard (when
enabled) by defaulting to the inclusion of an empty
output/images/rpi-firmware/overlays directory in genimage cfg.

The Pi's overlays are built with the following config
variables:
BR2_PACKAGE_RPI_FIRMWARE=y
BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS=y
BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS=y
BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
BR2_LINUX_KERNEL_IMAGE_NAME="Image"
BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image modules dtbs"

After building, the dtbo files are present in the
output/images/rpi-firmware/overlays directory but not added
to the sdcard because they are missing from the genimage cfg
file.

Signed-off-by: Matt Flax <flatmax@flatmax.org>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[Arnout: fix indentation, and add comment explaining why an empty
         directory is created.]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

(cherry picked from commit 51d6d6c580)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-04-24 22:14:25 +02:00
J. Tang
722c11ce7b board/raspberrypi: update firmware option to use 64-bit mode
As per latest Raspberry Pi firmware documentation, the option
'arm_control' has been deprecated in favor of 'arm_64bit'.

Fixes https://bugs.busybox.net/show_bug.cgi?id=11111.

Signed-off-by: Jason Tang <tang@jtang.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-06-30 22:07:01 +02:00
Martin Bark
fbb45f6d7f configs/raspberrypi3_64_defconfig: add support for rpi3b+
The kernel now includes the rpi3b+ device tree for aarch64

Signed-off-by: Martin Bark <martin@barkynet.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-05-20 12:32:08 +02:00
Martin Bark
012c400f9d board/raspberrypi: add support for rpi3 b+
Signed-off-by: Martin Bark <martin@barkynet.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-04-06 21:49:18 +02:00
Yves Deweerdt
650818fb3a configs/raspberrypi0w_defconfig: new defconfig for Raspberry Pi Zero W
Up to now, Raspberry Pi Zero W (rpi0w) could be built with the normal
raspberrypi0_defconfig. However, then you don't have support for the
Bluetooth out-of-the-box, which makes using a W a bit pointless.

Therefore, create a separate defconfig for the W. It is a copy of
raspberrypi0_defconfig with the following changes:
 - Add DT overlays (from rpi-firmware) to support Bluetooth.
 - Pass --add-pi3-miniuart-bt-overlay to post-image.sh.

Since there is now a separate raspberrypi0w_defconfig, the W support
can be removed from raspberrypi0_defconfig.

Signed-off-by: Yves Deweerdt <yves.deweerdt.linux@gmail.com>
[Arnout:
 - Bump to same kernel version as raspberrypi0.
 - Remove redundant comment.
 - Remove redundant default BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS=y.
 - Improve commit log.
 - Refresh .gitlab-ci.yml.
]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2018-03-31 12:31:32 +02:00
Gaël PORTAY
d0b055239e raspberrypi: post-image.sh fix gpu_mem option
The gpu_mem option is not using the proper option argument which causes sed to
fail.

	+ case "${arg}" in
	+ gpu_mem=ome/gportay/output-rpi3-qtwe/images
	+ sed -e '/^ome/gportay/output-rpi3-qtwe/images=/s,=.*,=ome/gportay/output-rpi3-qtwe/images,' -i /home/gportay/output-rpi3-qtwe/images/rpi-firmware/config.txt
	sed: -e expression #1, char 8: extra characters after command
	+ case "${arg}" in
	+ gpu_mem=ome/gportay/output-rpi3-qtwe/images
	+ sed -e '/^ome/gportay/output-rpi3-qtwe/images=/s,=.*,=ome/gportay/output-rpi3-qtwe/images,' -i /home/gportay/output-rpi3-qtwe/images/rpi-firmware/config.txt
	sed: -e expression #1, char 8: extra characters after command

The issue comes from the use of $1 instead of $arg to extract the gpu_mem
value. $1 is the $(BINARIES_DIR) which leads to a sed expression error.

Also, it adds the error flag to the shell script to prevent from such situation
and terminate the build in error.

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-10-21 21:37:10 +02:00
Gaël PORTAY
f9ccd2a186 raspberrypi: post-image.sh add new gpu_mem option
The amount of GPU memory can be set using the new option --gpu_mem_XXX
(where XXX is the total amount of memory available on the board).

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-09-27 22:08:03 +02:00
Erik Stromdahl
39576d0f73 board/raspberrypi/post-image.sh: add multi arg support
Add possibility to supply multiple arguments to
post-image.sh

Signed-off-by: Erik Stromdahl <erik.stromdahl@gmail.com>
[Arnout: indent esac, suggested by Gaël PORTAY]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-09-27 22:08:03 +02:00
Gaël PORTAY
9bbea36e3e configs: add raspberrypi3 64bits defconfig
This configuration builds a 64bit image for RaspberryPi 3.

The size of the ext4 filesystem has to be extended to fit the large amount
(~60MB) of kernel modules enabled in the defconfig.

[Peter: drop gcc version selection / glibc, explain ext4 size requirement]
Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Tested-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-05-04 09:25:20 +02:00
Martin Bark
a726c7dff8 configs/raspberrypi3_defconfig: add raspberry pi 3 compute module support
Signed-off-by: Martin Bark <martin@barkynet.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-03-05 21:25:51 +01:00
Martin Bark
ab07865f7e configs/raspberrypi0_defconfig: add raspberry pi zero w support
Signed-off-by: Martin Bark <martin@barkynet.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-03-05 21:25:51 +01:00
Baruch Siach
b1039e7930 board: raspberrypi: mention the Zero model in readme.txt
Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-01-26 22:43:34 +01:00
Baruch Siach
3cca45ee6d board: raspberrypi: don't generate a marked kernel
We no longer use the marked kernel.

Cc: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-01-26 22:35:15 +01:00
Baruch Siach
5a09c19908 board: raspberrypi: use regular kernel image
Since release 4.4 a kernel without a trailer is assumed to be device tree
capable. Since our Raspberry Pi defconfigs all use the newer firmware we can
just use the regular kernel image.

https://www.raspberrypi.org/documentation/configuration/device-tree.md

Tested on Raspberry Pi 3.

Cc: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-01-26 22:35:05 +01:00
Peter Seiderer
1e03cc2290 raspberrypi3: fix serial console (load pi3-miniuart-bt overlay)
- enable BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS in raspberrypi3_defconfig
- add copy of rpi-firmware/overlays directory to boot partition in genimage-raspberrypi3.cfg
- enhance post-image.sh script to add 'dtoverlay=pi3-miniuart-bt' on request
- add BR2_ROOTFS_POST_SCRIPT_ARGS="--add-pi3-miniuart-bt-overlay" in raspberrypi3_defconfig

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-09-18 19:21:18 +02:00
Peter Korsgaard
720b9095a6 board/raspberrypi/post-build.sh: only tweak /etc/inittab if available
As pointed out in bug #9161, we don't always have an inittab file (if
systemd or no init is used), so the post build script should only try to
tweak it if present.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-08-26 15:37:17 +02:00
Yann E. MORIN
ee50eb8ad3 boards/raspberrypi0: new board
Add support for the rpi-0, which is basically a rpi (model A+) in a
smaller form-factor.

This one does not have an ethernet port, so we just remove it from the
configuration (or we could use the existing rasbperrypi_defconfig and
suffer from a longer boot time because of the waiting for eth0).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-05-08 15:54:30 +02:00
Ubaldo Porcheddu
b159b15d07 configs: add Raspberry Pi 3 defconfig
So far identical to the rpi2 one except for the dts file as the SW runs in
32bit mode.

[Peter: extend commit message]
Signed-off-by: Ubaldo Porcheddu <ubaldo@eja.it>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-04-25 14:07:58 +02:00
Luca Ceresoli
babf1190b3 raspberrypi, raspberrypi2: document the two consoles (UART+HDMI)
The defconfigs for the Raspberry Pi boards start a console on HDMI in
addition to the classic one on UART. Document this feature in the
readme.

Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-04-19 00:12:23 +02:00
Luca Ceresoli
20878a1017 raspberrypi, raspberrypi2: add a serial console
The current Buildroot defconfigs for Raspberry Pi and Raspberry Pi 2
instantiate a console on tty1, which appears on HDMI. Add a console on
the serial port (ttyAMA0) to be more consistent with other defconfigs
and provide a better out-of-the-box experience to users used to have a
serial console from Buildroot defconfigs.

This requires three changes:
 1. have two 'console=' entries in the kernel command line: tty1,
    then ttyAMA0;
 2. change BR2_TARGET_GENERIC_GETTY_PORT to "console", so it starts
    a getty on the last console= passed to the kernel, ttyAMA0;
 3. add a new getty on tty1 to the generated inittab.

Step 2 is actually obtained by removing BR2_TARGET_GENERIC_GETTY_PORT
entirely from the defconfigs, since "console" is the default value.

Step 3 requires a post-build script since the Buildroot makefiles can
configure only one console.

Note: instead of simply adding a new getty on ttyAMA0 (which would
work) this patch actually changes BR2_TARGET_GENERIC_GETTY_PORT to
instantiate a console on UART, then adds back tty1 via
post-build.sh. This is done only to avoid the "GENERIC_SERIAL" comment
where we instantiate an HDMI console, then instantiate a really-serial
console on another line.

The result is these two inittab lines:

  console::respawn:/sbin/getty -L  console 0 vt100 # GENERIC_SERIAL
  tty1::respawn:/sbin/getty -L  tty1 0 vt100 # HDMI console

Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-04-18 13:36:11 +02:00
Gustavo Zacarias
1dbc3c30a2 configs/raspberrypi: add dtb for compute module
[Peter: describe what 'CM' stands for, update comment]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 21:26:45 +01:00
Gustavo Zacarias
8dd797a054 configs/raspberrypi*: update them to use genimage
Update the raspberrypi and raspberrypi2 configs to use genimage directly
to build the image.
Update the documentation to reflect this, and drop the volatile rootfs
option since it doesn't make much sense and it's not easily integrated
with the genimage configurations.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-12-31 15:22:48 +01:00
Yann E. MORIN
6f999784b8 boards/raspberrypi: update instructions
Now that we have a sanitised set of defconfig files, and we no longer
support non-DT setups, update and simplify the board readme file.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Floris Bos <bos@je-eigen-domein.nl>
Cc: Pascal de Bruijn <pmjdebruijn@pcode.nl>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-30 14:31:17 +02:00
Yann E. MORIN
d8649ca874 configs/raspberrypi: update the DT-enabled config
Update to the latest stable kernel version; build an in-tree DTB; use
a in-tree defconfig; enable C++ (to match what we have in the non-DT
variant); do not install DTB overlays (this minimalist config does not
make use of them).

Generate the DTBs for both the "original" variant (A and B) and the
"Plus" variant (A+ and B+).

Drop our custom linux defconfig file now we use an in-tree one.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Floris Bos <bos@je-eigen-domein.nl>
Cc: Pascal de Bruijn <pmjdebruijn@pcode.nl>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-30 14:30:23 +02:00
Baruch Siach
c306225e5a board/raspberrypi: document RPi-2 defconfig
Document the correct defconfig for ARMv7 based RPi-2.

Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-07 21:27:30 +02:00
Baruch Siach
8921893f7b board/raspberrypi: readme: add a missing word
Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-07 21:27:16 +02:00
Yann E. MORIN
97aaf8b7a2 boards/raspberrypi: update readme with RPi-2 specifics
The RPi-2 has its own DTB, so document it in the list of generated
files.

Also, not all DTBs need to be present on the boot partition, so add a
comment that identifies which should be copied for each model.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-08 18:32:50 +01:00
Yann E. MORIN
7a0c134e7c boards/raspberrypi: update instructions for Raspberry Pi 2
The instructions for the Raspberry Pi 2 (aka model B2) are the same as
the ones for the Raspberry Pi, so:
  - state so in the existing readme
  - create a symlink raspberrypi2 -> raspberrypi

Also fix typo in spelling of "Raspberry Pi" (two words, not one).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-02-26 22:43:37 +01:00
Vivien Didelot
b8f45e7a09 boards/raspberrypi: fix rootfs.tar path in readme
The rootfs.tar file is located under ./output/images/.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-01-25 15:04:35 +01:00
Yann E. MORIN
bb60ad9ba4 boards/raspberrypi: update readme with Device Tree instructions
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-01-10 15:46:49 +01:00
Yann E. MORIN
23da43ae12 configs: add a DT-enabled Raspberry Pi defconfig
This is an example of a Device-Tree-enabled Raspberry Pi defconfig.

We have to use a 3.18-based kernel for that, but there are a few
limitations:

  - we can not use the minimalist RPi defconfig bundled with the kernel,
    namely bcmrpi_quick_defconfig, because it is not DT-enabled, and
    sets CONFIG_ARM_PATCH_PHYS_VIRT to 'n', which prompts a value for
    CONFIG_PHYS_OFFSET, as it as no default for the bcm familly;

  - most importantly, the rpi-3.18.y branch is constantly rebased, so
    there is no guarantee that the sha1 I use today will still be usable
    in the long term. Using the name of hte branch is not better either.

So, we bundle our own DT-enabled linux defconfig that is based on
bcmrpi_quick_defconfig, with just CONFIG_ARM_PATCH_PHYS_VIRT set and the
Device TRee enabled.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-01-10 15:46:42 +01:00
Yann E. MORIN
0b0b352548 boards/raspberrypi: don't document non-existent files
Those files were previously installed, but that's no longer the case
since we select in the menuconfig which version of the bootloader we
install.

[Thomas: fix minor typo in commit log.]

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-01-10 12:12:41 +01:00
Simon Dawson
fae5ac30f0 raspberrypi: tweak readme
Make the readme.txt for the raspberrypi board less misleading regarding the
kernel image file name.

Signed-off-by: Simon Dawson <spdawson@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-15 11:10:24 +01:00
mathieu benoit
094d8ec896 configs: rename rpi_defconfig for consistency
We name all of our boards and defconfig files based on the boards
fullname, not a nickname or a shortname.

'rpi' is short for Raspberry Pi, so name all our Raspberry Pi ressource
with 'raspberrypi' instead of 'rpi'.

This should also help Buildroot-newcomers to recognise Raspberry Pi
related files (defconfig and board doc).

Signed-off-by: Mathieu Benoit <mathieu.benoit@savoirfairelinux.com>
[yann.morin.1998@free.fr: reverse the rename]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Ryan Barnett <rjbarnet@rockwellcollins.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-10 22:18:52 +01:00
mathieu benoit
7f02c73f8d rpi: improve documentation
Signed-off-by: Mathieu Benoit <mathieu.benoit@savoirfairelinux.com>
[yann.morin.1998@free.fr: further improvements for readability and
    completeness]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-06 23:22:37 +01:00
Maxime Hadjinlian
1eb716f749 configs: add RaspberryPi defconfig
This is a default configuration for the RaspberryPi, tested and functional.

The kernel used is the one developped by the RaspberryPi foundation as
it's not fully supported currently in mainline kernel.  The configuration
used for the kernel is the default bcmrpi.

For more info, please find board/raspberrypi/readme.txt

[Peter: minor README tweaks, rename to readme.txt]
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
[yann.morin.1998@free.fr: use correct kernel headers, update kernel cset]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-26 14:00:29 +01:00