• Create .deb file

    Create a directory to make your package in. The name should be the same as the package name.
    mkdir helloworld_1.0-1

    Pretend that the packaging directory is actually the root of the file system. Put the files of your program where they would be installed to on a system.
    mkdir helloworld_1.0-1/usr
    mkdir helloworld_1.0-1/usr/local
    mkdir helloworld_1.0-1/usr/local/bin
    cp "~/Projects/Hello World/helloworld" helloworld_1.0-1/usr/local/bin

    Now create a special metadata file with which the package manager will install your program…
    mkdir helloworld_1.0-1/DEBIAN
    gedit helloworld_1.0-1/DEBIAN/control

    Put something like this in that file…
    Package: helloworld
    Version: 1.0-1
    Section: base
    Priority: optional
    Architecture: i386
    Depends: libsomethingorrather (>= 1.2.13), anotherDependency (>= 1.2.6)
    Maintainer: Your Name <you@email.com>
    Description: Hello World
    When you need some sunshine, just run this
    small program!

    (the space before each line in the description is important)

    Now you just need to make the package:
    dpkg-deb --build helloworld_1.0-1

    Script files in /DEBIAN/ folder
    Postinst means: "AFTER the files have been Copied To the iDevice, THEN Run this Script."
    Preinst means: "BEFORE the files Get Copied To the iDevice, Run this Script, THEN Copy the files To the iDevice."
    Postrm means: "AFTER the files have been Removed From the iDevice, THEN Run this Script."
    Prerm means: "BEFORE the files Get Removed From your iDevice, Run this Script, THEN Remove the files From the iDevice."

    Sample postinst:
    cd /var/mobile/Applications/*/Game.app
    mkdir Backups
    cp -a ./Original_File.ext ./Backups/Original_File.bak
    killall Game
    mv -f /var/mobile/Documents/GameMod/Game/* ./
    exit 0

  • Build debian kernel

    Install required packages

    sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc
    sudo apt-get --no-install-recommends install kernel-package
    Download kernel
    wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.4.tar.xz
    unxz linux-4.4.tar.xz
    tar xvf linux-4.4.tar
    Copy your config file and configure
    cd linux-4.4
    $ cp /boot/config-$(uname -r) .config

    make menuconfig
    make-kpkg clean
    fakeroot make-kpkg --initrd --revision=1.0.myname kernel_image kernel_headers -j 4
    sudo dpkg -i ...