https://labs.parabola.nu/
https://labs.parabola.nu/favicon.ico?1536774255
2021-10-04T05:06:28Z
Parabola Issue Tracker
Packages - Freedom Issue #3095: u-boot has nonfree files
https://labs.parabola.nu/issues/3095?journal_id=16508
2021-10-04T05:06:28Z
bill-auger
<ul></ul><p>that is the mksource() mechanism described on the wiki <a class="external" href="https://wiki.parabola.nu/Hacking:mksource()">https://wiki.parabola.nu/Hacking:mksource()</a></p>
to use it:
<ul>
<li>add a mksource() function to the PKGBUILD, and move all liberation steps into mksource()</li>
<li>if the above step results in an empty prepare(), delete prepare()</li>
<li>rename the 'source' array to 'mksource'</li>
<li>prefix the checksums array(s) with 'mk' (eg: 'mksha256sums')</li>
<li>repalce the 'source' array, to require a single (libre) source-ball and it's signature,<br /> each with a 'repo.parabola.nu/other/' URL, with '-libre' appended to the 'pkgname'<br /> eg:<br /> pkgname='ruby'<br /> source=(https ://repo.parabola.nu/other/ruby-libre/ruby-libre-2.4.1.tar.xz)</li>
<li>if the libre source-ball is not found on the parabola server, it is generated automatically,<br /> using the mksource mechanism, before starting the normal build()</li>
<li>otherwise, the build continues normally (bypassing the mksource() function)</li>
<li>in either case, `librerelease` will ensure that the source-ball(s) are published</li>
</ul>
<p>it is a rather clumsy mechanism though, and was implemented in only a few packages (although presumably, every libre replacement package should use it) - there has been much discussion about eliminating mksource(), in favor of simply generating the source ball after the standard prepare() has run, which is effectively what mksource() simulates in a round-about way - "source-ball(s)" is plural in the last step because mksource PKGBUILDs also results in two (probably identical) source-balls in the repo ('foo-libre' in other/ and 'foo.srfc.tar.gz' in sources/)</p>
<p><a class="external" href="https://labs.parabola.nu/issues/2403">https://labs.parabola.nu/issues/2403</a></p>
<p>i have an example PKGBUILD, which does nothing useful, but to exercize the mksource functionality, if you'd like to see it</p>
Packages - Freedom Issue #3095: u-boot has nonfree files
https://labs.parabola.nu/issues/3095?journal_id=16573
2021-11-01T05:21:37Z
GNUtoo
GNUtoo@cyberdimension.org
<ul></ul><p>Yes that could help me experiment with it.</p>
<p>Currently makepkg -f gives me that:<br /><pre>
==> Retrieving sources...
-> Downloading uboot4extlinux-sunxi-libre-2021.07.tar.xz...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 153 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (22) The requested URL returned error: 404
==> ERROR: $PKGEXT does not contain a valid package suffix (needs '.pkg.tar*', got 'uboot4extlinux-sunxi-libre-2021.07.tar.xz')
==> ERROR: Failure while downloading https://repo.parabola.nu/other/uboot4extlinux-sunxi/uboot4extlinux-sunxi-libre-2021.07.tar.xz
Aborting...
</pre></p>
<p>With the following PKGBUILD (which could be dropped in place of libre/uboot4extlinux-sunxi/PKGBUILD):<br /><pre>
# U-Boot: sunXi
# Maintainer: Isaac David <isacdaavid@at@isacdaavid@dot@info>
# Contributor: André Silva <emulatorman@hyperbola.info>
# Contributor: Timothy Redaelli <timothy.redaelli@gmail.com>
# Contributor: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
# To add a new board (that uses an Allwinner System On a Chip) you need:
# - The package name. Example: uboot4extlinux-a20-olinuxino_micro
# - The u-boot configuration. Example: A20-OLinuXino_MICRO_defconfig
# - The name of the board(s). Example: A20 OLinuXino Micro
# A single package / u-boot configuration sometimes support multiple
# boards and the configuration name doesn't always have the boards names
# in it. Example: uboot4extlinux-am335x_bone supports various BeagleBones,
# the AM335x GP EVM and the EVM SK all in one u-boot binary and package.
# - If relevant, the packages it replaces, if there are older u-boot packages
# also supporting that board. Example:uboot-a20-olinuxino-micro
#
# Ideally we'd like to enable people to only add these 4 variables in this
# package to add a new board. These 4 variables could go in something like
# a CVS file that is parsed, but that would require to be able to dynamically
# define packages, but even if eval package_{$_pkgname}() { [...] } works,
# it doesn't make that package function visible to makepkg.
#
# Because of that, contributors wanting to add new boards will have to search
# for example of the information mentioned above and add it in the PKGBUILD
# for their boards.
#
# After adding a new board in this PKGBUILD, to get the board officially
# supported by Parabola.you also need to create a page for it in the
# Parabola wiki for that board and update the ARM installation guide to
# point to it when relevant. Examples of that are available for other
# boards in the ARM installation guide.
pkgbase=uboot4extlinux-sunxi
pkgname=("${pkgbase}"
'uboot4extlinux-a10-olinuxino-lime'
'uboot4extlinux-a10s-olinuxino-m'
'uboot4extlinux-a13-olinuxino'
'uboot4extlinux-a13-olinuxinom'
'uboot4extlinux-a20-olinuxino-lime'
'uboot4extlinux-a20-olinuxino-lime2'
'uboot4extlinux-a20-olinuxino-lime2-emmc'
'uboot4extlinux-a20-olinuxino_micro'
'uboot4extlinux-bananapi'
'uboot4extlinux-bananapro'
'uboot4extlinux-chip'
'uboot4extlinux-cubieboard'
'uboot4extlinux-cubieboard2'
'uboot4extlinux-cubietruck'
'uboot4extlinux-linksprite_pcduino'
'uboot4extlinux-linksprite_pcduino3'
'uboot4extlinux-linksprite_pcduino3_nano'
'uboot4extlinux-orangepi_2'
'uboot4extlinux-orangepi_one'
'uboot4extlinux-orangepi_pc'
'uboot4extlinux-orangepi_plus')
pkgver=2021.07
pkgrel=3
arch=('armv7h' 'i686' 'x86_64')
url="http://git.denx.de/u-boot.git/"
license=('GPL')
makedepends=('bc' 'dtc' 'python' 'python-setuptools' 'python2' 'swig')
makedepends_i686+=('arm-none-eabi-gcc')
makedepends_ppc64le+=('arm-none-eabi-gcc')
makedepends_x86_64+=('arm-none-eabi-gcc')
# TODO: try longer term archival formats than xz as in practice the xz format is
# specific to the xz implementation or compilation options.
# TODO:
# -> Downloading uboot4extlinux-sunxi-libre-2021.07.tar.xz...
# % Total % Received % Xferd Average Speed Time Time Time Current
# Dload Upload Total Spent Left Speed
# 0 153 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
# curl: (22) The requested URL returned error: 404
# ==> ERROR: $PKGEXT does not contain a valid package suffix (needs '.pkg.tar*', got 'uboot4extlinux-sunxi-libre-2021.07.tar.xz')
# ==> ERROR: Failure while downloading https://repo.parabola.nu/other/uboot4extlinux-sunxi/uboot4extlinux-sunxi-libre-2021.07.tar.xz
# Aborting...
source=("https://repo.parabola.nu/other/${pkgname}/${pkgname}-libre-${pkgver}.tar.xz"
'extlinux.conf'
"${pkgbase}.hook.in"
'install-uboot4extlinux.sh.in'
"generate-${pkgbase}-install-text.sh")
mksource=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver}.tar.bz2")
sha256sums=('312b7eeae44581d1362c3a3f02c28d806647756c82ba8c72241c7cdbe68ba77e'
'SKIP'
'SKIP'
'SKIP'
'SKIP')
mksha256sums=('312b7eeae44581d1362c3a3f02c28d806647756c82ba8c72241c7cdbe68ba77e')
_defconfigs=('A10-OLinuXino-Lime_defconfig'
'A10s-OLinuXino-M_defconfig'
'A13-OLinuXino_defconfig'
'A13-OLinuXinoM_defconfig'
'A20-OLinuXino-Lime_defconfig'
'A20-OLinuXino-Lime2_defconfig'
'A20-OLinuXino-Lime2-eMMC_defconfig'
'A20-OLinuXino_MICRO_defconfig'
'Bananapi_defconfig'
'Bananapro_defconfig'
'CHIP_defconfig'
'Cubieboard_defconfig'
'Cubieboard2_defconfig'
'Cubietruck_defconfig'
'Linksprite_pcDuino_defconfig'
'Linksprite_pcDuino3_defconfig'
'Linksprite_pcDuino3_Nano_defconfig'
'orangepi_2_defconfig'
'orangepi_one_defconfig'
'orangepi_pc_defconfig'
'orangepi_plus_defconfig')
# Offset at which to install u-boot
u_boot_with_spl_offset=8192
case "$CARCH" in
armv7h) ARCH=arm;;
i686|ppc64le|x86_64) ARCH=arm;CROSS_COMPILE=arm-none-eabi-;;
esac
_nr_targets=0
for _defconfig in ${_defconfigs[@]}; do
_nr_targets=$(expr ${_nr_targets} + 1)
done
_get_target_name()
{
_defconfig="$1"
echo ${_defconfig} | \
sed 's/_defconfig$//' | \
awk '{print tolower($0)}'
}
_get_target_destdir()
{
_defconfig="$1"
_target_name="$(_get_target_name ${_defconfig})"
echo "build/uboot4extlinux-${_target_name}"
}
_build_uboot_target()
{
_defconfig="$1"
_destdir="$(_get_target_destdir ${_defconfig})"
_target_name="$(_get_target_name ${_defconfig})"
unset CFLAGS CXXFLAGS LDFLAGS
make "ARCH=${ARCH}" distclean
make "ARCH=${ARCH}" ${_defconfig}
echo 'CONFIG_IDENT_STRING=" Parabola GNU/Linux-libre"' >> .config
if [ "$CARCH" = "armv7h" ]; then
make "ARCH=${ARCH}" EXTRAVERSION=-${pkgrel}
else
make "ARCH=${ARCH}" "CROSS_COMPILE=${CROSS_COMPILE}" \
EXTRAVERSION=-${pkgrel}
fi
echo "==> Installing ${_target_name} to ${_destdir}"
install -d ${_destdir}
mv -f u-boot-sunxi-with-spl.bin "${_destdir}"
}
mksource()
{
cd u-boot-${pkgver}
# The list of files was generated with the following command:
# git grep "open source" | sed 's/:.*//g'
sed 's/open source/free software/g' -i \
Kconfig \
arch/x86/Kconfig \
board/egnite/ethernut5/ethernut5.c \
board/synopsys/emsdp/README \
board/synopsys/hsdk/README \
board/synopsys/iot_devkit/README \
cmd/clone.c \
common/spl/Kconfig \
doc/README.rockchip \
doc/README.rockusb \
doc/arch/x86.rst \
doc/board/amlogic/libretech-cc.rst \
doc/board/sipeed/maix.rst \
doc/develop/uefi/iscsi.rst \
doc/device-tree-bindings/pinctrl/pinctrl-bindings.txt \
doc/imx/misc/sdp.txt \
drivers/gpio/gpio-uclass.c \
drivers/pinctrl/pinctrl-stmfx.c \
include/asm-generic/gpio.h \
include/dm/pinctrl.h \
include/dm/pinctrl.h \
include/dt-bindings/gpio/gpio.h \
include/dt-bindings/gpio/gpio.h \
tools/buildman/README \
tools/sunxi-spl-image-builder.c \
# The licenses of some microcodes are nonfree because the header contains the
# following: ".No reverse engineering, decompilation, or disassembly of this
# software is permitted."
rm -rf arch/x86/dts/microcode/
# The license is nonfree because it contains the following: "Reverse
# engineering, decompilation, or disassembly of this software is not
# permitted."
rm -f Licenses/r8a779x_usb3.txt
rm -f drivers/usb/host/xhci-rcar-r8a779x_usb3_v3.h
# The documentation contains instructions to download and install nonfree
# software. Note that if a board doesn't have such instructions it doesn't
# necessarily means that it can boot with only free software and viceversa.
###########
# Amlogic #
###########
# Amlogic SOCs Usually have various nonfree components, like the first stages
# of the bootloaders and code that runs in TrustZone. They are most likely
# not signed.
# ---------
# TODO: List the nonfree software of specific documentation
rm -f doc/board/amlogic/beelink-gtkingpro.rst
rm -f doc/board/amlogic/beelink-gtking.rst
rm -f doc/board/amlogic/index.rst
rm -f doc/board/amlogic/khadas-vim2.rst
rm -f doc/board/amlogic/khadas-vim3l.rst
rm -f doc/board/amlogic/khadas-vim3.rst
rm -f doc/board/amlogic/khadas-vim.rst
rm -f doc/board/amlogic/libretech-ac.rst
rm -f doc/board/amlogic/libretech-cc.rst
rm -f doc/board/amlogic/nanopi-k2.rst
rm -f doc/board/amlogic/odroid-c2.rst
rm -f doc/board/amlogic/odroid-c4.rst
rm -f doc/board/amlogic/odroid-n2.rst
rm -f doc/board/amlogic/p200.rst
rm -f doc/board/amlogic/p201.rst
rm -f doc/board/amlogic/p212.rst
rm -f doc/board/amlogic/q200.rst
rm -f doc/board/amlogic/s400.rst
rm -f doc/board/amlogic/sei510.rst
rm -f doc/board/amlogic/sei610.rst
rm -f doc/board/amlogic/u200.rst
rm -f doc/board/amlogic/w400.rst
rm -f doc/board/amlogic/wetek-core2.rst
######################################
# FPGA toolchains / synthesize tools #
######################################
# Steer users toward using nonfree Quartus software
rm -f doc/README.socfpga
# Steer users toward using files that can only be produced with the nonfree
# "libero" FPGA toolchain / synthesizer tool.
rm -f doc/board/microchip/mpfs_icicle.rst
#########
# Linux #
#########
# Has intructions to build Linux which is not FSDG compliant.
# TODO: Use linux-libre instead, especially because documentation about vboot
# could be interesting to have. Vboot is a chain of trust that can work with
# only free software. The hardware root of trust can be created by booting on
# a flash chip whose security registers are configured to set the first
# bootloader component read-only.
rm -f doc/uImage.FIT/beaglebone_vboot.txt
# Steers very strongly users into using Linux as it shows that the only tested
# kernels are Broadcom forks of Linux. We would need to have linux-libre
# versions of these or test it with stock linux-libre instead.
rm -f doc/README.bcm7xxx
############
# Mediatek #
############
# The instructions uses binaries that lack any corresponding source code.
rm -f doc/README.mediatek
#############
# NXP I.MX8 #
#############
# I.MX8 SOCs require a nonfree firmware for the DDR4 controller. In some
# documentation, I didn't find that requirement mentioned, but instead
# there are still nonfree files mentioned. So I assume that they might
# somehow contain code for that nonfree DDR4 controller, but it might be
# worth checking if it's the case or not. The DDR4 controller firmware is not
# signed. In addition the I.MX8 HDMI controller requires a signed firmware.
# -----------
# nonfree DDR4 controller firmware
rm -f doc/board/freescale/imx8mp_evk.rst
# nonfree DDR4 controller and HDMI firmwares
rm -f doc/board/freescale/imx8mq_evk.rst
# nonfree DDR4 controller firmware
rm -f doc/board/freescale/imx8mn_evk.rst
# nonfree imx-sc-firmware-1.2.7.1.bin and imx-seco-2.3.1.bin firmwares
rm -f doc/board/freescale/imx8qxp_mek.rst
# nonfree DDR4 controller firmware
rm -f doc/board/freescale/imx8mm_evk.rst
# nonfree imx-sc-firmware-1.1.bin and firmware-imx-8.0.bin firmwares
rm -f doc/board/advantech/imx8qm-rom7720-a1.rst
# TODO: List the nonfree software of specific documentation
rm -f doc/board/verdin-imx8mm.rst
rm -f doc/board/toradex/colibri-imx8x.rst
rm -f doc/board/toradex/apalix-imx8x.rst
rm -f doc/board/toradex/apalix-imx8.rst
#######################
# NXP nonfree srktool #
#######################
# The SRK tool is a tool that is involved in one way or another with
# authenticated or encrypted boot. I'm unsure if free software replacements
# exists or if could easily be replaced with a free software implementation.
# In any case the I.MX6 and I.MX5 can proabably be setup for encrypted or
# authenticated boot with free software tools. The first and second versions
# of the USB Armory has documentation on how to do that.
# ---------------------
rm -f doc/imx/board/toradex/colibri_imx7.rst
rm -f doc/imx/habv4/introduction_habv4.txt
##################
# Samsung Exynos #
##################
# The instructions makes users nonfree components like a nonfree first stage
# bootloaders, and nonfree code that runs in TrustZone.
rm -f doc/README.odroid
# The instructions makes its users download an image and update u-boot in that
# image. Because of that, it's extremely likely that the images contains
# nonfree components that cannot even be redistributed in another form, and
# that the instructions uses that images because of that.
rm -f doc/README.s5p4418
#####################
# Texas Instruments #
#####################
# Users are expected to use nonfree tools and even sign an NDA to get access
# to them.
rm -f doc/README.ti-secure
##########
# U-boot #
##########
# The tutorial has instructions to download a downstream u-boot, so it might
# have the same issues than u-boot itself if the u-boot is recent enough.
rm -f doc/README.armada-secureboot
# Points to some installations instructions that use u-boot from git (which
# has nonfree software in it). These instructions also have a set of
# unreviewed git repositories.
rm -f doc/README.marvell
# The tutorial has instructions to download a downstream u-boot, so it might
# have the same issues than u-boot itself if the u-boot is recent enough.
rm -f doc/chromium/run_vboot.rst
###########
# Unknown #
###########
# The referenced git repository is not present on the web anymore (due to
# Freescale acquisition by NXP). TODO: we need to look if there were
# archives of that software and review it.
rm -f doc/README.mpc85xx-sd-spi-boot
#######
# x86 #
#######
# Unless the computer is supported by Libreboot, or that u-boot runs after
# some other nonfree boot software like a BIOS or UEFI, it's unlikely to be
# able to run with only free software. Though I'm pretty sure that some
# exceptions do exists, but they are probably not supported by u-boot.
# -----
# nonfree Management Engine firmware, RAM intialization code, and video BIOS
rm -f doc/board/google/chromebook_link.rst
# nonfree SDRAM and hardware intialization code
rm -f doc/board/google/chromebook_coral.rst
# nonfree FSP, video BIOS, Management Engine firmware
rm -f doc/board/intel/minnowmax.rst
# nonfree FSP, Chipset Micro Code (CMC), microcode
rm -f doc/board/intel/crownbay.rst
# Steers userstoward using nonfree FSP
rm -f board/intel/slimbootloader.rst
# Steers users and developers toward using nonfree FSP
rm -f doc/device-tree-bindings/fsp/fsp2/apollolake/fsp-m.txt
# Steers users and developers toward using nonfree FSP
rm -f doc/device-tree-bindings/fsp/fsp2/apollolake/fsp-s.txt
############
# Rockchip #
############
# rkbin binaries without license nor source code
rm -f doc/board/rockchip/rockchip.rst
rm -f doc/README.rockchip
###################################
# References external source code #
###################################
# - doc/imx/common/mxs.txt: elftosb-10.12.01.tar.gz has a BSD 3 clauses
# license and the only binaries present seems to be used for testing
# purposes (it's elftosb generates some headers so it also has tests to
# check if the generated headers are OK.
# - doc/README.fdt-control: References the device tree compiler which
# is free software.
# - The official ARM trusted firmware[1], which is often referenced by
# various documentation files is under the BSD 3 clauses license.
# It also contains SPDX license identifiers and all of them are free
# software at commit e33ca7b44 (Merge changes from topic "ck/mpmm" into
# integration).
# [1]https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
# - doc/README.rockusb: References rkdeveloptool which is free software.
# it has SPDX GPL-2.0+ identifiers and the GPLv2 license so it's GPLv2
# or later at the 46bb4c0 commit (v1.32: 1.support to upgrade 356x loader).
# - doc/README.OFT: References to the device tree compiler which is free
# software, and to xxd, which is part of vim.
# - board/intel/edison.rst: xFSTK is LGPL 2.1 or later.
# TODO: The instructions reference a Google drive that I didn't check,
# and I don't know how to avoid nonfree JavaScript with Google Drive,
# so I'm removing the reference until someone checks all that. That
# comment could also be updated if only one of the requirements is
# checked (like accessing Google Drive with free software).
sed 's/You might find this `drive`_ helpful.//' -i doc/board/intel/edison.rst
sed 's/.. _drive: .*//' -i doc/board/intel/edison.rst
}
build()
{
cd u-boot-${pkgver}
_target_nr=0
for _defconfig in ${_defconfigs[@]}; do
_target_nr=$(expr ${_target_nr} + 1)
_target_name="$(_get_target_name ${_defconfig})"
echo "==> Building ${_target_name} " \
"[${_target_nr} of ${_nr_targets} targets]"
_build_uboot_target "${_defconfig}"
done
}
_check_uboot_target()
{
_defconfig="$1"
_image="$(_get_target_destdir ${_defconfig})/u-boot-sunxi-with-spl.bin"
_image_size="$(du --bytes --apparent-size ${_image} | awk '{print $1}')"
_offset="${u_boot_with_spl_offset}"
_image_end=$(expr ${_image_size} + ${_offset})
# This test comes from install-uboot4extlinux.sh.in
if [ ${_image_end} -gt $(expr 1024 \* 1024) ] ; then
echo "Error: ${_image} is too big:"
echo " offset: ${_offset}"
echo " size: ${_image_size}"
echo " By default, "\
"partitioing tools makes the first partition start at 1MiB"
echo " Instaling ${_image} "\
"would overwrite that first partition (if it's present)."
false # Fail the test
fi
}
check()
{
cd u-boot-${pkgver}
_target_nr=0
for _defconfig in ${_defconfigs[@]}; do
_target_nr=$(expr ${_target_nr} + 1)
_target_name="$(_get_target_name ${_defconfig})"
echo "==> Testing target ${_target_name} " \
"[${_target_nr} of ${_nr_targets} targets]"
_check_uboot_target "${_defconfig}"
done
}
_make_uboot_package()
{
_pkgname="$1"
if [ -n "${pkgdir}" ] ; then
cd "u-boot-${pkgver}"
# Install the u-boot binary
install -d "${pkgdir}/usr/lib/u-boot/${_pkgname}/"
install -Dm644 "build/${_pkgname}/u-boot-sunxi-with-spl.bin" \
"${pkgdir}/usr/lib/u-boot/${_pkgname}"
# Install the u-boot installation script
sed < "${srcdir}/install-uboot4extlinux.sh.in" > \
"${pkgdir}/usr/lib/u-boot/${_pkgname}/install-uboot4extlinux.sh" \
-e "s|@u_boot_with_spl[@]|/usr/lib/u-boot/${_pkgname}/u-boot-sunxi-with-spl.bin|g" \
-e "s|@u_boot_with_spl_offset[@]|${u_boot_with_spl_offset}|g"
chmod +x \
"${pkgdir}/usr/lib/u-boot/${_pkgname}/install-uboot4extlinux.sh"
# Install what is required for the pacman hook
install -d "${pkgdir}/usr/share/libalpm/hooks/"
sed < "${srcdir}/${pkgbase}.hook.in" > \
"${pkgdir}/usr/share/libalpm/hooks/${_pkgname}.hook" \
-e "s|@pkgname[@]|${_pkgname}|g"
install -d "${pkgdir}/usr/share/doc/u-boot/${_pkgname}/"
# If we install several uboot4extlinux, we need a way to clearly
# separate each postinstall message. To do that we wrapped the
# text in an ASCII art square, but doing that is complicated when
# using sed as the package name as well as the installation script
# path both have variable length.
sh "${srcdir}/generate-${pkgbase}-install-text.sh" \
"${_pkgname}" \
"${pkgbase}" \
"/usr/lib/u-boot/${_pkgname}/install-uboot4extlinux.sh" > \
"${pkgdir}/usr/share/doc/u-boot/${_pkgname}/install-uboot4extlinux.txt"
fi
}
_make_pkgdesc()
{
board_name="$1"
echo "U-Boot with Extlinux support for ${board_name}"
}
package_uboot4extlinux-sunxi()
{
pkgdesc="Scripts for managing U-Boot installations for computers with Allwinner System On a Chip"
depends=('uboot-tools')
# Users are expected to use this as a base for /boot/extlinux/extlinux.conf
install -d "${pkgdir}/usr/lib/u-boot/${pkgname}/"
install -Dm644 \
"${srcdir}/extlinux.conf" \
"${pkgdir}/usr/lib/u-boot/${pkgname}/"
}
package_uboot4extlinux-a10-olinuxino-lime()
{
pkgdesc=$(_make_pkgdesc "A10 OLinuXino Lime")
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-a10s-olinuxino-m()
{
pkgdesc=$(_make_pkgdesc "A10s OLinuXino Micro")
replaces=('uboot4extlinux-a10s-olinuxino-micro')
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-a13-olinuxino()
{
pkgdesc=$(_make_pkgdesc "A13 OLinuXino")
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-a13-olinuxinom()
{
pkgdesc=$(_make_pkgdesc "uboot4extlinux-a13-olinuxino-micro")
replaces=('uboot4extlinux-a13-olinuxino-micro')
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-a20-olinuxino-lime()
{
pkgdesc=$(_make_pkgdesc "A20 OLinuXino Lime")
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-a20-olinuxino-lime2()
{
pkgdesc=$(_make_pkgdesc "A20 OLinuXino Lime2")
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-a20-olinuxino-lime2-emmc()
{
pkgdesc=$(_make_pkgdesc "A20 OLinuXino Lime2 with eMMC")
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-a20-olinuxino_micro()
{
pkgdesc=$(_make_pkgdesc "uboot-a20-olinuxino-micro")
replaces=('uboot-a20-olinuxino-micro')
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-bananapi()
{
pkgdesc=$(_make_pkgdesc "Banana Pi")
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-bananapro()
{
pkgdesc=$(_make_pkgdesc "Banana Pro")
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-chip()
{
pkgdesc=$(_make_pkgdesc "C.H.I.P")
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-cubieboard()
{
pkgdesc=$(_make_pkgdesc "Cubieboard")
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-cubieboard2()
{
pkgdesc=$(_make_pkgdesc "Cubieboard 2")
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-cubietruck()
{
pkgdesc=$(_make_pkgdesc "Cubietruck")
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-linksprite_pcduino()
{
pkgdesc=$(_make_pkgdesc "uboot4extlinux-pcduino")
replaces=('uboot4extlinux-pcduino')
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-linksprite_pcduino3()
{
pkgdesc=$(_make_pkgdesc "uboot4extlinux-pcduino3")
replaces=('uboot4extlinux-pcduino3')
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-linksprite_pcduino3_nano()
{
pkgdesc=$(_make_pkgdesc "uboot4extlinux-pcduino3-nano")
replaces=('uboot4extlinux-pcduino3-nano')
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-orangepi_2()
{
pkgdesc=$(_make_pkgdesc "Orange Pi 2")
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-orangepi_one()
{
pkgdesc=$(_make_pkgdesc "Orange Pi One")
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-orangepi_pc()
{
pkgdesc=$(_make_pkgdesc "Orange Pi PC")
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
package_uboot4extlinux-orangepi_plus()
{
pkgdesc=$(_make_pkgdesc "Orange Pi Plus")
# util-linux is needed for blkid for install-uboot4extlinux.sh
depends=("${pkgbase}" 'util-linux')
_make_uboot_package "${pkgname}"
}
</pre></p>
Packages - Freedom Issue #3095: u-boot has nonfree files
https://labs.parabola.nu/issues/3095?journal_id=16763
2022-01-19T13:53:44Z
GNUtoo
GNUtoo@cyberdimension.org
<ul><li><strong>Tracker</strong> changed from <i>Bug</i> to <i>Freedom Issue</i></li></ul><p>As I didn't manage to use mksource, I've started to work on upstreaming the script to cleanup u-boot in Libreboot. Once this is done it would be easier to work with as we could reuse their released u-boot tarballs.</p>
Packages - Freedom Issue #3095: u-boot has nonfree files
https://labs.parabola.nu/issues/3095?journal_id=17025
2022-03-31T00:18:23Z
GNUtoo
GNUtoo@cyberdimension.org
<ul><li><strong>Assignee</strong> set to <i>GNUtoo</i></li><li><strong>Status</strong> changed from <i>unconfirmed</i> to <i>confirmed</i></li></ul>
Packages - Freedom Issue #3095: u-boot has nonfree files
https://labs.parabola.nu/issues/3095?journal_id=17026
2022-03-31T00:19:02Z
GNUtoo
GNUtoo@cyberdimension.org
<ul></ul><p>That's now fixed. I did the fix by deblobbing u-boot in Libreboot and generating a tarball like it is done with linux-libre.</p>
Packages - Freedom Issue #3095: u-boot has nonfree files
https://labs.parabola.nu/issues/3095?journal_id=17027
2022-03-31T00:19:31Z
GNUtoo
GNUtoo@cyberdimension.org
<ul><li><strong>Status</strong> changed from <i>confirmed</i> to <i>fixed</i></li></ul>
Packages - Freedom Issue #3095: u-boot has nonfree files
https://labs.parabola.nu/issues/3095?journal_id=19491
2024-03-18T05:09:36Z
bill-auger
<ul><li><strong>Priority</strong> changed from <i>bug</i> to <i>freedom issue</i></li><li><strong>Subject</strong> changed from <i>u-boot has nonfree files in arch/x86/dts/microcode/</i> to <i>u-boot has nonfree files</i></li></ul><p>none of the uboot packages in the blacklist had a BR reference; so i am assigning this ticket to those</p>
<p>they were all documented with a rather peculiar and imprecise reason too - no idea what that suggest was the original blacklist reason</p>
<blockquote>
<p>[technical] adapted to nonfree linux kernel</p>
</blockquote>