From 7d7aa2fd924c27829ec25f825481554dd81bce97 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Sat, 8 Feb 2020 21:58:55 +0100 Subject: brcm2708: rename target to bcm27xx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change makes the names of Broadcom targets consistent by using the common notation based on SoC/CPU ID (which is used internally anyway), bcmXXXX instead of brcmXXXX. This is even used for target TITLE in make menuconfig already, only the short target name used brcm so far. Despite, since subtargets range from bcm2708 to bcm2711, it seems appropriate to use bcm27xx instead of bcm2708 (again, as already done for BOARDNAME). This also renames the packages brcm2708-userland and brcm2708-gpu-fw. Signed-off-by: Adrian Schmutzler Acked-by: Álvaro Fernández Rojas --- .../lib/preinit/05_set_preinit_iface_brcm2708 | 22 +++++ .../bcm27xx/base-files/lib/preinit/79_move_config | 20 +++++ .../bcm27xx/base-files/lib/upgrade/keep.d/platform | 1 + .../bcm27xx/base-files/lib/upgrade/platform.sh | 99 ++++++++++++++++++++++ 4 files changed, 142 insertions(+) create mode 100644 target/linux/bcm27xx/base-files/lib/preinit/05_set_preinit_iface_brcm2708 create mode 100644 target/linux/bcm27xx/base-files/lib/preinit/79_move_config create mode 100644 target/linux/bcm27xx/base-files/lib/upgrade/keep.d/platform create mode 100644 target/linux/bcm27xx/base-files/lib/upgrade/platform.sh (limited to 'target/linux/bcm27xx/base-files/lib') diff --git a/target/linux/bcm27xx/base-files/lib/preinit/05_set_preinit_iface_brcm2708 b/target/linux/bcm27xx/base-files/lib/preinit/05_set_preinit_iface_brcm2708 new file mode 100644 index 0000000000..de221ae7ad --- /dev/null +++ b/target/linux/bcm27xx/base-files/lib/preinit/05_set_preinit_iface_brcm2708 @@ -0,0 +1,22 @@ +#!/bin/sh +# Copyright (C) 2015-2016 OpenWrt.org +# Copyright (C) 2017 LEDE project + +set_preinit_iface() { + . /lib/functions.sh + + case "$(board_name)" in + raspberrypi,2-model-b |\ + raspberrypi,2-model-b-rev2 |\ + raspberrypi,3-model-b |\ + raspberrypi,3-model-b-plus |\ + raspberrypi,4-model-b |\ + raspberrypi,model-b |\ + raspberrypi,model-b-plus |\ + raspberrypi,model-b-rev2) + ifname=eth0 + ;; + esac +} + +boot_hook_add preinit_main set_preinit_iface diff --git a/target/linux/bcm27xx/base-files/lib/preinit/79_move_config b/target/linux/bcm27xx/base-files/lib/preinit/79_move_config new file mode 100644 index 0000000000..b8738b645e --- /dev/null +++ b/target/linux/bcm27xx/base-files/lib/preinit/79_move_config @@ -0,0 +1,20 @@ +#!/bin/sh +# Copyright (C) 2015 OpenWrt.org + +. /lib/upgrade/common.sh + +BOOTPART=/dev/mmcblk0p1 + +move_config() { + if [ -b $BOOTPART ]; then + insmod nls_cp437 + insmod nls_iso8859-1 + insmod fat + insmod vfat + mkdir -p /boot + mount -t vfat -o rw,noatime $BOOTPART /boot + [ -f "/boot/$BACKUP_FILE" ] && mv -f "/boot/$BACKUP_FILE" / + fi +} + +boot_hook_add preinit_mount_root move_config diff --git a/target/linux/bcm27xx/base-files/lib/upgrade/keep.d/platform b/target/linux/bcm27xx/base-files/lib/upgrade/keep.d/platform new file mode 100644 index 0000000000..786796577d --- /dev/null +++ b/target/linux/bcm27xx/base-files/lib/upgrade/keep.d/platform @@ -0,0 +1 @@ +/boot/config.txt diff --git a/target/linux/bcm27xx/base-files/lib/upgrade/platform.sh b/target/linux/bcm27xx/base-files/lib/upgrade/platform.sh new file mode 100644 index 0000000000..811355b8f7 --- /dev/null +++ b/target/linux/bcm27xx/base-files/lib/upgrade/platform.sh @@ -0,0 +1,99 @@ +. /lib/functions.sh + +REQUIRE_IMAGE_METADATA=1 + +# copied from x86's platform.sh + +platform_check_image() { + local diskdev partdev diff + + [ "$#" -gt 1 ] && return 1 + + export_bootdevice && export_partdevice diskdev 0 || { + echo "Unable to determine upgrade device" + return 1 + } + + get_partitions "/dev/$diskdev" bootdisk + + #extract the boot sector from the image + get_image "$@" | dd of=/tmp/image.bs count=1 bs=512b 2>/dev/null + + get_partitions /tmp/image.bs image + + #compare tables + diff="$(grep -F -x -v -f /tmp/partmap.bootdisk /tmp/partmap.image)" + + rm -f /tmp/image.bs /tmp/partmap.bootdisk /tmp/partmap.image + + if [ -n "$diff" ]; then + echo "Partition layout has changed. Full image will be written." + ask_bool 0 "Abort" && exit 1 + return 0 + fi + + return 0; +} + +platform_do_upgrade() { + local diskdev partdev diff + + export_bootdevice && export_partdevice diskdev 0 || { + echo "Unable to determine upgrade device" + return 1 + } + + sync + + if [ "$UPGRADE_OPT_SAVE_PARTITIONS" = "1" ]; then + get_partitions "/dev/$diskdev" bootdisk + + #extract the boot sector from the image + get_image "$@" | dd of=/tmp/image.bs count=1 bs=512b + + get_partitions /tmp/image.bs image + + #compare tables + diff="$(grep -F -x -v -f /tmp/partmap.bootdisk /tmp/partmap.image)" + else + diff=1 + fi + + if [ -n "$diff" ]; then + get_image "$@" | dd of="/dev/$diskdev" bs=2M conv=fsync + + # Separate removal and addtion is necessary; otherwise, partition 1 + # will be missing if it overlaps with the old partition 2 + partx -d - "/dev/$diskdev" + partx -a - "/dev/$diskdev" + + return 0 + fi + + #iterate over each partition from the image and write it to the boot disk + while read part start size; do + if export_partdevice partdev $part; then + echo "Writing image to /dev/$partdev..." + get_image "$@" | dd of="/dev/$partdev" ibs="512" obs=1M skip="$start" count="$size" conv=fsync + else + echo "Unable to find partition $part device, skipped." + fi + done < /tmp/partmap.image + + #copy partition uuid + echo "Writing new UUID to /dev/$diskdev..." + get_image "$@" | dd of="/dev/$diskdev" bs=1 skip=440 count=4 seek=440 conv=fsync +} + +platform_copy_config() { + local partdev + + if export_partdevice partdev 1; then + mkdir -p /boot + [ -f /boot/kernel.img ] || mount -t vfat -o rw,noatime "/dev/$partdev" /boot + cp -af "$UPGRADE_BACKUP" "/boot/$BACKUP_FILE" + tar -C / -zxvf "$UPGRADE_BACKUP" boot/config.txt + sync + unmount /boot + fi +} -- cgit v1.2.3