Start configuration of android kernel shell

This commit is contained in:
Waldemar Tomme 2025-01-08 18:52:52 +01:00
parent df6f604b5a
commit 1569a823aa

View File

@ -168,7 +168,7 @@
rootDir="${rootDir}"
mkdir -p "$rootDir/.repos"
[[ -d "$rootDir/.repos/mainline-kernel" ]] || git clone git@github.com:WiiPlayer2/linux-sm7150.git "$rootDir/.repos/mainline-kernel"
# [[ -d "$rootDir/.repos/android-kernel" ]] || git clone ssh://git@git.web.home.dark-link.info:2222/a71-pmos/android-kernel-a71.git "$rootDir/.repos/android-kernel"
[[ -d "$rootDir/.repos/android-kernel" ]] || git clone ssh://git@git.web.home.dark-link.info:2222/a71-pmos/android-kernel-a71.git "$rootDir/.repos/android-kernel"
'')
(writeScriptBin "build-and-flash-kernel" ''
#!/usr/bin/env bash
@ -203,10 +203,103 @@
# https://nixos.wiki/wiki/Cross_Compiling
android =
let
outputFolder = ".out";
in
pkgs.pkgsCross.aarch64-android-prebuilt.mkShell {
(pkgs.buildFHSUserEnv {
name = "android-fhs";
multiPkgs = pkgs: with pkgs; [
pkgsCross.aarch64-multiplatform.buildPackages.gcc
bc
openssl
openssl.dev
python3
};
android-tools
libxcrypt-legacy # libcrypt.so.1
freetype # libfreetype.so.6
fontconfig # java NPE: "sun.awt.FontConfiguration.head" is null
yaml-cpp # necessary for some kernels according to a comment on the gist
# Some of the packages here are probably unecessary but I don't wanna figure out which
bc
binutils
bison
ccache
curl
flex
gcc
git
git-repo
git-lfs
gnumake
gnupg
gperf
imagemagick
jdk11
elfutils
libxml2
libxslt
lz4
lzop
m4
nettools
openssl.dev
perl
pngcrush
procps
python3
rsync
schedtool
SDL
squashfsTools
unzip
util-linux
xml2
zip
zlib
ncurses5
ncurses5.dev
libcxx
readline
libgcc # crtbeginS.o
iconv # ??? - i put this here and by the time i went back to remove unecessary packages i forgot why
iconv.dev # sys/types.h
(writeShellScriptBin "clean-kernel" ''
pushd .repos/android-kernel
mkdir -p "${outputFolder}"
make O="${outputFolder}" clean
make O="${outputFolder}" mrproper
popd
'')
(writeShellScriptBin "build-kernel" ''
pushd .repos/android-kernel
mkdir -p "${outputFolder}"
make O="${outputFolder}" a71_eur_open_defconfig
make O="${outputFolder}" -j$(nproc --all)
popd
'')
(writeShellScriptBin "configure-kernel" ''
pushd .repos/android-kernel
mkdir -p "${outputFolder}"
make O="${outputFolder}" menuconfig
popd
'')
];
profile = ''
export CROSS_COMPILE=aarch64-unknown-linux-gnu-
export ARCH=arm64
export SUBARCH=arm64
'';
}).env;
};
};
}