mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-02-27 00:10:29 +00:00
added alarm/uboot-odroid
This commit is contained in:
parent
c8bbf471c9
commit
f339d62bc9
6 changed files with 2267 additions and 0 deletions
1825
alarm/uboot-odroid/0001-support-for-odroid-4412-machines.patch
Normal file
1825
alarm/uboot-odroid/0001-support-for-odroid-4412-machines.patch
Normal file
File diff suppressed because it is too large
Load diff
218
alarm/uboot-odroid/0002-arch-linux-arm-modifications.patch
Normal file
218
alarm/uboot-odroid/0002-arch-linux-arm-modifications.patch
Normal file
|
@ -0,0 +1,218 @@
|
||||||
|
From b6e6bb2392cbf8d2e21685ae7b7d818436d146f6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
|
Date: Fri, 22 Aug 2014 17:51:41 -0600
|
||||||
|
Subject: [PATCH 2/2] arch linux arm modifications
|
||||||
|
|
||||||
|
---
|
||||||
|
include/configs/odroid.h | 163 ++++++++++++++++++-----------------------------
|
||||||
|
1 file changed, 62 insertions(+), 101 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/configs/odroid.h b/include/configs/odroid.h
|
||||||
|
index c0d4157..da1957e 100644
|
||||||
|
--- a/include/configs/odroid.h
|
||||||
|
+++ b/include/configs/odroid.h
|
||||||
|
@@ -14,6 +14,7 @@
|
||||||
|
|
||||||
|
#include <configs/exynos4-dt.h>
|
||||||
|
|
||||||
|
+#define CONFIG_IDENT_STRING " Arch Linux ARM"
|
||||||
|
#define CONFIG_SYS_PROMPT "Odroid # " /* Monitor Command Prompt */
|
||||||
|
|
||||||
|
#undef CONFIG_DEFAULT_DEVICE_TREE
|
||||||
|
@@ -37,6 +38,7 @@
|
||||||
|
#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_SDRAM_BASE + 0x5E00000)
|
||||||
|
#define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_SDRAM_BASE + 0x3E00000)
|
||||||
|
#define CONFIG_SYS_TEXT_BASE 0x43e00000
|
||||||
|
+#define CONFIG_LOADADDR 0x40007FC0
|
||||||
|
|
||||||
|
#include <linux/sizes.h>
|
||||||
|
/* Size of malloc() pool */
|
||||||
|
@@ -51,11 +53,12 @@
|
||||||
|
#define CONFIG_SYS_CONSOLE_IS_IN_ENV
|
||||||
|
|
||||||
|
#define CONFIG_CMD_BOOTZ
|
||||||
|
+#define CONFIG_CMD_FS_GENERIC
|
||||||
|
+#define CONFIG_SUPPORT_RAW_INITRD
|
||||||
|
#define CONFIG_FIT
|
||||||
|
#define CONFIG_FIT_VERBOSE
|
||||||
|
-#define CONFIG_BOOTARGS "Please use defined boot"
|
||||||
|
-#define CONFIG_BOOTCOMMAND "run autoboot"
|
||||||
|
-#define CONFIG_DEFAULT_CONSOLE "console=ttySAC1,115200n8\0"
|
||||||
|
+
|
||||||
|
+#define CONFIG_BOOTDELAY 3
|
||||||
|
|
||||||
|
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_LOAD_ADDR \
|
||||||
|
- GENERATED_GBL_DATA_SIZE)
|
||||||
|
@@ -70,35 +73,6 @@
|
||||||
|
#define CONFIG_ENV_OFFSET (SZ_1K * 1280) /* 1.25 MiB offset */
|
||||||
|
#define CONFIG_ENV_OVERWRITE
|
||||||
|
|
||||||
|
-/* Partitions name */
|
||||||
|
-#define PARTS_BOOT "boot"
|
||||||
|
-#define PARTS_ROOT "platform"
|
||||||
|
-
|
||||||
|
-#define CONFIG_DFU_ALT \
|
||||||
|
- "uImage fat 0 1;" \
|
||||||
|
- "zImage fat 0 1;" \
|
||||||
|
- "Image.itb fat 0 1;" \
|
||||||
|
- "uInitrd fat 0 1;" \
|
||||||
|
- "exynos4412-odroidu3.dtb fat 0 1;" \
|
||||||
|
- "exynos4412-odroidx2.dtb fat 0 1;" \
|
||||||
|
- ""PARTS_BOOT" part 0 1;" \
|
||||||
|
- ""PARTS_ROOT" part 0 2\0" \
|
||||||
|
-
|
||||||
|
-#define CONFIG_SET_DFU_ALT_INFO
|
||||||
|
-#define CONFIG_SET_DFU_ALT_BUF_LEN (SZ_1K)
|
||||||
|
-
|
||||||
|
-#define CONFIG_DFU_ALT_BOOT_EMMC \
|
||||||
|
- "u-boot raw 0x3e 0x800 mmcpart 1;" \
|
||||||
|
- "bl1 raw 0x0 0x1e mmcpart 1;" \
|
||||||
|
- "bl2 raw 0x1e 0x1d mmcpart 1;" \
|
||||||
|
- "tzsw raw 0x83e 0x138 mmcpart 1\0"
|
||||||
|
-
|
||||||
|
-#define CONFIG_DFU_ALT_BOOT_SD \
|
||||||
|
- "u-boot raw 0x3f 0x800;" \
|
||||||
|
- "bl1 raw 0x1 0x1e;" \
|
||||||
|
- "bl2 raw 0x1f 0x1d;" \
|
||||||
|
- "tzsw raw 0x83f 0x138\0"
|
||||||
|
-
|
||||||
|
/*
|
||||||
|
* Bootable media layout:
|
||||||
|
* dev: SD eMMC(part boot)
|
||||||
|
@@ -107,77 +81,64 @@
|
||||||
|
* UBOOT 63 62
|
||||||
|
* TZSW 2111 2110
|
||||||
|
* ENV 2560 2560(part user)
|
||||||
|
- *
|
||||||
|
- * MBR Primary partiions:
|
||||||
|
- * Num Name Size Offset
|
||||||
|
- * 1. BOOT: 100MiB 2MiB
|
||||||
|
- * 2. ROOT: -
|
||||||
|
*/
|
||||||
|
+
|
||||||
|
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||||
|
- "loadkernel=fatload mmc ${mmcbootdev}:${mmcbootpart} ${kerneladdr} " \
|
||||||
|
- "${kernelname}\0" \
|
||||||
|
- "loadinitrd=fatload mmc ${mmcbootdev}:${mmcbootpart} ${initrdaddr} " \
|
||||||
|
- "${initrdname}\0" \
|
||||||
|
- "loaddtb=fatload mmc ${mmcbootdev}:${mmcbootpart} ${fdtaddr} " \
|
||||||
|
- "${fdtfile}\0" \
|
||||||
|
- "check_ramdisk=" \
|
||||||
|
- "if run loadinitrd; then " \
|
||||||
|
- "setenv ramdisk_addr ${initrdaddr};" \
|
||||||
|
- "else " \
|
||||||
|
- "setenv ramdisk_addr;" \
|
||||||
|
- "fi;\0" \
|
||||||
|
- "check_dtb=" \
|
||||||
|
- "if run loaddtb; then " \
|
||||||
|
- "setenv image_addr ${kerneladdr} - ${fdtaddr};" \
|
||||||
|
- "else " \
|
||||||
|
- "setenv image_addr ${kerneladdr};" \
|
||||||
|
- "fi;\0" \
|
||||||
|
- "kernel_args=" \
|
||||||
|
- "setenv bootargs root=/dev/mmcblk${mmcrootdev}p${mmcrootpart}" \
|
||||||
|
- " rootwait ${console} ${opts}\0" \
|
||||||
|
- "boot_fit=" \
|
||||||
|
- "setenv kerneladdr 0x42000000;" \
|
||||||
|
- "setenv kernelname Image.itb;" \
|
||||||
|
- "run loadkernel;" \
|
||||||
|
- "run kernel_args;" \
|
||||||
|
- "bootm ${kerneladdr}#${boardname}\0" \
|
||||||
|
- "boot_uimg=" \
|
||||||
|
- "setenv kerneladdr 0x40007FC0;" \
|
||||||
|
- "setenv kernelname uImage;" \
|
||||||
|
- "run check_dtb;" \
|
||||||
|
- "run check_ramdisk;" \
|
||||||
|
- "run loadkernel;" \
|
||||||
|
- "run kernel_args;" \
|
||||||
|
- "bootm ${image_addr} ${ramdisk_addr};\0" \
|
||||||
|
- "boot_zimg=" \
|
||||||
|
- "setenv kerneladdr 0x40007FC0;" \
|
||||||
|
- "setenv kernelname zImage;" \
|
||||||
|
- "run check_dtb;" \
|
||||||
|
- "run check_ramdisk;" \
|
||||||
|
- "run loadkernel;" \
|
||||||
|
- "run kernel_args;" \
|
||||||
|
- "bootz ${image_addr} ${ramdisk_addr};\0" \
|
||||||
|
- "autoboot=" \
|
||||||
|
- "if test -e mmc 0 Image.itb; then; " \
|
||||||
|
- "run boot_fit;" \
|
||||||
|
- "elif test -e mmc 0 zImage; then; " \
|
||||||
|
- "run boot_zimg;" \
|
||||||
|
- "elif test -e mmc 0 uImage; then; " \
|
||||||
|
- "run boot_uimg;" \
|
||||||
|
- "fi;\0" \
|
||||||
|
- "console=" CONFIG_DEFAULT_CONSOLE \
|
||||||
|
- "mmcbootdev=0\0" \
|
||||||
|
- "mmcbootpart=1\0" \
|
||||||
|
- "mmcrootdev=0\0" \
|
||||||
|
- "mmcrootpart=2\0" \
|
||||||
|
- "bootdelay=0\0" \
|
||||||
|
- "dfu_alt_system="CONFIG_DFU_ALT \
|
||||||
|
- "dfu_alt_info=Please reset the board\0" \
|
||||||
|
- "consoleon=set console console=ttySAC1,115200n8; save; reset\0" \
|
||||||
|
- "consoleoff=set console console=ram; save; reset\0" \
|
||||||
|
- "initrdname=uInitrd\0" \
|
||||||
|
- "initrdaddr=42000000\0" \
|
||||||
|
- "fdtaddr=40800000\0"
|
||||||
|
+ "bootfile=zImage\0" \
|
||||||
|
+ "bootdir=/boot\0" \
|
||||||
|
+ "console=ttySAC1,115200\0" \
|
||||||
|
+ "rdaddr=42000000\0" \
|
||||||
|
+ "rdfile=initramfs-linux.img\0" \
|
||||||
|
+ "fdtaddr=40800000\0" \
|
||||||
|
+ "fdt_file=\0" /* rename to fdtfile when Odroid-X detection is available */ \
|
||||||
|
+ "fdtdir=/boot/dtbs\0" \
|
||||||
|
+ "optargs=\0" \
|
||||||
|
+ "mmcdev=0\0" \
|
||||||
|
+ "mmcroot=/dev/mmcblk0p1 rw rootwait\0" \
|
||||||
|
+ "mmcargs=setenv bootargs console=${console} " \
|
||||||
|
+ "${optargs} " \
|
||||||
|
+ "root=${mmcroot} " \
|
||||||
|
+ "video=${video}\0" \
|
||||||
|
+ "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \
|
||||||
|
+ "loadrd=load mmc ${bootpart} ${rdaddr} ${bootdir}/${rdfile}\0" \
|
||||||
|
+ "loadfdt=echo loading ${fdtdir}/${fdt_file} ...; load mmc ${bootpart} ${fdtaddr} ${fdtdir}/${fdt_file}\0" \
|
||||||
|
+ "mmcboot=mmc dev ${mmcdev}; " \
|
||||||
|
+ "if mmc rescan; then " \
|
||||||
|
+ "echo SD/MMC found on device ${mmcdev};" \
|
||||||
|
+ "setenv bootpart ${mmcdev}:1; " \
|
||||||
|
+ "echo Checking for: ${bootdir}/uEnv.txt ...;" \
|
||||||
|
+ "if test -e mmc ${bootpart} ${bootdir}/uEnv.txt; then " \
|
||||||
|
+ "load mmc ${bootpart} ${loadaddr} ${bootdir}/uEnv.txt;" \
|
||||||
|
+ "env import -t ${loadaddr} ${filesize};" \
|
||||||
|
+ "echo Loaded environment from ${bootdir}/uEnv.txt;" \
|
||||||
|
+ "echo Checking if uenvcmd is set ...;" \
|
||||||
|
+ "if test -n ${uenvcmd}; then " \
|
||||||
|
+ "echo Running uenvcmd ...;" \
|
||||||
|
+ "run uenvcmd;" \
|
||||||
|
+ "fi;" \
|
||||||
|
+ "fi; " \
|
||||||
|
+ "if run loadimage; then " \
|
||||||
|
+ "run mmcargs;" \
|
||||||
|
+ "if run loadfdt; then " \
|
||||||
|
+ "if run loadrd; then " \
|
||||||
|
+ "bootz ${loadaddr} ${rdaddr}:${filesize} ${fdtaddr};" \
|
||||||
|
+ "else " \
|
||||||
|
+ "bootz ${loadaddr} - ${fdtaddr};" \
|
||||||
|
+ "fi;" \
|
||||||
|
+ "else " \
|
||||||
|
+ "if run loadrd; then " \
|
||||||
|
+ "bootz ${loadaddr} ${rdaddr}:${filesize};" \
|
||||||
|
+ "else " \
|
||||||
|
+ "bootz ${loadaddr};" \
|
||||||
|
+ "fi;" \
|
||||||
|
+ "fi;" \
|
||||||
|
+ "else " \
|
||||||
|
+ "echo No kernel found;" \
|
||||||
|
+ "fi;" \
|
||||||
|
+ "fi;\0"
|
||||||
|
+
|
||||||
|
+#define CONFIG_BOOTCOMMAND \
|
||||||
|
+ "run mmcboot;"
|
||||||
|
|
||||||
|
/* I2C */
|
||||||
|
#define CONFIG_CMD_I2C
|
||||||
|
--
|
||||||
|
1.9.0
|
||||||
|
|
58
alarm/uboot-odroid/PKGBUILD
Normal file
58
alarm/uboot-odroid/PKGBUILD
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
# U-Boot: ODROID-X/X2/U2/U3
|
||||||
|
# Maintainer: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||||
|
|
||||||
|
buildarch=4
|
||||||
|
|
||||||
|
pkgname=uboot-odroid
|
||||||
|
pkgver=2014.07
|
||||||
|
pkgrel=1
|
||||||
|
pkgdesc="U-Boot for ODROID-X/X2/U2/U3"
|
||||||
|
arch=('armv7h')
|
||||||
|
url="http://git.denx.de/u-boot.git/"
|
||||||
|
license=('GPL')
|
||||||
|
install=$pkgname.install
|
||||||
|
makedepends=('bc' 'dtc')
|
||||||
|
_commit=dd9a970aa4accf5d266d334c0f319c674e933027
|
||||||
|
source=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver}.tar.bz2"
|
||||||
|
"https://github.com/hardkernel/u-boot/raw/${_commit}/sd_fuse/bl1.HardKernel"
|
||||||
|
"https://github.com/hardkernel/u-boot/raw/${_commit}/sd_fuse/bl2.HardKernel"
|
||||||
|
"https://github.com/hardkernel/u-boot/raw/${_commit}/sd_fuse/tzsw.HardKernel"
|
||||||
|
"sd_fusing.sh"
|
||||||
|
'0001-support-for-odroid-4412-machines.patch'
|
||||||
|
'0002-arch-linux-arm-modifications.patch'
|
||||||
|
'uEnv.txt')
|
||||||
|
md5sums=('36d4bad687edcafa396fee607e505d4e'
|
||||||
|
'3ab6d3cc2061bc2590d60320254017c6'
|
||||||
|
'841502de02bd42f2898e36c89c260b0f'
|
||||||
|
'c38faafa02a6a1ae834457f378c82113'
|
||||||
|
'57f77df08bf8297df5e074f0d71374f7'
|
||||||
|
'b527876d561cc88cc0d6e077e831918b'
|
||||||
|
'70e0122f419416062e434c295670946c'
|
||||||
|
'db13b6e82ae36b916c826383b04fb9c2')
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
cd u-boot-${pkgver}
|
||||||
|
|
||||||
|
patch -p1 -i ../0001-support-for-odroid-4412-machines.patch
|
||||||
|
patch -p1 -i ../0002-arch-linux-arm-modifications.patch
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd u-boot-${pkgver}
|
||||||
|
|
||||||
|
unset CFLAGS
|
||||||
|
unset CXXFLAGS
|
||||||
|
|
||||||
|
make distclean
|
||||||
|
make odroid_config
|
||||||
|
make
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd u-boot-${pkgver}
|
||||||
|
mkdir -p ${pkgdir}/boot
|
||||||
|
cp u-boot-dtb.bin ${pkgdir}/boot/u-boot.bin
|
||||||
|
cp ../uEnv.txt ${pkgdir}/boot
|
||||||
|
cp ../{{bl1,bl2,tzsw}.HardKernel,sd_fusing.sh} ${pkgdir}/boot
|
||||||
|
chmod +x ${pkgdir}/boot/sd_fusing.sh
|
||||||
|
}
|
75
alarm/uboot-odroid/sd_fusing.sh
Executable file
75
alarm/uboot-odroid/sd_fusing.sh
Executable file
|
@ -0,0 +1,75 @@
|
||||||
|
#!/usr/bin/bash
|
||||||
|
####################################
|
||||||
|
#
|
||||||
|
# Copyright (C) 2011 Samsung Electronics Co., Ltd.
|
||||||
|
# http://www.samsung.com/
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License version 2 as
|
||||||
|
# published by the Free Software Foundation.
|
||||||
|
#
|
||||||
|
####################################
|
||||||
|
#
|
||||||
|
# Modified for Arch Linux ARM package uboot-odroid
|
||||||
|
#
|
||||||
|
####################################
|
||||||
|
|
||||||
|
if [ -z $1 ]
|
||||||
|
then
|
||||||
|
echo "usage: ./sd_fusing.sh <SD Reader's device file>"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -b $1 ]
|
||||||
|
then
|
||||||
|
echo "$1 reader is identified."
|
||||||
|
else
|
||||||
|
echo "$1 is NOT identified."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d /sys/block/${1##*/}boot0 ]; then
|
||||||
|
echo "$1 is an eMMC card, disabling ${1##*/}boot0 ro"
|
||||||
|
if ! echo 0 > /sys/block/${1##*/}boot0/force_ro; then
|
||||||
|
echo "Enabling r/w for $1boot0 failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
emmc=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
####################################
|
||||||
|
# fusing images
|
||||||
|
|
||||||
|
if [ -n "$emmc" ]; then
|
||||||
|
signed_bl1_position=0
|
||||||
|
bl2_position=30
|
||||||
|
uboot_position=62
|
||||||
|
tzsw_position=2110
|
||||||
|
device=$1boot0
|
||||||
|
else
|
||||||
|
signed_bl1_position=1
|
||||||
|
bl2_position=31
|
||||||
|
uboot_position=63
|
||||||
|
tzsw_position=2111
|
||||||
|
device=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
#<BL1 fusing>
|
||||||
|
echo "BL1 fusing"
|
||||||
|
dd iflag=dsync oflag=dsync if=/boot/bl1.HardKernel of=$device seek=$signed_bl1_position
|
||||||
|
|
||||||
|
#<BL2 fusing>
|
||||||
|
echo "BL2 fusing"
|
||||||
|
dd iflag=dsync oflag=dsync if=/boot/bl2.HardKernel of=$device seek=$bl2_position
|
||||||
|
|
||||||
|
#<u-boot fusing>
|
||||||
|
echo "u-boot fusing"
|
||||||
|
dd iflag=dsync oflag=dsync if=/boot/u-boot.bin of=$device seek=$uboot_position
|
||||||
|
|
||||||
|
#<TrustZone S/W fusing>
|
||||||
|
echo "TrustZone S/W fusing"
|
||||||
|
dd iflag=dsync oflag=dsync if=/boot/tzsw.HardKernel of=$device seek=$tzsw_position
|
||||||
|
|
||||||
|
####################################
|
||||||
|
#<Message Display>
|
||||||
|
echo "U-boot image is fused successfully."
|
37
alarm/uboot-odroid/uEnv.txt
Normal file
37
alarm/uboot-odroid/uEnv.txt
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
# Use this file to make modifications to the U-Boot environment.
|
||||||
|
# Defaults in the environment are provided below, uncomment and modify to change them.
|
||||||
|
|
||||||
|
### Kernel
|
||||||
|
# bootdir=/boot
|
||||||
|
# bootfile=zImage
|
||||||
|
|
||||||
|
### root filesystem device
|
||||||
|
# mmcroot=/dev/mmcblk0p1 rw rootwait
|
||||||
|
|
||||||
|
### optargs (extra options to pass to the kernel)
|
||||||
|
# optargs=
|
||||||
|
|
||||||
|
### Flattened Device Tree file (specify for mainline kernel use)
|
||||||
|
# fdtdir=/boot/dtbs
|
||||||
|
# fdtfile=exynos4412-odroidu3.dtb
|
||||||
|
# fdtfile=exynos4412-odroidx.dtb
|
||||||
|
# fdtfile=exynos4412-odroidx2.dtb
|
||||||
|
|
||||||
|
### initramfs
|
||||||
|
# rdfile=initramfs-linux.img
|
||||||
|
|
||||||
|
### video
|
||||||
|
## 1920x1080 (1080P) with monitor provided EDID information. (1080p-edid)
|
||||||
|
# video=HDMI-A-1:1920x1080@60
|
||||||
|
|
||||||
|
## 1920x1080 (1080P) without monitor data using generic information (1080p-noedid)
|
||||||
|
# optargs=drm_kms_helper.edid_firmware=edid/1920x1080.bin
|
||||||
|
|
||||||
|
## 1280x720 (720P) with monitor provided EDID information. (720p-edid)
|
||||||
|
# video=HDMI-A-1:1280x720@60
|
||||||
|
|
||||||
|
## 1280x720 (720P) without monitor data using generic information (720p-noedid)
|
||||||
|
# optargs=drm_kms_helper.edid_firmware=edid/1280x720.bin
|
||||||
|
|
||||||
|
## 1024x768 without monitor data using generic information
|
||||||
|
# optargs=drm_kms_helper.edid_firmware=edid/1024x768.bin
|
54
alarm/uboot-odroid/uboot-odroid.install
Normal file
54
alarm/uboot-odroid/uboot-odroid.install
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
sd_fuse() {
|
||||||
|
if [ ! -b /dev/mmcblk0 ]; then
|
||||||
|
echo "No MMC device to flash, exiting."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d /sys/block/mmcblk0boot0 ]; then
|
||||||
|
echo "/dev/mmcblk0 is an eMMC card, disabling read-only.."
|
||||||
|
if ! echo 0 > /sys/block/mmcblk0boot0/force_ro; then
|
||||||
|
echo "Disabling read-only for /dev/mmcblk0boot0 failed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
signed_bl1_position=0
|
||||||
|
bl2_position=30
|
||||||
|
uboot_position=62
|
||||||
|
tzsw_position=2110
|
||||||
|
device=/dev/mmcblk0boot0
|
||||||
|
else
|
||||||
|
signed_bl1_position=1
|
||||||
|
bl2_position=31
|
||||||
|
uboot_position=63
|
||||||
|
tzsw_position=2111
|
||||||
|
device=/dev/mmcblk0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "BL1 fusing"
|
||||||
|
dd iflag=dsync oflag=dsync if=/boot/bl1.HardKernel of=$device seek=$signed_bl1_position
|
||||||
|
echo "BL2 fusing"
|
||||||
|
dd iflag=dsync oflag=dsync if=/boot/bl2.HardKernel of=$device seek=$bl2_position
|
||||||
|
echo "u-boot fusing"
|
||||||
|
dd iflag=dsync oflag=dsync if=/boot/u-boot.bin of=$device seek=$uboot_position
|
||||||
|
echo "TrustZone S/W fusing"
|
||||||
|
dd iflag=dsync oflag=dsync if=/boot/tzsw.HardKernel of=$device seek=$tzsw_position
|
||||||
|
}
|
||||||
|
|
||||||
|
flash_uboot() {
|
||||||
|
echo "A new U-Boot version needs to be flashed onto /dev/mmcblk0."
|
||||||
|
echo "Do you want to do this now? [y|N]"
|
||||||
|
read -r shouldwe
|
||||||
|
if [[ $shouldwe =~ ^([yY][eE][sS]|[yY])$ ]]; then
|
||||||
|
sd_fuse
|
||||||
|
else
|
||||||
|
echo "You can do this later by running:"
|
||||||
|
echo "# /boot/sd_fusing.sh /dev/mmcblk0"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
post_install() {
|
||||||
|
flash_uboot
|
||||||
|
}
|
||||||
|
|
||||||
|
post_upgrade() {
|
||||||
|
flash_uboot
|
||||||
|
}
|
Loading…
Reference in a new issue