โ† ่ฟ”ๅ›ž็›ฎๅฝ•
3.sh
#!/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