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...
neko
DEV Team
DEV Team
Posts: 2107
Joined: 09 Feb 2013, 09:55
Distribution: APorteus-FVWM-ja-x86_64.iso
Location: japan

Porteus Kernel Builder

Post#1 by neko » 15 Jan 2017, 09:41

Image
setting window

mkKernel-24.03.11-noarch-1.xzm (11 M)
https://www.mediafire.com/file/od84u4pf ... arch-1.xzm
md5sum: 5025cc89e94af7d90b2a8dc90a6b42ff mkKernel-24.03.11-noarch-1.xzm

[Firmware database : kernel-firmware-20240305_d13f88b-noarch-1plus.xzm (485 M)]
that was created with
slackware package "kernel-firmware-20240305_d13f88b-noarch-1.txz (334 M)" and following pakages.
alsa-firmware-1.2.4-noarch-2
b43-firmware-6.30.163.46-fw-1_SBo
bfubase
bluetooth
bluez-firmware-1.2-noarch-9
ipw2100-fw-1.3-noarch-10
ipw2200-fw-3.1-noarch-8
zydas

This tool makes "COMPILATION AND USAGE OF CUSTOM PORTEUS KERNEL" procedure easy.
http://www.porteus.org/component/conten ... ernel.html
From GUI it creates the shell script and then performs that script.

The functions of Porteus Kernel Builder are as followed.
1. detect latest kernel version.
2. download kernel source (compressed).
3. download and create the AUF patch that corresponds to the kernel version.
4. get prototype config. (Mostly created by Blaze. Thanks to Blaze.)
5. expand kernel source and adapt AUF patch.
6. build kernel.
7. copy firmwares from firmware packages.
8. create crippled_sources module.
9. replace kernel of ISO with new one.

[How to use]
step 1. prepare compile environment.
get 05-devel.xzm for your architecture from Porteus release site.
activate "05-devel.xzm".
This prepare is needed for the following actions only.
1)getting AUF patch
2)adapting AUF patch
3)building kernel

step 2. set working direcory.
First, prepare the directory for 'Porteus Kernel Builder'.
This direcory must be in LINUX file system (ext4 etc.,).
Select this in "Kernel Builder directory" of "setting window"

step 3. select kernel version.
select kernel version line in left item of "Kernel Version" of "setting window".
left item will display the latest version of the line.
if older version is needed, select kernel version in right item.

step 4. (option) "Build kernel" circle
"32Bit/64Bit" item: (first, display running PC architecture)
---->select compiling architecture.

"download" item:
---->if check it on, download kernel source.

"expand & patch" item: (this action needs 05-devel.xzm for adapting AUF patch)
---->if select NONE: none expand
---->if select ONLY: expand only
---->if select AUFS: expand & AUFS patch
---->if select OWN: expand & OWN patch

"compile" item: (this action needs 05-devel.xzm for building kernel)
---->if select NONE: not build
---->if select PROTO: build with prototype config, and set vmlinuz & lib.
---->if select YOUR: build with your set config, and set vmlinuz & lib.
---->if select ONLY: build with the config from "make localmodconfig", and set vmlinuz & lib.

"Create FW" item:
---->if check it on, copy firmwares from firmware packages

"cleanup" item:
---->if check it on, cleanup expanded directory.

Note 1:
Each item can be set independently.
(example)
1st run: set "download" item and "expand & patch"
modfy config depending on own needs.
2nd run: set "compile" item.
check result.
3rd run: set "cleanup" item.

step 5. (option) "ISO whose kernel will be update" circle
select ISO whose kernel will be update. (Original ISO must be in the directory differ from kernel build work directory.)
"keep org" item: (default "check on")
---->if check it off, replace initrd.xz with "integrated initrd.xz", and insert a new porteus-NNNNN.cfg.

step 6. (option) "Create crippled_sources or 000-kernel modules" circle
"crippled_sources" item:
---->if check it on, create crippled_sources module.
Don't cleanup, when this will be used.

"000-kernel" item:
---->if check it on, create 000-kernel module.

"Placement:Arcklinux/Placement:Slackware" item:
----> select "Placement:Slackware" for 000-kernel of Porteus.
----> select "Placement:Arcklinux" for 000-kernel of APorteus.

"Zstd compress" item:
---->if check it on, XZM module (crippled_sources, 000-kerne) is a mksquashfs compressed with "Zstandard (zstd)"
---->if check it off, XZM module (crippled_sources, 000-kerne) is a mksquashfs compressed with "XZ"

Note 2: Config
"Porteus Kernel Builder" mkKernel-yy.mm.dd-noarch-1.xzm includes config prototypes.

/usr/local/share/mkKernel/lib/vN.M/32bit.config:
is a config prototype for 32 bit kernel version N.M.n build.
/usr/local/share/mkKernel/lib/vN.M/64bit.config:
is a config prototype for 64 bit kernel version N.M.n build.

These prototypes were derived from the Porteus original config
by "make oldconfig" command with the almost new items "No" spec.
If a new function item of a kernel version is needed,
the prototype config item should be changed by "make menuconfig" command.

