Looking for missing 32-bit Xenial kernel drivers

Moderator: Forum moderators

Post Reply
sheer
Posts: 3
Joined: Tue May 04, 2021 11:12 pm

Looking for missing 32-bit Xenial kernel drivers

Post by sheer »

So, I'm attempting to help a friend of mine set up a parallel device in Puppy Xenial 32-bit. Unfortunately, it seems parport.ko is not included in the base distribution.

I know next to nothing about puppy, but I am a system administrator and programmer who uses Ubuntu regularly, and have been using linux since 1997, so I am familiar with basic linux concepts but not puppy particulars.

My friend has equipped me with a dev system identical to his so I can hopefully get this ironed out for him.

My questions are as follows

1) Is there a .pet or similar with the kernel modules not included in the base distribution?

2) If not, what do I need to do to build the kernel modules myself? The only documentation I could find for building the kernel in puppy was from 2006 - it had a link to newer documentation, but it was dead.
a) Can the kernel modules be cross-compiled from Ubuntu?
b) If not, what do I need to install to give Puppy a working compiler?

3) Once I find the parport.ko, what do I need to do to make it available every time the system boots and ideally even load it during boot? On a regular linux system I'd know exactly how this works, but Puppy seems to be doing some extremely creative things with the root filesystem.

Any and all help appreciated

perdido

Re: Looking for missing 32-bit Xenial kernel drivers

Post by perdido »

Hi sheer,
I wonder if your friend has a piece of machinery he/she plans to attach to the port that would benefit from a real-time kernel?
There is a version of xenial 7.5 32-bit that has a real-time kernel and the parport.ko

Or maybe upgrade the kernel to the 4.9.163 that comes in UpupBB-19.03 32-bit that has that driver?

Just throwing ideas to consider and not recommending you do either.

Welcome to puppyland!

sheer
Posts: 3
Joined: Tue May 04, 2021 11:12 pm

Re: Looking for missing 32-bit Xenial kernel drivers

Post by sheer »

Or maybe upgrade the kernel to the 4.9.163 that comes in UpupBB-19.03 32-bit that has that driver?

This sounds like a great solution, but I'm not sure how in puppy to do this. Puppy seems to be decompressing a file from the USB stick into a ramdisk for the root filesystem, and the file seems to be a puppy-specific format - at least, I have not yet found a package for Ubuntu to enable it to mount .sts files.

Is there a link to some documentation on how to swap out the kernel?

perdido

Re: Looking for missing 32-bit Xenial kernel drivers

Post by perdido »

Changing the kernel requires replacement of two files, the kernel itself (vmlinuz) and the zdrv that contains the drivers and firmware for the specific kernel being substituted.

Two files need to be changed out
The kernel, that is named vmlinuz
The zdrv sfs file that contains the drivers and firmware

Procedure
You will copy the kernel (vmlinuz) and zdrv_upupbb_19.03.sfs file from the bionicpup32-8.0+uefi.iso
Then you will be renaming the zdrv sfs to the appropriate name so that xenial will recognize it, then copy the replacement files to where the xenial files are located.

Instructions
First thing identify which kernel and firmware you are going to use, I mentioned kernel 4.9.163 from UpupBB that has the missing parport drivers so I will use that as the example.

Download the bionicpup32-8.0+uefi.iso file from this directory https://distro.ibiblio.org/puppylinux/p ... onicpup32/

The .iso is 274MB, you can verify the download integrity with the md5.txt or sha256.txt info located in that directory

Extract the .iso file, there will be about 21 files and directories, the only two files we need are the vmlinuz (the kernel) and the zdrv_upupbb_19.03.sfs (the drivers and firmware)

Working with the existing files from the 32-bit xenial install
Rename the vmlinuz in the xenial to vmlinuz.bak
Rename the zdrv_xenialpup_7.5.sfs to zdrv_xenialpup_7.5.sfs.bak
These can be deleted later after everything is confirmed working but lets keep them until then.

Working with the extracted files from the .iso
Rename the zdrv_upupbb_19.03.sfs to the same name as the xenial zdrv file you are replacing, it should be renamed to something like zdrv_xenialpup_7.5.sfs
The vmlinuz does not need renaming

Copy the new vmlinuz and renamed zdrv to the same directory/location where the renamed (.bak) original versions are.

Done, all you need to do is boot and the system will recognize the new kernel and zdrv (drivers and firmware) as its own. The parport drivers will load automatically at boot if there is a serial/paralell port.
---------

User avatar
rockedge
Site Admin
Posts: 5842
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 2090 times
Been thanked: 2186 times
Contact:

Re: Looking for missing 32-bit Xenial kernel drivers

Post by rockedge »

@sheer Here are some 32 bit full real time kernels meant for electronic music production, audio recording and CNC machinery

https://rockedge.org/kernels

perdido

Re: Looking for missing 32-bit Xenial kernel drivers

Post by perdido »

rockedge wrote: Wed May 05, 2021 1:57 pm

@sheer Here are some 32 bit full real time kernels meant for electronic music production, audio recording and CNC machinery

https://rockedge.org/kernels

