Porteus Kernel Builder

Here is a place for your projects which are not officially supported by the Porteus Team. For example: your own kernel patched with extra features; desktops not included in the standard ISO like Gnome; base modules that are different than the standard ISO, etc...
beny
Full of knowledge
Full of knowledge
Posts: 2253
Joined: 02 Jan 2011, 11:33
Location: italy

Porteus Kernel Builder

Post#1906 by beny » 28 Oct 2023, 18:18

hi fulalas the kernel builder have the option to download linux kernel firmware,or you can download from slackware site 15 or current.

fulalas
DEV Team
DEV Team
Posts: 2058
Joined: 26 Oct 2016, 15:34
Distribution: Porteus
Location: Brazil

Porteus Kernel Builder

Post#1907 by fulalas » 28 Oct 2023, 18:37

@beny, the Slackware 15 repo has a patch folder which includes an up to date firmware: http://ftp.slackware.com/pub/slackware/ ... /packages/

My question is more like what's wrong in the kernel builder that it's not including this firmware if it's present in the Slackware package. Maybe something missing in the kernel .config file?

beny
Full of knowledge
Full of knowledge
Posts: 2253
Joined: 02 Jan 2011, 11:33
Location: italy

Porteus Kernel Builder

Post#1908 by beny » 28 Oct 2023, 18:56

hi fulalas but they are in: porteux last and 6.5.9 kernel make with the kernel builder by neko
/lib/firmware/intel/ibt-20-1-3.ddc
/lib/firmware/intel/ibt-20-1-3.sfi

fulalas
DEV Team
DEV Team
Posts: 2058
Joined: 26 Oct 2016, 15:34
Distribution: Porteus
Location: Brazil

Porteus Kernel Builder

Post#1909 by fulalas » 28 Oct 2023, 19:05

I couldn't find in Porteus 5.01, PorteuX 0.7 nor the last kernel built by blaze in this topic.

beny
Full of knowledge
Full of knowledge
Posts: 2253
Joined: 02 Jan 2011, 11:33
Location: italy

Porteus Kernel Builder

Post#1910 by beny » 28 Oct 2023, 19:17

hi fulalas you are right the porteus kernel 6.5.5 don't have intel firmware have been stripped too much seem

User avatar
babam
Warlord
Warlord
Posts: 528
Joined: 16 Nov 2016, 10:30
Distribution: Porteus 5.0rc3 Xfce K6.1.1
Location: Rainy city

Porteus Kernel Builder

Post#1911 by babam » 28 Oct 2023, 21:42

fulalas wrote:
28 Oct 2023, 15:54
I noticed that my bluetooth (AX200) doesn't work because the firmware files aren't present:

Code: Select all

/lib/firmware/intel/ibt-20-1-3.ddc
/lib/firmware/intel/ibt-20-1-3.sfi
If I manually copy them from Slackware current firmware package, my bluetooth is detected.

Question: why the kernel xzm module doesn't include this firmware by default?
Some time ago I asked to add Intel bluetooth firmware but was rejected by neko.
That is the reason many Porteus users complain that my Wifi/Bluetooth is not working, the required firmware is missing.
Sorry, my English is bad.

User avatar
Rava
Contributor
Contributor
Posts: 5424
Joined: 11 Jan 2011, 02:46
Distribution: XFCE 5.01 x86_64 + 4.0 i586
Location: Forests of Germany

Porteus Kernel Builder

Post#1912 by Rava » 29 Oct 2023, 05:43

Note 1: Compiler that was used.
for kernel 6.5.[…]: 11.2.0-x86_64
Is there a 05-devel that contains the latest updates of Porteus 5.0.1 and this very 11.2.0-x86_64 version of gcc?

Because I want to try to apply the NVIDIA-Linux-x86_64-340.108-patched-kernel-6.5.run on one of the 6.5.* kernels.
Seems the "kernelversion.tar" has this
Simple package (vmlinuz, 000-kernel.xzm, 06-crippled_sources-NNN-XXbit.xzm, 64bit.config)
(I also need 06-crippled_sources-NNN-XXbit.xzm for the NV driver compile) but lacks the devel package.