[Kernel config prototypes updating policy]
Updating the config is set with almost new spec items "N".
Because it prevent to grow the size of kernel.
Some spec items that were requested are set with "M" or "Y".
Setting with "Y" is only for boot devices.
The spec item concerning network is set with "M".
Because a network is set up after boot.
If network booting is used,
in initrd, 000-kernel.xzm module will be activated and the needed driver is included.
therefore naming "000-kernel.xzm" is reserved.
(I don't know that new Porteus initrd performs same.)
All spec items concerning debug are set with "N".


Note 3: "integrated initrd.xz"
[integrating initrds]
initrd of Porteus 4.0
initrd of Porteus 4.0 Overlay FS trial version
initrd of APorteus
initrd of APorteus Overlay FS version

Note 4: AUFS patch
AUFS patches consist of multiple patches.
It can be divided into basic patches and optional patches.
Basic patches are classified into two types:
one for statically incorporated AUFS functionality
(kernel build config paramater: CONFIG_AUFS_FS=y <-----Porteus)
and
one for dynamically incorporated AUFS functionality
(kernel build config paramater: CONFIG_AUFS_FS=m).

1. Basic patch group
1.1. Basic patches for static integration
{Documentation,fs,include/uapi/linux/aufs_type.h} files
aufsN-base.patch
aufsN-kbuild.patch
aufsN-mmap.patch

Apply basic patches shell script (/usr/local/share/mkKernel/bin/aufsBase.sh)

Code: Select all

#!/bin/sh
# arg1: "Kernel Builder" work directory
# arg2: kernel version: exp. 3.18.140, 4.19.57, 5.1.16, 5.2-rc7
# arg3: 32/64
KDIR=$1
KVER=$2
COMPARCH=$3

V3_4=${KVER%%.*}
SUB=${KVER#*.}
SUB=${SUB%%.*}
RCN=${SUB#*-}
SUB=${SUB%-*}
if [ "$SUB" = "$RCN" ]
then
	RCN=""
else
	SUB="${SUB}-rc"
	RCN=${RCN#rc}
fi
cd $KDIR/v$KVER/$COMPARCH/linux-${KVER}/

PATCHDIR=../../auf/aufs${V3_4}-standalone.git
if [ ! -d $PATCHDIR ]
then
	echo "Not yet get aufs${V3_4}-standalone.git"
	exit 1
fi

# [auf/aufs5-standalone.git/README]
#==== copy ./{Documentation,fs,include/uapi/linux/aufs_type.h} files to your
#  kernel source tree. Never copy $PWD/include/uapi/linux/Kbuild.
cp -r "$PATCHDIR"/fs ./
cp -r "$PATCHDIR"/Documentation ./
cp "$PATCHDIR"/include/uapi/linux/aufs_type.h ./include/uapi/linux

#==== apply ./aufsN-kbuild.patch to your kernel source files.
if [ ! -f "$PATCHDIR"/aufs${V3_4}-kbuild.patch ]
then
	exit 1
fi
echo "-------------------aufs${V3_4}-kbuild.patch"
ERROR=`cat "$PATCHDIR"/aufs${V3_4}-kbuild.patch | patch -p1 | grep FAILED`
if [ -n "$ERROR" ]
then
	echo "ERROR: aufs${V3_4}-kbuild.patch"
	mv "$PATCHDIR"/aufs${V3_4}-kbuild.patch "$PATCHDIR"/NG-aufs${V3_4}-kbuild.patch
	exit 1
fi

#==== apply ./aufsN-base.patch too.
if [ ! -f "$PATCHDIR"/aufs${V3_4}-base.patch ]
then
	exit 1
fi
echo "-------------------aufs${V3_4}-base.patch"
ERROR=`cat "$PATCHDIR"/aufs${V3_4}-base.patch | patch -p1 | grep FAILED`
if [ -n "$ERROR" ]
then
	echo "ERROR: aufs${V3_4}-base.patch"
	mv "$PATCHDIR"/aufs${V3_4}-base.patch "$PATCHDIR"/NG-aufs${V3_4}-base.patch
	exit 1
fi

#==== apply ./aufsN-mmap.patch too.
if [ ! -f "$PATCHDIR"/aufs${V3_4}-mmap.patch ]
then
	exit 1
fi
echo "-------------------aufs${V3_4}-mmap.patch"
ERROR=`cat "$PATCHDIR"/aufs${V3_4}-mmap.patch | patch -p1 | grep FAILED`
if [ -n "$ERROR" ]
then
	echo "ERROR: aufs${V3_4}-mmap.patch"
	mv "$PATCHDIR"/aufs${V3_4}-mmap.patch "$PATCHDIR"/NG-aufs${V3_4}-mmap.patch
	exit 1
fi

exit 0
1.2. Basic patches for dynamic integration

2. Optional patch group
aufsN-loopback.patch
lockdep-debug.patch
proc_mounts.patch (without 4.4 nor 4.9)
tmpfs-idr.patch
vfs-ino.patch

Apply optional patches shell script (/usr/local/share/mkKernel/bin/aufsOption.sh)

Code: Select all

#!/bin/sh
# arg1: "Kernel Builder" work directory
# arg2: kernel version: exp. 3.18.140, 4.19.57, 5.1.16, 5.2-rc7
# arg3: 32/64
KDIR=$1
KVER=$2
COMPARCH=$3

V3_4=${KVER%%.*}
SUB=${KVER#*.}
SUB=${SUB%%.*}
RCN=${SUB#*-}
SUB=${SUB%-*}
if [ "$SUB" = "$RCN" ]
then
	RCN=""
else
	SUB="${SUB}-rc"
	RCN=${RCN#rc}
fi
cd $KDIR/v$KVER/$COMPARCH/linux-${KVER}/

PATCHDIR=../../auf/aufs${V3_4}-standalone.git
if [ ! -d $PATCHDIR ]
then
	echo "Not yet get aufs${V3_4}-standalone.git"
	exit 1
fi

#- aufsN-loopback.patch
#  Supports a nested loopback mount in a branch-fs. This patch is
#  unnecessary until aufs produces a message like "you may want to try
#  another patch for loopback file".
#==== apply aufsN-loopback.patch to your kernel source files.
if [ ! -f "$PATCHDIR"/aufs${V3_4}-loopback.patch ]
then
	exit 1
fi
echo "-------------------aufs${V3_4}-loopback.patch"
ERROR=`cat "$PATCHDIR"/aufs${V3_4}-loopback.patch | patch -p1 | grep FAILED`
if [ -n "$ERROR" ]
then
	echo "ERROR: aufs${V3_4}-loopback.patch"
	mv "$PATCHDIR"/aufs${V3_4}-loopback.patch "$PATCHDIR"/NG-aufs${V3_4}-loopback.patch
	exit 1
fi

#- proc_mounts.patch
#  When there are many mountpoints and many mount(2)/umount(2) are
#  running, then /proc/mounts may not show the all mountpoints.  This
#  patch makes /proc/mounts always show the full mountpoints list.
#  If you don't want to apply this patch and meet such problem, then you
#  need to increase the value of 'ProcMounts_Times' make-variable in
#  aufs-util.git as a second best solution.

#- vfs-ino.patch
#  Modifies a system global kernel internal function get_next_ino() in
#  order to stop assigning 0 for an inode-number. Not directly related to
#  aufs, but recommended generally.

#- tmpfs-idr.patch
#  Keeps the tmpfs inode number as the lowest value. Effective to reduce
#  the size of aufs XINO files for tmpfs branch. Also it prevents the
#  duplication of inode number, which is important for backup tools and
#  other utilities. When you find aufs XINO files for tmpfs branch
#  growing too much, try this patch.

#- lockdep-debug.patch
#  Because aufs is not only an ordinary filesystem (callee of VFS), but
#  also a caller of VFS functions for branch filesystems, subclassing of
#  the internal locks for LOCKDEP is necessary. LOCKDEP is a debugging
#  feature of linux kernel. If you enable CONFIG_LOCKDEP, then you will
#  need to apply this debug patch to expand several constant values.
#  If don't know what LOCKDEP, then you don't have apply this patch.



exit 0
Apply basic patches and optional patch.
When an error occurs in applying optional patch, apply only the basic patches.
When an error occurs in the basic patches, the AUFS patch is not applied.


--------------------------------------------------------------
[Current kernel version]
from https://www.kernel.org/finger_banner
The latest stable version of the Linux kernel is: 5.9.8
The latest mainline version of the Linux kernel is: 5.10-rc3
The latest stable 5.9 version of the Linux kernel is: 5.9.8
The latest stable 5.8 version of the Linux kernel is: 5.8.18 (EOL)
The latest longterm 5.4 version of the Linux kernel is: 5.4.77
The latest longterm 4.19 version of the Linux kernel is: 4.19.157
The latest longterm 4.14 version of the Linux kernel is: 4.14.206
The latest longterm 4.9 version of the Linux kernel is: 4.9.243
The latest longterm 4.4 version of the Linux kernel is: 4.4.243
The latest linux-next version of the Linux kernel is: next-20201113


--------------------------------------------------------------
[Current AUFS Patch version]
5.6: AUFS_VERSION "5.x-rcN-20200203"
5.5: AUFS_VERSION "5.5-20200203"
5.4: AUFS_VERSION "5.4-20200127"
4.19: AUFS_VERSION "4.19-20200127"

--------------------------------------------------------------
[Updated kernel Examples]
==== AUFS Kernel only for Porteus ====
Simple package (vmlinuz, 000-kernel.xzm, 06-crippled_sources-NNN-XXbit.xzm)
[5.6-rc2] <-- NEW : "All patches" patching was done.
32bit-ALL-kernel5.6-rc2.tar (92 M)
(mirror - shelf life end)
md5sum: 32948faa1f2b3230229c4c6fdc224233 32bit-ALL-kernel5.6-rc2.tar

64bit-ALL-kernel5.6-rc2.tar (98 M)
(mirror - shelf life end)
md5sum: 67d609fc5471e90e658fa6a29c7a1d8e 64bit-ALL-kernel5.6-rc2.tar

[5.5.5] <-- NEW : "All patches" patching was done.
32bit-ALL-kernel5.5.5.tar (92 M)
(mirror - shelf life end)
md5sum: 501d2105c9fcb2eec60b473abbc60117 32bit-ALL-kernel5.5.5.tar

64bit-ALL-kernel5.5.5.tar (97 M)
(mirror - shelf life end)
md5sum: f695e254c9ed71addfe81db8dfc38928 64bit-ALL-kernel5.5.5.tar

[5.4.21] <-- NEW : "All patches" patching was done.
32bit-ALL-kernel5.4.21.tar (91 M)
(mirror - shelf life end)
md5sum: eda92200b4edfc7f245cacd5e8522c85 32bit-ALL-kernel5.4.21.tar

64bit-ALL-kernel5.4.21.tar (96 M)
(mirror - shelf life end)
md5sum: b0d5ef5663ee20aee6d3ef289a01636b 64bit-ALL-kernel5.4.21.tar

[4.19.105] <-- NEW : Restricted version ("Only basic patches" patching was done.)
32bit-RES-kernel4.19.105.tar (86 M)
(mirror - shelf life end)
md5sum: c87efd716b2d04b5e29db4765b218fd7 32bit-RES-kernel4.19.105.tar

64bit-RES-kernel4.19.105.tar (91 M)
(mirror - shelf life end)
md5sum: 7d3131188d5c1ab82a9cbcc3f6743933 64bit-RES-kernel4.19.105.tar


Note : Compiler that was used.
for kernel 5.6-rc2, 5.5.5, 5.4.21, 4.19.105 : gcc-9.2.1+20200130-x86_64-2


==== Overlay FS Kernel ====
[5.5-rc1]
ov.v5.5-rc1.tar.xz (144 M)
(mirror - shelf life end)
md5sum: c994eb491f3791ecc98f2260a499a85e ov.v5.5-rc1.tar.xz

<contents>
v5.5-rc1/aufs.patch :.....AUFS patch for all patching.
v5.5-rc1/auf/

v5.5-rc1/32:
32bit.config :.....the config that was used at build Overlay FS kernel
crippled_sources-5.5-rc1-32bit.xzm
lib/
repo_getFW-v5.5-rc1-32/
vmlinuz

v5.5-rc1/64:
64bit.config :.....the config that was used at build Overlay FS kernel
crippled_sources-5.5-rc1-64bit.xzm
lib/
repo_getFW-v5.5-rc1-64/
vmlinuz


[How to replace kernel of ISO with Overlay FS Kernel]
Example: Porteus-XFCE-v4.0-x86_64-18.08.22.iso, ov.v4.19-rc2.tar.xz
==CUI==

Code: Select all

% su
# ls /ISOplace
Porteus-XFCE-v4.0-x86_64-18.08.22.iso
# cd /KernelBuidWork
# ls
ov.v4.19-rc2.tar.xz
# xz -dc ov.v4.19-rc2.tar.xz | tar -x
# ls
ov.v4.19-rc2.tar.xz v4.19-rc2
==GUI==
"Porteus Kernel Builde" ----> setting window
<setting window>
set working direcory (/KernelBuidWork)
select kernel version (v4.19-rc2)
check off "keep org" item
select ISO whose kernel will be updated. (/ISOplace/Porteus-XFCE-v4.0-x86_64-18.08.22.iso)
push "OK" button
<confirm window>
push "OK" button
==CUI==

Code: Select all

# cd /KernelBuidWork
# ls
UP.Porteus-XFCE-v4.0-x86_64-18.08.22.iso ov.v4.19-rc2.tar.xz v4.19-rc2

--------------------------------------------------------------
[Replace the kernel of another distri which uses OverlayFS/AUFS]
kernel: 5.5 (64bit-ALL-kernel5.5.tar)
austrumi 4.1.5: austrumi64-4.1.5.iso (ftp://austrumi.ru.lv/austrumi64-4.1.5.iso)
austrumi 4.1.5 includes libreoffice 6.3.4.2-2, firefox 72.0 etc,.

austrumi64-4.1.5-k5.5.iso (465 M: Kernel 5.5)
(mirror - shelf life end)
md5sum: 8b042db772fb7ecea008f35c46d9fc46 austrumi64-4.1.5-k5.5.iso

=======
rm -fr Austrumi-ISO@austrumi/austrumi.fs@lib/modules
cp -a 64bit-ALL-kernel5.5.tar@000-kernel.xzm@lib/modules Austrumi-ISO@austrumi/austrumi.fs@lib/
cp -a 64bit-ALL-kernel5.5.tar@000-kernel.xzm@lib/firmware/* Austrumi-ISO@austrumi/austrumi.fs@lib/firmware/
cp 64bit-ALL-kernel5.5.tar@vmlinuz Austrumi-ISO@austrumi/bzImage
=======

Note 1:
delete /etc/modprobe.d/r8169_blacklist.conf

Note 2: Language (cs, de, el, en, es, fr, gd, hu, it, lv, ltg, pt_br, ru, uk, ja)
"Brasil", "Český", "Deutsch", "Ελληνική", "English", "Español", "Français", "Gàidhlig",
"Italiano", "Latgalīšu", "Latviešu", "Magyar", "Occitan", "Русский", "Українська",
and includes "Japanese local" patch.


-----------------------------------
[Locale]
A locale interface was introduced.
There is only JA locale.
On need, please build your locale by yourself.
1. Edit your locale by referring JA locale source.
JA locale source: /usr/local/share/mkKernel/src/mkKernel.po
2. Converte source to binary with msgfmt command.

Code: Select all

# msgfmt -o mkKernel.mo mkKernel.po
3. Set mkKernel.mo in your locale of /usr/share/locale.
example: de

Code: Select all

# cp mkKernel.mo /usr/share/locale/de/LC_MESSAGES/

-----------------------------------
[Detail Explanation]
"Kernel Builder" creates the shell script depending on specifications of GUI setting.
Then, it executes the shell script.

The shell script ("perform") can be gotten by pressing the "Help" button instead of the "OK" button.

[perform example]
"Kernel Builder" work: /home/guest/porteus/kernel
kernel version: 4.9.167
architecture: 64 bit
Action: Download
by checking on "download" item.

Code: Select all

#!/bin/sh
###=== Download ===###
cd /home/guest/porteus/kernel/v4.9.167
rm -f sha256sums.asc
wget -c --no-check-certificate https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc
if [ ! -f sha256sums.asc ]
then
	echo "wget error: sha256sum" >> /tmp/work951/errorMSG
	exit 1
fi
rm -f linux-4.9.167.tar.xz
wget -c --tries=0 --retry-connrefused --no-check-certificate https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.167.tar.xz
if [ ! -f linux-4.9.167.tar.xz ]
then
	echo "wget error: linux-4.9.167.tar.xz" >> /tmp/work951/errorMSG
	rm sha256sums.asc
	exit 1
fi

A=`sha256sum linux-4.9.167.tar.xz`
B=`grep linux-4.9.167.tar.xz sha256sums.asc`
#	rm sha256sums.asc
if [ "$A" != "$B" ]
then
	echo "wget error: sha256sum mismatch" >> /tmp/work951/errorMSG
	rm linux-4.9.167.tar.xz
	exit 1
fi

rm -f aufs.patch
/usr/local/share/mkKernel/lib/v4.9/get.aufs.patch
if [ ! -f aufs.patch ]
then
	echo "git error: aufs patch cannot be gotten"  >> /tmp/work951/errorMSG
#	rm linux-4.9.167.tar.xz
	exit 1
fi
cp /usr/local/share/mkKernel/lib/v4.9/*bit.config .
Action: Expand & Patch
by checking on "expand & patch" item.

Code: Select all

###=== Expand & Patch ===###
cd /home/guest/porteus/kernel/v4.9.167/64
rm -fr linux-4.9.167
xz -dc /home/guest/porteus/kernel/v4.9.167/linux-4.9.167.tar.xz | tar -xv
cd linux-4.9.167
cp /home/guest/porteus/kernel/v4.9.167/64bit.config .config
if [ -f /home/guest/porteus/kernel/v4.9.167/aufs.patch ]
then
	ERROR=`patch -p1 < /home/guest/porteus/kernel/v4.9.167/aufs.patch | grep FAILED`
	if [ -n "$ERROR" ]
	then
		mv  /home/guest/porteus/kernel/v4.9.167/aufs.patch /home/guest/porteus/kernel/v4.9.167/NG-aufs.patch
		cd ../
		rm -fr linux-4.9.167
		xz -dc /home/guest/porteus/kernel/v4.9.167/linux-4.9.167.tar.xz | tar -xv
		cd linux-4.9.167
		cp /home/guest/porteus/kernel/v4.9.167/64bit.config .config
	fi
fi
Action: Compile
by checking on "compile" item.

Code: Select all

###=== Compile ===###
cd /home/guest/porteus/kernel/v4.9.167/64/
rm -fr vmlinuz lib
cd linux-4.9.167
make oldconfig
make -j4
cp arch/x86/boot/bzImage ../vmlinuz
make modules_install INSTALL_MOD_PATH=../
make firmware_install INSTALL_MOD_PATH=../ 2>/dev/null
cp .config ../64bit.config
cd ../
if [ ! -f vmlinuz -o ! -d lib ]
then
	echo "compile error" >> /tmp/work951/errorMSG
	exit 1
fi
DIR=`/bin/ls lib/modules/`
rm lib/modules/$DIR/build lib/modules/$DIR/source
ln -sf /usr/src/linux lib/modules/$DIR/build
ln -sf /usr/src/linux lib/modules/$DIR/source
Action: Make firmware from packages
by checking on "Create FW" item.

Code: Select all

#==== Set Variables ====#
WORK=/tmp/work951
KDIR=/home/guest/porteus/kernel
KVER=4.9.167
COMPARCH=64

###=== Make firmware from packages ===###
cd $KDIR
#---- get FW list ----#
/usr/local/share/mkKernel/bin/getFWlist $KDIR/v$KVER/$COMPARCH/lib 2>> $WORK/errorMSG
if [ $? -ne 0 ]
then
	exit 1
fi
mv FW.list v${KVER}-${COMPARCH}fw.list

#---- download FW package ----#
FWadr=`cat /usr/local/share/mkKernel/lib/firmware.adr | sed -n 1p`
FWname=${FWadr##*/}
if [ ! -f $FWname ]
then
	Gmd5=`mediafire $FWadr | cut -d' ' -f1`
	if [ $Gmd5 = "0" ]
	then
#--- The Second data base ---#
# Setting
# % sftp neko@simosnet.com
# sftp> cd public
# sftp> mkdir kernel
# sftp> cd kernel
# sftp> put /PATH/$FWname
# sftp> ls -l
# sftp> bye
#--------------------------#
		wget -c --no-check-certificate http://simosnet.com/livecd/isobuilder/kernel/$FWname
		if [ ! -f $FWname ]
		then
			mkKernelMSG_mkfw1=`gettext mkKernel "Error: Download Firmware Package."`
			echo $mkKernelMSG_mkfw1 >> $WORK/errorMSG
			exit 1
		fi
		Gmd5=`md5sum $FWname | cut -d' ' -f1`
	fi
	Fmd5=`cat /usr/local/share/mkKernel/lib/firmware.adr | sed -n 2p`
	if [ $Gmd5 != $Fmd5 ]
	then
		mkKernelMSG_mkfw2=`gettext mkKernel "md5sum mismatch: Download Firmware Package."`
		echo $mkKernelMSG_mkfw2 >> $WORK/errorMSG
		exit 1
	fi
fi
mkdir mntFW$$
mount -t squashfs -o loop $FWname mntFW$$
if [ $? -ne 0 ]
then
	umount -f -l mntFW$$
	rm -fr mntFW$$
	mkKernelMSG_mkfw3=`gettext mkKernel "loop mount error: Firmware Package."`
	echo $mkKernelMSG_mkfw3 >> $WORK/errorMSG
	exit 1
fi

#---- create firmware ----#
/usr/local/share/mkKernel/bin/getFW v${KVER}-${COMPARCH}fw.list mntFW$$/lib 2>> $WORK/errorMSG
if [ $? -ne 0 ]
then
	umount -f -l mntFW$$
	rm -fr mntFW$$
	exit 1
fi
rm -f $WORK/errorMSG
REPO=`ls -ltd repo_getFW*|rev|cut -d' ' -f1|rev|grep -v 'repo_getFW-'|sed -n 1p`
rm -fr $KDIR/v$KVER/$COMPARCH/repo_getFW-v${KVER}-${COMPARCH}
mv $REPO $KDIR/v$KVER/$COMPARCH/repo_getFW-v${KVER}-${COMPARCH}

#---- set firmware ----#
if [ -d $KDIR/v$KVER/$COMPARCH/lib/firmware ]
then
	cp -a $KDIR/v$KVER/$COMPARCH/lib/firmware/* firmware/
	rm -fr $KDIR/v$KVER/$COMPARCH/lib/firmware
fi
mv firmware $KDIR/v$KVER/$COMPARCH/lib/

umount -f -l mntFW$$
rm -fr mntFW$$
Action: Create crippled_sources
by checking on "crippled_sources" item.

Code: Select all

#exit 0
###=== Create crippled_sources ===###
## set frame ##
rm -fr /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit.xzm
mkdir -p /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src
cp -av /home/guest/porteus/kernel/v4.9.167/64/linux-4.9.167 /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/
ln -sf linux-4.9.167 /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux

## slim up 1 ##
rm -rfv /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167/Documentation /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167/drivers /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167/firmware /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167/fs /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167/net /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167/sound
mv /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167/arch/x86 /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167/../
rm -rf /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167/arch
mkdir /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167/arch
mv /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167/../x86 /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167/arch/
find /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167 -maxdepth 99 -type f -name ".gitignore" -delete -print

## slim up 2 ##
rm -rfv /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167/vmlinux* /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167/.tmp_versions /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167/arch/x86/boot/bzImage /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167/arch/x86/boot/compressed/vmlinux
find /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167 -maxdepth 99 -type f -name "*.o" -delete -print
find /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167 -maxdepth 99 -type f -name "*.bin" -delete -print
find /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167 -maxdepth 99 -type f -name "*.elf" -delete -print
find /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/usr/src/linux-4.9.167 -maxdepth 99 -type f -name "*.xz" -delete -print

## make module XZM ##
mksquashfs /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit/ /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit.xzm -b 256K -comp xz -Xbcj x86 -noappend
rm -fr /home/guest/porteus/kernel/crippled_sources-4.9.167-64bit
Action: Cleanup
by checking on "cleanup" item.

Code: Select all

###=== Cleanup ===###
rm -frv /home/guest/porteus/kernel/v4.9.167/64/linux-4.9.167
Action: 000-kernel for Slackware placement
by checking on "000-kernel" item and selecting "Placement:Slackware" for 000-kernel of Porteus.

Code: Select all

###=== 000-kernel for Slackware placement ===###
cd /home/guest/porteus/kernel/
rm -fr 000-kernel 000-kernel.xzm
mkdir 000-kernel
cp -a /usr/local/share/mkKernel/lib/upkernel/base/000-kernel/etc 000-kernel/
cp -a /usr/local/share/mkKernel/lib/upkernel/base/000-kernel/usr/bin 000-kernel/sbin
cp -a /home/guest/porteus/kernel/v4.9.167/64/lib 000-kernel/
mksquashfs 000-kernel/ 000-kernel.xzm -b 256K -comp xz -Xbcj x86 -noappend
rm -fr 000-kernel
-----------------------------------
[updated on 2017.01.25] Porteus Kernel Builder was updated to 17.01.20.
[updated on 2017.01.30] Porteus Kernel Builder was updated to 17.01.30.
[updated on 2017.02.15] Porteus Kernel Builder was updated to 17.02.15.
[updated on 2017.02.20] Porteus Kernel Builder was updated to 17.02.20.
[updated on 2017.02.28] Porteus Kernel Builder was updated to 17.02.28.
[updated on 2017.03.14] Porteus Kernel Builder was updated to 17.03.08.
[updated on 2017.05.21] Porteus Kernel Builder was updated to 17.05.21.
[updated on 2017.06.12] Porteus Kernel Builder was updated to 17.06.12.
[updated on 2017.06.18] Porteus Kernel Builder was updated to 17.06.18.
[updated on 2017.06.26] Porteus Kernel Builder was updated to 17.06.25.
[updated on 2017.07.10] Porteus Kernel Builder was updated to 17.07.10.
[updated on 2017.07.16] Porteus Kernel Builder was updated to 17.07.16.
[updated on 2017.07.26] Porteus Kernel Builder was updated to 17.07.22.
[updated on 2017.08.05] Porteus Kernel Builder was updated to 17.08.04.
[updated on 2017.08.15] Porteus Kernel Builder was updated to 17.08.15.
[updated on 2017.08.26] Porteus Kernel Builder was updated to 17.08.26.
[updated on 2017.08.28] Porteus Kernel Builder was updated to 17.08.28.
[updated on 2017.08.31] Porteus Kernel Builder was updated to 17.08.31.
[updated on 2017.09.05] Porteus Kernel Builder was updated to 17.09.04.
[updated on 2017.09.22] Porteus Kernel Builder was updated to 17.09.22.
[updated on 2017.09.27] Porteus Kernel Builder was updated to 17.09.27.
[updated on 2017.10.19] Porteus Kernel Builder was updated to 17.10.18.
[updated on 2017.11.19] Porteus Kernel Builder was updated to 17.11.18.
[updated on 2017.11.29] Porteus Kernel Builder was updated to 17.11.28.
[updated on 2017.12.04] Porteus Kernel Builder was updated to 17.12.02..
[updated on 2017.12.10] Porteus Kernel Builder was updated to 17.12.05.
[updated on 2018.01.06] Porteus Kernel Builder was updated to 18.01.06.
[updated on 2018.01.15] Porteus Kernel Builder was updated to 18.01.15.
[updated on 2018.01.29] Porteus Kernel Builder was updated to 18.01.29.
[updated on 2018.02.12] Porteus Kernel Builder was updated to 18.02.12. (add v4.16-rc).
[updated on 2018.02.20] Porteus Kernel Builder was updated to 18.02.20.
[updated on 2018.03.01] Porteus Kernel Builder was updated to 18.02.27.
[updated on 2018.04.03] Porteus Kernel Builder was updated to 18.04.03. (add v4.16)
[updated on 2018.04.17] Porteus Kernel Builder was updated to 18.04.17. (add v4.17-rc)
[updated on 2018.04.17] Porteus Kernel Builder was updated to 18.04.30. (delete v4.17-rc own patch. update firmware.)
[updated on 2018.05.21] Porteus Kernel Builder was updated to 18.05.21. (add 4.16,4.17-rc config prototypes)
[updated on 2018.06.04] Porteus Kernel Builder was updated to 18.06.04. (delete 4.17-rc and add 4.17)
[updated on 2018.06.20] Porteus Kernel Builder was updated to 18.06.20. (add 4.18-rc)
[updated on 2018.08.13] Porteus Kernel Builder was updated to 18.08.13. (add 4.18)
[updated on 2018.08.27] Porteus Kernel Builder was updated to 18.08.27. (add 4.19-rc)
[updated on 2018.09.04] Porteus Kernel Builder was updated to 18.09.04. (add a new upload area)
[updated on 2018.09.06] Porteus Kernel Builder was updated to 18.09.06. (new integrated initrd)
[updated on 2018.09.26] Porteus Kernel Builder was updated to 18.09.25. (4.19-rc config prototype was updated)
[updated on 2018.10.14] Porteus Kernel Builder was updated to 18.10.14. (The firmware database was updated)
[updated on 2018.10.23] Porteus Kernel Builder was updated to 18.10.23. (delete 4.19-rc and add 4.19)
[updated on 2018.11.05] Porteus Kernel Builder was updated to 18.11.05. (add 4.20-rc)
[updated on 2018.11.18] Porteus Kernel Builder was updated to 18.11.17. (update 4.20-rc config)
[updated on 2018.12.01] Porteus Kernel Builder was updated to 18.12.01. (bug "downloading from mediafire was in fault" was fixed)
[updated on 2018.12.20] Porteus Kernel Builder was updated to 18.12.20. (Message(bad English expression) was updated)
[updated on 2018.12.25] Porteus Kernel Builder was updated to 18.12.24. (change from 4.20-rc to 4.20)
[updated on 2018.12.30] Porteus Kernel Builder was updated to 18.12.30. (Firmware database was updated)
[updated on 2019.01.07] Porteus Kernel Builder was updated to 19.01.07. (add 5.0-rc)
[updated on 2019.02.07] Porteus Kernel Builder was updated to 19.02.07. (Firmware database was updated, etc,.)
[updated on 2019.02.16] Porteus Kernel Builder was updated to 19.02.15. (update 5.0-rc config, etc,.)
[updated on 2019.02.28] Porteus Kernel Builder was updated to 19.02.27. (update 5.0-rc/4.20/4.19 config, etc,.)
[updated on 2019.03.04] Porteus Kernel Builder was updated to 19.03.04. (add 5.0)
[updated on 2019.03.14] Porteus Kernel Builder was updated to 19.03.14. (The shell script that makes the "AUFS Patch for 5.0" is updated)
[updated on 2019.03.18] Porteus Kernel Builder was updated to 19.03.18. (add 5.1-rc. and change config of 5.0/4.20/4.19)
[updated on 2019.03.28] Porteus Kernel Builder was updated to 19.03.28. (Own patches were updated for 4.19/4.9)
[updated on 2019.04.05] Porteus Kernel Builder was updated to 19.04.05. (Own patches were added for 5.1-rc)
[updated on 2019.04.08] Porteus Kernel Builder was updated to 19.04.08. (Own patches were added for 4.4, etc.,)
[updated on 2019.04.17] Porteus Kernel Builder was updated to 19.04.17. (Own patch function was deleted.)
[updated on 2019.05.03] Porteus Kernel Builder was updated to 19.05.03. (5.0 & 5.1-rc configs were updated for EFI.)
[updated on 2019.05.17] Porteus Kernel Builder was updated to 19.05.17. (5.1 AUFS patch)
[updated on 2019.05.20] Porteus Kernel Builder was updated to 19.05.20. (5.2-rc was added)
[updated on 2019.05.26] Porteus Kernel Builder was updated to 19.05.26. (core AUFS patch applying)
[updated on 2019.06.01] Porteus Kernel Builder was updated to 19.05.31. (Firmware database was updated)
[updated on 2019.06.09] Porteus Kernel Builder was updated to 19.06.09. (5.2-rc configs were updated)
[updated on 2019.06.17] Porteus Kernel Builder was updated to 19.06.11. (configs were updated)
[updated on 2019.06.25] Porteus Kernel Builder was updated to 19.06.25. (script&configs were updated)
[updated on 2019.07.08] Porteus Kernel Builder was updated to 19.07.08. (core&option AUFS patches applying)
[updated on 2019.07.23] Porteus Kernel Builder was updated to 19.07.23. (add 5.3-rc, AUFS patch proc updated, firmware DB updated)
[updated on 2019.08.12] Porteus Kernel Builder was updated to 19.07.31. (configs were updated)
[updated on 2019.10.01] Porteus Kernel Builder was updated to 19.10.01. (configs were updated, 5.4-rc was added)
[updated on 2019.10.07] Porteus Kernel Builder was updated to 19.10.06. (configs were updated)
[updated on 2019.10.12] Porteus Kernel Builder was updated to 19.10.09. (Firmware database was updated)
[updated on 2019.11.04] Porteus Kernel Builder was updated to 19.11.04. (size of "crippled_sources" is more slime)
[updated on 2019.11.21] Porteus Kernel Builder was updated to 19.11.21. (configs were updated)
[updated on 2019.12.07] Porteus Kernel Builder was updated to 19.11.26. (5.4 was added)
[updated on 2019.12.16] Porteus Kernel Builder was updated to 19.12.13. (5.5-rc was added)
[updated on 2020.01.05] Porteus Kernel Builder was updated to 20.01.05. (configs were updated)
[updated on 2020.01.20] Porteus Kernel Builder was updated to 20.01.18. (Firmware database was updated)
[updated on 2020.01.30] Porteus Kernel Builder was updated to 20.01.29. (configs were updated)
[updated on 2020.02.04] Porteus Kernel Builder was updated to 20.02.04. (add zstd option, Firmware database was updated)
[updated on 2020.02.10] Porteus Kernel Builder was updated to 20.02.10. (5.6-rc was added)
[updated on 2020.11.15] Porteus Kernel Builder was updated to 20.11.09.
[updated on 2020.12.31] Porteus Kernel Builder was updated to 20.12.31. (5.11-rc was added)
[updated on 2021.01.01] Porteus Kernel Builder was updated to 21.01.09. (5.10 line has AUFS patch)
[updated on 2021.01.14] Porteus Kernel Builder was updated to 21.01.14. (configs were updated)
[updated on 2021.01.20] Porteus Kernel Builder was updated to 21.01.20. (bug of getting AUFS patch was fixed)
[updated on 2021.01.31] Porteus Kernel Builder was updated to 21.01.30. (Firmware database was updated, aufs-util build was added)
[updated on 2021.02.13] Porteus Kernel Builder was updated to 21.02.12. (add new functions that create "AUFS IF" / "OVERLAYFS" initrd)
[updated on 2021.02.20] Porteus Kernel Builder was updated to 21.02.17. (configs were updated)
[updated on 2021.02.22] Porteus Kernel Builder was updated to 21.02.22. (configs were updated & delete aufs-utils)
[updated on 2021.02.27] Porteus Kernel Builder was updated to 21.02.26. (configs were updated)
[updated on 2021.03.01] Porteus Kernel Builder was updated to 21.03.01. (5.12, 5.12-rc was added)
[updated on 2021.03.10] Porteus Kernel Builder was updated to 21.03.06.
[updated on 2021.03.20] Porteus Kernel Builder was updated to 21.03.20. (5.10, 5.11, 5.12 configs were updated).
[updated on 2021.03.28] Porteus Kernel Builder was updated to 21.03.28. (Firmware database was updated)
[updated on 2021.04.20] Porteus Kernel Builder was updated to 21.04.20. (Firmware database was updated)
[updated on 2021.05.10] Porteus Kernel Builder was updated to 21.05.10. (5.13, 5.13-rc were added)
[updated on 2021.05.19] Porteus Kernel Builder was updated to 21.05.19. (Firmware database was updated)
[updated on 2021.05.25] Porteus Kernel Builder was updated to 21.05.24. (configs were updated)
[updated on 2021.05.31] Porteus Kernel Builder was updated to 21.05.31. (configs were updated)
[updated on 2021.06.07] Porteus Kernel Builder was updated to 21.06.07. (configs were updated)
[updated on 2021.06.14] Porteus Kernel Builder was updated to 21.06.12. (configs were updated)
[updated on 2021.06.21] Porteus Kernel Builder was updated to 21.06.21. (configs were updated)
[updated on 2021.06.23] Porteus Kernel Builder was updated to 21.06.23. (Firmware database was updated)
[updated on 2021.07.08] Porteus Kernel Builder was updated to 21.07.02 (Firmware database was updated)
[updated on 2021.07.12] Porteus Kernel Builder was updated to 21.07.12 (5.14, 5.14-rc were added)
[updated on 2021.07.21] Porteus Kernel Builder was updated to 21.07.21. (configs were updated)
[updated on 2021.07.26] Porteus Kernel Builder was updated to 21.07.26. (configs 5.14 were updated)
[updated on 2021.07.30] Porteus Kernel Builder was updated to 21.07.30. (Firmware database was updated)
[updated on 2021.08.21] Porteus Kernel Builder was updated to 21.08.21. (Firmware database was updated)
[updated on 2021.08.30] Porteus Kernel Builder was updated to 21.08.30. (configs were updated)
[updated on 2021.09.04] Porteus Kernel Builder was updated to 21.09.04. (Firmware database was updated)
[updated on 2021.09.12] Porteus Kernel Builder was updated to 21.09.12. (Firmware database was updated)
[updated on 2021.09.14] Porteus Kernel Builder was updated to 21.09.14. (5.15, 5.15-rc were added)
[updated on 2021.09.25] Porteus Kernel Builder was updated to 21.09.25. (Firmware database was updated)
[updated on 2021.09.27] Porteus Kernel Builder was updated to 21.09.27. (config were updated)
[updated on 2021.10.06] Porteus Kernel Builder was updated to 21.10.06. (add "make localmodconfig" option)
[updated on 2021.10.12] Porteus Kernel Builder was updated to 21.10.08.
[updated on 2021.10.18] Porteus Kernel Builder was updated to 21.10.17. (Firmware database was updated)
[updated on 2021.11.08] Porteus Kernel Builder was updated to 21.11.04. (Firmware database was updated)
[updated on 2021.11.14] Porteus Kernel Builder was updated to 21.11.14. (Firmware database was updated)
[updated on 2021.11.16] Porteus Kernel Builder was updated to 21.11.16. (5.16, 5.16-rc were added)
[updated on 2021.11.19] Porteus Kernel Builder was updated to 21.11.19. (care for driver r8188eu.ko.zst)
[updated on 2021.11.21] Porteus Kernel Builder was updated to 21.11.21. (5.16/-rc config for AUFS)
[updated on 2021.12.11] Porteus Kernel Builder was updated to 21.12.11. (Firmware database was updated)
[updated on 2021.12.14] Porteus Kernel Builder was updated to 21.12.14. (config were updated)
[updated on 2021.12.18] Porteus Kernel Builder was updated to 21.12.18. (AUFS patch getting procedure & config were updated)
[updated on 2021.12.25] Porteus Kernel Builder was updated to 21.12.24. (Firmware database was updated)
[updated on 2021.12.26] Porteus Kernel Builder was updated to 21.12.26. (config 5.15, 5.16 were updated to CONFIG_MODULE_COMPRESS_NONE)
[updated on 2022.01.03] Porteus Kernel Builder was updated to 22.01.03. (Firmware database was updated)
[updated on 2022.01.10] Porteus Kernel Builder was updated to 22.01.10. (Firmware database was updated)
[updated on 2022.01.26] Porteus Kernel Builder was updated to 22.01.26. (5.17, 5.17-rc were added and Firmware database was updated)
[updated on 2022.02.21] Porteus Kernel Builder was updated to 22.02.21. (5.17, 5.17-rc config were updated: AUFS patch is ready)
[updated on 2022.02.23] Porteus Kernel Builder was updated to 22.02.23. (Firmware database was updated)
[updated on 2022.03.01] Porteus Kernel Builder was updated to 22.03.01. (Firmware database was updated)
[updated on 2022.03.18] Porteus Kernel Builder was updated to 22.03.18. (git network security enhancement)
[updated on 2022.03.25] Porteus Kernel Builder was updated to 22.03.24-2. (Firmware database was updated)
[updated on 2022.04.04] Porteus Kernel Builder was updated to 22.04.04. (5.18, 5.18-rc were added)
[updated on 2022.04.12] Porteus Kernel Builder was updated to 22.04.12. (config 5.18(rc) was updated)
[updated on 2022.04.15] Porteus Kernel Builder was updated to 22.04.12. (Firmware database was updated)
[updated on 2022.05.05] Porteus Kernel Builder was updated to 22.05.05. (update mediafire I/F)
[updated on 2022.05.09] Porteus Kernel Builder was updated to 22.05.09. (Firmware database was updated)
[updated on 2022.05.24] Porteus Kernel Builder was updated to 22.05.16. (5.18 config was updated)
[updated on 2022.06.06] Porteus Kernel Builder was updated to 22.06.06. (5.19, 5.19-rc were added and Firmware database was updated)
[updated on 2022.06.11] Porteus Kernel Builder was updated to 22.06.11. (5.18 config was updated)
[updated on 2022.06.13] Porteus Kernel Builder was updated to 22.06.13. (5.19, 5.19-rc config was updated)
[updated on 2022.06.29] Porteus Kernel Builder was updated to 22.06.29. (Firmware database was updated)
[updated on 2022.07.04] Porteus Kernel Builder was updated to 22.07.04. (config 5.19(rc) was updated)
[updated on 2022.07.18] Porteus Kernel Builder was updated to 22.07.18. (config 5.19(rc) was updated and Firmware database was updated)
[updated on 2022.07.24] Porteus Kernel Builder was updated to 22.07.24. (5.18 config was updated)
[updated on 2022.08.13] Porteus Kernel Builder was updated to 22.08.13. (Firmware database was updated and Fixed Firmware creating bug.)
[updated on 2022.08.16] Porteus Kernel Builder was updated to 22.08.16. (6.0, 6.0-rc were added))
[updated on 2022.08.18] Porteus Kernel Builder was updated to 22.08.18. (miss of updating to version 22.08.16 was fixed)
[updated on 2022.08.30] Porteus Kernel Builder was updated to 22.08.30. (AUFS patch for 6.0-rc is ready and Firmware database was updated)
[updated on 2022.09.02] Porteus Kernel Builder was updated to 22.09.02. (5.18, 5.19, & 6.0 configs were updated)
[updated on 2022.09.08] Porteus Kernel Builder was updated to 22.09.08. (config 5.19 & 6.0 were updated and Firmware database was updated)
[updated on 2022.09.11] Porteus Kernel Builder was updated to 22.09.11. (config 5.19 & 6.0 were updated)
[updated on 2022.09.18] Porteus Kernel Builder was updated to 22.09.18. (Firmware database was updated and A new checkbox "cryptsetup" was added)
[updated on 2022.09.19] Porteus Kernel Builder was updated to 22.09.19. (Bug of "update kernel of ISO" was fixed)
[updated on 2022.10.10] Porteus Kernel Builder was updated to 22.10.09. (Firmware database was updated)
[updated on 2022.10.22] Porteus Kernel Builder was updated to 22.10.22. (6.1, 6.1-rc were added))
[updated on 2022.10.25] Porteus Kernel Builder was updated to 22.10.23. (6.1 config was updated)
[updated on 2022.11.05] Porteus Kernel Builder was updated to 22.11.05. (6.0/1 config was updated and Firmware database was updated)
[updated on 2022.11.07] Porteus Kernel Builder was updated to 22.11.07. (6.1 config for AUFS patch was updated)
[updated on 2022.11.21] Porteus Kernel Builder was updated to 22.11.21. (6.1 config for AUFS patch was updated)
[updated on 2022.11.29] Porteus Kernel Builder was updated to 22.11.28. ('egrep' ---> 'grep -E')
[updated on 2022.12.03] Porteus Kernel Builder was updated to 22.12.03. (6.0 config was updated and Firmware database was updated)
[updated on 2022.12.05] Porteus Kernel Builder was updated to 22.12.05. (6.0&6.1 config were updated <X86_AMD_PSTATE>)
[updated on 2022.12.06] Porteus Kernel Builder was updated to 22.12.06. (5.10 & 5.15 AUFS patch were updated)
[updated on 2022.12.09] Porteus Kernel Builder was updated to 22.12.09. (6.1 config was updated <CONFIG_NFT>)
[updated on 2022.12.10] Porteus Kernel Builder was updated to 22.12.10. (6.1 config was updated <TOUCHSCREEN_GOODIX>)
[updated on 2022.12.16] Porteus Kernel Builder was updated to 22.12.16. (Firmware database was updated)
[updated on 2022.12.23] Porteus Kernel Builder was updated to 22.12.23. (zstd --> xz)
[updated on 2022.12.26] Porteus Kernel Builder was updated to 22.12.26. (6.2, 6.2-rc were added and Firmware database was updated)
[updated on 2022.12.28] Porteus Kernel Builder was updated to 22.12.28. (6.2 were updated <CONFIG_BLK_DEV_LOOP_MIN_COUNT>)
[updated on 2023.01.04] Porteus Kernel Builder was updated to 23.01.02-2. (6.2 config was updated)
[updated on 2023.01.09] Porteus Kernel Builder was updated to 23.01.09. (Firmware database and 6.2 config were updated)
[updated on 2023.01.14] Porteus Kernel Builder was updated to 23.01.14. (Firmware database was updated)
[updated on 2023.01.22] Porteus Kernel Builder was updated to 23.01.22. (Firmware database was updated)
[updated on 2023.01.25] Porteus Kernel Builder was updated to 23.01.25. (fixed getFW bug)
[updated on 2023.02.13] Porteus Kernel Builder was updated to 23.02.13. (Firmware database was updated)
[updated on 2023.03.05] Porteus Kernel Builder was updated to 23.03.05. (Firmware database was updated)
[updated on 2023.03.08] Porteus Kernel Builder was updated to 23.03.08. (6.3, 6.3-rc were added)
[updated on 2023.03.11] Porteus Kernel Builder was updated to 23.03.11. (5.15, 6.1 and 6.2 configs were updated)
[updated on 2023.03.12] Porteus Kernel Builder was updated to 23.03.12. (5.10 and 6.2 configs were updated)
[updated on 2023.03.13] Porteus Kernel Builder was updated to 23.03.13. (6.2 and 6.3 configs were updated)
[updated on 2023.03.13] Porteus Kernel Builder was updated to 23.03.13-2. (6.3 configs was updated for AUFS patch)
[updated on 2023.03.17] Porteus Kernel Builder was updated to 23.03.17. (Firmware database and 6.3 configs were updated)
[updated on 2023.04.10] Kernel Builder was updated to 23.04.10. (Firmware database was updated)
[updated on 2023.04.22] Kernel Builder was updated to 23.04.22. (Firmware database was updated and
version 5.4, 5.10, v5.15, 6.1, 6.2, 6.3 prototype configs were updated)
[updated on 2023.04.30] Kernel Builder was updated to 23.04.30. (6.3 prototype config was replaced with Blaze's)
[updated on 2023.05.03] Kernel Builder was updated to 23.05.02. (skip checking sha256sum)
[updated on 2023.05.07] Kernel Builder was updated to 23.05.04. (Firmware database was updated)
[updated on 2023.05.08] Kernel Builder was updated to 23.05.08. (6.4, 6.4-rc were added)
[updated on 2023.05.15] Kernel Builder was updated to 23.05.15. (AUFS of 6.4, 6.4-rc were updated)
[updated on 2023.05.20] Kernel Builder was updated to 23.05.20. (Firmware database was updated)
(6.3, 6.4 prototype configs were updated:CONFIG_NET_SCH_FQ_CODEL=m,CONFIG_NET_SCH_FQ=m)
[updated on 2023.06.12] Kernel Builder was updated to 23.06.12. (Firmware database was updated)
[updated on 2023.06.24] Kernel Builder was updated to 23.06.24. (Firmware database was updated)
[updated on 2023.07.06] Kernel Builder was updated to 23.07.06. (Firmware database was updated)
[updated on 2023.07.10] Kernel Builder was updated to 23.07.10. (6.5, 6.5-rc were added and Firmware database was updated)
[updated on 2023.07.22] Kernel Builder was updated to 23.07.22. (Firmware database was updated)
[updated on 2023.07.23] Kernel Builder was updated to 23.07.23. (configs were updated. "delete REISERFS_FS")
[updated on 2023.07.29] Kernel Builder was updated to 23.07.29. (Firmware database was updated)
[updated on 2023.08.05] Kernel Builder was updated to 23.08.05. (Firmware database was updated)
[updated on 2023.08.12] Kernel Builder was updated to 23.08.12. (Firmware database was updated)
[updated on 2023.08.18] Kernel Builder was updated to 23.08.18. (Firmware database was updated)
[updated on 2023.08.31] Kernel Builder was updated to 23.08.31. (Firmware database was updated)
[updated on 2023.09.05] Kernel Builder was updated to 23.09.05. (Firmware database was updated)
[updated on 2023.09.06] Kernel Builder was updated to 23.09.06. (6.5 config was updated for AUFS patch)
[updated on 2023.09.11] Kernel Builder was updated to 23.09.11. (6.6, 6.6-rc were added)
[updated on 2023.09.22] Kernel Builder was updated to 23.09.22. (6.6, 6.6-rc were added & Firmware database was updated)
[updated on 2023.10.01] Kernel Builder was updated to 23.10.01. (Firmware database was updated)
[updated on 2023.10.09] Kernel Builder was updated to 23.10.09. (6.6 config was updated)
[updated on 2023.10.12] Kernel Builder was updated to 23.10.11. (6.1, 6.5 config were updated)
[updated on 2023.10.18] Kernel Builder was updated to 23.10.18. (Firmware database was updated)
[updated on 2023.10.23] Kernel Builder was updated to 23.10.23. (Firmware database was updated)
updated)
[updated on 2023.11.12] Kernel Builder was updated to 23.11.12. (Firmware database was updated & 6.6 config was
updated)
[updated on 2023.11.19] Kernel Builder was updated to 23.11.19. (Firmware database was updated & 6.7,-rc were added)
[updated on 2023.12.03] Kernel Builder was updated to 23.12.03. (Firmware database was updated)
[updated on 2023.12.18] Kernel Builder was updated to 23.12.18. (Firmware database was updated)
[updated on 2023.12.30] Kernel Builder was updated to 23.12.30. (Firmware database was updated)
[updated on 2024.01.10] Kernel Builder was updated to 24.01.10. (Firmware database was updated)
[updated on 2024.01.17] Kernel Builder was updated to 24.01.17. (Firmware database was updated)
[updated on 2024.01.24] Kernel Builder was updated to 24.01.24. (6.8, -rc were added. 6.7 config was updated for intel N100. config Firmware database was updated)
[updated on 2024.02.11] Kernel Builder was updated to 24.02.11. (Firmware database was updated)
[updated on 2024.02.15] Kernel Builder was updated to 24.02.15. (6.7 AUFS config was updated)
[updated on 2024.02.26] Kernel Builder was updated to 24.02.26. (Firmware database was updated & config CONFIG_WIREGUARD=m was updated)
[updated on 2024.03.04] Kernel Builder was updated to 24.03.03. (Firmware database was updated)
[updated on 2024.03.11] Kernel Builder was updated to 24.03.11. (Firmware database was updated)


Thanks.
Last edited by neko on 06 Apr 2018, 23:58, edited 265 times in total.

Bogomips
Full of knowledge
Full of knowledge
Posts: 2564
Joined: 25 Jun 2014, 15:21
Distribution: 3.2.2 Cinnamon & KDE5
Location: London

Re: Porteus Kernel Builder

Post#2 by Bogomips » 15 Jan 2017, 10:46

Looks nice. :) Will try when my external disk made fit for linux in order to be able to hold all kernel sources.
Linux porteus 4.4.0-porteus #3 SMP PREEMPT Sat Jan 23 07:01:55 UTC 2016 i686 AMD Sempron(tm) 140 Processor AuthenticAMD GNU/Linux
NVIDIA Corporation C61 [GeForce 6150SE nForce 430] (rev a2) MemTotal: 901760 kB MemFree: 66752 kB

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

Re: Porteus Kernel Builder

Post#3 by neko » 15 Jan 2017, 13:01

@Bogomips
Thank you for your interest.
I expect that this tool will be useful for you.

Thanks.

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

Re: Porteus Kernel Builder

Post#4 by neko » 16 Jan 2017, 04:27

New v4.4.43 "ISO update Example" was offered.
Please refer to http://forum.porteus.org/viewtopic.php? ... 232#p52232

The kernel of Porteus ISO can be update to version 4.4.43 easily without compiling.

Thanks.

Jack
Contributor
Contributor
Posts: 1857
Joined: 09 Aug 2013, 14:25
Distribution: Porteus and Nemesis
Location: USA

Re: Porteus Kernel Builder

Post#5 by Jack » 16 Jan 2017, 06:00

Where do you fine these at or download them at?
This prepare is needed for the following actions only.
1)getting AUF patch
2)adapting AUF patch
3)building kernel
I just like Slackware because I think it teach you about Linux to build packages where Ubuntu is like Windows you just install programs you want.

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

Re: Porteus Kernel Builder

Post#6 by neko » 16 Jan 2017, 07:43

@Jack
Excuse me that I cannot understand your question exactly.
So, next answer might not match to the intend of your question.

1)getting AUF patch
activate mkKernel-17.01.01-noarch-1.xzm.
make the directory "your_Kernel_Builder_directory/vVVV"
change directory to "your_Kernel_Builder_directory/vVVV"
execute "/usr/local/share/mkKernel/lib/vLLL/get.aufs.patch"
"your_Kernel_Builder_directory/vVVV/aufs.patch" is gotten.

VVV:kernel version number. example 4.9.3
LLL:kernel "version line" number. example 4.9

shell script get.aufs.patch uses "git" comand.
"git" command is included in "05-devel.xzm".

2)adapting AUF patch
make the directory "your_Kernel_Builder_directory/vVVV/AAA"
expand kernel source in "your_Kernel_Builder_directory/vVVV/AAA"
change directory to "your_Kernel_Builder_directory/vVVV/ARCH/linux-VVV"
execute "patch" command with argument "-p1 < ../../aufs.patch"

AAA: compiling architecture. 32 or 64.

"patch" command is included in "05-devel.xzm".

3)building kernel
change directory to "your_Kernel_Builder_directory/vVVV/ARCH/linux-VVV"
copy "/usr/local/share/mkKernel/lib/vLLL/AAAbit.config here.
execute "make" command 4 times with each argument.

"make" command is included in "05-devel.xzm".


For more detail, please refer shell scripts;
/usr/local/sbin/guimkKernel
/usr/local/share/mkKernel/inc/*.inc


Thanks.
Last edited by neko on 18 Jan 2017, 11:30, edited 1 time in total.

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

Re: Porteus Kernel Builder

Post#7 by neko » 16 Jan 2017, 09:39

New "ISO update Example" v4.9.4 was offered.
Please refer to http://forum.porteus.org/viewtopic.php? ... 232#p52232

The kernel of Porteus ISO can be update to version 4.9.4 easily without compiling.

Thanks.

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

Re: Porteus Kernel Builder

Post#8 by neko » 19 Jan 2017, 14:03

New "ISO update Example" v4.1.38 & v3.18.47 were offered.
Please refer to http://forum.porteus.org/viewtopic.php? ... 232#p52232

The kernel of Porteus ISO can be update to version 4.1.38/3.18.47 easily without compiling.

Thanks.

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

Re: Porteus Kernel Builder

Post#9 by neko » 21 Jan 2017, 16:00

New "ISO update Example" v4.9.5 was offered.
Please refer to http://forum.porteus.org/viewtopic.php? ... 232#p52232

The kernel of Porteus ISO can be update to version 4.9.5 easily without compiling.

Thanks.

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

Re: Porteus Kernel Builder

Post#10 by neko » 22 Jan 2017, 02:26

New "ISO update Example" v4.4.44 was offered.
Please refer to http://forum.porteus.org/viewtopic.php? ... 232#p52232

The kernel of Porteus ISO can be update to version 4.4.44 easily without compiling.

Thanks.

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

Re: Porteus Kernel Builder

Post#11 by neko » 23 Jan 2017, 20:45

New "ISO update Example" v4.9.5 that was adapted by additional patch was offered.
Please refer to http://forum.porteus.org/viewtopic.php? ... 232#p52232

The kernel of Porteus ISO can be update to version 4.9.5 easily without compiling.


Note:
About additional patch,
please refer to http://forum.porteus.org/viewtopic.php? ... =30#p52448
@biotec, thank you very much for your information.


Thanks.

User avatar
Ed_P
Contributor
Contributor
Posts: 8315
Joined: 06 Feb 2013, 22:12
Distribution: Cinnamon 5.01 ISO
Location: Western NY, USA

Re: Porteus Kernel Builder

Post#12 by Ed_P » 23 Jan 2017, 23:38

Hi neko. Do you have this file available for Porteus 3.2.2 Cinnamon 64-bit?
http://forum.porteus.org/viewtopic.php?f=140&t=6548&start=30#p52463 wrote:so most likely all that would be needed would be the replacement of vmlinuz.
And if so can it be used as a .xzm module or will I have to reference it outside of the ISO when booting. I do all my booting as ISOs, no installs, which is why I like Porteus. :)

Is your APorteus (Arch Porteus) nucleus the same as the Slackware one Porteus 3.2.2 uses?
Ed

Bogomips
Full of knowledge
Full of knowledge
Posts: 2564
Joined: 25 Jun 2014, 15:21
Distribution: 3.2.2 Cinnamon & KDE5
Location: London

Re: Porteus Kernel Builder

Post#13 by Bogomips » 24 Jan 2017, 00:29

Problem is that if update to 4.9.5, all drivers for 4.9.0 have to be recompiled or not? :unknown: If that be the case all that's needed is to use your tool to generate updated 4.9.0 iso.
Linux porteus 4.4.0-porteus #3 SMP PREEMPT Sat Jan 23 07:01:55 UTC 2016 i686 AMD Sempron(tm) 140 Processor AuthenticAMD GNU/Linux
NVIDIA Corporation C61 [GeForce 6150SE nForce 430] (rev a2) MemTotal: 901760 kB MemFree: 66752 kB

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

Re: Porteus Kernel Builder

Post#14 by neko » 24 Jan 2017, 03:25

@Ed_P
1."Do you have this file available for Porteus 3.2.2 Cinnamon 64-bit?"
Yes, I have. And you can get it.

(1) Download v4.9.5-2.tar.xz
v4.9.5-2.tar.xz (39 M)
http://www.mediafire.com/file/ehvz833ef ... 5-2.tar.xz
md5sum: ddd1e38da063a3a72698764232a5a430 v4.9.5-2.tar.xz

(2) Get vmlinuz from v4.9.5-2.tar.xz

Code: Select all

% su
# ls
v4.9.5-2.tar.xz
# xz -dc v4.9.5-2.tar.xz | tar -x
# ls v4.9.5/*
v4.9.5/a.patch  v4.9.5/aufs.patch

v4.9.5/32:
32bit.config  lib  vmlinuz

v4.9.5/64:
64bit.config  lib  vmlinuz
# mv v4.9.5/64/vmlinuz ToYourAnyDirectory/

2. How to adapt the new patch to Porteus ISO.
(1) Prepare "Porteus Kernel Builder" and v4.9.5-2.tar.xz.
Please refer to http://forum.porteus.org/viewtopic.php? ... 568#p52232

(2) Expand v4.9.5-2.tar.xz in Your "Kernel Builder Directory"

Code: Select all

% su
# cd KernelBuilderDirectory
# xz -dc DownloadDirectory/v4.9.5-2.tar.xz | tar -x
(3) GUI menu ----> "Porteus Kernel Builder"
[setting window]
Select KernelBuilderDirectory in "Kernel Builder directory" of "setting window".
Select kernel version line 4.9.5 in left item of "Kernel Version" of "setting window".
Select "Your Porteus 3.2.2 Cinnamon 64-bit" ISO in "ISO whose kernel will be update" circul.
"keep org" item is (default) "check on".
Push "OK".


3. How to adapt the new patch to APorteus ISO.
(1) Prepare "Porteus Kernel Builder" and v4.9.5-2.tar.xz.
Please refer to http://forum.porteus.org/viewtopic.php? ... 568#p52232
If you will this on APorteus running environment, "Porteus Kernel Builder" might be already added on.

(2) Expand v4.9.5-2.tar.xz in Your "Kernel Builder Directory"

Code: Select all

% su
# cd KernelBuilderDirectory
# xz -dc DownloadDirectory/v4.9.5-2.tar.xz | tar -x
(3) GUI menu ----> "Porteus Kernel Builder"
[setting window]
Select KernelBuilderDirectory in "Kernel Builder directory" of "setting window".
Select kernel version line 4.9.5 in left item of "Kernel Version" of "setting window".
Select "Your APorteus" ISO in "ISO whose kernel will be update" circul.
"keep org" item is "check off".
Push "OK".


Thanks.

User avatar
Ed_P
Contributor
Contributor
Posts: 8315
Joined: 06 Feb 2013, 22:12
Distribution: Cinnamon 5.01 ISO
Location: Western NY, USA

Re: Porteus Kernel Builder

Post#15 by Ed_P » 24 Jan 2017, 22:33

neko wrote:@Ed_P
1."Do you have this file available for Porteus 3.2.2 Cinnamon 64-bit?"
Yes, I have. And you can get it.

(1) Download v4.9.5-2.tar.xz
v4.9.5-2.tar.xz (39 M)
http://www.mediafire.com/file/ehvz833ef ... 5-2.tar.xz
md5sum: ddd1e38da063a3a72698764232a5a430 v4.9.5-2.tar.xz

(2) Get vmlinuz from v4.9.5-2.tar.xz

Code: Select all

% su
# ls
v4.9.5-2.tar.xz
# xz -dc v4.9.5-2.tar.xz | tar -x
# ls v4.9.5/*
v4.9.5/a.patch  v4.9.5/aufs.patch

v4.9.5/32:
32bit.config  lib  vmlinuz

v4.9.5/64:
64bit.config  lib  vmlinuz
# mv v4.9.5/64/vmlinuz ToYourAnyDirectory/
Thank you neko. I did these steps, and modified my boot parameters to use the new vmlinux but the boot fails with a blank screen.

I then notice that there is a 2. step which I did not do.
2. How to adapt the new patch to Porteus ISO.
And which is more than I can do.
(3) GUI menu ----> "Porteus Kernel Builder"
The menu image you posted is actually labeled "APorteus Kernel Builder". :)
Ed

Post Reply