1
0
Fork 0
mirror of https://github.com/pygos/build.git synced 2024-06-13 07:08:44 +02:00
build/pkg/linux/build
David Oberhollenzer 39c0c2c98d Handle boot files via regular rootfs package machanisms
Just install the kernel package to the rootfs /boot directory and add a step
to the rootfs package to move /boot data out of the squasfs image.

Add linux package as regular dependency to the rootfs.

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-07-15 16:19:44 +02:00

46 lines
1.4 KiB
Plaintext
Executable file

MAJOR="4"
MINOR="16"
RELEASE="2"
VERSION="$MAJOR.$MINOR.$RELEASE"
SRCDIR="linux-$VERSION"
TARBALL="linux-$VERSION.tar.xz"
URL="https://www.kernel.org/pub/linux/kernel/v$MAJOR.x"
SHA256SUM="470b1fe3b8ee5d1e8e0be5c4e5928b6d5bc00e9ab6c4cff18ff680d3ef20f894"
DEPENDS="initrd"
prepare() {
return
}
build() {
local INITRDLIST="$PKGDEPLOYDIR/initrd/initrd.list"
export KBUILD_OUTPUT="$PKGBUILDDIR"
make -C "$1" O="$PKGBUILDDIR" ARCH="$LINUX_CPU" CROSS_COMPILE="${TARGET}-" mrproper
cat_file_override "linux.config" > "$PKGBUILDDIR/.config"
make -C "$1" O="$PKGBUILDDIR" ARCH="$LINUX_CPU" CROSS_COMPILE="${TARGET}-" oldconfig
sed -i "$PKGBUILDDIR/.config" -e 's,^CONFIG_CROSS_COMPILE=.*,CONFIG_CROSS_COMPILE="'$TARGET'-",'
sed -i "$PKGBUILDDIR/.config" -e 's,^CONFIG_INITRAMFS_SOURCE=.*,CONFIG_INITRAMFS_SOURCE="'$INITRDLIST'",'
sed -i "$PKGBUILDDIR/.config" -e 's,^CONFIG_LOCALVERSION=.*,CONFIG_LOCALVERSION="-'${OS_NAME}-${OS_RELEASE}'",'
make -C "$1" O="$PKGBUILDDIR" ARCH="$LINUX_CPU" CROSS_COMPILE="${TARGET}-" -j $NUMJOBS $LINUX_TGT
}
deploy() {
local SOURCE="$1"
local DEPLOY="$2"
mkdir -p "$DEPLOY/boot"
cp "arch/$LINUX_CPU/boot/$LINUX_TGT" "$DEPLOY/boot/vmlinuz"
echo "boot/vmlinuz m 555 0 0" > "$DEPLOY/rootfs_files.txt"
}
check_update() {
curl --silent -L https://www.kernel.org/feeds/kdist.xml | \
grep -o "[0-9.]*: longterm" | grep -o "[0-9.]*" | \
verson_find_greatest "$VERSION"
}