User Tools

Site Tools


kernel_compiling

Table of Contents

make new initrd

https://docs.slackware.com/howtos:slackware_admin:kernelbuilding

/usr/share/mkinitrd/mkinitrd_command_generator.sh /boot/efi/EFI/Slackware/bzImagenew2

mkinitrd -c -k 6.6.6 -f ext4 -r /dev/sda3 -m jbd2:mbcache:crc32c_intel:crc32c_generic:ext4 -u -o /init66.gz

cp /init66.gz /boot/efi/EFI/Slackware/



sound

alsactl restore -d

speaker-test,, speaker-test -Dhw:0 -c2

aplay -D plughw:0,3 /media/sda1/usr/share/korganizer/sounds/spinout.wav -v

alsamixer 0

lspci -v

pavucontrol

https://tldp.org/HOWTO/Alsa-sound-6.html

root@slax:~# cat /proc/modules |grep snd

snd_hda_codec_hdmi 61440 2 - Live 0xffffffffc10fd000
snd_ctl_led 24576 0 - Live 0xffffffffc10f6000
snd_hda_codec_idt 57344 1 - Live 0xffffffffc10ce000
snd_hda_codec_generic 86016 1 snd_hda_codec_idt, Live 0xffffffffc10e0000
ledtrig_audio 16384 2 snd_ctl_led,snd_hda_codec_generic, Live 0xffffffffc10bc000
snd_hda_intel 49152 3 - Live 0xffffffffc0fe6000
snd_intel_dspcfg 28672 1 snd_hda_intel, Live 0xffffffffc0ec5000
snd_intel_sdw_acpi 16384 1 snd_intel_dspcfg, Live 0xffffffffc0b23000
snd_hda_codec 151552 4 snd_hda_codec_hdmi,snd_hda_codec_idt,snd_hda_codec_generic,snd_hda_intel, Live 0xffffffffc0c49000
snd_hda_core 94208 5 snd_hda_codec_hdmi,snd_hda_codec_idt,snd_hda_codec_generic,snd_hda_intel,snd_hda_codec, Live 0xffffffffc0b03000
snd_hwdep 16384 1 snd_hda_codec, Live 0xffffffffc0b8e000
snd_pcm 131072 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core, Live 0xffffffffc0b45000
snd_timer 36864 1 snd_pcm, Live 0xffffffffc0b2f000
snd 102400 15 snd_hda_codec_hdmi,snd_ctl_led,snd_hda_codec_idt,snd_hda_codec_generic,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer, Live 0xffffffffc0acc000
soundcore 16384 2 snd_ctl_led,snd, Live 0xffffffffc0a5a000
root@slax:~# 

find /lib/modules/$(uname -r)/kernel/drivers/

/sbin/lsmod | grep snd

lspci -v

cat /proc/asound/cards

find “/media/sdb1” -type f -name “*.ko” |less


wpa_passphrase PLUSNET-J8GW » /etc/wpa_supplicant.conf

wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf

ifconfig wlan0 up

slax

https://www.slax.org/internals.php


There are three things needed to upgrade the Slax kernel:

1) replace vmlinuz 2) replace kernel modules in initramfs image 3) replace kernel modules in 01-core.sb file

The first task is simple Second task requires you to be able to unpack and extract the contents of initrfs.img file, and then pack it back Maybe this generic howto could work: https://access.redhat.com/solutions/24029 Slax uses xz compression for initramfs if I remember correctly.

Third task requires you to be able to unsquashfs the .sb file and then mksquashfs it back You will need unsquashfs and mksquashfs commands (or sb2dir and dir2sb commands from within Slax)

Tomas M


Slax pack/unpack

xz -dc < /boot/initrd-$(uname -r).img | cpio -idmv

Here is what i use to repack an xz initramfs for syslinux 4.06 (live boot)

ramfs/img
#!/bin/bash
 
find . 2>/dev/null | cpio --create --format='newc' > ../initrfs.img.cpio
xz --check=crc32 --lzma2=,dict=2048kiB ../initrfs.img.cpio
mv ../initrfs.img.cpio.xz ../initrfs.img

kernel build

The kernel source tree is specified through the KERNEL_TREE environment variable. It defaults to /usr/src/linux. So either export this variable in the terminal in which you make the kernel:

export KERNEL_TREE=/usr/src/linux-3.2.61

or define a symlink from /usr/src/linux-3.2.61 to /usr/src/linux`:

ln -s /usr/src/linux-3.2.61 /usr/src/linux

Of course, replace /usr/src/linux-3.2.61 with the corresponding kernel source directory.


Quote: Originally Posted by Alien Bob View Post First, make sure that all hardware that you want your kernel to support is connected to the computer and powered on / configured (think of external USB, firewire drives, webcams, headphones etc).

Then, run the following command in your kernel source directory: Code: make localyesconfig That will create a kernel with built-in support for all your hardware and not much more. As a variation which creates modules for your hardware instead of compiling the drivers right into the kernel: Code: make localmodconfig

Eric, thanks so much. In my other tab of my browser this page is open: http://alien.slackbook.org/, Can't believe I am getting a reply from yoda himself within a few minutes of posting, surely the universe is trying to tell me something


https://www.andrews-corner.org/update.html

make -j 32 bzImage modules && \

make -j 32 modules_install && \

cp -v arch/x86/boot/bzImage /boot/vmlinuz-6.1.6-ads


make new initrd

/usr/share/mkinitrd/mkinitrd_command_generator.sh /boot/efi/EFI/Slackware/bzImagenew2

mkinitrd -c -k 6.6.6 -f ext4 -r /dev/sda3 -m jbd2:mbcache:crc32c_intel:crc32c_generic:ext4 -u -o /init66.gz

cp /init66.gz /boot/efi/EFI/Slackware/


elilo menu

Upgrade Slackware

slackpkg update, slackpkg upgrade aaa_glibc-solibs, slackpkg install-new, slackpkg upgrade-all, slackpkg clean-system,


build old kernel https://www.vinnie.work/blog/2022-05-01-building-to-the-version-generation

Linux is GNU toolchain specific. In older versions of the kernel (before v4.1), there were GCC headers that were version specific (include/linux/compiler-gcc[3-5].h). This means that to build any kernel v4.0 and before you'll need a version of gcc that is version 3.x, 4.x, or 5.x. Earlier versions don't have the headers for 4.x or 5.x so you must use version 3.x. Linux 2.2 and 2.4 are highly recommended to be built with gcc-2.95.

https://docs.slackware.com/howtos:slackware_admin:kernelbuilding

using config: '/proc/config.gz'

* * Compiler is too old. * Your GCC version: 4.8.2 * Minimum GCC version: 5.1.0 * scripts/Kconfig.include:44: Sorry, this compiler is not supported. make[2]: * [localmodconfig] Error 1 make[1]: * [localmodconfig] Error 2 make: * [__sub-make] Error 2

oldcompiler.c
bash-4.2# pwd
/usr/src/linux
 
bash-4.2# ls
linux  linux-3.10.17  linux-4.4.14  linux-5.15.19

GCC 4.8 will not compile linux 5.15.19


kernel_compiling.txt · Last modified: 2024/02/13 14:52 by admin