#!/bin/bash
set -e
KVER=$(uname -r)
WORKDIR=~/kernelpkg
IMAGEDIR=$WORKDIR/image
HEADERDIR=$WORKDIR/headers
PKGIMAGE="linux-image-${KVER}-bbrx"
PKGHEADER="linux-headers-${KVER}-bbrx"
echo "[*] ๅ
ๆ ธ็ๆฌ: $KVER"
rm -rf $WORKDIR
mkdir -p $IMAGEDIR/DEBIAN
mkdir -p $IMAGEDIR/boot
mkdir -p $IMAGEDIR/lib/modules
mkdir -p $HEADERDIR/DEBIAN
mkdir -p $HEADERDIR/usr/src
#############################
# ๆๅ
linux-image
#############################
echo "[*] ๆๅ
ๅ
ๆ ธ..."
cp /boot/vmlinuz-$KVER $IMAGEDIR/boot/
cp /boot/initrd.img-$KVER $IMAGEDIR/boot/
[ -f /boot/config-$KVER ] && cp /boot/config-$KVER $IMAGEDIR/boot/
[ -f /boot/System.map-$KVER ] && cp /boot/System.map-$KVER $IMAGEDIR/boot/
cp -a /lib/modules/$KVER $IMAGEDIR/lib/modules/
cat > $IMAGEDIR/DEBIAN/control <<EOF
Package: $PKGIMAGE
Version: 1.0
Architecture: amd64
Maintainer: [email protected]
Description: Linux kernel $KVER with BBRx congestion control module (includes initrd)
EOF
cat > $IMAGEDIR/DEBIAN/postinst <<'EOF'
#!/bin/bash
set -e
echo "[*] Running update-initramfs..."
update-initramfs -u -k $(uname -r) || true
echo "[*] Running update-grub..."
update-grub || true
exit 0
EOF
chmod 755 $IMAGEDIR/DEBIAN/postinst
dpkg-deb --build $IMAGEDIR
mv ${IMAGEDIR}.deb ~/${PKGIMAGE}_amd64.deb
#############################
# ๆๅ
linux-headers
#############################
echo "[*] ๆๅ
ๅ
ๆ ธๅคดๆไปถ..."
if [ -d /usr/src/linux-headers-$KVER ]; then
cp -a /usr/src/linux-headers-$KVER $HEADERDIR/usr/src/
cat > $HEADERDIR/DEBIAN/control <<EOF
Package: $PKGHEADER
Version: 1.0
Architecture: amd64
Maintainer: [email protected]
Description: Linux kernel headers for $KVER (with BBRx support)
EOF
dpkg-deb --build $HEADERDIR
mv ${HEADERDIR}.deb ~/${PKGHEADER}_amd64.deb
else
echo "[!] ่ญฆๅ: ๆฌๆบๆฒกๆ /usr/src/linux-headers-$KVER ๏ผๆ ๆณๆๅ
headers"
fi
echo "[+] ๅฎๆ! ็ๆ็ๅ
ๅจ: "
echo " ~/${PKGIMAGE}_amd64.deb"
[ -f ~/${PKGHEADER}_amd64.deb ] && echo " ~/${PKGHEADER}_amd64.deb"
๐ bbrx/deb๐ 2 KB
๐ 77 ่ก๐ค UTF-8 ๐ท๏ธ SH