HOWTO apply the patches ----------------------- Note: always use '--dry-run' first for patch, to make sure it works. 1. Loglevel ----------- I edited kernel/printk.c: /* We show everything that is MORE important than this.. */ #define MINIMUM_CONSOLE_LOGLEVEL 1 /* Minimum loglevel we let people use */ /* BK change from 7 to 3... #define DEFAULT_CONSOLE_LOGLEVEL 7 */ /* anything MORE serious than KERN_DEBUG */ #define DEFAULT_CONSOLE_LOGLEVEL 3 2. Squashfs ----------- For Puppy prior to 2.17: # ln -s linux-2.6.21.1 /usr/src/linux-2.6.20 # cd /usr/src/linux-2.6.21.1 # patch -p1 < ../squashfs3.2-patch For 2.6.21.5 kernel, Puppy 2.17: Arrange so have dirs 'lzma443', 'squashfs3.2-r2' in current dir, and have have expanded sqlzma3.2-r2b.tar.bz2 in current dir. Expanded lzma443.tar.bz2 inside directory lzma443. Got 'sqlzma1-443.patch' to lzma443 directory: # patch -p0 < ./sqlzma1-443.patch Now apply the normal squashfs patch to the kernel... # cd /usr/src/linux-2.6.21.5 # patch -p1 < ../squashfs3.2-patch and then also apply sqlzma2k-YYY.patch to kernel source: # patch -p1 < ../sqlzma2k-3.2-r2.patch Now change-dir to wherever the squashfs source has been expanded: # cd /squashfs3.2-r2 # patch -p1 < ../sqlzma2u-3.2-r2.patch ...this patches the squashfs tools. the expanded 'sqlzma3.2-r2b' has Makefile, sqlzma.h, sqmagic.h in current dir, which will build modules and utilities -- it is required to have CONFIG_SQUASHFS*=n in kernel config, as modules are compiled separately here. -- DO THIS LATER. ...okay ...this is complicated... I had to copy /usr/src/2.6.21.5/fs/squashfs to /squashfs3.2-r2/kernel-patches/linux-2.6.21.1/fs/squashfs # make ...creates squashfs.ko, unlzma.ko and sqlzma.ko ...i copied these to /lib/modules/2.6.21.5/kernel/fs/squashfs/ curses, this last link line in squashfs-tools has undefined referencs: cc mksquashfs.o read_fs.o sort.o -lz -L/usr/src/kernel-stuff-2.6.21.1/filesystems/squahfs-lzma-stuff/lzma443/C/7zip/Compress/LZMA_Alone -L/usr/src/kernel-stuff-2.6.21.1/filesystems/squahfs-lzma-stuff/lzma443/C/7zip/Compress/LZMA_C -lpthread -lunlzma_r -llzma_r -lstdc++ -o mksquashfs ... libunlzma_r.a has the missing refs. I stuck this on the end: /usr/lib/libz.a Ditto: cc unsquashfs.o -lz -L/usr/src/kernel-stuff-2.6.21.1/filesystems/squahfs-lzma-stuff/lzma443/C/7zip/Compress/LZMA_Alone -L/usr/src/kernel-stuff-2.6.21.1/filesystems/squahfs-lzma-stuff/lzma443/C/7zip/Compress/LZMA_C -lunlzma -o unsquashfs 3. dpath patch, required by Dazuko ---------------------------------- # patch /lib/modules/2.6.21.1/build/fs/dcache.c patch_dpath.diff Or, if already inside linux-2.6.21.1 directory: # patch ./fs/dcache.c ../patch_dpath.diff 4. ksize patch, required by Aufs -------------------------------- # cd /usr/src/linux-2.6.21.1 # patch -p0 < ../ksize.patch 5. Aufs patch ***NO, DO NOT NEED, COMPILED SEPARATELY*** ------------- 6. Unionfs patch ---------------- # cd /usr/src/linux-2.6.21.1 # patch -p1 < ../linux-2.6.21-unionfs2.diff ------------------------------------------------------------------------------- 5 Aug 2007 ---------- Recompile kernel with latest unionfs patch. keeping config exactly as before. Have not done the loglevel patch. # patch -p1 < ../squashfs3.2-patch # patch -p1 < ../sqlzma2k-3.2-r2.patch # patch -p0 < ../ksize.patch # patch -p1 < ../linux-2.6.21.6-u4.diff ------------------------------------------------------------------------------- 8 Sept 2007 ----------- Now using 2.6.21.7 kernel. 1. applied loglevel patch. 2. no longer using lzma for squashfs, so jut do this: # patch -p1 < ../squashfs3.2-patch 3. # patch -p0 < ../ksize.patch 4. # patch ./fs/dcache.c ../patch_dpath.diff 5. # patch -p1 < ../unionfs-2.1.2_for_2.6.21.7.diff 16 Jan 2008 ----------- using 2.6.24-rc8 kernel 1. applied loglevel patch. 2. # patch -p1 < ../squashfs3.3-patch 4. # patch ./fs/dcache.c ../patch_dpath.diff 5. # patch -p1 < ../unionfs-2.2.2_for_2.6.24-rc7.diff 17 Feb 2008 ----------- using kernel 2.6.24.2 First apply 2.6.24.2 patch to 2.4.26 source... 1. # patch -p1 < ../patch-2.6.24.2 2. applied loglevel patch. 3. # patch ./fs/dcache.c ../patch_dpath.diff 4. # patch -p1 < ../squashfs3.3-patch 5. # patch -p1 < ../unionfs-2.2.4_for_2.6.24.2.diff 22 April 2008 ------------- Using kernel 2.6.25 1. applied loglevel patch 2. patch -p1 < ../4300_squashfs-3.3.patch 3. patch -p1 < ../unionfs-2.3.2_for_2.6.25-rc7.diff FAULTY 28 April 2008 ------------- Using kernel 2.6.25. It was released April 17, git11 are updates to April 27. 1. # patch -p1 < ../patch-2.6.25-git11 2. applied loglevel patch 3. patch -p1 < ../4300_squashfs-3.3.patch 4. patch -p1 < ../unionfs-2.3.3_for_2.6.25.diff 25 June 2008 ------------ 2.6.25.9 kernel. Note, do not apply the aufs 'splice' patch, as unionfs exports those symbols and aufs now has a compatibility mode for the unionfs patch. 1. applied loglevel patch. 2. patch -p1 < ../4300_squashfs-3.3.patch 3. patch -p1 < ../unionfs-2.3.3_for_2.6.25.diff 4. patch -p1 < ../patch-dazuko-linux-2.6.25.diff 5. patch -p1 < ../0001-pcmcia-allow-for-longer-CIS-firmware-files.patch 6. patch -p1 < ../sec_perm-2.6.24.patch 29 June 2008 ------------ As above, but have only applied the first 3 patches. 2 July 2008 ----------- As per 29 June source, but in addition have done the lzma patch: 4. # patch -p1 < ../lzma-init-2.6.patch2 patching file init/LzmaDecode.c patching file init/LzmaDecode.h patching file init/do_mounts_rd.c Hunk #1 succeeded at 8 with fuzz 1 (offset 1 line). Hunk #3 succeeded at 88 (offset 4 lines). Hunk #4 succeeded at 197 (offset 12 lines). Hunk #5 succeeded at 423 (offset 4 lines). patching file init/initramfs.c Hunk #2 succeeded at 442 (offset 28 lines). patching file usr/Makefile Hunk #1 FAILED at 33. Hunk #2 FAILED at 61. 2 out of 2 hunks FAILED -- saving rejects to file usr/Makefile.rej ...I was unable to manually fix 'Makefile' however left it as-is as the patch of Makefile only concerns the kernel built-in initramfs. I compiled the kernel and it worked with a 'rootfs.gz' compressed with lzma. 19 July 2008 ------------ k2.6.25.11, used in Puppy 4.1. 1. loglevel patch. 2. patch -p1 < ../4300_squashfs-3.3.patch 3. patch -p0 < ../splice-2.6.23.patch #for aufs 4. patch -p1 < ../fsync_super-2.6.19.patch #for aufs 5. patch -p1 < ../deny_write_access.patch #for aufs 6. patch -p1 < ../linux-lzma-2.6.25.5.u cd / 7. patch -p0 < usr/src/multitech/ti_fw_3410.h.diff 8. patch -p0 < usr/src/multitech/ti_fw_5052.h.diff 9. patch -p0 < usr/src/multitech/ti_usb_3410_5052.diff 10. patch -p0 < usr/src/multitech/ti_usb_3410_5052.h.diff