mrrl

Minimal Reliable Reproducible Linux
git clone https://ccx.te2000.cz/git/mrrl
Log | Files | Refs | Submodules | README

linux (2237B)


      1 {% extends "genlinks" %}
      2 {%- block script %}
      3 #+{{pkg_install_name("busybox")}}
      4 #+{{pkg_install_name("gnu-make")}}
      5 #+{{pkg_install_name("musl-cross-make")}}
      6 #+{{pkg_install_name("diffutils")}}
      7 #+{{pkg_install_name("patch")}}
      8 #+{{pkg_install_name("flex")}}
      9 #+{{pkg_install_name("bison")}}
     10 #+{{pkg_install_name("rsync")}}
     11 #+{{pkg_install_name("zstd")}}
     12 #+{{pkg_install_name("libelf")}}
     13 #+{{pkg_install_name("pkgconf-pkg-config")}}
     14 #@untar:-J:sha256:{{ assertion(tarball_shasum) }}:.
     15 {% if patch_version -%}
     16 #@sha256:{{ assertion(patch_shasum) }}:patch-{{ patch_version }}.xz
     17 {% endif -%}
     18 #@sha256:{{files["lh_bootstrap-x86_64-config"]}}:linux.config
     19 #@sha256:{{files["noobjtool.patch"]}}:noobjtool.patch
     20 
     21 printf '%s\n' "TODO: fix paths"; exit 1
     22 export CPATH="$pthbs_build_environment/include"
     23 
     24 cd 'linux-{{ tarball_version }}'
     25 {% if patch_version -%}
     26 unxz -c < '../patch-{{ patch_version }}.xz' | patch -p1 -N
     27 {% endif -%}
     28 patch -p1 -N <../noobjtool.patch
     29 cp -v ../linux.config .config
     30 {{ linux_arch_personality|default('') }} make olddefconfig
     31 diff -u ../linux.config .config || true
     32 {{ linux_arch_personality|default('') }} {{make}} \
     33 	V=1 \
     34 	HOSTLDFLAGS="-static -L$pthbs_build_environment/library" \
     35 	HOSTCFLAGS="-L$pthbs_build_environment/library"
     36 
     37 installdir="$pthbs_destdir/{{versions}}/$pthbs_package"
     38 mkdir -p "$installdir/doc/linux" "$installdir/boot"
     39 cp -v .config "$installdir/config"
     40 mv Documentation/* "$installdir/doc/linux"
     41 {{ linux_arch_personality|default('') }} make modules_install install \
     42 	INSTALL_MOD_PATH="$installdir" \
     43 	INSTALL_MOD_STRIP=1 \
     44 	INSTALL_PATH="$installdir"/boot \
     45 	INSTALL_DTBS_PATH="$installdir/boot/dtbs"
     46 {% endblock %}
     47 {% block rules %}
     48 $2 == "boot" { link($0); next }
     49 $2 == "lib" && $3 == "modules" { exit 3 }  # TODO move to better location
     50 {% endblock -%}
     51 {% block genlinks_begin %}
     52 	kernel_name="{{ assertion(patch_version|default(tarball_version + ".0", True)) }}"
     53 	x["./boot/vmlinuz"]=1
     54 	x["./boot/System.map"]=1
     55 	x["./lib/modules/" kernel_name "/modules.alias"]=1
     56 	x["./lib/modules/" kernel_name "/modules.builtin"]=1
     57 	x["./lib/modules/" kernel_name "/modules.dep"]=1
     58 	x["./lib/modules/" kernel_name "/modules.order"]=1
     59 	x["./lib/modules/" kernel_name "/modules.symbols"]=1
     60 {% endblock %}
     61