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...
Post Reply
neko
DEV Team
DEV Team
Posts: 1473
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-19.07.23-noarch-1.xzm (5.5 M)
http://simosnet.com/livecd/isobuilder/k ... arch-1.xzm
md5sum: 450cac58955259d6515d582a9d920155 mkKernel-19.07.23-noarch-1.xzm

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.
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: (this action needs 05-devel.xzm for getting AUF patch)
---->if check it on, download kernel source and get AUF patch and prototype config.

"expand & patch" item: (this action needs 05-devel.xzm for adapting AUF patch)
---->if check it on, expand commpressed kernel source, adapt AUF patch, and set config.

"compile" item: (this action needs 05-devel.xzm for building kernel)
---->if check it on, build kernel 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.

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.


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.2.2
The latest mainline version of the Linux kernel is: 5.3-rc1
The latest stable 5.2 version of the Linux kernel is: 5.2.2
The latest stable 5.1 version of the Linux kernel is: 5.1.19
The latest longterm 4.19 version of the Linux kernel is: 4.19.60
The latest longterm 4.14 version of the Linux kernel is: 4.14.134
The latest longterm 4.9 version of the Linux kernel is: 4.9.186
The latest longterm 4.4 version of the Linux kernel is: 4.4.186
The latest longterm 3.16 version of the Linux kernel is: 3.16.70
The latest linux-next version of the Linux kernel is: next-20190722


--------------------------------------------------------------
[Current AUFS Patch version]
AUFS_VERSION "5.x-rcN-20190715"
AUFS_VERSION "5.2-20190715"
AUFS_VERSION "5.1-20190610"
AUFS_VERSION "4.19-20190610"


--------------------------------------------------------------
[Updated kernel Example]
==== AUFS Kernel only for Porteus ====
Simple package (vmlinuz, 000-kernel.xzm, 06-crippled_sources-NNN-XXbit.xzm)
[5.2.2] <---NEW : "All patches" patching was done by manual operation.
32bit-ALL-kernel5.2.2.tar (86 M)
http://www.mediafire.com/file/0bkqfo4nk ... l5.2.2.tar
md5sum: 3d289de867516ce08b40c7bb84c39bfa 32bit-ALL-kernel5.2.2.tar

64bit-ALL-kernel5.2.2.tar (92 M)
http://www.mediafire.com/file/jzgdzr61x ... l5.2.2.tar
md5sum: fc590d0cb2e09a51427ae8dcc594598b 64bit-ALL-kernel5.2.2.tar

[5.1.19] <---NEW : "All patches" patching was done by manual operation.
32bit-ALL-kernel5.1.19.tar (87 M)
http://www.mediafire.com/file/cb3761sc8 ... 5.1.19.tar
md5sum: 334a8e55d77868b72d8dd72fc4f12ecb 32bit-ALL-kernel5.1.19.tar

64bit-ALL-kernel5.1.19.tar (92 M)
http://www.mediafire.com/file/a548vt8jt ... 5.1.19.tar
md5sum: d19f8990d527e2d503518c416a178a0e 64bit-ALL-kernel5.1.19.tar

[4.19.60] <---NEW : Restricted version ("Only basic patches" patching was done.)
32bit-RES-kernel4.19.60.tar (86 M)
http://www.mediafire.com/file/ywkrfb3up ... .19.60.tar
md5sum: e9346b22a9f121a31e2165d415803268 32bit-RES-kernel4.19.60.tar

64bit-RES-kernel4.19.60.tar (91 M)
http://www.mediafire.com/file/nd56kr89p ... .19.60.tar
md5sum: 1ea361f707d143e6e235acbd67db0fc0 64bit-RES-kernel4.19.60.tar


Note : Compiler was used at building 5.3-rc1, 5.2.2, 5.1.19, 4.19.60
gcc-9.1.0-x86_64-2


