Commit Graph

34 Commits

Author SHA1 Message Date
Rafał Miłecki
b6f4cd57e1 treewide: sysupgrade: pass "save_partitions" option to the "sysupgrade" method
This explicitly lets stage2 know if partitions should be preserved. No
more "touch /tmp/sysupgrade.always.overwrite.bootdisk.partmap" hack.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2019-08-22 13:47:51 +02:00
Álvaro Fernández Rojas
f781582828 brcm2708: Add Raspberry Pi 4 support
- Support added to bcm2709 subtarget (32 bit).
- 64 bit kernel still requires many hacks on RPi 4B.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2019-07-14 12:44:14 +02:00
Klaus Kudielka
ad62247800 base-files: improve lib/upgrade/common.sh
Recently, upgrade device autodetection has been added to the mvebu target.
This exposes some shortcomings of the generic export_bootdevice function,
e.g. on the Turris Omnia: export_bootdevice silently reports the root
partition to be the boot device. This makes the sysupgrade process fail at
several places.

Fix this by clearly distinguishing between /proc/cmdline arguments which
specify the boot disk, and those which specify the root partition. Only in
the latter case, strip off the partition, and do it consistently.
root=PARTUUID=<pseudo PARTUUID for MBR> (any partition) and root=/dev/*
(any partition) are accepted.

The root of the problem is that the *existing* export_bootdevice in
/lib/upgrade/common.sh behaves differently, if the kernel is booted with
root=/dev/..., or if it is booted with root=PARTUUID=...

In the former case, it reports back major/minor of the root partition,
in the latter case it reports back major/minor of the complete boot disk.

Targets, which boot with root=/dev/... *and* use export_bootdevice /
export_partdevice, have added workarounds to this behaviour, by specifying
*negative* increments to the export_partdevice function.

Consequently, those targets have to be adapted to use positive increments,
otherwise they are broken by the change to export_bootdevice.

Fixes: 4e8345ff68 ("mvebu: base-files: autodetect upgrade device")
Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com>
Tested-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2019-05-11 16:37:11 +02:00
Stijn Tintel
26fcc937f7 brcm2708: fix early bootloader config restore
Restoring the bootloader config before rebooting fails:
tar: invalid tar magic

Add the -z option to the tar command to fix this.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2019-02-06 07:39:39 +02:00
Alexandru Ardelean
7de50d1917 brcm2708: platform.sh: fix tar directory directive
BusyBox's `tar` command does not support the `--directory` directive, which
is essentially `-C` in short-form option.
BusyBox's `tar` command supports `-C`.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2018-07-07 18:19:39 +02:00
Daniel Golle
037ef13a16 brcm2708: move wifi calibration EEPROMs out of base-files
Ship EEPROM blobs for specific supported board only and don't have them
lurking around in our source tree but rather download them from
@github/RPi-Distro/firmware-nonfree upstream.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2018-06-14 18:15:33 +02:00
Daniel Golle
3a40a7d5a5 brcm2708: add RPi3+ wifi calibration data
Add files from
https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm/brcmfmac43455-sdio.txt
https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm/brcmfmac43455-sdio.clm_blob

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2018-06-14 13:54:17 +02:00
Christo Nedev
50b0919628 brcm2708: Add support for raspberry pi 3 b+.
Signed-off-by: Christo Nedev <christo.nedev@me.com>
2018-04-27 09:59:33 +02:00
Christian Lamparter
246916ddf4 brcm2708: use x86's upgrade scripts for all rpi targets
Advantages:
 - preserves existing partition layout on the sd-card.
   Only the boot and rootfs partition will be overwritten.

Please note that sysupgrade will refuse to upgrade, if the existing
installation  has an incompatible partition layout. Future changes
to the bootfs and/or rootfs partition size will likely cause breakage
to the sysupgrade procedure. In these cases, the ext4-sdcard.img.gz
will have to be written to the sdcard manually.
Please don't forget to backup your configuration in this case.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2017-12-25 12:19:43 +01:00
Christian Lamparter
6f04128892 brcm2708: convert to dt-based board-detection
Use the values populated by the generic board detect function. The
first compatible from the device tree source file will be the board
name in userspace. The model property from the device tree source file
will be the model name.

Change the board name where used in the userspace and drop the target
specific board detect, to use the generic one.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2017-12-25 12:19:41 +01:00
Christian Lamparter
e79b096ee1 brcm2708: convert to metadata
This patch converts all the raspberrypi images to utilize
the common metadata-based image verification.

Note: the CM1 and CM3 currently use the same "rpi-cm"
boardname.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2017-12-25 12:19:36 +01:00
Stijn Tintel
a48e5bea12 brcm2708: restore /boot/config.txt before reboot
The Raspberry Pi bootloader reads configuration values from config.txt
in the boot partition. This file allows to specify the amount of memory
to assign to the GPU, the license keys for hardware MPEG-2 and VC-1
decoding, Device Tree parameters and overlays, and lots of other things.

Since sysupgrade only restores the configuration after booting the newly
flashed image, these values will not be active, even if sysupgrade would
save /boot/config.txt. To solve this, add the file to the files to be
backed up, and restore it in platform_copy_config, before reboot.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-10-23 12:50:30 +03:00
Mathias Kresin
e0b9ec8e96 treewide: drop target board_name functions
They are not used any longer.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-07-15 23:13:34 +02:00
Mathias Kresin
f12a32630f treewide: use the generic board_name function
Use the generic function instead ot the target specific ones.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-07-15 23:13:34 +02:00
Mathias Kresin
ac3e05c5d7 treewide: populate boardname and model earlier
For targets using the generic board detection and board specific
settings in diag.sh, the board name is still unset at the time the
set_state() provided by diag.sh is called by 10_indicate_preinit.

Change the execution order to ensure the boardname is populated before
required the first time. Do the target specific board detection as
early as possible, directly followed by the generic one to allow a
seamless switch to the generic function for populating /tmp/sysinfo/.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-07-15 23:13:34 +02:00
Stijn Tintel
4124847772 brcm2708: detect Raspberry Pi Zero W
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-03-08 09:03:39 +01:00
Stijn Tintel
a8c2a719fa brcm2708: order boards and models alphabetically
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-03-08 09:03:27 +01:00
Álvaro Fernández Rojas
baad22eed3 brcm2708: update linux 4.9 patches to latest version
As usual these patches were extracted and rebased from the raspberry pi repo:
https://github.com/raspberrypi/linux/tree/rpi-4.9.y

- Remove led1 from diag.sh for RPi3 since it causes boot issues.
- Fix modules.mk typos.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-03-04 19:37:50 +01:00
Álvaro Fernández Rojas
c3d3111831 brcmfmac43430-firmware: remove package and switch to linux-firmware
Now that the firmware for BCM43430 has been submitted to linux-firmware use it
and remove RPiDistro package.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-09-29 21:24:45 +02:00
Álvaro Fernández Rojas
63cb2fb88d brcm2708: properly detect the Raspberry Pi Zero
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-06-21 20:17:38 +02:00
John Crispin
dc92917409 image / basefiles: make console password configurable
Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>
Signed-off-by: John Crispin <john@phrozen.org>
2016-04-18 21:53:07 +02:00
Christian Lamparter
3339f41d26 brcm2708: implement sysupgrade image check
Implement a crude but functioning sysupgrade image check for the
Raspberry Pi. The code only checks if the master boot record boot
signature (0x55aa) is present in the first 512-bytes at the correct
location. This can prevent the odd bricking of a system when flashing
the wrong file.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
2016-04-07 18:26:51 +02:00
John Crispin
993989880a brcm2708: add Raspberry Pi 3 support
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 48967
2016-03-08 18:11:55 +00:00
Felix Fietkau
edb3c1780c brcm2708: fix RPi model B plus support
Not sure if B+ is used or not (mine has B Plus) so leave both

Signed-off-by: Roman Yeryomin <roman@advem.lv>

SVN-Revision: 48311
2016-01-18 12:42:03 +00:00
Jo-Philipp Wich
67e1c87012 all: drop old uci-defaults.sh
Replace former uci-defaults.sh implementation with the uci-defaults-new.sh one
and update all users accordingly.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47867
2015-12-11 15:26:06 +00:00
Jo-Philipp Wich
527ec2af59 all: remove dummy ucidef_set_interface_loopback() from board.d
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47744
2015-12-03 23:13:00 +00:00
John Crispin
cd9d0ee0d0 brcm2708: add device detection and use it for network, leds and preinit
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 47572
2015-11-22 08:04:37 +00:00
John Crispin
7ce3e1fd3c brcm2708: keep boot partition mounted to allow users to change config.txt
This way it's easier to configure device tree overlays, customize other
parameters...

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 47126
2015-10-05 10:27:49 +00:00
John Crispin
623da91e4d brcm2708: remove unneeded base-files
Device tree exports board name/model and device LEDs.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 46397
2015-07-17 12:48:02 +00:00
John Crispin
2de7910102 brcm2708: Implement sysupgrade
Implement sysupgrade for Raspberry Pi, similar to the way it is done on x86:
The config files are saved in the boot partition and moved to where they are
normally expected in preinit.

Also add optional gzip compression for the SD card image, since this can save
a lot of space (76M vs 6M), also similar to x86.

Signed-off-by: Bruno Randolf <br1@einfach.org>

SVN-Revision: 46347
2015-07-14 07:39:10 +00:00
John Crispin
9270474941 brcm2708: force uart as the default console for procd and remove nonexistent console
procd gets last console from cmdline, so swapping tty1 (framebuffer) and ttyAMA0 (uart) is enough to force procd output via uart

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 44448
2015-02-14 20:48:14 +00:00
John Crispin
dc72499b53 brcm2708: add board detection and LED support
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 44447
2015-02-14 20:48:08 +00:00
John Crispin
91e2f1e9a6 brcm2708: Use uci-defaults for network config
By using uci-defaults force_link is enabled, which fixes some link issues if ethernet cable isn't connected when LAN is initialized.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 41583
2014-07-12 06:50:21 +00:00
John Crispin
0e9e7dcd10 adds target used by rapsberry pi
Add support for Raspberry Pi / brcm2708 / 2835

Signed-off-by: Ian Ridge <ianridge [at] gmail.com>

SVN-Revision: 32825
2012-07-24 20:39:17 +00:00