#######################################
#                                     #
#              KERNEL-KIT             #
#                                     #
#######################################      

version 0.3

gpl2 or later at your discretion, see /usr/share/doc/legal

THIS KIT COMES WITH ABSOLUTELY NO WARRANTY, USE ENTIRELY AT OWN RISK
NO RESPONSIBILITY ACCEPTED. YOU HAVE BEEN WARNED

ABOUT
-----
This kit is designed to make it easy to compile a kernel for Puppy Linux.
The packages produced are compatible with Woof/Woof2 and now FatDog. 
See Barry's Blog .. bkhome.org/blog or woof-CE 
This kit assumes you are comfortable with shell scripts and command line usage.


DEPENDENCIES
------------
This kit is designed for Puppy Linux. A late model build is 
recommended, such as Wary, Racy, Slacko, Precise, Dpup-Exprimo, FatDog64
Be aware that for best results you should compile in a host 
distro which is compatible with the target distro.

REQUIRED:
gcc - for compilation
git - for aufs sources
mksquashfs - for compressing the kernel source sfs, will build without

CREDIT
------
Much credit has to go to BarryK, for inventing Puppy Linux,
Iguleder, the original designer of this kit, pemasu for input and bugfixes,
jamesbond for fatdog stuff and various testers on the Murga-Linux/puppy forum

USAGE
-----
First, edit the build.conf file for your preferences
You will certainly need to change the $kernel_version variable
You can put in a custom mirror.
It is recommended to use a $custom_suffix and $package_name_suffix
There are custom kernel DOTconfigs in configs_extra directory.
Move one to the top level and rename it to "DOTconfig" if you wish (YMMV).
There is a default DOTconfig but it may not suit you.
You can also add your own.

Second, run "./build.sh"
The kernel source will download, aufs will be downloaded from git
The patches will be applied automatically and halt the script if 
there are failures.
The script will pause once all patches are applied so you 
can configure the kernel.
You can use:
1) make menuconfig (ncurses based)
2) make gconfig (gtk based)
3) make xconfig (qt based, depends on nokia qt libraries)

Save it when done and continue.

Kernel headers are created, kernel compiles (takes a long time), kernel
source sfs is created, kernel pet package is NOT created BUT the 
correct directory structure is in place at dist/packages/linux_kernel*
to make a pet easily. Same with headers. 

New options in the build.conf file include an option to build a FatDog64
style kernel package and choice of squash fs compression. Also number of
jobs is supported - use with caution. Read comments in build.conf.

The kit can be cleaned with "./build.sh clean" which deletes everything except
for configs. Please manually check before obliterating your work!

Have fun!

-------------------------------------------------------------------------------

01micko @ http://www.murga-linux.com/puppy Puppy Linux forum

TODO: fully support ARM arch