==== Overlay FS Kernel ====
[5.3-rc1] <---NEW
ov.v5.3-rc1.tar.xz (142 M)
http://www.mediafire.com/file/t4bmb2gjz ... rc1.tar.xz
md5sum: 4842cd759038ffbd00a1fc51f790ed7c ov.v5.3-rc1.tar.xz

<contents>
v5.3-rc1/32bit.config :.....the config that be used for build AUFS kernel
v5.3-rc1/64bit.config :.....the config that be used for build AUFS kernel
v5.3-rc1/aufs.patch :.....AUFS patch for all patching.
v5.3-rc1/auf/

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

v5.3-rc1/64:
64bit.config :.....the config that was used at build Overlay FS kernel
crippled_sources-5.3-rc1-64bit.xzm
lib/
repo_getFW-v5.3-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.3-rc1 (ov.v5.3-rc1.tar.xz)
austrumi 4.0.4: austrumi64-4.0.4.iso (ftp://austrumi.ru.lv/austrumi64-4.0.4.iso)
austrumi 4.0.4 includes libreoffice 6.2.5.2, firefox 68.0b14 etc,.

austrumi64-4.0.4-k5.3-rc1.iso (461 M Kernel 5.3-rc1)
http://www.mediafire.com/file/4f2ouzn0r ... .3-rc1.iso
md5sum: 42faefbd040b26f50a895742da76899f austrumi64-4.0.4-k5.3-rc1.iso

=======
rm -fr Austrumi-ISO@austrumi/austrumi.fs@lib/modules
cp -a ov.v5.3-rc1.tar.xz@64/lib/modules Austrumi-ISO@austrumi/austrumi.fs@lib/
cp -a ov.v5.3-rc1.tar.xz@64/lib/firmware/* Austrumi-ISO@austrumi/austrumi.fs@lib/firmware/
cp ov.v5.3-rc1.tar.xz@64/vmlinuz Austrumi-ISO@austrumi/bzImage
=======

Note : 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 as following steps.
step 1.insert "exit 0" line into /usr/local/sbin/guimkKernel.

Code: Select all

...
##== pre-execute ==##
mkdir -p $KDIR/v$KVER/$COMPARCH
echo "#!/bin/sh" > $WORK/perform
if  ! ( performSubroutine Do "Download Patch Own Compile MakeFW UpdateISO CripSRC CrtKernel MakeAUF Cleanup" )
then
	printMSG "`cat $WORK/errorMSG`"
	rm -fr $WORK /tmp/.mkKernel.lock
	if [ $EXUISO = true ]
	then
		rm $UPISOCOPY
	fi
	exit 1
fi

##== execute ==##
chmod +x $WORK/perform
rm -f $WORK/errorMSG
$TERMINAL -e $WORK/perform
if [ -f $WORK/errorMSG ]
then
	printMSG "`cat $WORK/errorMSG`"
	rm -fr $WORK /tmp/.mkKernel.lock
	if [ $EXUISO = true ]
	then
		rm $UPISOCOPY
	fi
	exit 1
fi
...
<patch>
...
fi
exit 0
##== execute ==##
...

step 2.execute "Kernel Builder" from GUI.

step 3.copy /tmp/workNNNN/perform to yourWork.
note: NNNN: process number.

step 4.recover
delete the inserted "exit 0" line from /usr/local/sbin/guimkKernel.
remove /tmp/workNNNN and /tmp/.mkKernel.lock (and the copied ISO)

[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)


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: 1473
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: 1473
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: 1547
Joined: 09 Aug 2013, 14:25
Distribution: Porteus 4.0rc4 My Mate 64 bit
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: 1473
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: 1473
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: 1473
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: 1473
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: 1473
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: 1473
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: 4926
Joined: 06 Feb 2013, 22:12
Distribution: 4.0 Cinnamon 64-bit 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: 1473
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: 4926
Joined: 06 Feb 2013, 22:12
Distribution: 4.0 Cinnamon 64-bit 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