The Bionic kernel 4.9.163 I mentioned in my previous post is not a real-time kernel, this would be the real-time kernel solution to follow. :thumbup2:

LateAdopter
Posts: 113
Joined: Sat Aug 15, 2020 5:10 pm
Been thanked: 17 times

Re: Looking for missing 32-bit Xenial kernel drivers

Post by LateAdopter »

I'll try to answer your questions as written...
1 There is no full set of modules built for puppy.

2 If the copy of Xenial that you are using has the original kernel then you can get the matching kernel source SFS from here: http://distro.ibiblio.org/puppylinux/pe ... es-xenial/
If you are lucky one of the two packages will match your kernel.
You can get puppy to load the SFS at startup via the bootmanager (System - Boot Manager in the menu) and the source will appear in the normal place in the filesystem. Alternatively you can mount the SFS in another distro.

If you know how to compile and install a single in-tree module you can use this source to do it using normal linux methods.

If you want to compile the module in Xenialpup you also need the devx SFS which is here: http://distro.ibiblio.org/puppylinux/puppy-xenial/32/
You need to get the bootmanager to load this SFS at startup too. Then all of the GCC stuff will appear.

3 Once you have compiled and installed the module you can load it at startup by putting

Code: Select all

modprobe parport

in /etc/rc.d/rc.local

If you are unlucky and you have a different Xenialpup version the older files are on archive.org

User avatar
bigpup
Moderator
Posts: 6416
Joined: Tue Jul 14, 2020 11:19 pm
Location: Earth, South Eastern U.S.
Has thanked: 766 times
Been thanked: 1326 times

Re: Looking for missing 32-bit Xenial kernel drivers

Post by bigpup »

I'm attempting to help a friend of mine set up a parallel device in Puppy Xenial 32-bit.

Give us some specific details on what this device is and what you are trying to do with it?

The computer info can help.
What is the specs?
Make and model.
We can look it up.

Is this what you are trying to use?
Comedi
The Control and Measurement Device Interface
The comedi parport.ko is in Xenialpup 7.5

Probably nothing to do with your issue, but it will give you a better running Xenialpup 7.5
For Xenialpup 7.5 there are some updates and bug fixes.
Quickpet icon on desktop.
Run Quickpet->Info->Xenialpup updates
Reboot and save so new changes are now being used.
Do this 2 times to make sure it gets everything.

Forum Global Moderator
The things you do not tell us, are usually the clue to fixing the problem.
When I was a kid, I wanted to be older.
This is not what I expected :o

User avatar
bigpup
Moderator
Posts: 6416
Joined: Tue Jul 14, 2020 11:19 pm
Location: Earth, South Eastern U.S.
Has thanked: 766 times
Been thanked: 1326 times

Re: Looking for missing 32-bit Xenial kernel drivers

Post by bigpup »

Code: Select all

change_kernels

entered in a terminal will start the change kernel program.
.

Screenshot(1).png
Screenshot(1).png (23.33 KiB) Viewed 874 times

.
.
The information about what goes into the input slots is a little misleading.
ALL inputs come from the new kernel package.

Note:
Kernel packages with 64 in the name is a 64bit kernel.
32bit kernels are just the name.
Example 32bit:
huge-4.4.249-slacko.tar.bz2
64bit kernel:
huge-4.9.249-slacko64.tar.bz2

Click on the kernels button.
It will open the repository of most Puppy Linux kernel packages.
Download one.
Uncompress it so you can access stuff in it.
Drag and drop the vmlinuz and zdrv sfs (kernel modules sfs, if package built with kernel kit) into the input slots of change_kernels program.
Click OK.
It will make all changes needed to now use the different kernel.
Reboot
Now should run using the kernel you changed to.

Forum Global Moderator
The things you do not tell us, are usually the clue to fixing the problem.
When I was a kid, I wanted to be older.
This is not what I expected :o

sheer
Posts: 3
Joined: Tue May 04, 2021 11:12 pm

Re: Looking for missing 32-bit Xenial kernel drivers

Post by sheer »

Thanks, you've all been very helpful. I just confirmed that when I boot the kernel from UPupBB, I do indeed see the parallel port. Since my friend is mid-upgrade anyway, I have suggested he consider just using UPupBB - if not I will walk him through installing the UPupBB kernel on Xenial.

I believe he wants to run a printer and a plotter, neither of which should require a RTOS.

perdido

Re: Looking for missing 32-bit Xenial kernel drivers

Post by perdido »

sheer wrote: Wed May 05, 2021 11:42 pm

Thanks, you've all been very helpful. I just confirmed that when I boot the kernel from UPupBB, I do indeed see the parallel port. Since my friend is mid-upgrade anyway, I have suggested he consider just using UPupBB - if not I will walk him through installing the UPupBB kernel on Xenial.

I believe he wants to run a printer and a plotter, neither of which should require a RTOS.

Great :thumbup2:

If he decides to upgrade to UPupBB, he may want to use the latest release, its had 25+ updates since that .iso was released. Same kernel/drivers but Ubuntu updates.

You can find the latest updated version here in the first post
viewtopic.php?f=115&t=165

--

Post Reply

Return to “Xenial”