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

Porteus Kernel Builder

Post#751 by neko » 10 Dec 2019, 11:14

@fulalas

==== 5.4.2 x64 kernel limitation ====
[about kernel function]
please refer the document on kernel 5.4.
example:
https://www.fosslinux.com/25050/linux-k ... upport.htm

And then check the correspond config parameter.
example: "exFAT Support"

Code: Select all

% grep EXFAT /usr/local/share/mkKernel/lib/v5.4/64bit.config
CONFIG_EXFAT_FS=y
CONFIG_EXFAT_DONT_MOUNT_VFAT=y
CONFIG_EXFAT_DISCARD=y
# CONFIG_EXFAT_DELAYED_SYNC is not set
# CONFIG_EXFAT_KERNEL_DEBUG is not set
# CONFIG_EXFAT_DEBUG_MSG is not set
CONFIG_EXFAT_DEFAULT_CODEPAGE=437
CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
%

[about AUFS patch that was patched]
please refer the "aufs5-standalone.git/Documentation/filesystems/aufs/README"

Code: Select all

Aufs5 -- advanced multi layered unification filesystem version 5.x
http://aufs.sf.net
Junjiro R. Okajima


0. Introduction
----------------------------------------
In the early days, aufs was entirely re-designed and re-implemented
Unionfs Version 1.x series. Adding many original ideas, approaches,
improvements and implementations, it became totally different from
Unionfs while keeping the basic features.
Later, Unionfs Version 2.x series began taking some of the same
approaches to aufs1's.
Unionfs was being developed by Professor Erez Zadok at Stony Brook
University and his team.

Aufs5 supports linux-v5.0 and later, If you want older kernel version
support,
- for linux-v4.x series, try aufs4-linux.git or aufs4-standalone.git
- for linux-v3.x series, try aufs3-linux.git or aufs3-standalone.git
- for linux-v2.6.16 and later, try aufs2-2.6.git, aufs2-standalone.git
  or aufs1 from CVS on SourceForge.

Note: it becomes clear that "Aufs was rejected. Let's give it up."
      According to Christoph Hellwig, linux rejects all union-type
      filesystems but UnionMount.
<http://marc.info/?l=linux-kernel&m=123938533724484&w=2>

PS. Al Viro seems have a plan to merge aufs as well as overlayfs and
    UnionMount, and he pointed out an issue around a directory mutex
    lock and aufs addressed it. But it is still unsure whether aufs will
    be merged (or any other union solution).
<http://marc.info/?l=linux-kernel&m=136312705029295&w=1>


1. Features
----------------------------------------
- unite several directories into a single virtual filesystem. The member
  directory is called as a branch.
- you can specify the permission flags to the branch, which are 'readonly',
  'readwrite' and 'whiteout-able.'
- by upper writable branch, internal copyup and whiteout, files/dirs on
  readonly branch are modifiable logically.
- dynamic branch manipulation, add, del.
- etc...

Also there are many enhancements in aufs, such as:
- test only the highest one for the directory permission (dirperm1)
- copyup on open (coo=)
- 'move' policy for copy-up between two writable branches, after
  checking free space.
- xattr, acl
- readdir(3) in userspace.
- keep inode number by external inode number table
- keep the timestamps of file/dir in internal copyup operation
- seekable directory, supporting NFS readdir.
- whiteout is hardlinked in order to reduce the consumption of inodes
  on branch
- do not copyup, nor create a whiteout when it is unnecessary
- revert a single systemcall when an error occurs in aufs
- remount interface instead of ioctl
- maintain /etc/mtab by an external command, /sbin/mount.aufs.
- loopback mounted filesystem as a branch
- kernel thread for removing the dir who has a plenty of whiteouts
- support copyup sparse file (a file which has a 'hole' in it)
- default permission flags for branches
- selectable permission flags for ro branch, whether whiteout can
  exist or not
- export via NFS.
- support <sysfs>/fs/aufs and <debugfs>/aufs.
- support multiple writable branches, some policies to select one
  among multiple writable branches.
- a new semantics for link(2) and rename(2) to support multiple
  writable branches.
- no glibc changes are required.
- pseudo hardlink (hardlink over branches)
- allow a direct access manually to a file on branch, e.g. bypassing aufs.
  including NFS or remote filesystem branch.
- userspace wrapper for pathconf(3)/fpathconf(3) with _PC_LINK_MAX.
- and more...

Currently these features are dropped temporary from aufs5.
See design/08plan.txt in detail.
- nested mount, i.e. aufs as readonly no-whiteout branch of another aufs
  (robr)
- statistics of aufs thread (/sys/fs/aufs/stat)

