Firmware and driver Cutter -- Coders needed

an incubator for software projects


Moderator: Forum moderators

Post Reply
User avatar
mikeslr
Posts: 2821
Joined: Mon Jul 13, 2020 11:08 pm
Has thanked: 173 times
Been thanked: 852 times

Firmware and driver Cutter -- Coders needed

Post by mikeslr »

Development is way beyond my ability. Just wanted to bring this to the attention of anyone who may want to pursue it.

Although Puppys are very efficient in their management of RAM, inclusion of unnecessary files has to have some negative effect. To obtain the firmware required by a specific computer may require loading a 200*+ Mb fdrv.sfs within which are only a few files actually needed. Many years ago --before drivers and firmware were separated into different file-systems-- technosaurus published zdrv_cutters. backi has recently brought that work to our attention. https://www.forum.puppylinux.com/viewto ... 27#p118827. Thanks, backi. :thumbup: That lead to my wondering to what extent technosaurus's work might be useful in developing an application for 'today's' Puppys that a User might employ, https://www.forum.puppylinux.com/viewto ... 96#p118896 and this post.

Backi provided links to the relevant threads and applications on the Old Forum, duplicated here for your convenience:

https://oldforum.puppylinux.com/viewtopic.php?t=51552

and
https://oldforum.puppylinux.com/viewtopic.php?t=84335

-=-=-=
* The fdrv.sfs I use with Bookworm64 is over 400 Mbs. On the thread backi posted rockedge was trying to figure out how to reduce an initial 880 Mb fdrv.sfs.

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

Re: Firmware and driver Cutter -- Coders needed

Post by rockedge »

I was able to run an experiment using the woof-CE build script called /woof-out_x86_64_x86_64_ubuntu_focal64/kernel-kit/firmware_picker.sh that has an optional extension script /woof-out_x86_64_x86_64_ubuntu_focal64/kernel-kit/firmware_extra.sh.

Using the ../kernel-kit/build.conf file I designated the kernel as 6.8.8_1 that I already have extracted a vmlinuz from Void Linux and created an uncompressed directory 00modules-6.8.8_1. To be able to run the firmware_picker.sh script successfully and utilize firmware_extra.sh the build.conf is used to fill the variables that the scripts use.

Important is creating the necessary directories the scripts look for the kernels modules list and modules.
copied the /00modules-6.8.8_ 1 entire directory contents to /woof-out_x86_64_x86_64_ubuntu_focal64/kernel-kit/output/6.8.8_1/lib/modules/6.8.8_1

Then I ran the script in a terminal opened in /woof-out_x86_64_x86_64_ubuntu_focal64/kernel-kit/firmware_picker.sh.

The script downloads 2.2 G of firmware and places it in a directory /mnt/sdb1/linux-firmware that the script accesses for the firmware files.

After all the stops and starts until I found the magic combination, the script produced the directory /mnt/sdb1/woof-out_x86_64_x86_64_ubuntu_focal64/kernel-kit/zfirmware_workdir which uncompresssed is 348 M in size! After using PackIt to create a fdrv_fossapup64_9.6.sfs which is now 136 M in size.

I am testing this fdrv right now as I type this in a F96-CE_5-alpha3. So far the Ethernet cards both functioning but I can't dim the screen using the Brightness control scripts.

So what I think is happening is the script downloads the complete firmware packages then using the Void Linux kernel modules list, creates a filtered and reduced in size usrmerge or non-usermerge fdrv filtered based on the kernel 6.8.8_1 modules. With simple rearrangement of directories and this fdrv can easily be usrmerge for KLV or usrmerge Puppy Linux variants

If up for testing either usrmerge and non-usermerge fdrv_fosspup64_9.6.sfs or the 01firmware-6.8.8_1.sfs
Download -> fdrv usrmerge or non-usrmerge
Download -> Kernel Void Linux-6.8.8_1 Firmware, Modules and vmlinuz

Post Reply

Return to “Development”