Message ID | 20170923233007.13772-2-gael.portay@savoirfairelinux.com |
---|---|
State | Superseded |
Headers | show |
Series | Fix Qt WE run-time issue on RPI3 | expand |
On 24-09-17 01:30, Gaël PORTAY wrote: > This post-image script now handles many optional arguments given > through the command-line. > > Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com> Can you evaluate how this patch interacts with [1] ? Note that I haven't looked at either of them in detail. [1] http://patchwork.ozlabs.org/patch/788904/ Regards, Arnout > --- > board/raspberrypi/post-image.sh | 42 ++++++++++++++++++++++------------------- > 1 file changed, 23 insertions(+), 19 deletions(-) > > diff --git a/board/raspberrypi/post-image.sh b/board/raspberrypi/post-image.sh > index de972998b0..1b49f0ea30 100755 > --- a/board/raspberrypi/post-image.sh > +++ b/board/raspberrypi/post-image.sh > @@ -5,38 +5,42 @@ BOARD_NAME="$(basename ${BOARD_DIR})" > GENIMAGE_CFG="${BOARD_DIR}/genimage-${BOARD_NAME}.cfg" > GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" > > -case "${2}" in > - --add-pi3-miniuart-bt-overlay) > - if ! grep -qE '^dtoverlay=' "${BINARIES_DIR}/rpi-firmware/config.txt"; then > - echo "Adding 'dtoverlay=pi3-miniuart-bt' to config.txt (fixes ttyAMA0 serial console)." > - cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt" > +shift > +while [ $# -ne 0 ]; do > + case "${1}" in > + --add-pi3-miniuart-bt-overlay) > + if ! grep -qE '^dtoverlay=' "${BINARIES_DIR}/rpi-firmware/config.txt"; then > + 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 > dtoverlay=pi3-miniuart-bt > __EOF__ > - fi > - ;; > - --aarch64) > - # Run a 64bits kernel (armv8) > - sed -e '/^kernel=/s,=.*,=Image,' -i "${BINARIES_DIR}/rpi-firmware/config.txt" > - if ! grep -qE '^arm_control=0x200' "${BINARIES_DIR}/rpi-firmware/config.txt"; then > - cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt" > + fi > + ;; > + --aarch64) > + # Run a 64bits kernel (armv8) > + sed -e '/^kernel=/s,=.*,=Image,' -i "${BINARIES_DIR}/rpi-firmware/config.txt" > + if ! grep -qE '^arm_control=0x200' "${BINARIES_DIR}/rpi-firmware/config.txt"; then > + cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt" > > # enable 64bits support > arm_control=0x200 > __EOF__ > - fi > + fi > > - # Enable uart console > - if ! grep -qE '^enable_uart=1' "${BINARIES_DIR}/rpi-firmware/config.txt"; then > - cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt" > + # Enable uart console > + 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_uart=1 > __EOF__ > - fi > - ;; > -esac > + fi > + ;; > + esac > + shift > +done > > rm -rf "${GENIMAGE_TMP}" > >
Arnout, On Sun, Sep 24, 2017 at 12:04:19PM +0200, Arnout Vandecappelle wrote: > > On 24-09-17 01:30, Gaël PORTAY wrote: > > This post-image script now handles many optional arguments given > > through the command-line. > > > > Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com> > > Can you evaluate how this patch interacts with [1] ? Note that I haven't looked > at either of them in detail. > > [1] http://patchwork.ozlabs.org/patch/788904/ > Both patches does the same thing. The only difference is that my patch parses arguments using a while loop (and shifts the first argument), while the patch from Erik parses argument using a for loop. Here is a diff of both patches. -+: mine ++: Erik @@ -27,9 +11,9 @@ - if ! grep -qE '^dtoverlay=' "${BINARIES_DIR}/rpi-firmware/config.txt"; then - echo "Adding 'dtoverlay=pi3-miniuart-bt' to config.txt (fixes ttyAMA0 serial console)." - cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt" -+shift -+while [ $# -ne 0 ]; do -+ case "${1}" in My patch is using a while --^ (+ shift) ++for arg in "$@" ++do ++ case "${arg}" in Erik's solution uses a for -^ + --add-pi3-miniuart-bt-overlay) + if ! grep -qE '^dtoverlay=' "${BINARIES_DIR}/rpi-firmware/config.txt"; then + echo "Adding 'dtoverlay=pi3-miniuart-bt' to config.txt (fixes ttyAMA0 serial console)." Erik's forgot to indent the esac. Otherwise, only the `-+ shift' would have been present is that chunk [*]. @@ -71,15 +55,12 @@ __EOF__ - fi - ;; --esac + fi + ;; -+ esac -+ shift [*]: ---^-----------^ -+done + esac ++done ++ rm -rf "${GENIMAGE_TMP}" Regards, Gael
diff --git a/board/raspberrypi/post-image.sh b/board/raspberrypi/post-image.sh index de972998b0..1b49f0ea30 100755 --- a/board/raspberrypi/post-image.sh +++ b/board/raspberrypi/post-image.sh @@ -5,38 +5,42 @@ BOARD_NAME="$(basename ${BOARD_DIR})" GENIMAGE_CFG="${BOARD_DIR}/genimage-${BOARD_NAME}.cfg" GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" -case "${2}" in - --add-pi3-miniuart-bt-overlay) - if ! grep -qE '^dtoverlay=' "${BINARIES_DIR}/rpi-firmware/config.txt"; then - echo "Adding 'dtoverlay=pi3-miniuart-bt' to config.txt (fixes ttyAMA0 serial console)." - cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt" +shift +while [ $# -ne 0 ]; do + case "${1}" in + --add-pi3-miniuart-bt-overlay) + if ! grep -qE '^dtoverlay=' "${BINARIES_DIR}/rpi-firmware/config.txt"; then + 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 dtoverlay=pi3-miniuart-bt __EOF__ - fi - ;; - --aarch64) - # Run a 64bits kernel (armv8) - sed -e '/^kernel=/s,=.*,=Image,' -i "${BINARIES_DIR}/rpi-firmware/config.txt" - if ! grep -qE '^arm_control=0x200' "${BINARIES_DIR}/rpi-firmware/config.txt"; then - cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt" + fi + ;; + --aarch64) + # Run a 64bits kernel (armv8) + sed -e '/^kernel=/s,=.*,=Image,' -i "${BINARIES_DIR}/rpi-firmware/config.txt" + if ! grep -qE '^arm_control=0x200' "${BINARIES_DIR}/rpi-firmware/config.txt"; then + cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt" # enable 64bits support arm_control=0x200 __EOF__ - fi + fi - # Enable uart console - if ! grep -qE '^enable_uart=1' "${BINARIES_DIR}/rpi-firmware/config.txt"; then - cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt" + # Enable uart console + 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_uart=1 __EOF__ - fi - ;; -esac + fi + ;; + esac + shift +done rm -rf "${GENIMAGE_TMP}"
This post-image script now handles many optional arguments given through the command-line. Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com> --- board/raspberrypi/post-image.sh | 42 ++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-)