Features or just an idea in the future (see also design/*.txt),
- reorder the branch index without del/re-add.
- permanent xino files for NFSD
- an option for refreshing the opened files after add/del branches
- light version, without branch manipulation. (unnecessary?)
- copyup in userspace
- inotify in userspace
- readv/writev


2. Download
----------------------------------------
There are three GIT trees for aufs5, aufs5-linux.git,
aufs5-standalone.git, and aufs-util.git. Note that there is no "5" in
"aufs-util.git."
While the aufs-util is always necessary, you need either of aufs5-linux
or aufs5-standalone.

The aufs5-linux tree includes the whole linux mainline GIT tree,
git://git.kernel.org/.../torvalds/linux.git.
And you cannot select CONFIG_AUFS_FS=m for this version, eg. you cannot
build aufs5 as an external kernel module.
Several extra patches are not included in this tree. Only
aufs5-standalone tree contains them. They are described in the later
section "Configuration and Compilation."

On the other hand, the aufs5-standalone tree has only aufs source files
and necessary patches, and you can select CONFIG_AUFS_FS=m.
But you need to apply all aufs patches manually.

You will find GIT branches whose name is in form of "aufs5.x" where "x"
represents the linux kernel version, "linux-5.x". For instance,
"aufs5.0" is for linux-5.0. For latest "linux-5.x-rcN", use
"aufs5.x-rcN" branch.

o aufs5-linux tree
$ git clone --reference /your/linux/git/tree \
	git://github.com/sfjro/aufs5-linux.git aufs5-linux.git
- if you don't have linux GIT tree, then remove "--reference ..."
$ cd aufs5-linux.git
$ git checkout origin/aufs5.0

Or You may want to directly git-pull aufs into your linux GIT tree, and
leave the patch-work to GIT.
$ cd /your/linux/git/tree
$ git remote add aufs5 git://github.com/sfjro/aufs5-linux.git
$ git fetch aufs5
$ git checkout -b my5.0 v5.0
$ (add your local change...)
$ git pull aufs5 aufs5.0
- now you have v5.0 + your_changes + aufs5.0 in you my5.0 branch.
- you may need to solve some conflicts between your_changes and
  aufs5.0. in this case, git-rerere is recommended so that you can
  solve the similar conflicts automatically when you upgrade to 5.1 or
  later in the future.

o aufs5-standalone tree
$ git clone git://github.com/sfjro/aufs5-standalone.git aufs5-standalone.git
$ cd aufs5-standalone.git
$ git checkout origin/aufs5.0

o aufs-util tree
$ git clone git://git.code.sf.net/p/aufs/aufs-util aufs-util.git
- note that the public aufs-util.git is on SourceForge instead of
  GitHUB.
$ cd aufs-util.git
$ git checkout origin/aufs5.0

Note: The 5.x-rcN branch is to be used with `rc' kernel versions ONLY.
The minor version number, 'x' in '5.x', of aufs may not always
follow the minor version number of the kernel.
Because changes in the kernel that cause the use of a new
minor version number do not always require changes to aufs-util.

Since aufs-util has its own minor version number, you may not be
able to find a GIT branch in aufs-util for your kernel's
exact minor version number.
In this case, you should git-checkout the branch for the
nearest lower number.

For (an unreleased) example:
If you are using "linux-5.10" and the "aufs5.10" branch
does not exist in aufs-util repository, then "aufs5.9", "aufs5.8"
or something numerically smaller is the branch for your kernel.

Also you can view all branches by
	$ git branch -a


3. Configuration and Compilation
----------------------------------------
Make sure you have git-checkout'ed the correct branch.

For aufs5-linux tree,
- enable CONFIG_AUFS_FS.
- set other aufs configurations if necessary.

For aufs5-standalone tree,
There are several ways to build.

1.
- apply ./aufs5-kbuild.patch to your kernel source files.
- apply ./aufs5-base.patch too.
- apply ./aufs5-mmap.patch too.
- apply ./aufs5-standalone.patch too, if you have a plan to set
  CONFIG_AUFS_FS=m. otherwise you don't need ./aufs5-standalone.patch.
- copy ./{Documentation,fs,include/uapi/linux/aufs_type.h} files to your
  kernel source tree. Never copy $PWD/include/uapi/linux/Kbuild.
- enable CONFIG_AUFS_FS, you can select either
  =m or =y.
- and build your kernel as usual.
- install the built kernel.
- install the header files too by "make headers_install" to the
  directory where you specify. By default, it is $PWD/usr.
  "make help" shows a brief note for headers_install.
- and reboot your system.

2.
- module only (CONFIG_AUFS_FS=m).
- apply ./aufs5-base.patch to your kernel source files.
- apply ./aufs5-mmap.patch too.
- apply ./aufs5-standalone.patch too.
- build your kernel, don't forget "make headers_install", and reboot.
- edit ./config.mk and set other aufs configurations if necessary.
  Note: You should read $PWD/fs/aufs/Kconfig carefully which describes
  every aufs configurations.
- build the module by simple "make".
- you can specify ${KDIR} make variable which points to your kernel
  source tree.
- install the files
  + run "make install" to install the aufs module, or copy the built
    $PWD/aufs.ko to /lib/modules/... and run depmod -a (or reboot simply).
  + run "make install_headers" (instead of headers_install) to install
    the modified aufs header file (you can specify DESTDIR which is
    available in aufs standalone version's Makefile only), or copy
    $PWD/usr/include/linux/aufs_type.h to /usr/include/linux or wherever
    you like manually. By default, the target directory is $PWD/usr.
- no need to apply aufs5-kbuild.patch, nor copying source files to your
  kernel source tree.

Note: The header file aufs_type.h is necessary to build aufs-util
      as well as "make headers_install" in the kernel source tree.
      headers_install is subject to be forgotten, but it is essentially
      necessary, not only for building aufs-util.
      You may not meet problems without headers_install in some older
      version though.

And then,
- read README in aufs-util, build and install it
- note that your distribution may contain an obsoleted version of
  aufs_type.h in /usr/include/linux or something. When you build aufs
  utilities, make sure that your compiler refers the correct aufs header
  file which is built by "make headers_install."
- if you want to use readdir(3) in userspace or pathconf(3) wrapper,
  then run "make install_ulib" too. And refer to the aufs manual in
  detail.

There several other patches in aufs5-standalone.git. They are all
optional. When you meet some problems, they will help you.
- aufs5-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".
- 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 is, then you don't have apply this patch.


4. Usage
----------------------------------------
At first, make sure aufs-util are installed, and please read the aufs
manual, aufs.5 in aufs-util.git tree.
$ man -l aufs.5

And then,
$ mkdir /tmp/rw /tmp/aufs
# mount -t aufs -o br=/tmp/rw:${HOME} none /tmp/aufs

Here is another example. The result is equivalent.
# mount -t aufs -o br=/tmp/rw=rw:${HOME}=ro none /tmp/aufs
  Or
# mount -t aufs -o br:/tmp/rw none /tmp/aufs
# mount -o remount,append:${HOME} /tmp/aufs

Then, you can see whole tree of your home dir through /tmp/aufs. If
you modify a file under /tmp/aufs, the one on your home directory is
not affected, instead the same named file will be newly created under
/tmp/rw. And all of your modification to a file will be applied to
the one under /tmp/rw. This is called the file based Copy on Write
(COW) method.
Aufs mount options are described in aufs.5.
If you run chroot or something and make your aufs as a root directory,
then you need to customize the shutdown script. See the aufs manual in
detail.

Additionally, there are some sample usages of aufs which are a
diskless system with network booting, and LiveCD over NFS.
See sample dir in CVS tree on SourceForge.


5. Contact
----------------------------------------
When you have any problems or strange behaviour in aufs, please let me
know with:
- /proc/mounts (instead of the output of mount(8))
- /sys/module/aufs/*
- /sys/fs/aufs/* (if you have them)
- /debug/aufs/* (if you have them)
- linux kernel version
  if your kernel is not plain, for example modified by distributor,
  the url where i can download its source is necessary too.
- aufs version which was printed at loading the module or booting the
  system, instead of the date you downloaded.
- configuration (define/undefine CONFIG_AUFS_xxx)
- kernel configuration or /proc/config.gz (if you have it)
- behaviour which you think to be incorrect
- actual operation, reproducible one is better
- mailto: aufs-users at lists.sourceforge.net

Usually, I don't watch the Public Areas(Bugs, Support Requests, Patches,
and Feature Requests) on SourceForge. Please join and write to
aufs-users ML.


6. Acknowledgements
----------------------------------------
Thanks to everyone who have tried and are using aufs, whoever
have reported a bug or any feedback.

Especially donators:
Tomas Matejicek(slax.org) made a donation (much more than once).
	Since Apr 2010, Tomas M (the author of Slax and Linux Live
	scripts) is making "doubling" donations.
	Unfortunately I cannot list all of the donators, but I really
	appreciate.
	It ends Aug 2010, but the ordinary donation URL is still available.
	<http://sourceforge.net/donate/index.php?group_id=167503>
Dai Itasaka made a donation (2007/8).
Chuck Smith made a donation (2008/4, 10 and 12).
Henk Schoneveld made a donation (2008/9).
Chih-Wei Huang, ASUS, CTC donated Eee PC 4G (2008/10).
Francois Dupoux made a donation (2008/11).
Bruno Cesar Ribas and Luis Carlos Erpen de Bona, C3SL serves public
	aufs2 GIT tree (2009/2).
William Grant made a donation (2009/3).
Patrick Lane made a donation (2009/4).
The Mail Archive (mail-archive.com) made donations (2009/5).
Nippy Networks (Ed Wildgoose) made a donation (2009/7).
New Dream Network, LLC (www.dreamhost.com) made a donation (2009/11).
Pavel Pronskiy made a donation (2011/2).
Iridium and Inmarsat satellite phone retailer (www.mailasail.com), Nippy
	Networks (Ed Wildgoose) made a donation for hardware (2011/3).
Max Lekomcev (DOM-TV project) made a donation (2011/7, 12, 2012/3, 6 and
11).
Sam Liddicott made a donation (2011/9).
Era Scarecrow made a donation (2013/4).
Bor Ratajc made a donation (2013/4).
Alessandro Gorreta made a donation (2013/4).
POIRETTE Marc made a donation (2013/4).
Alessandro Gorreta made a donation (2013/4).
lauri kasvandik made a donation (2013/5).
"pemasu from Finland" made a donation (2013/7).
The Parted Magic Project made a donation (2013/9 and 11).
Pavel Barta made a donation (2013/10).
Nikolay Pertsev made a donation (2014/5).
James B made a donation (2014/7 and 2015/7).
Stefano Di Biase made a donation (2014/8).
Daniel Epellei made a donation (2015/1).
OmegaPhil made a donation (2016/1, 2018/4).
Tomasz Szewczyk made a donation (2016/4).
James Burry made a donation (2016/12).
Carsten Rose made a donation (2018/9).
Porteus Kiosk made a donation (2018/10).

Thank you very much.
Donations are always, including future donations, very important and
helpful for me to keep on developing aufs.


7.
----------------------------------------
If you are an experienced user, no explanation is needed. Aufs is
just a linux filesystem.


Enjoy!

# Local variables: ;
# mode: text;
# End: ;
About "3. Configuration and Compilation" of the "README",
please refer to the patching process.
Porteus Kernel Builder (Post by neko #74824)


Thanks.

babam
Black ninja
Black ninja
Posts: 69
Joined: 16 Nov 2016, 10:30
Distribution: Porteus 3.2.2
Location: Rainy city

Porteus Kernel Builder

Post#752 by babam » 10 Dec 2019, 18:15

Hi neko,

Please to add zram with zstd compression.

Thanks.
Sorry, my English is bad.

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

Porteus Kernel Builder

Post#753 by neko » 11 Dec 2019, 14:42

1. @babam
Would you tell me what items be set ?
The item CONFIG_ZRAM is already set.

Code: Select all

$ grep CONFIG_ZRAM /usr/local/share/mkKernel/lib/v*/*.config
/usr/local/share/mkKernel/lib/v3.16/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v3.16/32bit.config:CONFIG_ZRAM_LZ4_COMPRESS=y
/usr/local/share/mkKernel/lib/v3.16/32bit.config:# CONFIG_ZRAM_DEBUG is not set
/usr/local/share/mkKernel/lib/v3.16/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v3.16/64bit.config:CONFIG_ZRAM_LZ4_COMPRESS=y
/usr/local/share/mkKernel/lib/v3.16/64bit.config:# CONFIG_ZRAM_DEBUG is not set
/usr/local/share/mkKernel/lib/v3.18/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v3.18/32bit.config:CONFIG_ZRAM_LZ4_COMPRESS=y
/usr/local/share/mkKernel/lib/v3.18/32bit.config:# CONFIG_ZRAM_DEBUG is not set
/usr/local/share/mkKernel/lib/v3.18/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v3.18/64bit.config:CONFIG_ZRAM_LZ4_COMPRESS=y
/usr/local/share/mkKernel/lib/v3.18/64bit.config:# CONFIG_ZRAM_DEBUG is not set
/usr/local/share/mkKernel/lib/v3.2/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v3.2/32bit.config:CONFIG_ZRAM_LZ4_COMPRESS=y
/usr/local/share/mkKernel/lib/v3.2/32bit.config:# CONFIG_ZRAM_DEBUG is not set
/usr/local/share/mkKernel/lib/v3.2/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v3.2/64bit.config:CONFIG_ZRAM_LZ4_COMPRESS=y
/usr/local/share/mkKernel/lib/v3.2/64bit.config:# CONFIG_ZRAM_DEBUG is not set
/usr/local/share/mkKernel/lib/v4.1/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.1/32bit.config:CONFIG_ZRAM_LZ4_COMPRESS=y
/usr/local/share/mkKernel/lib/v4.1/32bit.config:# CONFIG_ZRAM_DEBUG is not set
/usr/local/share/mkKernel/lib/v4.1/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.1/64bit.config:CONFIG_ZRAM_LZ4_COMPRESS=y
/usr/local/share/mkKernel/lib/v4.1/64bit.config:# CONFIG_ZRAM_DEBUG is not set
/usr/local/share/mkKernel/lib/v4.10/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.10/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.11/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.11/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.12/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.12/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.13/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.13/32bit.ov.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.13/32bit.v4.13-rc6.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.13/32bit.v4.13.2.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.13/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.13/64bit.ov.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.13/64bit.v4.13-rc6.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.13/64bit.v4.13.2.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.14/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.14/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.14/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.14/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.15/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.15/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.15/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.15/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.16-rc/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.16-rc/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.16-rc/32bit.org-18.05.13.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.16-rc/32bit.org-18.05.13.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.16-rc/32bit.org-18.05.13.i586.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.16-rc/32bit.org-18.05.13.i586.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.16-rc/32bit.org.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.16-rc/32bit.org.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.16-rc/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.16-rc/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.16-rc/64bit.org-18.05.13.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.16-rc/64bit.org-18.05.13.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.16-rc/64bit.org.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.16-rc/64bit.org.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.16/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.16/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.16/32bit.org-18.05.13.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.16/32bit.org-18.05.13.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.16/32bit.org-18.05.13.i586.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.16/32bit.org-18.05.13.i586.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.16/32bit.org.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.16/32bit.org.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.16/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.16/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.16/64bit.org-18.05.13.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.16/64bit.org-18.05.13.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.16/64bit.org.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.16/64bit.org.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.17/32bit.NVIDIA.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.17/32bit.NVIDIA.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.17/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.17/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.17/32bit.old.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.17/32bit.old.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.17/64bit.NVIDIA.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.17/64bit.NVIDIA.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.17/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.17/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.17/64bit.old.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.17/64bit.old.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.18-rc/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.18-rc/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.18-rc/32bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v4.18-rc/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.18-rc/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.18-rc/64bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v4.18/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.18/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.18/32bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v4.18/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.18/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.18/64bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v4.19/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.19/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.19/32bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v4.19/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.19/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.19/64bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v4.20/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.20/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.20/32bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v4.20/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.20/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v4.20/64bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v4.4/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.4/32bit.config:# CONFIG_ZRAM_LZ4_COMPRESS is not set
/usr/local/share/mkKernel/lib/v4.4/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.4/64bit.config:# CONFIG_ZRAM_LZ4_COMPRESS is not set
/usr/local/share/mkKernel/lib/v4.7/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.7/32bit.config:CONFIG_ZRAM_LZ4_COMPRESS=y
/usr/local/share/mkKernel/lib/v4.7/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.7/64bit.config:CONFIG_ZRAM_LZ4_COMPRESS=y
/usr/local/share/mkKernel/lib/v4.8/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.8/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.9/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.9/4.9.0-64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.9/4.9.77-32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.9/4.9.80-64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v4.9/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.0-rc/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.0-rc/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.0-rc/32bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.0-rc/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.0-rc/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.0-rc/64bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.0/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.0/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.0/32bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.0/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.0/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.0/64bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.1-rc/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.1-rc/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.1-rc/32bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.1-rc/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.1-rc/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.1-rc/64bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.1/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.1/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.1/32bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.1/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.1/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.1/64bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.2-rc/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.2-rc/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.2-rc/32bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.2-rc/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.2-rc/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.2-rc/64bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.2/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.2/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.2/32bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.2/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.2/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.2/64bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.3-rc/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.3-rc/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.3-rc/32bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.3-rc/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.3-rc/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.3-rc/64bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.3/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.3/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.3/32bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.3/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.3/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.3/64bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.4-rc/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.4-rc/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.4-rc/32bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.4-rc/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.4-rc/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.4-rc/64bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.4/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.4/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.4/32bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.4/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.4/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.4/64bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.5-rc/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.5-rc/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.5-rc/32bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.5-rc/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.5-rc/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.5-rc/64bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.5/32bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.5/32bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.5/32bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
/usr/local/share/mkKernel/lib/v5.5/64bit.config:CONFIG_ZRAM=m
/usr/local/share/mkKernel/lib/v5.5/64bit.config:# CONFIG_ZRAM_WRITEBACK is not set
/usr/local/share/mkKernel/lib/v5.5/64bit.config:# CONFIG_ZRAM_MEMORY_TRACKING is not set
$

2. A new kernel version series 5.5-rc was introduced.
But the AUFS patch cannot be applied yet and
was patched by manual as followed for build kernel with AUFS patch.

The build results are not assueranced.

==== patch ====

Code: Select all

% su
# cd /work/v5.5-rc1/64/linux-5.5-rc1
# cp -r ../../auf/aufs5-standalone.git/fs ./
# cp -r ../../auf/aufs5-standalone.git/Documentation ./
# cp ../../auf/aufs5-standalone.git/include/uapi/linux/aufs_type.h ./include/uapi/linux
# cat ../../auf/aufs5-standalone.git/aufs5-base.patch | patch -p1
# cat ../../auf/aufs5-standalone.git/aufs5-mmap.patch | patch -p1
# cat ../../auf/aufs5-standalone.git/aufs5-loopback.patch | patch -p1
==== edit ====
linux-5.5-rc1/fs/Kconfig
linux-5.5-rc1/fs/Makefile
linux-5.5-rc1/fs/aufs/i_op.c
linux-5.5-rc1/fs/aufs/wkq.c

Code: Select all

% diff old/linux-5.5-rc1/fs/Kconfig linux-5.5-rc1/fs/Kconfig
266a267
> source "fs/aufs/Kconfig"
%
% diff old/linux-5.5-rc1/fs/Makefile linux-5.5-rc1/fs/Makefile
135a136
> obj-$(CONFIG_AUFS_FS)		+= aufs/
%
% diff auf/aufs5-standalone.git/fs/aufs/i_op.c linux-5.5-rc1/fs/aufs/i_op.c
659c659
< 		rwsem_release(&p->hdir->hi_inode->i_rwsem.dep_map, 1, _RET_IP_);
---
> 		rwsem_release(&p->hdir->hi_inode->i_rwsem.dep_map,  _RET_IP_);
%
% diff auf/aufs5-standalone.git/fs/aufs/wkq.c linux-5.5-rc1/fs/aufs/wkq.c
208c208
< 		rwsem_release(p->instance, 0, /*p->acquire_ip*/_RET_IP_);
---
> 		rwsem_release(p->instance, /*p->acquire_ip*/_RET_IP_);
%
Please refer to the top article of this thread.
Porteus Kernel Builder


Thanks.

babam
Black ninja
Black ninja
Posts: 69
Joined: 16 Nov 2016, 10:30
Distribution: Porteus 3.2.2
Location: Rainy city

Porteus Kernel Builder

Post#754 by babam » 11 Dec 2019, 18:03

@neko

CONFIG_CRYPTO_ZSTD=m

Can you make it for kernel 5.3

Thanks.
Sorry, my English is bad.

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

Porteus Kernel Builder

Post#755 by neko » 11 Dec 2019, 22:04

@babam
OK, I understood.
At next update of kernel 5.3 series the item "CONFIG_CRYPTO_ZSTD" will be set.

Thanks.

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

Porteus Kernel Builder

Post#756 by neko » 13 Dec 2019, 16:09

Most recent version of build examples was updated.
Kernel Version: 5.4.3, 5.3.16, 4.19.89

Note 1: AUFS patch "5.4" is not yet ready, and
AUFS patch "5.x-rcN-20191021" is not yet ready for kernel version 5.4.3.
It was patched by manual.
Porteus Kernel Builder (Post by neko #74824)

Note 2: The config item "CONFIG_CRYPTO_ZSTD" was set "m".

Code: Select all

$ grep CONFIG_CRYPTO_ZSTD v*/*/linux*/.config
v4.19.89/32/linux-4.19.89/.config:CONFIG_CRYPTO_ZSTD=m
v4.19.89/64/linux-4.19.89/.config:CONFIG_CRYPTO_ZSTD=m
v5.3.16/32/linux-5.3.16/.config:CONFIG_CRYPTO_ZSTD=m
v5.3.16/64/linux-5.3.16/.config:CONFIG_CRYPTO_ZSTD=m
v5.4.3/32/linux-5.4.3/.config:CONFIG_CRYPTO_ZSTD=m
v5.4.3/64/linux-5.4.3/.config:CONFIG_CRYPTO_ZSTD=m
v5.5-rc1/32/linux-5.5-rc1/.config:CONFIG_CRYPTO_ZSTD=m
v5.5-rc1/64/linux-5.5-rc1/.config:CONFIG_CRYPTO_ZSTD=m
$




Please refer to the top article of this thread.
Porteus Kernel Builder


Thanks.

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

Porteus Kernel Builder

Post#757 by neko » 16 Dec 2019, 06:28

1. "Porteus Kernel Builder" was updated.
Version: 19.12.13

Kernel Version Line 5.5-rc was introduced. etc,.


2. Most recent version of build examples was updated.
Kernel Version: 5.5-rc2

Note 1: AUFS patch "5.5" is not yet ready, and
AUFS patch "5.x-rcN-20191021" is not yet ready for kernel version 5.5-rc2.
It was patched by manual.
Porteus Kernel Builder (Post by neko #74992)


Please refer to the top article of this thread.
Porteus Kernel Builder


Thanks.

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

Porteus Kernel Builder

Post#758 by neko » 18 Dec 2019, 06:35

Most recent version of build examples was updated.
Kernel Version: 5.4.4, 5.3.17, 4.19.90

Note: AUFS patch "5.4" is not yet ready, and
AUFS patch "5.x-rcN-20191021" is not yet ready for kernel version 5.4.4.
It was patched by manual.
Porteus Kernel Builder (Post by neko #74824)


Please refer to the top article of this thread.
Porteus Kernel Builder


Thanks.

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

Porteus Kernel Builder

Post#759 by neko » 19 Dec 2019, 12:03

Most recent version of build examples was updated.
Kernel Version: 5.4.5, 5.3.18

The update period from 5.4.4/5.3.17 to 5.4.5/5.3.18 is very short. (only 1 day)

Note: AUFS patch "5.4" is not yet ready, and
AUFS patch "5.x-rcN-20191021" is not yet ready for kernel version 5.4.5.
It was patched by manual.
Porteus Kernel Builder (Post by neko #74824)


Please refer to the top article of this thread.
Porteus Kernel Builder


Thanks.

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

Porteus Kernel Builder

Post#760 by neko » 22 Dec 2019, 01:42

Most recent version of build examples was updated.
Kernel Version: 5.4.6, 4.19.91


Note: AUFS patch "5.4" is not yet ready, and
AUFS patch "5.x-rcN-20191021" is not yet ready for kernel version 5.4.6.
It was patched by manual.
Porteus Kernel Builder (Post by neko #74824)


Please refer to the top article of this thread.
Porteus Kernel Builder


Thanks.

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

Porteus Kernel Builder

Post#761 by neko » 24 Dec 2019, 03:16

1. Most recent version of build examples was updated.
Kernel Version: 5.5-rc3

Note: AUFS patch "5.5" is not yet ready, and
AUFS patch "5.x-rcN-20191223" is not yet ready for kernel version 5.5-rc3.
[Patching error]

Code: Select all

# patch -p1 < ../../aufs.patch
patching file Documentation/ABI/testing/debugfs-aufs
patching file Documentation/ABI/testing/sysfs-aufs
patching file Documentation/filesystems/aufs/README
patching file Documentation/filesystems/aufs/design/01intro.txt
patching file Documentation/filesystems/aufs/design/02struct.txt
patching file Documentation/filesystems/aufs/design/03atomic_open.txt
patching file Documentation/filesystems/aufs/design/03lookup.txt
patching file Documentation/filesystems/aufs/design/04branch.txt
patching file Documentation/filesystems/aufs/design/05wbr_policy.txt
patching file Documentation/filesystems/aufs/design/06dirren.dot
patching file Documentation/filesystems/aufs/design/06dirren.txt
patching file Documentation/filesystems/aufs/design/06fhsm.txt
patching file Documentation/filesystems/aufs/design/06mmap.txt
patching file Documentation/filesystems/aufs/design/06xattr.txt
patching file Documentation/filesystems/aufs/design/07export.txt
patching file Documentation/filesystems/aufs/design/08shwh.txt
patching file Documentation/filesystems/aufs/design/10dynop.txt
patching file fs/aufs/Kconfig
patching file fs/aufs/Makefile
patching file fs/aufs/aufs.h
patching file fs/aufs/branch.c
patching file fs/aufs/branch.h
patching file fs/aufs/conf.mk
patching file fs/aufs/cpup.c
patching file fs/aufs/cpup.h
patching file fs/aufs/dbgaufs.c
patching file fs/aufs/dbgaufs.h
patching file fs/aufs/dcsub.c
patching file fs/aufs/dcsub.h
patching file fs/aufs/debug.c
patching file fs/aufs/debug.h
patching file fs/aufs/dentry.c
patching file fs/aufs/dentry.h
patching file fs/aufs/dinfo.c
patching file fs/aufs/dir.c
patching file fs/aufs/dir.h
patching file fs/aufs/dirren.c
patching file fs/aufs/dirren.h
patching file fs/aufs/dynop.c
patching file fs/aufs/dynop.h
patching file fs/aufs/export.c
patching file fs/aufs/f_op.c
patching file fs/aufs/fhsm.c
patching file fs/aufs/file.c
patching file fs/aufs/file.h
patching file fs/aufs/finfo.c
patching file fs/aufs/fstype.h
patching file fs/aufs/hbl.h
patching file fs/aufs/hfsnotify.c
patching file fs/aufs/hfsplus.c
patching file fs/aufs/hnotify.c
patching file fs/aufs/i_op.c
patching file fs/aufs/i_op_add.c
patching file fs/aufs/i_op_del.c
patching file fs/aufs/i_op_ren.c
patching file fs/aufs/iinfo.c
patching file fs/aufs/inode.c
patching file fs/aufs/inode.h
patching file fs/aufs/ioctl.c
patching file fs/aufs/lcnt.h
patching file fs/aufs/loop.c
patching file fs/aufs/loop.h
patching file fs/aufs/magic.mk
patching file fs/aufs/module.c
patching file fs/aufs/module.h
patching file fs/aufs/mvdown.c
patching file fs/aufs/opts.c
patching file fs/aufs/opts.h
patching file fs/aufs/plink.c
patching file fs/aufs/poll.c
patching file fs/aufs/posix_acl.c
patching file fs/aufs/procfs.c
patching file fs/aufs/rdu.c
patching file fs/aufs/rwsem.h
patching file fs/aufs/sbinfo.c
patching file fs/aufs/super.c
patching file fs/aufs/super.h
patching file fs/aufs/sysaufs.c
patching file fs/aufs/sysaufs.h
patching file fs/aufs/sysfs.c
patching file fs/aufs/sysrq.c
patching file fs/aufs/vdir.c
patching file fs/aufs/vfsub.c
patching file fs/aufs/vfsub.h
patching file fs/aufs/wbr_policy.c
patching file fs/aufs/whout.c
patching file fs/aufs/whout.h
patching file fs/aufs/wkq.c
patching file fs/aufs/wkq.h
patching file fs/aufs/xattr.c
patching file fs/aufs/xino.c
patching file include/uapi/linux/aufs_type.h
patching file MAINTAINERS
Hunk #1 succeeded at 2875 (offset 43 lines).
patching file drivers/block/loop.c
Hunk #1 succeeded at 750 (offset 12 lines).
patching file fs/dcache.c
Hunk #1 succeeded at 1266 (offset 2 lines).
patching file fs/fcntl.c
patching file fs/inode.c
Hunk #1 succeeded at 1680 (offset 7 lines).
patching file fs/namespace.c
patching file fs/read_write.c
patching file fs/splice.c
Hunk #1 succeeded at 849 (offset 15 lines).
Hunk #2 succeeded at 866 (offset 15 lines).
patching file fs/sync.c
patching file include/linux/fs.h
Hunk #2 succeeded at 1843 (offset 7 lines).
Hunk #3 succeeded at 1914 (offset 7 lines).
Hunk #4 succeeded at 2340 (offset 7 lines).
Hunk #5 succeeded at 2629 (offset 7 lines).
patching file include/linux/lockdep.h
Hunk #2 succeeded at 474 (offset -1 lines).
patching file include/linux/mnt_namespace.h
patching file include/linux/splice.h
patching file kernel/locking/lockdep.c
patching file fs/Kconfig
patching file fs/Makefile
Hunk #1 succeeded at 133 (offset 1 line).
patching file drivers/block/loop.c
Hunk #1 succeeded at 635 (offset 10 lines).
Hunk #2 succeeded at 699 (offset 12 lines).
Hunk #3 succeeded at 719 (offset 12 lines).
Hunk #4 succeeded at 743 (offset 12 lines).
Hunk #5 succeeded at 757 (offset 12 lines).
Hunk #6 succeeded at 767 (offset 12 lines).
Hunk #7 succeeded at 973 (offset 12 lines).
Hunk #8 succeeded at 989 (offset 12 lines).
Hunk #9 succeeded at 1043 (offset 12 lines).
Hunk #10 succeeded at 1097 (offset 12 lines).
Hunk #11 succeeded at 1145 (offset 12 lines).
Hunk #12 succeeded at 1169 (offset 12 lines).
Hunk #13 succeeded at 1253 (offset 13 lines).
patching file drivers/block/loop.h
patching file fs/aufs/f_op.c
Hunk #1 succeeded at 369 (offset 10 lines).
patching file fs/aufs/loop.c
Hunk #1 succeeded at 146 (offset 13 lines).
patching file fs/aufs/loop.h
Hunk #1 succeeded at 39 (offset 13 lines).
Hunk #2 succeeded at 51 (offset 13 lines).
patching file fs/aufs/super.c
Hunk #1 succeeded at 857 (offset 13 lines).
patching file include/linux/fs.h
Hunk #1 succeeded at 1980 (offset 7 lines).
patching file fs/proc/base.c
patching file fs/proc/nommu.c
patching file fs/proc/task_mmu.c
patching file fs/proc/task_nommu.c
patching file include/linux/mm.h
Hunk #1 succeeded at 1495 (offset -15 lines).
patching file include/linux/mm_types.h
patching file kernel/fork.c
Hunk #1 succeeded at 565 (offset 3 lines).
patching file mm/Makefile
patching file mm/filemap.c
Hunk #1 succeeded at 2675 (offset -21 lines).
patching file mm/mmap.c
Hunk #2 succeeded at 915 (offset -25 lines).
Hunk #3 succeeded at 1843 (offset -22 lines).
Hunk #4 succeeded at 2673 (offset -22 lines).
Hunk #5 succeeded at 2692 (offset -22 lines).
Hunk #6 succeeded at 2884 (offset -22 lines).
Hunk #7 succeeded at 2959 (offset -22 lines).
Hunk #8 succeeded at 3270 (offset -21 lines).
patching file mm/nommu.c
Hunk #1 succeeded at 563 (offset 11 lines).
Hunk #2 succeeded at 695 (offset 5 lines).
Hunk #3 succeeded at 1218 (offset 5 lines).
Hunk #4 succeeded at 1295 (offset 5 lines).
patching file mm/prfile.c
patching file fs/dcache.c
Hunk #1 succeeded at 1371 (offset 2 lines).
Hunk #2 succeeded at 2917 (offset 2 lines).
patching file fs/exec.c
Hunk #1 succeeded at 109 (offset -1 lines).
patching file fs/fcntl.c
patching file fs/file_table.c
patching file fs/inode.c
Hunk #1 succeeded at 1689 (offset 7 lines).
patching file fs/namespace.c
patching file fs/notify/group.c
patching file fs/open.c
patching file fs/read_write.c
patching file fs/splice.c
Hunk #1 succeeded at 862 (offset 15 lines).
Hunk #2 succeeded at 892 (offset 15 lines).
patching file fs/sync.c
patching file fs/xattr.c
patching file kernel/locking/lockdep.c
patching file kernel/task_work.c
patching file security/device_cgroup.c
Hunk #1 FAILED at 824.
1 out of 1 hunk FAILED -- saving rejects to file security/device_cgroup.c.rej
patching file security/security.c
patching file include/linux/lockdep.h
patching file kernel/locking/lockdep.c
Hunk #1 succeeded at 4764 (offset -3 lines).
patching file kernel/locking/lockdep_internals.h
patching file fs/mount.h
patching file fs/namespace.c
Hunk #1 succeeded at 1254 (offset 8 lines).
patching file fs/proc_namespace.c
patching file include/linux/shmem_fs.h
patching file mm/shmem.c
Hunk #4 succeeded at 2249 (offset 5 lines).
Hunk #5 succeeded at 2299 (offset 5 lines).
Hunk #6 succeeded at 3323 (offset 5 lines).
Hunk #7 succeeded at 3343 (offset 5 lines).
Hunk #8 succeeded at 3359 (offset 5 lines).
Hunk #9 succeeded at 3448 (offset 5 lines).
Hunk #10 succeeded at 3546 (offset 5 lines).
Hunk #11 succeeded at 3605 (offset 5 lines).
Hunk #12 succeeded at 3629 (offset 5 lines).
Hunk #13 succeeded at 3671 (offset 5 lines).
Hunk #14 succeeded at 3784 (offset 5 lines).
Hunk #15 succeeded at 3933 (offset 5 lines).
patching file fs/inode.c
Hunk #1 succeeded at 892 (offset 7 lines).
Hunk #2 succeeded at 906 (offset 7 lines).
#
[Compile error] On usage of "rwsem_release()", the number of argument is mismatch.
fs/aufs/i_op.c:
fs/aufs/wkq.c:

These were patched by manual.

Code: Select all

# diff linux-5.5-rc3/security/device_cgroup.c v5.5-rc3/64/linux-5.5-rc3/security/device_cgroup.c
826a827
> EXPORT_SYMBOL_GPL(__devcgroup_check_permission);
#
# diff v5.5-rc3/auf/aufs5-standalone.git/fs/aufs/i_op.c v5.5-rc3/64/linux-5.5-rc3/fs/aufs/i_op.c
659c659
< 		rwsem_release(&p->hdir->hi_inode->i_rwsem.dep_map, 1, _RET_IP_);
---
> 		rwsem_release(&p->hdir->hi_inode->i_rwsem.dep_map,  _RET_IP_);
#
# diff v5.5-rc3/auf/aufs5-standalone.git/fs/aufs/wkq.c v5.5-rc3/64/linux-5.5-rc3/fs/aufs/wkq.c
208c208
< 		rwsem_release(p->instance, 0, /*p->acquire_ip*/_RET_IP_);
---
> 		rwsem_release(p->instance, /*p->acquire_ip*/_RET_IP_);
#
2. The example of replacement the kernel of another distri which uses OverlayFS/AUFS was updated.
austrumi 4.1.3 + kernel 5.5-rc3



Please refer to the top article of this thread.
Porteus Kernel Builder


Thanks.

peebee
White ninja
White ninja
Posts: 18
Joined: 13 Oct 2013, 15:31
Distribution: 4
Location: UK

Porteus Kernel Builder

Post#762 by peebee » 24 Dec 2019, 13:51


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

Porteus Kernel Builder

Post#763 by neko » 24 Dec 2019, 14:28

@peebee
Thank you very much for the information.
Next 5.4 build will be built with full set AUFS patch.

But AUFS patch "5.5" is not yet ready, and
AUFS patch "5.x-rcN-20191223" is not yet ready for kernel version 5.5-rc3.
For 5.5-rc, some manual patches is needed.

Thanks.

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

Porteus Kernel Builder

Post#764 by neko » 27 Dec 2019, 07:23

==== Set lockdown functionality of linux kernel====
Please refer to
https://www.fosslinux.com/21502/linux-k ... nality.htm

Update kernel config with "make menuconfig"

Code: Select all

Symbol: SECURITY [=n]                                                                                                                 │  
  │ Type  : bool                                                                                                                          │  
  │ Prompt: Enable different security models                                                                                              │  
  │   Location:                                                                                                                           │  
  │ (1) -> Security options                                                                                                               │  
  │   Defined at security/Kconfig:22                                                                                                      │  
  │   Depends on: SYSFS [=y] && MULTIUSER [=y]                                                                                            │  

Symbol: SECURITY_LOCKDOWN_LSM [=n]                                                                                                    │  
  │ Type  : bool                                                                                                                          │  
  │ Prompt: Basic module for enforcing kernel lockdown                                                                                    │  
  │   Location:                                                                                                                           │  
  │ (1) -> Security options                                                                                                               │  
  │   Defined at security/lockdown/Kconfig:1                                                                                              │  
  │   Depends on: SECURITY [=n]                                                                                                           │  
  │   Selects: MODULE_SIG [=n]

Symbol: SECURITY_LOCKDOWN_LSM_EARLY [=n]                                                                                              │  
  │ Type  : bool                                                                                                                          │  
  │ Prompt: Enable lockdown LSM early in init                                                                                             │  
  │   Location:                                                                                                                           │  
  │ (2) -> Security options                                                                                                               │  
  │       -> Basic module for enforcing kernel lockdown (SECURITY_LOCKDOWN_LSM [=n])                                                      │  
  │   Defined at security/lockdown/Kconfig:9                                                                                              │  
  │   Depends on: SECURITY_LOCKDOWN_LSM [=n]

Code: Select all

# diff v5.5-rc3.org/64/linux-5.5-rc3/.config v5.5-rc3/64/linux-5.5-rc3/.config
740a741
> CONFIG_MODULE_SIG_FORMAT=y
747c748,756
< # CONFIG_MODULE_SIG is not set
---
> CONFIG_MODULE_SIG=y
> # CONFIG_MODULE_SIG_FORCE is not set
> CONFIG_MODULE_SIG_ALL=y
> CONFIG_MODULE_SIG_SHA1=y
> # CONFIG_MODULE_SIG_SHA224 is not set
> # CONFIG_MODULE_SIG_SHA256 is not set
> # CONFIG_MODULE_SIG_SHA384 is not set
> # CONFIG_MODULE_SIG_SHA512 is not set
> CONFIG_MODULE_SIG_HASH="sha1"
960a970
> # CONFIG_NETLABEL is not set
1139a1150
> # CONFIG_IP_NF_SECURITY is not set
1169a1181
> # CONFIG_IP6_NF_SECURITY is not set
6022a6035
> # CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
6167a6181
> CONFIG_NFS_V4_SECURITY_LABEL=y
6178a6193
> # CONFIG_NFSD_V4_SECURITY_LABEL is not set
6272c6287
< # CONFIG_SECURITY is not set
---
> CONFIG_SECURITY=y
6273a6289
> # CONFIG_SECURITY_NETWORK is not set
6274a6291
> # CONFIG_SECURITY_PATH is not set
6279a6297,6311
> # CONFIG_SECURITY_SMACK is not set
> # CONFIG_SECURITY_TOMOYO is not set
> # CONFIG_SECURITY_APPARMOR is not set
> # CONFIG_SECURITY_LOADPIN is not set
> # CONFIG_SECURITY_YAMA is not set
> # CONFIG_SECURITY_SAFESETID is not set
> CONFIG_SECURITY_LOCKDOWN_LSM=y
> CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y
> # CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE is not set
> # CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set
> CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY=y
> CONFIG_INTEGRITY=y
> # CONFIG_INTEGRITY_SIGNATURE is not set
> # CONFIG_IMA is not set
> # CONFIG_EVM is not set
6410c6442
< CONFIG_CRYPTO_SHA1=m
---
> CONFIG_CRYPTO_SHA1=y
6544a6577
> CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
#
64bit-ALL-kernel5.5-rc3-2.tar (95 M)
http://www.mediafire.com/file/02l03tj3r ... -rc3-2.tar
md5sum: fe8c87b118e6fd264bad8af6509623cf 64bit-ALL-kernel5.5-rc3-2.tar


=== For testing ====

Porteus-CINNAMON-v5.0rc1-k5.5-rc3-2-x86_64.iso (482 M)
http://www.mediafire.com/file/5vqf09b9n ... x86_64.iso
md5sum: dd029f46b960d92cd5f0c66533fb9691 Porteus-CINNAMON-v5.0rc1-k5.5-rc3-2-x86_64.iso


This ISO is from Porteus-CINNAMON-v5.0rc1-x86_64.iso

replacing
vmlinuz & 000-kernel.xzm with ones of 64bit-ALL-kernel5.5-rc3-2.tar
003-cinnamon.xzm with jssouza's one (http://www.mediafire.com/file/aryq5pa8h ... nnamon.xzm)

adding
004-discord-0.0.9.xzm
004-google-chrome-79.0.3945.88-1-x86_64-1DUOWif.xzm
004-lib4linphone.xzm
004-linphone64.xzm


Thanks.

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

Porteus Kernel Builder

Post#765 by Blaze » 28 Dec 2019, 06:58

In the Slackware-current changelog from Fri Dec 27 22:54:53 UTC 2019

Code: Select all

 Apparently MODULE_SIG was enabled by SECURITY_LOCKDOWN_LSM. We'll turn both
  of those off to avoid needlessly tainting the kernel.
  -LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY n
  -LOCK_DOWN_KERNEL_FORCE_INTEGRITY n
  -LOCK_DOWN_KERNEL_FORCE_NONE y
  -MODULE_SIG_ALL n
  -MODULE_SIG_FORCE n
  -MODULE_SIG_FORMAT y
  -MODULE_SIG_HASH "sha256"
  -MODULE_SIG_KEY "certs/signing_key.pem"
  -MODULE_SIG_SHA1 n
  -MODULE_SIG_SHA224 n
  -MODULE_SIG_SHA256 y
  -MODULE_SIG_SHA384 n
  -MODULE_SIG_SHA512 n
  -SECURITY_LOCKDOWN_LSM_EARLY y
   MODULE_SIG y -> n
   SECURITY_LOCKDOWN_LSM y -> n
Linux 5.4.8-porteus #1 SMP Sun Jan 5 09:14:47 UTC 2020 x86_64 Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz GenuineIntel GNU/Linux
MS-7A12 » [AMD/ATI] Tobago PRO [Radeon R7 360 / R9 360 OEM] (rev 81) » Vengeance LPX 16GB DDR4 K2 3200MHz C16

Post Reply