I get it that it makes sense not to include he devel package in each "kernel.tar"cause that would enlarge the .tar file significantly. And many users want to use a newer kernel but hardly ever use the devel package.

But still there must be an extra uploaded 05-devel module that contains the latest updates of Porteus 5.0.1 and the very 11.2.0-x86_64 version of gcc somewhere, right?

Added in 12 minutes 5 seconds:
babam wrote:
28 Oct 2023, 21:42
Some time ago I asked to add Intel bluetooth firmware but was rejected by neko.
That is the reason many Porteus users complain that my Wifi/Bluetooth is not working, the required firmware is missing.
But could you not alter the kernel builder script, or manually add the Wifi/Bluetooth drivers?

Same with Blaze.

I do not know the reasons for neko to reject these drivers (usually some drivers are blacklisted by default to not interfere with the more often used drivers, I don't know any details concerning this and the 2 mentioned drivers)

But when several Porteus users complain that Wifi/Bluetooth is not working, that should not be the case.

I personally would love to get Wifi working on my very machine I am typing this reply [Toshiba Satellite], but at least back many many months that was not possible due to having a Linux-unsupported hardware; I got many replies in the thread on here about that matter, but whatever I tried, I got the WiWi technically working, but it found much less WLANs than my old single-core Porteus4.0 i586 machine, that finds like 10 times more WLANs including the ones I need.

But probably a newer kernel and drivers available for that kernel would fix my issue and get my WLAN not only to work, but work similar to my old single-core Porteus4.0 i586 machine?
Cheers!
Yours Rava

User avatar
Blaze
DEV Team
DEV Team
Posts: 3994
Joined: 28 Dec 2010, 11:31
Distribution: ⟰ Porteus current ☯ all DEs ☯
Location: ☭ Russian Federation, Lipetsk region, Dankov
Contact:

Porteus Kernel Builder

Post#1913 by Blaze » 29 Oct 2023, 09:46

Rava wrote:
29 Oct 2023, 05:55
Is there a 05-devel that contains the latest updates of Porteus 5.0.1 and this very 11.2.0-x86_64 version of gcc?
look at the http://ftp.nluug.nl/os/Linux/distr/port ... 01/kernel/

babam, the main reason to reject firmwares is a big size.
Look at this size https://slackware.pkgs.org/current/slac ... 1.txz.html
Not bad to make a lite Wifi/Bluetooth firmwares modules via bash script and then it can comes as extra xzm modules or officaly comes with kernel module (all-in-one) by default (need to look).
Linux 6.6.11-porteus #1 SMP PREEMPT_DYNAMIC Sun Jan 14 12:07:37 MSK 2024 x86_64 Intel(R) Xeon(R) CPU E3-1270 v6 @ 3.80GHz GenuineIntel GNU/Linux
MS-7A12 » [AMD/ATI] Navi 23 [Radeon RX 6600] [1002:73ff] (rev c7) » Vengeance LPX 16GB DDR4 K2 3200MHz C16

fulalas
DEV Team
DEV Team
Posts: 2058
Joined: 26 Oct 2016, 15:34
Distribution: Porteus
Location: Brazil

Porteus Kernel Builder

Post#1914 by fulalas » 29 Oct 2023, 14:17

@Blaze, the process of adding the firmware is automatic (scripted), so if these firmwares are not being added it's probably because the .config is not setting them.

I don't think it's worth it saving a few MB and not providing a decent out of the box experience for regular users. Bluetooth support can be critical for some people.

User avatar
Blaze
DEV Team
DEV Team
Posts: 3994
Joined: 28 Dec 2010, 11:31
Distribution: ⟰ Porteus current ☯ all DEs ☯
Location: ☭ Russian Federation, Lipetsk region, Dankov
Contact:

Porteus Kernel Builder

Post#1915 by Blaze » 29 Oct 2023, 18:00

[Updated kernel Examples]
==== AUFS Kernel only for Porteus ====
Simple package (vmlinuz, 000-kernel.xzm, 06-crippled_sources-NNN-XXbit.xzm, 64bit.config)

6.6-rc7 <-- NEW : "All patches" patching was done.
64bit-ALL-kernel6.6-rc7.tar (~147 M)
https://www.mediafire.com/file/dvu92er3 ... .6-rc7.tar
bd4806248edfb46001ebc5658bb90c3a 64bit-ALL-kernel6.6-rc7.tar

Note 1: Compiler that was used.
for kernel 6.6-rc7: 11.2.0-x86_64

Note 2: Compilated under Porteus 5.0.1 (Slackware 15.0 base. Note. glibc-2.33 replaced on glibc-2.35)

Note 3: A new cryptsetup (version 2.3.5: presented by @ncmprhnsbl)

Note 4: diif

Code: Select all

# diff old-64bit.config new-64bit.config 
3c3
< # Linux/x86 6.6.0-rc5 Kernel Configuration
---
> # Linux/x86 6.6.0-rc7 Kernel Configuration
5c5
< CONFIG_CC_VERSION_TEXT="gcc (GCC) 13.2.1 20230801"
---
> CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.2.0"
7c7
< CONFIG_GCC_VERSION=130201
---
> CONFIG_GCC_VERSION=110200
10c10
< CONFIG_AS_VERSION=24100
---
> CONFIG_AS_VERSION=23700
12c12
< CONFIG_LD_VERSION=24100
---
> CONFIG_LD_VERSION=23700
18d17
< CONFIG_TOOLS_SUPPORT_RELR=y
465d463
< CONFIG_CC_HAS_SLS=y
484d481
< # CONFIG_SLS is not set
1608,1609c1605,1606
< # CONFIG_BT_LEDS is not set
< # CONFIG_BT_MSFTEXT is not set
---
> CONFIG_BT_LEDS=y
> CONFIG_BT_MSFTEXT=y
1611c1608
< CONFIG_BT_DEBUGFS=y
---
> # CONFIG_BT_DEBUGFS is not set
1620a1618
> CONFIG_BT_MTK=m
1622c1620
< # CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
---
> CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
1625c1623
< # CONFIG_BT_HCIBTUSB_MTK is not set
---
> CONFIG_BT_HCIBTUSB_MTK=y
1635c1633
< # CONFIG_BT_HCIBCM4377 is not set
---
> CONFIG_BT_HCIBCM4377=m
1645,1646c1643,1644
< # CONFIG_BT_MTKSDIO is not set
< # CONFIG_BT_VIRTIO is not set
---
> CONFIG_BT_MTKSDIO=m
> CONFIG_BT_VIRTIO=m
7224,7225d7221
< # CONFIG_PHY_RTK_RTD_USB2PHY is not set
< # CONFIG_PHY_RTK_RTD_USB3PHY is not set
7486c7482
< CONFIG_AUFS_BRANCH_MAX_511=y
---
> # CONFIG_AUFS_BRANCH_MAX_511 is not set
7488c7484
< # CONFIG_AUFS_BRANCH_MAX_32767 is not set
---
> CONFIG_AUFS_BRANCH_MAX_32767=y
7665,7667d7660
< CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
< CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y
< CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
7669,7670c7662,7664
< # CONFIG_INIT_STACK_ALL_PATTERN is not set
< # CONFIG_INIT_STACK_ALL_ZERO is not set
---
> # CONFIG_GCC_PLUGIN_STRUCTLEAK_USER is not set
> # CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set
> # CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL is not set
@neko not bad to change these options too.

I mean

1st change aufs branches limit from 511 to 32767, allowing more xzm modules to be loaded (as in PorteuX)

Code: Select all

CONFIG_AUFS_FS=y
# CONFIG_AUFS_BRANCH_MAX_127 is not set
# CONFIG_AUFS_BRANCH_MAX_511 is not set
# CONFIG_AUFS_BRANCH_MAX_1023 is not set
CONFIG_AUFS_BRANCH_MAX_32767=y
2nd some tweaks for bluetooth options:

Code: Select all

#
# Network testing
#
CONFIG_NET_PKTGEN=m
# end of Network testing
# end of Networking options

# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
CONFIG_BT=m
CONFIG_BT_BREDR=y
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_CMTP=m
CONFIG_BT_HIDP=m
CONFIG_BT_HS=y
CONFIG_BT_LE=y
CONFIG_BT_LE_L2CAP_ECRED=y
CONFIG_BT_6LOWPAN=m
CONFIG_BT_LEDS=y
CONFIG_BT_MSFTEXT=y
# CONFIG_BT_AOSPEXT is not set
# CONFIG_BT_DEBUGFS is not set
# CONFIG_BT_SELFTEST is not set
# CONFIG_BT_FEATURE_DEBUG is not set

#
# Bluetooth device drivers
#
CONFIG_BT_INTEL=m
CONFIG_BT_BCM=m
CONFIG_BT_RTL=m
CONFIG_BT_MTK=m
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
CONFIG_BT_HCIBTUSB_POLL_SYNC=y
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB_MTK=y
CONFIG_BT_HCIBTUSB_RTL=y
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_ATH3K=y
CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_AG6XX=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBCM4377=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIDTL1=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBLUECARD=m
CONFIG_BT_HCIVHCI=m
CONFIG_BT_MRVL=m
CONFIG_BT_MRVL_SDIO=m
CONFIG_BT_ATH3K=m
CONFIG_BT_MTKSDIO=m
CONFIG_BT_VIRTIO=m
# end of Bluetooth device drivers
Note 5: @fulalas, can you test your bluetooth (AX200) with this kernel?
fulalas wrote:
29 Oct 2023, 14:17
the process of adding the firmware is automatic (scripted), so if these firmwares are not being added it's probably because the .config is not setting them.
I set the same bluetooth options as in Slackware-current config https://mirrors.slackware.com/slackware ... l-configs/
but I think bluetooth (AX200) does not work coz he is not have

Code: Select all

/lib/firmware/intel/ibt-20-1-3.ddc
/lib/firmware/intel/ibt-20-1-3.sfi
Thanks to neko for support.
Linux 6.6.11-porteus #1 SMP PREEMPT_DYNAMIC Sun Jan 14 12:07:37 MSK 2024 x86_64 Intel(R) Xeon(R) CPU E3-1270 v6 @ 3.80GHz GenuineIntel GNU/Linux
MS-7A12 » [AMD/ATI] Navi 23 [Radeon RX 6600] [1002:73ff] (rev c7) » Vengeance LPX 16GB DDR4 K2 3200MHz C16

User avatar
Rava
Contributor
Contributor
Posts: 5424
Joined: 11 Jan 2011, 02:46
Distribution: XFCE 5.01 x86_64 + 4.0 i586
Location: Forests of Germany

Porteus Kernel Builder

Post#1916 by Rava » 29 Oct 2023, 18:24

Thanks.
Blaze wrote:
29 Oct 2023, 09:46
Look at this size https://slackware.pkgs.org/current/slac ... 1.txz.html
Download size 269.09 MB
Installed size 987.42 MB
That is indeed speaking for itself.
I think outsourcing at least the largest files makes sense.

And giving an example of how to create a mini-dependency module only holding the minimal files needed for that certain firmware.
Unless the files come in a txz of their own, then one can just txz2zxm that package.

Alternatively, giving an example of how to insert only certain firmware into the correct main base module - you know, either the whole

Code: Select all

ROOT=/path/to/folder installpkg WHATEVER
after one extracted the module to be expanded into /path/to/folder
And then just do a dir2xzm on /path/to/folder
Or copy only selected files with correct paths into /path/to/folder

beny
Full of knowledge
Full of knowledge
Posts: 2253
Joined: 02 Jan 2011, 11:33
Location: italy

Porteus Kernel Builder

Post#1917 by beny » 29 Oct 2023, 19:05

or if you like thrills, unpack 000-kernel, add the firmware you are interested in to the firmware directory and repack and enjoy

fulalas
DEV Team
DEV Team
Posts: 2058
Joined: 26 Oct 2016, 15:34
Distribution: Porteus
Location: Brazil

Porteus Kernel Builder

Post#1918 by fulalas » 30 Oct 2023, 10:55

@Blaze, thanks for the help. My bluetooth still doesn't work with your new kernel. It really needs those 2 firmware files.

I still don't understand why they're not added automatically during the build process :(

neko
DEV Team
DEV Team
Posts: 2113
Joined: 09 Feb 2013, 09:55
Distribution: APorteus-FVWM-ja-x86_64.iso
Location: japan

Porteus Kernel Builder

Post#1919 by neko » 31 Oct 2023, 02:57

@fulalas

How to get/set firmware (by set-firmware function of Kernel Builder)

1.pick up needed firmwares. (see /usr/share/mkKernel/bin/getFWlist)
1.1. read the first items of lib/modules/6.6.0-porteus/modules.dep

ex. lib/modules/6.6.0-porteus/modules.dep
..
kernel/drivers/bluetooth/btsdio.ko: kernel/net/bluetooth/bluetooth.ko kernel/crypto/ecdh_generic.ko kernel/crypto/ecc.ko kernel/net/rfkill/rfkill.ko
kernel/drivers/bluetooth/btintel.ko: kernel/net/bluetooth/bluetooth.ko kernel/crypto/ecdh_generic.ko kernel/crypto/ecc.ko kernel/net/rfkill/rfkill.ko
kernel/drivers/bluetooth/ath3k.ko: kernel/net/bluetooth/bluetooth.ko kernel/crypto/ecdh_generic.ko kernel/crypto/ecc.ko kernel/net/rfkill/rfkill.ko
..

ex. the first item of lib/modules/6.6.0-porteus/modules.dep
kernel/drivers/bluetooth/btintel.ko

1.2. get module info by "modinfo -F firmware" command

# modinfo -F firmware lib/modules/6.6.0-porteus/kernel/drivers/bluetooth/btintel.ko
intel/ibt-12-16.ddc
intel/ibt-12-16.sfi
intel/ibt-11-5.ddc
intel/ibt-11-5.sfi

2. copy firmwares from kernel-firmware-20231019_d983107-noarch-1plus.xzm to lib/firmware
(see /usr/share/mkKernel/bin/getFW)

3. "modinfo -F firmware" information is set by kernel source file

ex. linux-6.6/drivers/bluetooth/btintel.c
...
MODULE_AUTHOR("Marcel Holtmann <[email protected]>");
MODULE_DESCRIPTION("Bluetooth support for Intel devices ver " VERSION);
MODULE_VERSION(VERSION);
MODULE_LICENSE("GPL");
MODULE_FIRMWARE("intel/ibt-11-5.sfi");
MODULE_FIRMWARE("intel/ibt-11-5.ddc");
MODULE_FIRMWARE("intel/ibt-12-16.sfi");
MODULE_FIRMWARE("intel/ibt-12-16.ddc");
...

4. if there are not needed firmwares (kernel bug?), kernel source is modified as followed.

ex. linux-6.6/drivers/bluetooth/btintel.c
...
MODULE_FIRMWARE("intel/ibt-11-5.sfi");
MODULE_FIRMWARE("intel/ibt-11-5.ddc");
MODULE_FIRMWARE("intel/ibt-12-16.sfi");
MODULE_FIRMWARE("intel/ibt-12-16.ddc");
MODULE_FIRMWARE("intel/ibt-20-1-3.ddc");
MODULE_FIRMWARE("intel/ibt-20-1-3.sfi");

Thanks.

fulalas
DEV Team
DEV Team
Posts: 2058
Joined: 26 Oct 2016, 15:34
Distribution: Porteus
Location: Brazil

Porteus Kernel Builder

Post#1920 by fulalas » 31 Oct 2023, 11:42

neko wrote:
31 Oct 2023, 02:57
4. if there are not needed firmwares (kernel bug?), kernel source is modified as followed.

ex. linux-6.6/drivers/bluetooth/btintel.c
...
MODULE_FIRMWARE("intel/ibt-11-5.sfi");
MODULE_FIRMWARE("intel/ibt-11-5.ddc");
MODULE_FIRMWARE("intel/ibt-12-16.sfi");
MODULE_FIRMWARE("intel/ibt-12-16.ddc");
MODULE_FIRMWARE("intel/ibt-20-1-3.ddc");
MODULE_FIRMWARE("intel/ibt-20-1-3.sfi");
Oh, that's the reason then!

I found a patch made by a Canonical employee that fixes this issue. Not sure why this hasn't been accepted upstream.

Thanks a lot, neko!

Post Reply