From 34d3629ebf68595710015b52fbcd16a66b91df8c Mon Sep 17 00:00:00 2001 From: Riku Viitanen Date: Sun, 10 Sep 2023 22:52:26 +0300 Subject: make clean stm32-vserprog for release Signed-off-by: Riku Viitanen --- script/build/release/src | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/build/release/src b/script/build/release/src index 86c435b2..8d36e5fb 100755 --- a/script/build/release/src +++ b/script/build/release/src @@ -148,7 +148,7 @@ purge_files() err "purge_files: ${p}: cannot clean the source trees" done - for p in bios_extract flashrom grub uefitool; do + for p in bios_extract flashrom grub uefitool util-fw/stm32-vserprog; do ./handle make file -c "${p}" || \ err "purge_files: !./handle make file -c ${p}" done -- cgit v1.2.1 From 7dc8632514aa13ba0c704dbe6cf7aeb38071d808 Mon Sep 17 00:00:00 2001 From: Riku Viitanen Date: Mon, 11 Sep 2023 01:01:27 +0300 Subject: clean up pico-serprog for release moved cmake files into a separate build directory. this can just be deleted for the source release. might as well use cmake for the actual build too. that makes repeated builds faster for some reason. Signed-off-by: Riku Viitanen --- script/build/release/src | 2 ++ script/build/serprog/rp2040 | 12 ++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/script/build/release/src b/script/build/release/src index 8d36e5fb..27a93729 100755 --- a/script/build/release/src +++ b/script/build/release/src @@ -169,6 +169,8 @@ purge_files() err "purge_files rm-rf2: can't purge .git files/directories" rm -Rf cbutils || err "purge_files: can't remove ${srcdir}/cbutils/" rm -Rf elf || err "purge_files: can't remove ${srcdir}/elf/" + rm -Rf util-fw/rp2040/pico-serprog/build + || err "purge_files: can't remove pico-serprog/build" ) } diff --git a/script/build/serprog/rp2040 b/script/build/serprog/rp2040 index e265cc7a..3b4fbf14 100755 --- a/script/build/serprog/rp2040 +++ b/script/build/serprog/rp2040 @@ -51,14 +51,14 @@ main() buildrom() { board=${1} - (cd ${src_dir}; cmake -DPICO_BOARD="${board}" \ - -DPICO_SDK_PATH="${sdk_dir}" "${src_dir}" || \ - err "can't cmake ${src_dir}") - make -C ${src_dir} clean - make -C ${src_dir} - mv ${src_dir}/pico_serprog.uf2 \ + cmake -DPICO_BOARD="${board}" -DPICO_SDK_PATH="${sdk_dir}" \ + -B "${src_dir}/build" "${src_dir}" \ + || err "can't cmake ${src_dir}" + cmake --build "${src_dir}/build" + mv ${src_dir}/build/pico_serprog.uf2 \ ${serprog_release_dir}/serprog_${board}.uf2 \ || err "${board} serprog build failed!" + printf "output to ${serprog_release_dir}/serprog_${board}.uf2\n" } main $@ -- cgit v1.2.1 From 3d77b8a0b97150be1255c3a16dc6317f04ca85d7 Mon Sep 17 00:00:00 2001 From: Riku Viitanen Date: Mon, 11 Sep 2023 01:08:34 +0300 Subject: download and copy serprog related src Signed-off-by: Riku Viitanen --- script/build/release/src | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/script/build/release/src b/script/build/release/src index 27a93729..402775ab 100755 --- a/script/build/release/src +++ b/script/build/release/src @@ -28,8 +28,9 @@ read projectname < projectname trees_fetch_list="coreboot u-boot seabios" simple_fetch_list="flashrom grub memtest86plus me_cleaner uefitool" simple_fetch_list="${simple_fetch_list} bios_extract biosutilities" +download_only_list="pico-serprog stm32-vserprog" -dirlist="config util script include" +dirlist="config util script include util-fw" linklist="build update handle" # symlinks in main directory, to script: lbmk filelist="lbmk README.md COPYING version versiondate projectname checkgit" filelist="${filelist} checkversion" @@ -87,7 +88,7 @@ download_modules() [ -d "${modname}" ] || ./update project trees ${modname} || \ err "download_modules: couldn't download ${modname} trees" done - for modname in ${simple_fetch_list}; do + for modname in ${simple_fetch_list} ${download_only_list}; do [ -d "${modname}/" ] || ./update project repo ${modname} || \ err "download_modules: couldn't download ${modname} repo" done -- cgit v1.2.1 From 0bed0c35f3d87024410560d8c346fc9dff1b3c0a Mon Sep 17 00:00:00 2001 From: Riku Viitanen Date: Mon, 11 Sep 2023 11:39:13 +0300 Subject: Download libopencm3 before building Signed-off-by: Riku Viitanen --- config/git/revisions | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/config/git/revisions b/config/git/revisions index ed01d20f..37a9622b 100644 --- a/config/git/revisions +++ b/config/git/revisions @@ -76,6 +76,7 @@ url: https://github.com/LongSoft/UEFITool } + {rpi-pico-sdk}{ rev: 6a7db34ff63345a7badec79ebea3aaef1712f374 loc: util-fw/rp2040/pico-sdk @@ -102,4 +103,11 @@ loc: util-fw/stm32-vserprog url: https://codeberg.org/libreboot/stm32-vserprog bkup_url: https://notabug.org/libreboot/stm32-vserprog + depend: libopencm3 +} + +{libopencm3}{ + rev: 458250dc6147dc807eec9e4d5a6caf38a699ecb1 + loc: util-fw/stm32-vserprog/libopencm3 + url: https://github.com/libopencm3/libopencm3 } -- cgit v1.2.1 From 5737abf0ed432bab2cfa1a4556f97ad59939e23c Mon Sep 17 00:00:00 2001 From: Riku Viitanen Date: Mon, 11 Sep 2023 11:58:16 +0300 Subject: make clean libopencm3 Signed-off-by: Riku Viitanen --- script/build/release/src | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/script/build/release/src b/script/build/release/src index 402775ab..b6f7cf3a 100755 --- a/script/build/release/src +++ b/script/build/release/src @@ -149,10 +149,14 @@ purge_files() err "purge_files: ${p}: cannot clean the source trees" done - for p in bios_extract flashrom grub uefitool util-fw/stm32-vserprog; do + for p in bios_extract flashrom grub uefitool; do ./handle make file -c "${p}" || \ err "purge_files: !./handle make file -c ${p}" done + for p in "stm32-serprog" "stm32-serprog/libopencm3"; do + ./handle make file -c "util-fw/${p}" || \ + err "purge_files !./handle make file util-fw/${p}" + done for p in 32 64; do ./handle make file -c "memtest86plus/build${p}" || \ err "purge_files: cannot clean memtest86+ build${p}" -- cgit v1.2.1 From ccb36aa652f118ae88a150c67380b81cbc21dd64 Mon Sep 17 00:00:00 2001 From: Riku Viitanen Date: Mon, 11 Sep 2023 14:34:20 +0300 Subject: make libopencm3 correctly Signed-off-by: Riku Viitanen --- config/git/revisions | 2 +- script/build/serprog/stm32 | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/config/git/revisions b/config/git/revisions index 37a9622b..60f2588b 100644 --- a/config/git/revisions +++ b/config/git/revisions @@ -99,7 +99,7 @@ } {stm32-vserprog}{ - rev: 60c6274f7f5d45d01c64b7acdc5b0e4ed71caa96 + rev: 8fcf0a4d41800631b571fa7bbd1d8b251f0a2111 loc: util-fw/stm32-vserprog url: https://codeberg.org/libreboot/stm32-vserprog bkup_url: https://notabug.org/libreboot/stm32-vserprog diff --git a/script/build/serprog/stm32 b/script/build/serprog/stm32 index 8637e292..41412957 100755 --- a/script/build/serprog/stm32 +++ b/script/build/serprog/stm32 @@ -50,10 +50,12 @@ main() buildrom() { board=${1} + make -C ${src_dir} libopencm3-just-make BOARD=${board} make -C ${src_dir} BOARD=${board} mv ${src_dir}/stm32-vserprog.hex \ ${serprog_release_dir}/serprog_${board}.hex \ || err "${board} serprog build failed!" + printf "output to ${serprog_release_dir}/serprog_${board}.hex\n" } main $@ -- cgit v1.2.1 From 24185bca429bf4334bdc99bd9054bf864044ccab Mon Sep 17 00:00:00 2001 From: Riku Viitanen Date: Mon, 11 Sep 2023 14:42:43 +0300 Subject: fix typo serprog -> vserprog Signed-off-by: Riku Viitanen --- script/build/release/src | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/build/release/src b/script/build/release/src index b6f7cf3a..d425638c 100755 --- a/script/build/release/src +++ b/script/build/release/src @@ -153,7 +153,7 @@ purge_files() ./handle make file -c "${p}" || \ err "purge_files: !./handle make file -c ${p}" done - for p in "stm32-serprog" "stm32-serprog/libopencm3"; do + for p in "stm32-vserprog" "stm32-vserprog/libopencm3"; do ./handle make file -c "util-fw/${p}" || \ err "purge_files !./handle make file util-fw/${p}" done -- cgit v1.2.1 From c3ac62b1734341777591376f08bd2ca5ed339990 Mon Sep 17 00:00:00 2001 From: Riku Viitanen Date: Tue, 12 Sep 2023 02:51:32 +0300 Subject: serprog: list available boards Signed-off-by: Riku Viitanen --- script/build/serprog/rp2040 | 21 +++++++++++++++------ script/build/serprog/stm32 | 19 ++++++++++++++----- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/script/build/serprog/rp2040 b/script/build/serprog/rp2040 index 3b4fbf14..83c8af69 100755 --- a/script/build/serprog/rp2040 +++ b/script/build/serprog/rp2040 @@ -24,23 +24,25 @@ set -u -e . "include/err.sh" serprog_release_dir=$(pwd)/bin/serprog_rp2040 -sdk_dir=$(pwd)/util-fw/rp2040/pico-sdk src_dir=$(pwd)/util-fw/rp2040/pico-serprog +sdk_dir=$(pwd)/util-fw/rp2040/pico-sdk +boards_dir=${sdk_dir}/src/boards/include/boards main() { - printf "Compiling serprog firmware for Raspberry Pi Pico\n" - [ -d "${src_dir}/" ] || ./update project repo rpi-pico-serprog \ || err "fetch rpi-pico-serprog failed!\n" mkdir -p "${serprog_release_dir}" || \ err "can't create dir: ${serprog_release_dir}" - boards_dir=${sdk_dir}/src/boards/include/boards - if [ $# -gt 0 ] ; then - buildrom "${1}" + if [ "${1}" = "list" ] ; then + list_boards + else + buildrom "${1}" + fi else + printf "Building pico-serprog for all boards\n" basename -a -s .h ${boards_dir}/*.h | while read board ; do [ "${board}" = "none" ] || buildrom ${board} done @@ -51,6 +53,7 @@ main() buildrom() { board=${1} + printf "Building pico-serprog for ${board}\n" cmake -DPICO_BOARD="${board}" -DPICO_SDK_PATH="${sdk_dir}" \ -B "${src_dir}/build" "${src_dir}" \ || err "can't cmake ${src_dir}" @@ -61,4 +64,10 @@ buildrom() printf "output to ${serprog_release_dir}/serprog_${board}.uf2\n" } +list_boards() +{ + printf "Available boards for pico-serprog:\n" + basename -a -s .h ${boards_dir}/*.h +} + main $@ diff --git a/script/build/serprog/stm32 b/script/build/serprog/stm32 index 41412957..94c45bc8 100755 --- a/script/build/serprog/stm32 +++ b/script/build/serprog/stm32 @@ -25,21 +25,23 @@ set -u -e serprog_release_dir=$(pwd)/bin/serprog_stm32 src_dir=$(pwd)/util-fw/stm32-vserprog +boards_dir=${src_dir}/boards main() { - printf "Compiling serprog firmware for STM32\n" - [ -d "${src_dir}/" ] || ./update project repo stm32-vserprog \ || err "fetch stm32-vserprog failed!\n" mkdir -p "${serprog_release_dir}" || \ err "can't create dir: ${serprog_release_dir}" - boards_dir=${src_dir}/boards - if [ $# -gt 0 ] ; then - buildrom "${1}" + if [ "${1}" = "list" ] ; then + list_boards + else + buildrom "${1}" + fi else + printf "Building stm32-vserprog for all boards\n" basename -a -s .h ${boards_dir}/*.h | while read board ; do buildrom ${board} done @@ -50,6 +52,7 @@ main() buildrom() { board=${1} + printf "Building stm32-vserprog for ${board}\n" make -C ${src_dir} libopencm3-just-make BOARD=${board} make -C ${src_dir} BOARD=${board} mv ${src_dir}/stm32-vserprog.hex \ @@ -58,4 +61,10 @@ buildrom() printf "output to ${serprog_release_dir}/serprog_${board}.hex\n" } +list_boards() +{ + printf "Available boards for stm32-vserprog:\n" + basename -a -s .h ${boards_dir}/*.h +} + main $@ -- cgit v1.2.1