pmos/linux-remarkable-zero-gravitas: port to pmos #846
17 changed files with 4444 additions and 752 deletions
556
.forgejo/bin/build-rootfs.sh
Executable file
556
.forgejo/bin/build-rootfs.sh
Executable file
|
|
@ -0,0 +1,556 @@
|
|||
#!/usr/bin/env bash
|
||||
# Availabl here: https://lab.ilot.io/dotnet/arcade/-/blob/7f6d9796cc7f594772f798358dbdd8c69b6a97af/eng/common/cross/build-rootfs.sh
|
||||
# Only modification: qemu-$arch-static becomes qemu-$arch
|
||||
|
||||
set -e
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [llvmx[.y]] [--skipunmount] --rootfsdir <directory>]"
|
||||
echo "BuildArch can be: arm(default), arm64, armel, armv6, ppc64le, riscv64, s390x, x64, x86"
|
||||
echo "CodeName - optional, Code name for Linux, can be: xenial(default), zesty, bionic, alpine"
|
||||
echo " for alpine can be specified with version: alpineX.YY or alpineedge"
|
||||
echo " for FreeBSD can be: freebsd12, freebsd13"
|
||||
echo " for illumos can be: illumos"
|
||||
echo " for Haiku can be: haiku."
|
||||
echo "lldbx.y - optional, LLDB version, can be: lldb3.9(default), lldb4.0, lldb5.0, lldb6.0 no-lldb. Ignored for alpine and FreeBSD"
|
||||
echo "llvmx[.y] - optional, LLVM version for LLVM related packages."
|
||||
echo "--skipunmount - optional, will skip the unmount of rootfs folder."
|
||||
echo "--use-mirror - optional, use mirror URL to fetch resources, when available."
|
||||
echo "--jobs N - optional, restrict to N jobs."
|
||||
exit 1
|
||||
}
|
||||
|
||||
__CodeName=xenial
|
||||
__CrossDir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||
__BuildArch=arm
|
||||
__AlpineArch=armv7
|
||||
__FreeBSDArch=arm
|
||||
__FreeBSDMachineArch=armv7
|
||||
__IllumosArch=arm7
|
||||
__QEMUArch=arm
|
||||
__UbuntuArch=armhf
|
||||
__UbuntuRepo="http://ports.ubuntu.com/"
|
||||
__LLDB_Package="liblldb-3.9-dev"
|
||||
__SkipUnmount=0
|
||||
|
||||
# base development support
|
||||
__UbuntuPackages="build-essential"
|
||||
|
||||
__AlpinePackages="alpine-base"
|
||||
__AlpinePackages+=" build-base"
|
||||
|
||||
# symlinks fixer
|
||||
__UbuntuPackages+=" symlinks"
|
||||
|
||||
# runtime dependencies
|
||||
__UbuntuPackages+=" libicu-dev"
|
||||
__UbuntuPackages+=" liblttng-ust-dev"
|
||||
__UbuntuPackages+=" libunwind8-dev"
|
||||
__UbuntuPackages+=" libnuma-dev"
|
||||
|
||||
# runtime libraries' dependencies
|
||||
__UbuntuPackages+=" libcurl4-openssl-dev"
|
||||
__UbuntuPackages+=" libkrb5-dev"
|
||||
__UbuntuPackages+=" libssl-dev"
|
||||
__UbuntuPackages+=" zlib1g-dev"
|
||||
|
||||
__FreeBSDBase="12.3-RELEASE"
|
||||
__FreeBSDPkg="1.17.0"
|
||||
__FreeBSDABI="12"
|
||||
__FreeBSDPackages="libunwind"
|
||||
__FreeBSDPackages+=" icu"
|
||||
__FreeBSDPackages+=" libinotify"
|
||||
__FreeBSDPackages+=" openssl"
|
||||
__FreeBSDPackages+=" krb5"
|
||||
__FreeBSDPackages+=" terminfo-db"
|
||||
|
||||
__IllumosPackages="icu"
|
||||
__IllumosPackages+=" mit-krb5"
|
||||
__IllumosPackages+=" openssl"
|
||||
__IllumosPackages+=" zlib"
|
||||
|
||||
__HaikuPackages="gmp"
|
||||
__HaikuPackages+=" gmp_devel"
|
||||
__HaikuPackages+=" krb5"
|
||||
__HaikuPackages+=" krb5_devel"
|
||||
__HaikuPackages+=" libiconv"
|
||||
__HaikuPackages+=" libiconv_devel"
|
||||
__HaikuPackages+=" llvm12_libunwind"
|
||||
__HaikuPackages+=" llvm12_libunwind_devel"
|
||||
__HaikuPackages+=" mpfr"
|
||||
__HaikuPackages+=" mpfr_devel"
|
||||
|
||||
# ML.NET dependencies
|
||||
__UbuntuPackages+=" libomp5"
|
||||
__UbuntuPackages+=" libomp-dev"
|
||||
|
||||
__Keyring=
|
||||
__UseMirror=0
|
||||
|
||||
__UnprocessedBuildArgs=
|
||||
while :; do
|
||||
if [[ "$#" -le 0 ]]; then
|
||||
break
|
||||
fi
|
||||
|
||||
lowerI="$(echo "$1" | tr "[:upper:]" "[:lower:]")"
|
||||
case $lowerI in
|
||||
-\?|-h|--help)
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
arm)
|
||||
__BuildArch=arm
|
||||
__UbuntuArch=armhf
|
||||
__AlpineArch=armv7
|
||||
__QEMUArch=arm
|
||||
;;
|
||||
arm64)
|
||||
__BuildArch=arm64
|
||||
__UbuntuArch=arm64
|
||||
__AlpineArch=aarch64
|
||||
__QEMUArch=aarch64
|
||||
__FreeBSDArch=arm64
|
||||
__FreeBSDMachineArch=aarch64
|
||||
;;
|
||||
armel)
|
||||
__BuildArch=armel
|
||||
__UbuntuArch=armel
|
||||
__UbuntuRepo="http://ftp.debian.org/debian/"
|
||||
__CodeName=jessie
|
||||
;;
|
||||
armv6)
|
||||
__BuildArch=armv6
|
||||
__UbuntuArch=armhf
|
||||
__QEMUArch=arm
|
||||
__UbuntuRepo="http://raspbian.raspberrypi.org/raspbian/"
|
||||
__CodeName=buster
|
||||
__LLDB_Package="liblldb-6.0-dev"
|
||||
|
||||
if [[ -e "/usr/share/keyrings/raspbian-archive-keyring.gpg" ]]; then
|
||||
__Keyring="--keyring /usr/share/keyrings/raspbian-archive-keyring.gpg"
|
||||
fi
|
||||
;;
|
||||
riscv64)
|
||||
__BuildArch=riscv64
|
||||
__AlpineArch=riscv64
|
||||
__QEMUArch=riscv64
|
||||
__UbuntuArch=riscv64
|
||||
__UbuntuRepo="http://deb.debian.org/debian-ports"
|
||||
__UbuntuPackages="${__UbuntuPackages// libunwind8-dev/}"
|
||||
unset __LLDB_Package
|
||||
|
||||
if [[ -e "/usr/share/keyrings/debian-ports-archive-keyring.gpg" ]]; then
|
||||
__Keyring="--keyring /usr/share/keyrings/debian-ports-archive-keyring.gpg --include=debian-ports-archive-keyring"
|
||||
fi
|
||||
;;
|
||||
ppc64le)
|
||||
__BuildArch=ppc64le
|
||||
__AlpineArch=ppc64le
|
||||
__QEMUArch=ppc64le
|
||||
__UbuntuArch=ppc64el
|
||||
__UbuntuRepo="http://ports.ubuntu.com/ubuntu-ports/"
|
||||
__UbuntuPackages="${__UbuntuPackages// libunwind8-dev/}"
|
||||
__UbuntuPackages="${__UbuntuPackages// libomp-dev/}"
|
||||
__UbuntuPackages="${__UbuntuPackages// libomp5/}"
|
||||
unset __LLDB_Package
|
||||
;;
|
||||
s390x)
|
||||
__BuildArch=s390x
|
||||
__AlpineArch=s390x
|
||||
__QEMUArch=s390x
|
||||
__UbuntuArch=s390x
|
||||
__UbuntuRepo="http://ports.ubuntu.com/ubuntu-ports/"
|
||||
__UbuntuPackages="${__UbuntuPackages// libunwind8-dev/}"
|
||||
__UbuntuPackages="${__UbuntuPackages// libomp-dev/}"
|
||||
__UbuntuPackages="${__UbuntuPackages// libomp5/}"
|
||||
unset __LLDB_Package
|
||||
;;
|
||||
x64)
|
||||
__BuildArch=x64
|
||||
__AlpineArch=x86_64
|
||||
__QEMUArch=x86_64
|
||||
__UbuntuArch=amd64
|
||||
__FreeBSDArch=amd64
|
||||
__FreeBSDMachineArch=amd64
|
||||
__illumosArch=x86_64
|
||||
__UbuntuRepo=
|
||||
;;
|
||||
x86)
|
||||
__BuildArch=x86
|
||||
__AlpineArch=i386
|
||||
__QEMUArch=i386
|
||||
__UbuntuArch=i386
|
||||
__AlpineArch=x86
|
||||
__UbuntuRepo="http://archive.ubuntu.com/ubuntu/"
|
||||
;;
|
||||
lldb*)
|
||||
version="${lowerI/lldb/}"
|
||||
parts=(${version//./ })
|
||||
|
||||
# for versions > 6.0, lldb has dropped the minor version
|
||||
if [[ "${parts[0]}" -gt 6 ]]; then
|
||||
version="${parts[0]}"
|
||||
fi
|
||||
|
||||
__LLDB_Package="liblldb-${version}-dev"
|
||||
;;
|
||||
no-lldb)
|
||||
unset __LLDB_Package
|
||||
;;
|
||||
llvm*)
|
||||
version="${lowerI/llvm/}"
|
||||
parts=(${version//./ })
|
||||
__LLVM_MajorVersion="${parts[0]}"
|
||||
__LLVM_MinorVersion="${parts[1]}"
|
||||
|
||||
# for versions > 6.0, llvm has dropped the minor version
|
||||
if [[ -z "$__LLVM_MinorVersion" && "$__LLVM_MajorVersion" -le 6 ]]; then
|
||||
__LLVM_MinorVersion=0;
|
||||
fi
|
||||
;;
|
||||
xenial) # Ubuntu 16.04
|
||||
if [[ "$__CodeName" != "jessie" ]]; then
|
||||
__CodeName=xenial
|
||||
fi
|
||||
;;
|
||||
zesty) # Ubuntu 17.04
|
||||
if [[ "$__CodeName" != "jessie" ]]; then
|
||||
__CodeName=zesty
|
||||
fi
|
||||
;;
|
||||
bionic) # Ubuntu 18.04
|
||||
if [[ "$__CodeName" != "jessie" ]]; then
|
||||
__CodeName=bionic
|
||||
fi
|
||||
;;
|
||||
focal) # Ubuntu 20.04
|
||||
if [[ "$__CodeName" != "jessie" ]]; then
|
||||
__CodeName=focal
|
||||
fi
|
||||
;;
|
||||
jammy) # Ubuntu 22.04
|
||||
if [[ "$__CodeName" != "jessie" ]]; then
|
||||
__CodeName=jammy
|
||||
fi
|
||||
;;
|
||||
jessie) # Debian 8
|
||||
__CodeName=jessie
|
||||
|
||||
if [[ -z "$__UbuntuRepo" ]]; then
|
||||
__UbuntuRepo="http://ftp.debian.org/debian/"
|
||||
fi
|
||||
;;
|
||||
stretch) # Debian 9
|
||||
__CodeName=stretch
|
||||
__LLDB_Package="liblldb-6.0-dev"
|
||||
|
||||
if [[ -z "$__UbuntuRepo" ]]; then
|
||||
__UbuntuRepo="http://ftp.debian.org/debian/"
|
||||
fi
|
||||
;;
|
||||
buster) # Debian 10
|
||||
__CodeName=buster
|
||||
__LLDB_Package="liblldb-6.0-dev"
|
||||
|
||||
if [[ -z "$__UbuntuRepo" ]]; then
|
||||
__UbuntuRepo="http://ftp.debian.org/debian/"
|
||||
fi
|
||||
;;
|
||||
bullseye) # Debian 11
|
||||
__CodeName=bullseye
|
||||
|
||||
if [[ -z "$__UbuntuRepo" ]]; then
|
||||
__UbuntuRepo="http://ftp.debian.org/debian/"
|
||||
fi
|
||||
;;
|
||||
sid) # Debian sid
|
||||
__CodeName=sid
|
||||
|
||||
if [[ -z "$__UbuntuRepo" ]]; then
|
||||
__UbuntuRepo="http://ftp.debian.org/debian/"
|
||||
fi
|
||||
;;
|
||||
tizen)
|
||||
__CodeName=
|
||||
__UbuntuRepo=
|
||||
__Tizen=tizen
|
||||
;;
|
||||
alpine*)
|
||||
__CodeName=alpine
|
||||
__UbuntuRepo=
|
||||
version="${lowerI/alpine/}"
|
||||
|
||||
if [[ "$version" == "edge" ]]; then
|
||||
__AlpineVersion=edge
|
||||
else
|
||||
parts=(${version//./ })
|
||||
__AlpineMajorVersion="${parts[0]}"
|
||||
__AlpineMinoVersion="${parts[1]}"
|
||||
__AlpineVersion="$__AlpineMajorVersion.$__AlpineMinoVersion"
|
||||
fi
|
||||
;;
|
||||
freebsd12)
|
||||
__CodeName=freebsd
|
||||
__SkipUnmount=1
|
||||
;;
|
||||
freebsd13)
|
||||
__CodeName=freebsd
|
||||
__FreeBSDBase="13.0-RELEASE"
|
||||
__FreeBSDABI="13"
|
||||
__SkipUnmount=1
|
||||
;;
|
||||
illumos)
|
||||
__CodeName=illumos
|
||||
__SkipUnmount=1
|
||||
;;
|
||||
haiku)
|
||||
__CodeName=haiku
|
||||
__BuildArch=x64
|
||||
__SkipUnmount=1
|
||||
;;
|
||||
--skipunmount)
|
||||
__SkipUnmount=1
|
||||
;;
|
||||
--rootfsdir|-rootfsdir)
|
||||
shift
|
||||
__RootfsDir="$1"
|
||||
;;
|
||||
--use-mirror)
|
||||
__UseMirror=1
|
||||
;;
|
||||
--use-jobs)
|
||||
shift
|
||||
MAXJOBS=$1
|
||||
;;
|
||||
*)
|
||||
__UnprocessedBuildArgs="$__UnprocessedBuildArgs $1"
|
||||
;;
|
||||
esac
|
||||
|
||||
shift
|
||||
done
|
||||
|
||||
if [[ "$__BuildArch" == "armel" ]]; then
|
||||
__LLDB_Package="lldb-3.5-dev"
|
||||
fi
|
||||
|
||||
__UbuntuPackages+=" ${__LLDB_Package:-}"
|
||||
|
||||
if [[ -n "$__LLVM_MajorVersion" ]]; then
|
||||
__UbuntuPackages+=" libclang-common-${__LLVM_MajorVersion}${__LLVM_MinorVersion:+.$__LLVM_MinorVersion}-dev"
|
||||
fi
|
||||
|
||||
if [[ -z "$__RootfsDir" && -n "$ROOTFS_DIR" ]]; then
|
||||
__RootfsDir="$ROOTFS_DIR"
|
||||
fi
|
||||
|
||||
if [[ -z "$__RootfsDir" ]]; then
|
||||
__RootfsDir="$__CrossDir/../../../.tools/rootfs/$__BuildArch"
|
||||
fi
|
||||
|
||||
if [[ -d "$__RootfsDir" ]]; then
|
||||
if [[ "$__SkipUnmount" == "0" ]]; then
|
||||
umount "$__RootfsDir"/* || true
|
||||
fi
|
||||
rm -rf "$__RootfsDir"
|
||||
fi
|
||||
|
||||
mkdir -p "$__RootfsDir"
|
||||
__RootfsDir="$( cd "$__RootfsDir" && pwd )"
|
||||
|
||||
if [[ "$__CodeName" == "alpine" ]]; then
|
||||
__ApkToolsVersion=2.12.11
|
||||
__ApkToolsDir="$(mktemp -d)"
|
||||
|
||||
wget "https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic//v$__ApkToolsVersion/x86_64/apk.static" -P "$__ApkToolsDir"
|
||||
chmod +x "$__ApkToolsDir/apk.static"
|
||||
|
||||
mkdir -p "$__RootfsDir"/usr/bin
|
||||
cp -v "/usr/bin/qemu-$__QEMUArch" "$__RootfsDir/usr/bin"
|
||||
|
||||
if [[ "$__AlpineVersion" == "edge" ]]; then
|
||||
version=edge
|
||||
else
|
||||
version="v$__AlpineVersion"
|
||||
fi
|
||||
|
||||
# initialize DB
|
||||
"$__ApkToolsDir/apk.static" \
|
||||
-X "http://dl-cdn.alpinelinux.org/alpine/$version/main" \
|
||||
-X "http://dl-cdn.alpinelinux.org/alpine/$version/community" \
|
||||
-U --allow-untrusted --root "$__RootfsDir" --arch "$__AlpineArch" --initdb add
|
||||
|
||||
if [[ "$__AlpineLlvmLibsLookup" == 1 ]]; then
|
||||
__AlpinePackages+=" $("$__ApkToolsDir/apk.static" \
|
||||
-X "http://dl-cdn.alpinelinux.org/alpine/$version/main" \
|
||||
-X "http://dl-cdn.alpinelinux.org/alpine/$version/community" \
|
||||
-U --allow-untrusted --root "$__RootfsDir" --arch "$__AlpineArch" \
|
||||
search 'llvm*-libs' | sort | tail -1 | sed 's/-[^-]*//2g')"
|
||||
fi
|
||||
|
||||
# install all packages in one go
|
||||
"$__ApkToolsDir/apk.static" \
|
||||
-X "http://dl-cdn.alpinelinux.org/alpine/$version/main" \
|
||||
-X "http://dl-cdn.alpinelinux.org/alpine/$version/community" \
|
||||
-U --allow-untrusted --no-scripts --root "$__RootfsDir" --arch "$__AlpineArch" \
|
||||
add $__AlpinePackages
|
||||
|
||||
rm -r "$__ApkToolsDir"
|
||||
elif [[ "$__CodeName" == "freebsd" ]]; then
|
||||
mkdir -p "$__RootfsDir"/usr/local/etc
|
||||
JOBS=${MAXJOBS:="$(getconf _NPROCESSORS_ONLN)"}
|
||||
wget -O - "https://download.freebsd.org/ftp/releases/${__FreeBSDArch}/${__FreeBSDMachineArch}/${__FreeBSDBase}/base.txz" | tar -C "$__RootfsDir" -Jxf - ./lib ./usr/lib ./usr/libdata ./usr/include ./usr/share/keys ./etc ./bin/freebsd-version
|
||||
echo "ABI = \"FreeBSD:${__FreeBSDABI}:${__FreeBSDMachineArch}\"; FINGERPRINTS = \"${__RootfsDir}/usr/share/keys\"; REPOS_DIR = [\"${__RootfsDir}/etc/pkg\"]; REPO_AUTOUPDATE = NO; RUN_SCRIPTS = NO;" > "${__RootfsDir}"/usr/local/etc/pkg.conf
|
||||
echo "FreeBSD: { url: \"pkg+http://pkg.FreeBSD.org/\${ABI}/quarterly\", mirror_type: \"srv\", signature_type: \"fingerprints\", fingerprints: \"${__RootfsDir}/usr/share/keys/pkg\", enabled: yes }" > "${__RootfsDir}"/etc/pkg/FreeBSD.conf
|
||||
mkdir -p "$__RootfsDir"/tmp
|
||||
# get and build package manager
|
||||
wget -O - "https://github.com/freebsd/pkg/archive/${__FreeBSDPkg}.tar.gz" | tar -C "$__RootfsDir"/tmp -zxf -
|
||||
cd "$__RootfsDir/tmp/pkg-${__FreeBSDPkg}"
|
||||
# needed for install to succeed
|
||||
mkdir -p "$__RootfsDir"/host/etc
|
||||
./autogen.sh && ./configure --prefix="$__RootfsDir"/host && make -j "$JOBS" && make install
|
||||
rm -rf "$__RootfsDir/tmp/pkg-${__FreeBSDPkg}"
|
||||
# install packages we need.
|
||||
INSTALL_AS_USER=$(whoami) "$__RootfsDir"/host/sbin/pkg -r "$__RootfsDir" -C "$__RootfsDir"/usr/local/etc/pkg.conf update
|
||||
INSTALL_AS_USER=$(whoami) "$__RootfsDir"/host/sbin/pkg -r "$__RootfsDir" -C "$__RootfsDir"/usr/local/etc/pkg.conf install --yes $__FreeBSDPackages
|
||||
elif [[ "$__CodeName" == "illumos" ]]; then
|
||||
mkdir "$__RootfsDir/tmp"
|
||||
pushd "$__RootfsDir/tmp"
|
||||
JOBS=${MAXJOBS:="$(getconf _NPROCESSORS_ONLN)"}
|
||||
echo "Downloading sysroot."
|
||||
wget -O - https://github.com/illumos/sysroot/releases/download/20181213-de6af22ae73b-v1/illumos-sysroot-i386-20181213-de6af22ae73b-v1.tar.gz | tar -C "$__RootfsDir" -xzf -
|
||||
echo "Building binutils. Please wait.."
|
||||
wget -O - https://ftp.gnu.org/gnu/binutils/binutils-2.33.1.tar.bz2 | tar -xjf -
|
||||
mkdir build-binutils && cd build-binutils
|
||||
../binutils-2.33.1/configure --prefix="$__RootfsDir" --target="${__illumosArch}-sun-solaris2.10" --program-prefix="${__illumosArch}-illumos-" --with-sysroot="$__RootfsDir"
|
||||
make -j "$JOBS" && make install && cd ..
|
||||
echo "Building gcc. Please wait.."
|
||||
wget -O - https://ftp.gnu.org/gnu/gcc/gcc-8.4.0/gcc-8.4.0.tar.xz | tar -xJf -
|
||||
CFLAGS="-fPIC"
|
||||
CXXFLAGS="-fPIC"
|
||||
CXXFLAGS_FOR_TARGET="-fPIC"
|
||||
CFLAGS_FOR_TARGET="-fPIC"
|
||||
export CFLAGS CXXFLAGS CXXFLAGS_FOR_TARGET CFLAGS_FOR_TARGET
|
||||
mkdir build-gcc && cd build-gcc
|
||||
../gcc-8.4.0/configure --prefix="$__RootfsDir" --target="${__illumosArch}-sun-solaris2.10" --program-prefix="${__illumosArch}-illumos-" --with-sysroot="$__RootfsDir" --with-gnu-as \
|
||||
--with-gnu-ld --disable-nls --disable-libgomp --disable-libquadmath --disable-libssp --disable-libvtv --disable-libcilkrts --disable-libada --disable-libsanitizer \
|
||||
--disable-libquadmath-support --disable-shared --enable-tls
|
||||
make -j "$JOBS" && make install && cd ..
|
||||
BaseUrl=https://pkgsrc.smartos.org
|
||||
if [[ "$__UseMirror" == 1 ]]; then
|
||||
BaseUrl=https://pkgsrc.smartos.skylime.net
|
||||
fi
|
||||
BaseUrl="$BaseUrl/packages/SmartOS/trunk/${__illumosArch}/All"
|
||||
echo "Downloading manifest"
|
||||
wget "$BaseUrl"
|
||||
echo "Downloading dependencies."
|
||||
read -ra array <<<"$__IllumosPackages"
|
||||
for package in "${array[@]}"; do
|
||||
echo "Installing '$package'"
|
||||
# find last occurrence of package in listing and extract its name
|
||||
package="$(sed -En '/.*href="('"$package"'-[0-9].*).tgz".*/h;$!d;g;s//\1/p' All)"
|
||||
echo "Resolved name '$package'"
|
||||
wget "$BaseUrl"/"$package".tgz
|
||||
ar -x "$package".tgz
|
||||
tar --skip-old-files -xzf "$package".tmp.tg* -C "$__RootfsDir" 2>/dev/null
|
||||
done
|
||||
echo "Cleaning up temporary files."
|
||||
popd
|
||||
rm -rf "$__RootfsDir"/{tmp,+*}
|
||||
mkdir -p "$__RootfsDir"/usr/include/net
|
||||
mkdir -p "$__RootfsDir"/usr/include/netpacket
|
||||
wget -P "$__RootfsDir"/usr/include/net https://raw.githubusercontent.com/illumos/illumos-gate/master/usr/src/uts/common/io/bpf/net/bpf.h
|
||||
wget -P "$__RootfsDir"/usr/include/net https://raw.githubusercontent.com/illumos/illumos-gate/master/usr/src/uts/common/io/bpf/net/dlt.h
|
||||
wget -P "$__RootfsDir"/usr/include/netpacket https://raw.githubusercontent.com/illumos/illumos-gate/master/usr/src/uts/common/inet/sockmods/netpacket/packet.h
|
||||
wget -P "$__RootfsDir"/usr/include/sys https://raw.githubusercontent.com/illumos/illumos-gate/master/usr/src/uts/common/sys/sdt.h
|
||||
elif [[ "$__CodeName" == "haiku" ]]; then
|
||||
JOBS=${MAXJOBS:="$(getconf _NPROCESSORS_ONLN)"}
|
||||
|
||||
echo "Building Haiku sysroot for x86_64"
|
||||
mkdir -p "$__RootfsDir/tmp"
|
||||
cd "$__RootfsDir/tmp"
|
||||
git clone -b hrev56235 https://review.haiku-os.org/haiku
|
||||
git clone -b btrev43195 https://review.haiku-os.org/buildtools
|
||||
cd "$__RootfsDir/tmp/buildtools" && git checkout 7487388f5110021d400b9f3b88e1a7f310dc066d
|
||||
|
||||
# Fetch some unmerged patches
|
||||
cd "$__RootfsDir/tmp/haiku"
|
||||
## Add development build profile (slimmer than nightly)
|
||||
git fetch origin refs/changes/64/4164/1 && git -c commit.gpgsign=false cherry-pick FETCH_HEAD
|
||||
|
||||
# Build jam
|
||||
cd "$__RootfsDir/tmp/buildtools/jam"
|
||||
make
|
||||
|
||||
# Configure cross tools
|
||||
echo "Building cross-compiler"
|
||||
mkdir -p "$__RootfsDir/generated"
|
||||
cd "$__RootfsDir/generated"
|
||||
"$__RootfsDir/tmp/haiku/configure" -j"$JOBS" --sysroot "$__RootfsDir" --cross-tools-source "$__RootfsDir/tmp/buildtools" --build-cross-tools x86_64
|
||||
|
||||
# Build Haiku packages
|
||||
echo "Building Haiku"
|
||||
echo 'HAIKU_BUILD_PROFILE = "development-raw" ;' > UserProfileConfig
|
||||
"$__RootfsDir/tmp/buildtools/jam/jam0" -j"$JOBS" -q '<build>package' '<repository>Haiku'
|
||||
|
||||
BaseUrl="https://depot.haiku-os.org/__api/v2/pkg/get-pkg"
|
||||
|
||||
# Download additional packages
|
||||
echo "Downloading additional required packages"
|
||||
read -ra array <<<"$__HaikuPackages"
|
||||
for package in "${array[@]}"; do
|
||||
echo "Downloading $package..."
|
||||
# API documented here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L60
|
||||
# The schema here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L598
|
||||
hpkgDownloadUrl="$(wget -qO- --post-data='{"name":"'"$package"'","repositorySourceCode":"haikuports_x86_64","versionType":"LATEST","naturalLanguageCode":"en"}' \
|
||||
--header='Content-Type:application/json' "$BaseUrl" | jq -r '.result.versions[].hpkgDownloadURL')"
|
||||
wget -P "$__RootfsDir/generated/download" "$hpkgDownloadUrl"
|
||||
done
|
||||
|
||||
# Setup the sysroot
|
||||
echo "Setting up sysroot and extracting needed packages"
|
||||
mkdir -p "$__RootfsDir/boot/system"
|
||||
for file in "$__RootfsDir/generated/objects/haiku/x86_64/packaging/packages/"*.hpkg; do
|
||||
"$__RootfsDir/generated/objects/linux/x86_64/release/tools/package/package" extract -C "$__RootfsDir/boot/system" "$file"
|
||||
done
|
||||
for file in "$__RootfsDir/generated/download/"*.hpkg; do
|
||||
"$__RootfsDir/generated/objects/linux/x86_64/release/tools/package/package" extract -C "$__RootfsDir/boot/system" "$file"
|
||||
done
|
||||
|
||||
# Cleaning up temporary files
|
||||
echo "Cleaning up temporary files"
|
||||
rm -rf "$__RootfsDir/tmp"
|
||||
for name in "$__RootfsDir/generated/"*; do
|
||||
if [[ "$name" =~ "cross-tools-" ]]; then
|
||||
: # Keep the cross-compiler
|
||||
else
|
||||
rm -rf "$name"
|
||||
fi
|
||||
done
|
||||
elif [[ -n "$__CodeName" ]]; then
|
||||
qemu-debootstrap $__Keyring --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo"
|
||||
cp "$__CrossDir/$__BuildArch/sources.list.$__CodeName" "$__RootfsDir/etc/apt/sources.list"
|
||||
chroot "$__RootfsDir" apt-get update
|
||||
chroot "$__RootfsDir" apt-get -f -y install
|
||||
chroot "$__RootfsDir" apt-get -y install $__UbuntuPackages
|
||||
chroot "$__RootfsDir" symlinks -cr /usr
|
||||
chroot "$__RootfsDir" apt-get clean
|
||||
|
||||
if [[ "$__SkipUnmount" == "0" ]]; then
|
||||
umount "$__RootfsDir"/* || true
|
||||
fi
|
||||
|
||||
if [[ "$__BuildArch" == "armel" && "$__CodeName" == "jessie" ]]; then
|
||||
pushd "$__RootfsDir"
|
||||
patch -p1 < "$__CrossDir/$__BuildArch/armel.jessie.patch"
|
||||
popd
|
||||
fi
|
||||
elif [[ "$__Tizen" == "tizen" ]]; then
|
||||
ROOTFS_DIR="$__RootfsDir" "$__CrossDir/tizen-build-rootfs.sh" "$__BuildArch"
|
||||
else
|
||||
echo "Unsupported target platform."
|
||||
usage;
|
||||
exit 1
|
||||
fi
|
||||
|
|
@ -7,7 +7,7 @@
|
|||
set -eu -o pipefail
|
||||
|
||||
readonly APORTSDIR=$CI_PROJECT_DIR
|
||||
readonly REPOS="backports user pmos"
|
||||
readonly REPOS="cross backports user pmos"
|
||||
readonly ALPINE_REPOS="main community testing"
|
||||
readonly ARCH=$(apk --print-arch)
|
||||
# gitlab variables
|
||||
|
|
@ -23,6 +23,7 @@ readonly BASEBRANCH=$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
|
|||
|
||||
: "${CI_ALPINE_BUILD_OFFSET:=0}"
|
||||
: "${CI_ALPINE_BUILD_LIMIT:=9999}"
|
||||
: "${CI_ALPINE_TARGET_ARCH:=$(uname -m)}"
|
||||
|
||||
msg() {
|
||||
local color=${2:-green}
|
||||
|
|
@ -81,6 +82,8 @@ get_release() {
|
|||
build_aport() {
|
||||
local repo="$1" aport="$2"
|
||||
cd "$APORTSDIR/$repo/$aport"
|
||||
export CHOST=$CI_ALPINE_TARGET_ARCH
|
||||
abuild deps || true
|
||||
if abuild -r 2>&1 | report "build-$aport"; then
|
||||
checkapk 2>&1 | report "checkapk-$aport" || true
|
||||
aport_ok="$aport_ok $repo/$aport"
|
||||
|
|
@ -92,6 +95,7 @@ build_aport() {
|
|||
check_aport() {
|
||||
local repo="$1" aport="$2"
|
||||
cd "$APORTSDIR/$repo/$aport"
|
||||
export CHOST=$CI_ALPINE_TARGET_ARCH
|
||||
if ! abuild check_arch 2>/dev/null; then
|
||||
aport_na="$aport_na $repo/$aport"
|
||||
return 1
|
||||
|
|
@ -130,9 +134,17 @@ setup_system() {
|
|||
[ "$release" != "edge" ] && [ "$repo" == "testing" ] && continue
|
||||
repos="$repos $ALPINE_MIRROR/$release/$repo"
|
||||
done
|
||||
repos="$repos $MIRROR/$release/cross"
|
||||
doas sh -c "printf '%s\n' $repos > /etc/apk/repositories"
|
||||
doas apk -U upgrade -a || apk fix || die "Failed to up/downgrade system"
|
||||
if [ "$CI_ALPINE_TARGET_ARCH" != "$ARCH" ]; then
|
||||
doas apk add gcc-$CI_ALPINE_TARGET_ARCH
|
||||
fi
|
||||
abuild-keygen -ain
|
||||
|
||||
# patch abuild for crosscompiling
|
||||
doas patch -p1 -d / -i $GITHUB_WORKSPACE/.forgejo/patches/abuild-cross.patch
|
||||
|
||||
doas sed -i -E 's/export JOBS=[0-9]+$/export JOBS=$(nproc)/' /etc/abuild.conf
|
||||
( . /etc/abuild.conf && echo "Building with $JOBS jobs" )
|
||||
mkdir -p "$REPODEST"
|
||||
|
|
|
|||
17
.forgejo/patches/abuild-cross.patch
Normal file
17
.forgejo/patches/abuild-cross.patch
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
diff --git a/usr/bin/abuild.orig b/usr/bin/abuild
|
||||
index 71e0681..d4ae3dd 100755
|
||||
--- a/usr/bin/abuild.orig
|
||||
+++ b/usr/bin/abuild
|
||||
@@ -2231,7 +2231,11 @@ calcdeps() {
|
||||
list_has $i $builddeps && continue
|
||||
subpackages_has ${i%%[<>=]*} || builddeps="$builddeps $i"
|
||||
done
|
||||
- hostdeps="$EXTRADEPENDS_TARGET"
|
||||
+ for i in $EXTRADEPENDS_HOST $EXTRADEPENDS_TARGET $depends $makedepends; do
|
||||
+ [ "$pkgname" = "${i%%[<>=]*}" ] && continue
|
||||
+ list_has $i $hostdeps && continue
|
||||
+ subpackages_has ${i%%[<>=]*} || hostdeps="$hostdeps $i"
|
||||
+ done
|
||||
fi
|
||||
}
|
||||
|
||||
56
.forgejo/workflows/build-armv7.yml
Normal file
56
.forgejo/workflows/build-armv7.yml
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
on:
|
||||
pull_request:
|
||||
types: [ assigned, opened, synchronize, reopened ]
|
||||
|
||||
jobs:
|
||||
build-armv7:
|
||||
runs-on: x86_64
|
||||
container:
|
||||
image: alpinelinux/alpine-gitlab-ci:latest
|
||||
env:
|
||||
CI_PROJECT_DIR: ${{ github.workspace }}
|
||||
CI_DEBUG_BUILD: ${{ runner.debug }}
|
||||
CI_MERGE_REQUEST_PROJECT_URL: ${{ github.server_url }}/${{ github.repository }}
|
||||
CI_MERGE_REQUEST_TARGET_BRANCH_NAME: ${{ github.base_ref }}
|
||||
CI_ALPINE_TARGET_ARCH: armv7
|
||||
CI_QEMU_TARGET_ARCH: arm
|
||||
steps:
|
||||
- name: Environment setup
|
||||
run: |
|
||||
doas apk add nodejs git patch curl qemu-$CI_QEMU_TARGET_ARCH
|
||||
cd /etc/apk/keys
|
||||
doas curl -JO https://ayakael.net/api/packages/forge/alpine/key
|
||||
${{ github.workspace }}/.forgejo/bin/build-rootfs.sh alpine$CI_MERGE_REQUEST_TARGET_BRANCH_NAME $CI_ALPINE_TARGET_ARCH --rootfsdir $HOME/sysroot-$CI_ALPINE_TARGET_ARCH
|
||||
cp /etc/apk/repositories $HOME/sysroot-$CI_ALPINE_TARGET_ARCH/etc/apk/.
|
||||
- name: Repo pull
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 500
|
||||
- name: Package build
|
||||
run: |
|
||||
CHOST=$CI_TARGET_ALPINE_ARCH ${{ github.workspace }}/.forgejo/bin/build.sh
|
||||
touch packages/dummy
|
||||
- name: Package upload
|
||||
uses: forgejo/upload-artifact@v3
|
||||
with:
|
||||
name: package
|
||||
path: packages
|
||||
|
||||
deploy-armv7:
|
||||
needs: [build-armv7]
|
||||
runs-on: x86_64
|
||||
container:
|
||||
image: alpine:latest
|
||||
env:
|
||||
CI_ALPINE_REPO: 'https://ayakael.net/api/packages/forge/alpine'
|
||||
FORGE_REPO_TOKEN: ${{ secrets.FORGE_REPO_TOKEN }}
|
||||
FORGE_REPO_USER: ${{ vars.FORGE_REPO_USER }}
|
||||
steps:
|
||||
- name: Setting up environment
|
||||
run: apk add nodejs curl findutils git gawk
|
||||
- name: Repo pull
|
||||
uses: actions/checkout@v4
|
||||
- name: Package download
|
||||
uses: forgejo/download-artifact@v3
|
||||
- name: Package deployment
|
||||
run: ${{ github.workspace }}/.forgejo/bin/deploy.sh
|
||||
86
pmos/linux-remarkable-zero-gravitas/APKBUILD
Normal file
86
pmos/linux-remarkable-zero-gravitas/APKBUILD
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
# Reference: <https://postmarketos.org/vendorkernel>
|
||||
# Kernel config based on: arch/arm/configs/(CHANGEME!)
|
||||
|
||||
pkgname=linux-remarkable-zero-gravitas
|
||||
pkgver=5.4.70
|
||||
_rmver=1.3.4
|
||||
pkgrel=0
|
||||
pkgdesc="remarkable reMarkable 1 kernel fork"
|
||||
arch="armv7"
|
||||
_carch="arm"
|
||||
_flavor="remarkable-zero-gravitas"
|
||||
_abi_release=$pkgver
|
||||
url="https://github.com/reMarkable/linux"
|
||||
license="GPL-2.0-only"
|
||||
options="!strip !check !tracedeps pmb:cross-native"
|
||||
makedepends="
|
||||
bash
|
||||
bc
|
||||
bison
|
||||
devicepkg-dev
|
||||
findutils
|
||||
flex
|
||||
openssl-dev
|
||||
lzop
|
||||
perl
|
||||
rsync
|
||||
"
|
||||
|
||||
# Source
|
||||
_commit="RM1XX_${pkgver}_v$_rmver"
|
||||
_config="config-$_flavor.$arch"
|
||||
source="
|
||||
https://github.com/reMarkable/linux/archive/refs/tags/RM1XX_${pkgver}_v$_rmver.tar.gz
|
||||
linux5.4-ARM-8933-1-replace-Sun-Solaris-style-flag-on-section.patch
|
||||
brcmfmac-disable-power-management.patch
|
||||
brcmfmac-fix-suspend-resume-when-power-is-cut-off.patch
|
||||
enable-automatic-partial-refreshing.patch
|
||||
$_config
|
||||
"
|
||||
subpackages="$pkgname-dev"
|
||||
builddir="$srcdir"/linux-RM1XX_${pkgver}_v$_rmver
|
||||
_outdir="out"
|
||||
|
||||
prepare() {
|
||||
default_prepare
|
||||
REPLACE_GCCH=0 . downstreamkernel_prepare
|
||||
}
|
||||
|
||||
build() {
|
||||
unset LDFLAGS
|
||||
make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" KLZOP="/usr/bin/lzop" \
|
||||
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
|
||||
}
|
||||
|
||||
package() {
|
||||
downstreamkernel_package "$builddir" "$pkgdir" "$_carch" \
|
||||
"$_flavor" "$_outdir"
|
||||
}
|
||||
|
||||
dev() {
|
||||
pkgdesc="Headers and script for third party modules for $pkgname kernel"
|
||||
depends="gmp-dev bash perl"
|
||||
cd "$builddir"
|
||||
|
||||
local dir="$subpkgdir"/usr/src/linux-headers-$_abi_release
|
||||
mkdir -p "$dir"
|
||||
make -j1 headers_install ARCH="$_carch" INSTALL_HDR_PATH="$dir"
|
||||
|
||||
mkdir -p "$subpkgdir"/lib/modules/$_abi_release
|
||||
|
||||
install -Dm644 "$builddir"/$_outdir/Module.symvers \
|
||||
"$subpkgdir"/lib/modules/$_abi_release/Module.symvers
|
||||
|
||||
ln -sf /usr/src/linux-headers-$_abi_release \
|
||||
"$subpkgdir"/lib/modules/$_abi_release/build
|
||||
}
|
||||
|
||||
|
||||
sha512sums="
|
||||
0409c8443f5a705e8254858f966eed571b935f1be952f64c1d74b52a043d0638ba358370ca20f665d69b70aabe06f03e0bfa02ccd1a4a2a174d5b9579a10b44e RM1XX_5.4.70_v1.3.4.tar.gz
|
||||
ee80928d83189a6b71f853c97551326e3ac74167dee3bda0ae85a034278ca69403bbfbbd9dfaf9f77426e46d7260e4fda8e8900649f1b6355bac62a8cda83776 linux5.4-ARM-8933-1-replace-Sun-Solaris-style-flag-on-section.patch
|
||||
c5fc4f2f70112cc66a91a2948f7fd4adcd7172a95191b4c862084c7b80093cfa696925aa9a825c41bddac7441ba153eb264b8146e52a4556a73349e6fd10e641 brcmfmac-disable-power-management.patch
|
||||
27ec1bc1d916dbd2258192c1ed864eacbd2746b49caa554fbaf1124bac478bab0b729e7fabbab8705ae175bb098800f795d415f4de4964da921c1b802560b67a brcmfmac-fix-suspend-resume-when-power-is-cut-off.patch
|
||||
0f47278c5bfafb939e46224fbf16f9491e3cc560ac128dcf430a1f6cf9064fb1c5bf5db1a3076c35d30c004aec525a7d6616a647564f197bb29c57701c1db982 enable-automatic-partial-refreshing.patch
|
||||
d9d928409229f005116d8040f4f42673293c09310ab2d38c51f9d1705cbc56bada8ea855dee74f7ab64d4ce0a8bbc08dd44d9e1c8a677de949a90522cc7639ee config-remarkable-zero-gravitas.armv7
|
||||
"
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,101 @@
|
|||
From 3020e3a81b63e05891ef5d40f3acfbd00040ba17 Mon Sep 17 00:00:00 2001
|
||||
From: Nick Desaulniers <ndesaulniers@google.com>
|
||||
Date: Mon, 4 Nov 2019 19:31:45 +0100
|
||||
Subject: [PATCH] ARM: 8933/1: replace Sun/Solaris style flag on section
|
||||
directive
|
||||
|
||||
It looks like a section directive was using "Solaris style" to declare
|
||||
the section flags. Replace this with the GNU style so that Clang's
|
||||
integrated assembler can assemble this directive.
|
||||
|
||||
The modified instances were identified via:
|
||||
$ ag \.section | grep #
|
||||
|
||||
Link: https://ftp.gnu.org/old-gnu/Manuals/gas-2.9.1/html_chapter/as_7.html#SEC119
|
||||
Link: https://github.com/ClangBuiltLinux/linux/issues/744
|
||||
Link: https://bugs.llvm.org/show_bug.cgi?id=43759
|
||||
Link: https://reviews.llvm.org/D69296
|
||||
|
||||
Acked-by: Nicolas Pitre <nico@fluxnic.net>
|
||||
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
|
||||
Reviewed-by: Stefan Agner <stefan@agner.ch>
|
||||
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
|
||||
Suggested-by: Fangrui Song <maskray@google.com>
|
||||
Suggested-by: Jian Cai <jiancai@google.com>
|
||||
Suggested-by: Peter Smith <peter.smith@linaro.org>
|
||||
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
||||
[ partial backport to 5.4 ]
|
||||
---
|
||||
arch/arm/boot/bootp/init.S | 2 +-
|
||||
arch/arm/boot/compressed/big-endian.S | 2 +-
|
||||
arch/arm/boot/compressed/head.S | 2 +-
|
||||
arch/arm/boot/compressed/piggy.lzma.S | 2 +-
|
||||
arch/arm/mm/proc-v7.S | 2 +-
|
||||
5 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/bootp/init.S b/arch/arm/boot/bootp/init.S
|
||||
index 78b508075161..868eeeaaa46e 100644
|
||||
--- a/arch/arm/boot/bootp/init.S
|
||||
+++ b/arch/arm/boot/bootp/init.S
|
||||
@@ -16,7 +16,7 @@
|
||||
* size immediately following the kernel, we could build this into
|
||||
* a binary blob, and concatenate the zImage using the cat command.
|
||||
*/
|
||||
- .section .start,#alloc,#execinstr
|
||||
+ .section .start, "ax"
|
||||
.type _start, #function
|
||||
.globl _start
|
||||
|
||||
diff --git a/arch/arm/boot/compressed/big-endian.S b/arch/arm/boot/compressed/big-endian.S
|
||||
index 25ab26f1c6f0..f22428e275f8 100644
|
||||
--- a/arch/arm/boot/compressed/big-endian.S
|
||||
+++ b/arch/arm/boot/compressed/big-endian.S
|
||||
@@ -5,7 +5,7 @@
|
||||
* Author: Nicolas Pitre
|
||||
*/
|
||||
|
||||
- .section ".start", #alloc, #execinstr
|
||||
+ .section ".start", "ax"
|
||||
|
||||
mrc p15, 0, r0, c1, c0, 0 @ read control reg
|
||||
orr r0, r0, #(1 << 7) @ enable big endian mode
|
||||
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
|
||||
index 77a716bdf4d3..b70606652d21 100644
|
||||
--- a/arch/arm/boot/compressed/head.S
|
||||
+++ b/arch/arm/boot/compressed/head.S
|
||||
@@ -113,7 +113,7 @@
|
||||
#endif
|
||||
.endm
|
||||
|
||||
- .section ".start", #alloc, #execinstr
|
||||
+ .section ".start", "ax"
|
||||
/*
|
||||
* sort out different calling conventions
|
||||
*/
|
||||
diff --git a/arch/arm/boot/compressed/piggy.S b/arch/arm/boot/compressed/piggy.S
|
||||
index 0284f84dcf3804..27577644ee721a 100644
|
||||
--- a/arch/arm/boot/compressed/piggy.S
|
||||
+++ b/arch/arm/boot/compressed/piggy.S
|
||||
@@ -1,5 +1,5 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
- .section .piggydata,#alloc
|
||||
+ .section .piggydata, "a"
|
||||
.globl input_data
|
||||
input_data:
|
||||
.incbin "arch/arm/boot/compressed/piggy_data"
|
||||
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
|
||||
index c4e8006a1a8cdd..48e0ef6f0dccfe 100644
|
||||
--- a/arch/arm/mm/proc-v7.S
|
||||
+++ b/arch/arm/mm/proc-v7.S
|
||||
@@ -644,7 +644,7 @@ __v7_setup_stack:
|
||||
string cpu_elf_name, "v7"
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
/*
|
||||
* Standard v7 proc info content
|
||||
--
|
||||
2.30.2
|
||||
|
||||
|
|
@ -1,258 +0,0 @@
|
|||
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
|
||||
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
|
||||
|
||||
pkgname=linux-rm
|
||||
pkgver=5.4.70
|
||||
_rmver=1.3.4
|
||||
pkgrel=11
|
||||
pkgdesc="Linux kernel with reMarkable patches"
|
||||
url=https://github.com/reMarkable/linux
|
||||
depends="initramfs-generator linux-firmware-brcm linux-firmware-cypress"
|
||||
_depends_dev="perl gmp-dev elfutils-dev bash mpc1-dev mpfr-dev"
|
||||
makedepends="$_depends_dev sed installkernel bc linux-headers linux-firmware mawk
|
||||
bison flex openssl-dev>3 diffutils pahole findutils xz lzop
|
||||
"
|
||||
options="!strip !check"
|
||||
builddir="$srcdir"/linux-RM1XX_${pkgver}_v$_rmver
|
||||
source="
|
||||
https://github.com/reMarkable/linux/archive/refs/tags/RM1XX_${pkgver}_v$_rmver.tar.gz
|
||||
https://raw.githubusercontent.com/ichaozi/RemarkableFramebuffer/0f37dc8c06d340dc1af52ff2d4d6d5789ccf14bb/kernel-mxc-epdc-fb-reference/epdc_ES103CS1.fw
|
||||
arm-replace-sun-style-flash-on-section-directive.patch
|
||||
brcmfmac-disable-power-management.patch
|
||||
brcmfmac-fix-suspend-resume-when-power-is-cut-off.patch
|
||||
enable-automatic-partial-refreshing.patch
|
||||
config-changes-rm.armv7
|
||||
config-changes-rm.armhf
|
||||
"
|
||||
arch="armv7"
|
||||
license="GPL-2.0"
|
||||
for _i in $source; do
|
||||
case $_i in
|
||||
config-*.$CARCH)
|
||||
_f=${_i%."$CARCH"}
|
||||
_f=${_f#config-changes-}
|
||||
_flavors="$_flavors $_f"
|
||||
[ "linux-$_f" != "$pkgname" ] && subpackages="$subpackages linux-$_f::$CTARGET_ARCH"
|
||||
subpackages="$subpackages linux-$_f-dev:_dev:$CTARGET_ARCH"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
_carch=$CARCH
|
||||
case "$CARCH" in
|
||||
aarch64) _carch="arm64" ;;
|
||||
arm*) _carch="arm" ;;
|
||||
esac
|
||||
|
||||
# generate config from defconfig and apply local changes.
|
||||
# config-changes-$flavor.$CARCH holds a list of = delimited
|
||||
# config command and values used by kernel scripts/config script.
|
||||
_genconfig() {
|
||||
local flavor=$1 defconfig=
|
||||
local subbuilddir="$srcdir"/build-$flavor
|
||||
local defconfig=
|
||||
case $flavor in
|
||||
rm) defconfig=zero-gravitas_defconfig ;;
|
||||
rm2) defconfig=zero-sugar_defconfig ;;
|
||||
*) die "Unknown flavor: $flavor" ;;
|
||||
esac
|
||||
|
||||
cp "$builddir"/arch/$_carch/configs/$defconfig \
|
||||
"$subbuilddir"/.config
|
||||
|
||||
while read -r line; do
|
||||
# skip comments
|
||||
case "$line" in
|
||||
"#"*) continue;;
|
||||
esac
|
||||
local option=${line%%=*} str=
|
||||
local cmd=$(echo $line | cut -d= -f2)
|
||||
case "$cmd" in
|
||||
y) cmd="enable";;
|
||||
n) cmd="disable";;
|
||||
m) cmd="module";;
|
||||
'"'*) cmd="set-str"; str="${line#*=}";;
|
||||
[0-9]*) cmd="set-val"; str="${line#*=}";;
|
||||
*) die "Command $cmd not accepted" ;;
|
||||
esac
|
||||
msg "[$flavor] $cmd: $option $str"
|
||||
"$builddir"/scripts/config \
|
||||
--file "$subbuilddir"/.config \
|
||||
--$cmd "$option" "${str//\"/}"
|
||||
done < "$srcdir"/config-changes-$flavor.$CARCH
|
||||
}
|
||||
|
||||
# verify if options are set to correct value
|
||||
_verifyconfig() {
|
||||
local flavor=$1
|
||||
local subbuilddir="$srcdir"/build-$flavor
|
||||
while read -r line; do
|
||||
[ ${line:0:1} = "#" ] && continue
|
||||
local option=${line%%=*} str= invert=
|
||||
local cmd=$(echo $line | cut -d= -f2)
|
||||
case "$cmd" in
|
||||
enable) str="$option=y" ;;
|
||||
disable) str="$option"; invert="-v" ;;
|
||||
module) str="$option=m" ;;
|
||||
set-val) str="$option=${line##*=}" ;;
|
||||
set-str) str=${line##*=}
|
||||
str="$option=\"${str//\"/}\"" ;;
|
||||
esac
|
||||
grep -q $invert "^$str" "$subbuilddir"/.config || \
|
||||
die "Config: $option not properly set!"
|
||||
done < "$srcdir"/config-changes-$flavor.$CARCH
|
||||
}
|
||||
|
||||
prepare() {
|
||||
default_prepare
|
||||
|
||||
local flavor=
|
||||
for flavor in $_flavors; do
|
||||
local _builddir="$srcdir"/build-$flavor
|
||||
mkdir -p "$_builddir"
|
||||
echo "-$pkgrel-$flavor" > "$_builddir"/localversion-alpine
|
||||
_genconfig $flavor
|
||||
make -C "$builddir" \
|
||||
O="$_builddir" \
|
||||
ARCH="$_carch" \
|
||||
olddefconfig
|
||||
_verifyconfig $flavor
|
||||
done
|
||||
}
|
||||
|
||||
build() {
|
||||
unset LDFLAGS
|
||||
for i in $_flavors; do
|
||||
cd "$srcdir"/build-$i
|
||||
local _kver=$(make kernelversion)
|
||||
if [ "$_kver" != "$pkgver" ]; then
|
||||
error "Version in Makefile ($_kver) does not correspond with pkgver ($pkgver)"
|
||||
return 1
|
||||
fi
|
||||
|
||||
make ARCH="$_carch" CC="${CC:-gcc}" KLZOP="/usr/bin/lzop" \
|
||||
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-Alpine"
|
||||
done
|
||||
}
|
||||
|
||||
_package() {
|
||||
local _flavor="$1" _outdir="$2"
|
||||
local _builddir="$srcdir"/build-$_flavor
|
||||
local _abi_release="$(make -C "$_builddir" -s kernelrelease)"
|
||||
|
||||
cd "$srcdir"/build-$_flavor
|
||||
|
||||
mkdir -p "$_outdir"/boot "$_outdir"/lib/modules
|
||||
|
||||
local _install="zinstall dtbs_install"
|
||||
|
||||
cd "$srcdir"/build-$_flavor
|
||||
# modules_install seems to regenerate a defect Modules.symvers. Work
|
||||
# around it by backing it up and restore it after modules_install
|
||||
cp Module.symvers Module.symvers.backup
|
||||
|
||||
local INSTALL_DTBS_PATH="$_outdir"/boot
|
||||
make -j1 modules_install $_install \
|
||||
ARCH="$_carch" \
|
||||
INSTALL_MOD_PATH="$_outdir" \
|
||||
INSTALL_MOD_STRIP=1 \
|
||||
INSTALL_PATH="$_outdir"/boot \
|
||||
INSTALL_DTBS_PATH="$INSTALL_DTBS_PATH"
|
||||
cp Module.symvers.backup Module.symvers
|
||||
|
||||
cp "$_builddir"/arch/arm/boot/zImage "$_outdir"/boot/zImage
|
||||
rm "$_outdir"/boot/vmlinuz-$_flavor
|
||||
|
||||
rm -f "$_outdir"/lib/modules/$_abi_release/build \
|
||||
"$_outdir"/lib/modules/$_abi_release/source
|
||||
rm -rf "$_outdir"/lib/firmware
|
||||
|
||||
install -D -m644 include/config/kernel.release \
|
||||
"$_outdir"/usr/share/kernel/$_flavor/kernel.release
|
||||
|
||||
# install missing firmware
|
||||
install -vDm644 "$srcdir"/epdc_ES103CS1.fw "$_outdir"/lib/firmware/imx/epdc/epdc_ES103CS1.fw
|
||||
}
|
||||
|
||||
# main flavor installs in $pkgdir
|
||||
package() {
|
||||
_package rm "$pkgdir"
|
||||
}
|
||||
|
||||
# subflavors install in $subpkgdir
|
||||
rm2() {
|
||||
depends="initramfs-generator linux-firmware-brcm linux-firmware-cypress"
|
||||
_package rm2 "$subpkgdir"
|
||||
}
|
||||
|
||||
_dev() {
|
||||
local _flavor=$(echo $subpkgname | sed -E 's/(^linux-|-dev$)//g')
|
||||
local _builddir="$srcdir"/build-$_flavor
|
||||
local _abi_release="$(make -C "$_builddir" -s kernelrelease)"
|
||||
# copy the only the parts that we really need for build 3rd party
|
||||
# kernel modules and install those as /usr/src/linux-headers,
|
||||
# simlar to what ubuntu does
|
||||
#
|
||||
# this way you dont need to install the 300-400 kernel sources to
|
||||
# build a tiny kernel module
|
||||
#
|
||||
pkgdesc="Headers and script for third party modules for $_flavor kernel"
|
||||
depends="$_depends_dev"
|
||||
local dir="$subpkgdir"/usr/src/linux-headers-$_abi_release
|
||||
|
||||
# first we import config, run prepare to set up for building
|
||||
# external modules, and create the scripts
|
||||
mkdir -p "$dir"
|
||||
cp "$_builddir"/.config "$dir"/.config
|
||||
echo "-$pkgrel-$_flavor" > "$dir"/localversion-alpine
|
||||
|
||||
make -j1 -C "$builddir" \
|
||||
O="$dir" \
|
||||
ARCH="$_carch" \
|
||||
AWK="${AWK:-mawk}" \
|
||||
syncconfig prepare modules_prepare scripts
|
||||
|
||||
# remove the stuff that points to real sources. we want 3rd party
|
||||
# modules to believe this is the soruces
|
||||
rm "$dir"/Makefile "$dir"/source
|
||||
|
||||
# scripts aren't being crossbuilt from some reason
|
||||
if cross_compiling; then
|
||||
for i in $(scanelf -R "$dir" | awk '{print $2}' | sed '1d'); do rm "$i"; done
|
||||
fi
|
||||
|
||||
# copy the needed stuff from real sources
|
||||
#
|
||||
# this is taken from ubuntu kernel build script
|
||||
# http://kernel.ubuntu.com/git/ubuntu/ubuntu-zesty.git/tree/debian/rules.d/3-binary-indep.mk
|
||||
cd "$builddir"
|
||||
find . -path './include/*' -prune \
|
||||
-o -path './scripts/*' -prune -o -type f \
|
||||
\( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Kbuild*' -o \
|
||||
-name '*.sh' -o -name '*.pl' -o -name '*.lds' \) \
|
||||
-print | cpio -pdm "$dir"
|
||||
|
||||
cp -a scripts include "$dir"
|
||||
|
||||
# shellcheck disable=SC2046
|
||||
find $(find arch -name include -type d -print) -type f \
|
||||
| cpio -pdm "$dir"
|
||||
|
||||
install -Dm644 "$_builddir"/Module.symvers \
|
||||
"$dir"/Module.symvers
|
||||
|
||||
mkdir -p "$subpkgdir"/lib/modules/$_abi_release
|
||||
ln -sf /usr/src/linux-headers-$_abi_release \
|
||||
"$subpkgdir"/lib/modules/$_abi_release/build
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
0409c8443f5a705e8254858f966eed571b935f1be952f64c1d74b52a043d0638ba358370ca20f665d69b70aabe06f03e0bfa02ccd1a4a2a174d5b9579a10b44e RM1XX_5.4.70_v1.3.4.tar.gz
|
||||
ad4bd6f332319aceee7a1c7b71b49439e8217621214b6249c7e20198360d02ea442f31edfc8e1af1b85ed71e6f97c1cb7decf7b0885c9d0293361eef47f218b2 epdc_ES103CS1.fw
|
||||
f9114f8843317e1d26fbf1831182bc9c8d5907a92af6312c778f32be81414cfddfc3ced7b58375960232031d3295e8770b1a1e7466d2ace99e01bbcccd838543 arm-replace-sun-style-flash-on-section-directive.patch
|
||||
c5fc4f2f70112cc66a91a2948f7fd4adcd7172a95191b4c862084c7b80093cfa696925aa9a825c41bddac7441ba153eb264b8146e52a4556a73349e6fd10e641 brcmfmac-disable-power-management.patch
|
||||
27ec1bc1d916dbd2258192c1ed864eacbd2746b49caa554fbaf1124bac478bab0b729e7fabbab8705ae175bb098800f795d415f4de4964da921c1b802560b67a brcmfmac-fix-suspend-resume-when-power-is-cut-off.patch
|
||||
0f47278c5bfafb939e46224fbf16f9491e3cc560ac128dcf430a1f6cf9064fb1c5bf5db1a3076c35d30c004aec525a7d6616a647564f197bb29c57701c1db982 enable-automatic-partial-refreshing.patch
|
||||
9d01054ea7e4ee43836cc536bead5c1707b133790a4ef63e29feb10de4e0b290ba8829980b5340f56bee1e9ec0de66e1e4a55f03c0e6aacbce871a9d60e6ef2e config-changes-rm.armv7
|
||||
9d01054ea7e4ee43836cc536bead5c1707b133790a4ef63e29feb10de4e0b290ba8829980b5340f56bee1e9ec0de66e1e4a55f03c0e6aacbce871a9d60e6ef2e config-changes-rm.armhf
|
||||
"
|
||||
|
|
@ -1,428 +0,0 @@
|
|||
From 790756c7e0229dedc83bf058ac69633045b1000e Mon Sep 17 00:00:00 2001
|
||||
From: Nick Desaulniers <ndesaulniers@google.com>
|
||||
Date: Mon, 4 Nov 2019 19:31:45 +0100
|
||||
Subject: [PATCH] ARM: 8933/1: replace Sun/Solaris style flag on section
|
||||
directive
|
||||
|
||||
It looks like a section directive was using "Solaris style" to declare
|
||||
the section flags. Replace this with the GNU style so that Clang's
|
||||
integrated assembler can assemble this directive.
|
||||
|
||||
The modified instances were identified via:
|
||||
$ ag \.section | grep #
|
||||
|
||||
Link: https://ftp.gnu.org/old-gnu/Manuals/gas-2.9.1/html_chapter/as_7.html#SEC119
|
||||
Link: https://github.com/ClangBuiltLinux/linux/issues/744
|
||||
Link: https://bugs.llvm.org/show_bug.cgi?id=43759
|
||||
Link: https://reviews.llvm.org/D69296
|
||||
|
||||
Acked-by: Nicolas Pitre <nico@fluxnic.net>
|
||||
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
|
||||
Reviewed-by: Stefan Agner <stefan@agner.ch>
|
||||
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
|
||||
Suggested-by: Fangrui Song <maskray@google.com>
|
||||
Suggested-by: Jian Cai <jiancai@google.com>
|
||||
Suggested-by: Peter Smith <peter.smith@linaro.org>
|
||||
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
||||
---
|
||||
arch/arm/boot/bootp/init.S | 2 +-
|
||||
arch/arm/boot/compressed/big-endian.S | 2 +-
|
||||
arch/arm/boot/compressed/head.S | 2 +-
|
||||
arch/arm/boot/compressed/piggy.S | 2 +-
|
||||
arch/arm/mm/proc-arm1020.S | 2 +-
|
||||
arch/arm/mm/proc-arm1020e.S | 2 +-
|
||||
arch/arm/mm/proc-arm1022.S | 2 +-
|
||||
arch/arm/mm/proc-arm1026.S | 2 +-
|
||||
arch/arm/mm/proc-arm720.S | 2 +-
|
||||
arch/arm/mm/proc-arm740.S | 2 +-
|
||||
arch/arm/mm/proc-arm7tdmi.S | 2 +-
|
||||
arch/arm/mm/proc-arm920.S | 2 +-
|
||||
arch/arm/mm/proc-arm922.S | 2 +-
|
||||
arch/arm/mm/proc-arm925.S | 2 +-
|
||||
arch/arm/mm/proc-arm926.S | 2 +-
|
||||
arch/arm/mm/proc-arm940.S | 2 +-
|
||||
arch/arm/mm/proc-arm946.S | 2 +-
|
||||
arch/arm/mm/proc-arm9tdmi.S | 2 +-
|
||||
arch/arm/mm/proc-fa526.S | 2 +-
|
||||
arch/arm/mm/proc-feroceon.S | 2 +-
|
||||
arch/arm/mm/proc-mohawk.S | 2 +-
|
||||
arch/arm/mm/proc-sa110.S | 2 +-
|
||||
arch/arm/mm/proc-sa1100.S | 2 +-
|
||||
arch/arm/mm/proc-v6.S | 2 +-
|
||||
arch/arm/mm/proc-v7.S | 2 +-
|
||||
arch/arm/mm/proc-v7m.S | 4 ++--
|
||||
arch/arm/mm/proc-xsc3.S | 2 +-
|
||||
arch/arm/mm/proc-xscale.S | 2 +-
|
||||
28 files changed, 29 insertions(+), 29 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/bootp/init.S b/arch/arm/boot/bootp/init.S
|
||||
index 5c476bd2b4ce9c..b562da2f704088 100644
|
||||
--- a/arch/arm/boot/bootp/init.S
|
||||
+++ b/arch/arm/boot/bootp/init.S
|
||||
@@ -13,7 +13,7 @@
|
||||
* size immediately following the kernel, we could build this into
|
||||
* a binary blob, and concatenate the zImage using the cat command.
|
||||
*/
|
||||
- .section .start,#alloc,#execinstr
|
||||
+ .section .start, "ax"
|
||||
.type _start, #function
|
||||
.globl _start
|
||||
|
||||
diff --git a/arch/arm/boot/compressed/big-endian.S b/arch/arm/boot/compressed/big-endian.S
|
||||
index 88e2a88d324b25..0e092c36da2f27 100644
|
||||
--- a/arch/arm/boot/compressed/big-endian.S
|
||||
+++ b/arch/arm/boot/compressed/big-endian.S
|
||||
@@ -6,7 +6,7 @@
|
||||
* Author: Nicolas Pitre
|
||||
*/
|
||||
|
||||
- .section ".start", #alloc, #execinstr
|
||||
+ .section ".start", "ax"
|
||||
|
||||
mrc p15, 0, r0, c1, c0, 0 @ read control reg
|
||||
orr r0, r0, #(1 << 7) @ enable big endian mode
|
||||
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
|
||||
index ae70754d003daa..ead21e5f2b8032 100644
|
||||
--- a/arch/arm/boot/compressed/head.S
|
||||
+++ b/arch/arm/boot/compressed/head.S
|
||||
@@ -140,7 +140,7 @@
|
||||
#endif
|
||||
.endm
|
||||
|
||||
- .section ".start", #alloc, #execinstr
|
||||
+ .section ".start", "ax"
|
||||
/*
|
||||
* sort out different calling conventions
|
||||
*/
|
||||
diff --git a/arch/arm/boot/compressed/piggy.S b/arch/arm/boot/compressed/piggy.S
|
||||
index 0284f84dcf3804..27577644ee721a 100644
|
||||
--- a/arch/arm/boot/compressed/piggy.S
|
||||
+++ b/arch/arm/boot/compressed/piggy.S
|
||||
@@ -1,5 +1,5 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
- .section .piggydata,#alloc
|
||||
+ .section .piggydata, "a"
|
||||
.globl input_data
|
||||
input_data:
|
||||
.incbin "arch/arm/boot/compressed/piggy_data"
|
||||
diff --git a/arch/arm/mm/proc-arm1020.S b/arch/arm/mm/proc-arm1020.S
|
||||
index 4fa5371bc6624c..2785da387c9104 100644
|
||||
--- a/arch/arm/mm/proc-arm1020.S
|
||||
+++ b/arch/arm/mm/proc-arm1020.S
|
||||
@@ -491,7 +491,7 @@ cpu_arm1020_name:
|
||||
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.type __arm1020_proc_info,#object
|
||||
__arm1020_proc_info:
|
||||
diff --git a/arch/arm/mm/proc-arm1020e.S b/arch/arm/mm/proc-arm1020e.S
|
||||
index 5d8a8339e09a4e..e9ea237ed78525 100644
|
||||
--- a/arch/arm/mm/proc-arm1020e.S
|
||||
+++ b/arch/arm/mm/proc-arm1020e.S
|
||||
@@ -449,7 +449,7 @@ arm1020e_crval:
|
||||
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.type __arm1020e_proc_info,#object
|
||||
__arm1020e_proc_info:
|
||||
diff --git a/arch/arm/mm/proc-arm1022.S b/arch/arm/mm/proc-arm1022.S
|
||||
index b3dd95c345e482..920c279e7879d8 100644
|
||||
--- a/arch/arm/mm/proc-arm1022.S
|
||||
+++ b/arch/arm/mm/proc-arm1022.S
|
||||
@@ -443,7 +443,7 @@ arm1022_crval:
|
||||
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.type __arm1022_proc_info,#object
|
||||
__arm1022_proc_info:
|
||||
diff --git a/arch/arm/mm/proc-arm1026.S b/arch/arm/mm/proc-arm1026.S
|
||||
index e927187157d7d5..0bdf25a95b107d 100644
|
||||
--- a/arch/arm/mm/proc-arm1026.S
|
||||
+++ b/arch/arm/mm/proc-arm1026.S
|
||||
@@ -437,7 +437,7 @@ arm1026_crval:
|
||||
string cpu_arm1026_name, "ARM1026EJ-S"
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.type __arm1026_proc_info,#object
|
||||
__arm1026_proc_info:
|
||||
diff --git a/arch/arm/mm/proc-arm720.S b/arch/arm/mm/proc-arm720.S
|
||||
index c99d24363f32ee..39361e196d61b8 100644
|
||||
--- a/arch/arm/mm/proc-arm720.S
|
||||
+++ b/arch/arm/mm/proc-arm720.S
|
||||
@@ -172,7 +172,7 @@ arm720_crval:
|
||||
* See <asm/procinfo.h> for a definition of this structure.
|
||||
*/
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.macro arm720_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, cpu_flush:req
|
||||
.type __\name\()_proc_info,#object
|
||||
diff --git a/arch/arm/mm/proc-arm740.S b/arch/arm/mm/proc-arm740.S
|
||||
index 1b4a3838393fbd..1a94bbf6e53fc2 100644
|
||||
--- a/arch/arm/mm/proc-arm740.S
|
||||
+++ b/arch/arm/mm/proc-arm740.S
|
||||
@@ -128,7 +128,7 @@ __arm740_setup:
|
||||
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
.type __arm740_proc_info,#object
|
||||
__arm740_proc_info:
|
||||
.long 0x41807400
|
||||
diff --git a/arch/arm/mm/proc-arm7tdmi.S b/arch/arm/mm/proc-arm7tdmi.S
|
||||
index 17a4687065c7f9..52b66cf0259e3f 100644
|
||||
--- a/arch/arm/mm/proc-arm7tdmi.S
|
||||
+++ b/arch/arm/mm/proc-arm7tdmi.S
|
||||
@@ -72,7 +72,7 @@ __arm7tdmi_setup:
|
||||
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.macro arm7tdmi_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, \
|
||||
extra_hwcaps=0
|
||||
diff --git a/arch/arm/mm/proc-arm920.S b/arch/arm/mm/proc-arm920.S
|
||||
index 298c76b47749f9..31ac8acc34dc55 100644
|
||||
--- a/arch/arm/mm/proc-arm920.S
|
||||
+++ b/arch/arm/mm/proc-arm920.S
|
||||
@@ -434,7 +434,7 @@ arm920_crval:
|
||||
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.type __arm920_proc_info,#object
|
||||
__arm920_proc_info:
|
||||
diff --git a/arch/arm/mm/proc-arm922.S b/arch/arm/mm/proc-arm922.S
|
||||
index 824be3a0bc2382..ca2c7ca8af2146 100644
|
||||
--- a/arch/arm/mm/proc-arm922.S
|
||||
+++ b/arch/arm/mm/proc-arm922.S
|
||||
@@ -412,7 +412,7 @@ arm922_crval:
|
||||
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.type __arm922_proc_info,#object
|
||||
__arm922_proc_info:
|
||||
diff --git a/arch/arm/mm/proc-arm925.S b/arch/arm/mm/proc-arm925.S
|
||||
index d40cff8f102c2b..a381a0c9f1092e 100644
|
||||
--- a/arch/arm/mm/proc-arm925.S
|
||||
+++ b/arch/arm/mm/proc-arm925.S
|
||||
@@ -477,7 +477,7 @@ arm925_crval:
|
||||
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.macro arm925_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, cache
|
||||
.type __\name\()_proc_info,#object
|
||||
diff --git a/arch/arm/mm/proc-arm926.S b/arch/arm/mm/proc-arm926.S
|
||||
index 4ef89e1d11276e..1ba253c2bce190 100644
|
||||
--- a/arch/arm/mm/proc-arm926.S
|
||||
+++ b/arch/arm/mm/proc-arm926.S
|
||||
@@ -460,7 +460,7 @@ arm926_crval:
|
||||
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.type __arm926_proc_info,#object
|
||||
__arm926_proc_info:
|
||||
diff --git a/arch/arm/mm/proc-arm940.S b/arch/arm/mm/proc-arm940.S
|
||||
index 1c26d991386d7d..4b8a00220cc976 100644
|
||||
--- a/arch/arm/mm/proc-arm940.S
|
||||
+++ b/arch/arm/mm/proc-arm940.S
|
||||
@@ -340,7 +340,7 @@ __arm940_setup:
|
||||
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.type __arm940_proc_info,#object
|
||||
__arm940_proc_info:
|
||||
diff --git a/arch/arm/mm/proc-arm946.S b/arch/arm/mm/proc-arm946.S
|
||||
index 2dc1c75a4fd4a8..555becf9c758d1 100644
|
||||
--- a/arch/arm/mm/proc-arm946.S
|
||||
+++ b/arch/arm/mm/proc-arm946.S
|
||||
@@ -395,7 +395,7 @@ __arm946_setup:
|
||||
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
.type __arm946_proc_info,#object
|
||||
__arm946_proc_info:
|
||||
.long 0x41009460
|
||||
diff --git a/arch/arm/mm/proc-arm9tdmi.S b/arch/arm/mm/proc-arm9tdmi.S
|
||||
index 913c06e590af51..ef517530130b03 100644
|
||||
--- a/arch/arm/mm/proc-arm9tdmi.S
|
||||
+++ b/arch/arm/mm/proc-arm9tdmi.S
|
||||
@@ -66,7 +66,7 @@ __arm9tdmi_setup:
|
||||
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.macro arm9tdmi_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req
|
||||
.type __\name\()_proc_info, #object
|
||||
diff --git a/arch/arm/mm/proc-fa526.S b/arch/arm/mm/proc-fa526.S
|
||||
index 8120b6f4dbb83e..dddf833fe00078 100644
|
||||
--- a/arch/arm/mm/proc-fa526.S
|
||||
+++ b/arch/arm/mm/proc-fa526.S
|
||||
@@ -185,7 +185,7 @@ fa526_cr1_set:
|
||||
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.type __fa526_proc_info,#object
|
||||
__fa526_proc_info:
|
||||
diff --git a/arch/arm/mm/proc-feroceon.S b/arch/arm/mm/proc-feroceon.S
|
||||
index bb6dc34d42a374..b12b76bc8d30ca 100644
|
||||
--- a/arch/arm/mm/proc-feroceon.S
|
||||
+++ b/arch/arm/mm/proc-feroceon.S
|
||||
@@ -571,7 +571,7 @@ feroceon_crval:
|
||||
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.macro feroceon_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, cache:req
|
||||
.type __\name\()_proc_info,#object
|
||||
diff --git a/arch/arm/mm/proc-mohawk.S b/arch/arm/mm/proc-mohawk.S
|
||||
index f083085788857b..d47d6c5cee63a6 100644
|
||||
--- a/arch/arm/mm/proc-mohawk.S
|
||||
+++ b/arch/arm/mm/proc-mohawk.S
|
||||
@@ -416,7 +416,7 @@ mohawk_crval:
|
||||
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.type __88sv331x_proc_info,#object
|
||||
__88sv331x_proc_info:
|
||||
diff --git a/arch/arm/mm/proc-sa110.S b/arch/arm/mm/proc-sa110.S
|
||||
index d5bc5d70256399..baba503ba81669 100644
|
||||
--- a/arch/arm/mm/proc-sa110.S
|
||||
+++ b/arch/arm/mm/proc-sa110.S
|
||||
@@ -196,7 +196,7 @@ sa110_crval:
|
||||
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.type __sa110_proc_info,#object
|
||||
__sa110_proc_info:
|
||||
diff --git a/arch/arm/mm/proc-sa1100.S b/arch/arm/mm/proc-sa1100.S
|
||||
index be7b611c76c76a..75ebacc8e4e5cb 100644
|
||||
--- a/arch/arm/mm/proc-sa1100.S
|
||||
+++ b/arch/arm/mm/proc-sa1100.S
|
||||
@@ -239,7 +239,7 @@ sa1100_crval:
|
||||
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.macro sa1100_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req
|
||||
.type __\name\()_proc_info,#object
|
||||
diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S
|
||||
index c1c85eb3484f31..1dd0d5ca27da8f 100644
|
||||
--- a/arch/arm/mm/proc-v6.S
|
||||
+++ b/arch/arm/mm/proc-v6.S
|
||||
@@ -261,7 +261,7 @@ v6_crval:
|
||||
string cpu_elf_name, "v6"
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
/*
|
||||
* Match any ARMv6 processor core.
|
||||
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
|
||||
index c4e8006a1a8cdd..48e0ef6f0dccfe 100644
|
||||
--- a/arch/arm/mm/proc-v7.S
|
||||
+++ b/arch/arm/mm/proc-v7.S
|
||||
@@ -644,7 +644,7 @@ __v7_setup_stack:
|
||||
string cpu_elf_name, "v7"
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
/*
|
||||
* Standard v7 proc info content
|
||||
diff --git a/arch/arm/mm/proc-v7m.S b/arch/arm/mm/proc-v7m.S
|
||||
index 1a49d503eafc80..84459c1d31b87f 100644
|
||||
--- a/arch/arm/mm/proc-v7m.S
|
||||
+++ b/arch/arm/mm/proc-v7m.S
|
||||
@@ -93,7 +93,7 @@ ENTRY(cpu_cm7_proc_fin)
|
||||
ret lr
|
||||
ENDPROC(cpu_cm7_proc_fin)
|
||||
|
||||
- .section ".init.text", #alloc, #execinstr
|
||||
+ .section ".init.text", "ax"
|
||||
|
||||
__v7m_cm7_setup:
|
||||
mov r8, #(V7M_SCB_CCR_DC | V7M_SCB_CCR_IC| V7M_SCB_CCR_BP)
|
||||
@@ -177,7 +177,7 @@ ENDPROC(__v7m_setup)
|
||||
string cpu_elf_name "v7m"
|
||||
string cpu_v7m_name "ARMv7-M"
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.macro __v7m_proc name, initfunc, cache_fns = nop_cache_fns, hwcaps = 0, proc_fns = v7m_processor_functions
|
||||
.long 0 /* proc_info_list.__cpu_mm_mmu_flags */
|
||||
diff --git a/arch/arm/mm/proc-xsc3.S b/arch/arm/mm/proc-xsc3.S
|
||||
index 1ac0fbbe9f127f..42eaecc43cfeff 100644
|
||||
--- a/arch/arm/mm/proc-xsc3.S
|
||||
+++ b/arch/arm/mm/proc-xsc3.S
|
||||
@@ -496,7 +496,7 @@ xsc3_crval:
|
||||
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.macro xsc3_proc_info name:req, cpu_val:req, cpu_mask:req
|
||||
.type __\name\()_proc_info,#object
|
||||
diff --git a/arch/arm/mm/proc-xscale.S b/arch/arm/mm/proc-xscale.S
|
||||
index bdb2b7749b0393..18ac5a1f892258 100644
|
||||
--- a/arch/arm/mm/proc-xscale.S
|
||||
+++ b/arch/arm/mm/proc-xscale.S
|
||||
@@ -610,7 +610,7 @@ xscale_crval:
|
||||
|
||||
.align
|
||||
|
||||
- .section ".proc.info.init", #alloc
|
||||
+ .section ".proc.info.init", "a"
|
||||
|
||||
.macro xscale_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, cache
|
||||
.type __\name\()_proc_info,#object
|
||||
|
|
@ -1 +0,0 @@
|
|||
config-changes-rm.armv7
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
# format is config=command
|
||||
# where command can be one of:
|
||||
# y,n,m,"<str>,<value>
|
||||
# from remarkable-microsd project
|
||||
# see http://www.davisr.me/projects/remarkable-microsd/
|
||||
CONFIG_RTL_CARDS=y
|
||||
CONFIG_BATTERY_BQ27XXX=y
|
||||
CONFIG_BATTERY_BQ27XXX_I2C=y
|
||||
CONFIG_CRYPTO_AEAD=y
|
||||
CONFIG_CRYPTO_GF128MUL=y
|
||||
CONFIG_CRYPTO_NULL=y
|
||||
CONFIG_CRYPTO_SEQIV=y
|
||||
CONFIG_CRYPTO_CTR=y
|
||||
CONFIG_CRYPTO_GHASH=y
|
||||
# serial through USB
|
||||
CONFIG_USB_ACM=y
|
||||
CONFIG_USB_F_ACM=y
|
||||
CONFIG_USB_U_SERIAL=y
|
||||
CONFIG_USB_CDC_COMPOSITE=y
|
||||
# console through serial
|
||||
CONFIG_USB_G_SERIAL=y
|
||||
CONFIG_U_SERIAL_CONSOLE=y
|
||||
# wifi module doesn't load early enough for lack of initramfs
|
||||
CONFIG_CFG80211=m
|
||||
CONFIG_MAC80211=m
|
||||
CONFIG_BRCMFMAC=m
|
||||
CONFIG_BRCMUTIL=m
|
||||
# iwd requires these modules
|
||||
CONFIG_CRYPTO_AES=y
|
||||
CONFIG_CRYPTO_USER_API_HASH=y
|
||||
CONFIG_CRYPTO_USER_API_SKCIPHER=y
|
||||
CONFIG_KEY_DH_OPERATIONS=y
|
||||
CONFIG_CRYPTO_ECB=y
|
||||
CONFIG_CRYPTO_MD4=y
|
||||
CONFIG_CRYPTO_MD5=y
|
||||
CONFIG_CRYPTO_CBC=y
|
||||
CONFIG_CRYPTO_SHA256=y
|
||||
CONFIG_CRYPTO_DES=y
|
||||
CONFIG_CRYPTO_CMAC=y
|
||||
CONFIG_CRYPTO_HMAC=y
|
||||
CONFIG_CRYPTO_SHA512=y
|
||||
CONFIG_CRYPTO_SHA1=y
|
||||
# other
|
||||
LOCALVERSION=""
|
||||
CONFIG_DEFAULT_HOSTNAME="remarkable"
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# f2fs support
|
||||
CONFIG_F2FS_FS=y
|
||||
CONFIG_F2FS_STAT_FS=y
|
||||
CONFIG_F2FS_FS_XATTR=y
|
||||
CONFIG_F2FS_FS_POSIX_ACL=y
|
||||
CONFIG_F2FS_FS_SECURITY=y
|
||||
CONFIG_F2FS_CHECK_FS=n
|
||||
CONFIG_F2FS_IO_TRACE=n
|
||||
CONFIG_F2FS_FAULT_INJECTION=n
|
||||
CONFIG_F2FS_FS_COMPRESSION=y
|
||||
CONFIG_F2FS_FS_LZO=y
|
||||
CONFIG_F2FS_FS_LZ4=y
|
||||
CONFIG_F2FS_FS_ZSTD=y
|
||||
CONFIG_F2FS_FS_LZORLE=y
|
||||
# disabled as breaks build
|
||||
CONFIG_MXC_GPU_VIV=n
|
||||
|
|
@ -1 +0,0 @@
|
|||
config-changes-rm.armv7
|
||||
|
|
@ -1 +0,0 @@
|
|||
config-changes-rm.armv7
|
||||
Loading…
Add table
Add a link
Reference in a new issue