Before Kernel Update: Classic Pup 2.14X (http://www.murga-linux.com/puppy/viewtopic.php?t=42553). kernel 2.6.18.1. Squashfs3.1 and Unionfs 20060916-2203.
Full Install Upgrade, the easiest way:
You can download the kernel sources in Barry´s /woof sources (there are kernel sources already patched for Classic Pup 2.14X here, http://bkhome.org/sources/kernel-2.6.18.8/)
Patch versions are:
- # Squashfs3.3-patch and unionfs-2.5.1.
http://www.murga-linux.com/puppy/viewtopic.php?t=33461
After kernel compilation and installation, vmlinuz file must be updated and /lib/modules/modules.*.new_kernel_version files should be copied.
Puppy should boot with the new kernel now.
Errors creating a new ISO with updated kernel, listing in appearing order:
1. vmlinuz: If you forget to change the vmlinuz, then updated modules could not be loaded from initrd, new kernel just can´t find the right module´s directory because the uname-r gives another kernel version.
2. PUP_214X.sfs: When starting with a new initrd there are boot errors when PUP_xxx.sfs is mounted, tested with boot paramter "pfix = rdsh" shows it is mounting multiple .SFS file versions but loop devices mount fails completely. After a quick check to kernel sources I found Barryk´s configuration file is ready to use Squashfs but as an external module (Kernel Menu - FileSystems - Others - Squashfs, option M), that means the kernel is patched to support the system squashfs file but not loaded internally in the kernel, it must be loaded using imode or modprobe inside the initrd. Then, Kernel can be reconfigured to integrate the squashfs module and a new vmlinuz version must be created, now Puppy using GRUB boots normally with the new initrd (which contains the modules updated to 2.6.18.8.) and vmlinuz, even newer SFS files from Puppy 4 or choicePup are loaded (cause of a new Squashfs3.3 patch). When the squashfs is uploaded this always appears in the dmesg, showing the new 3.3 version.
3. Now zdrv: lib/modules/2.6.18.8 contents are fully copied to zdrv_214X.sfs, as you leave the directory /lib/ firmware/ intact in the zdrv files, multiple errors occurs when Puppy starts with zdrv. To fix it the lib/modules/firmware.dep.2.6.18.1 file must be copied to the zdrv and must be rename to firmware.dep.2.6.18.8 to avoid errors.
4. Xorg: Whit a pup_214X.sfs, vmlinuz and zdrv_214X.sfs ready, Puppy Linux starts with Xvesa, but Xorg does not work. It opens a black screen with the X mouse pointer, but Windows Manager does not start. The xinit output redirected to xerrs.log shows something like:
Code: Select all
Waiting for X server to begin accepting connections.
..
..
..
xinit: Connection refused (errno 111): unable to connect to x server.
I know that this "nolisten tcp" forces Xorg to create a unix socket instead TCP to connect Xorg server with local client, but Why is Xorg failing to use the unix socket?. I can see a /tmp/.X-unix directory when Xorg tries to initiate and it has full permissions.
The Adventures continues...