Download: metztli-reiser4-gcc10-debian-packaging-for-5.13.19.patch

Downloading: metztli-reiser4-gcc10-debian-packaging-for-5.13.19.patch Tlahuizcalpanteuhctli

Tlahuizcalpanteuhctli

Tlalticpac ['the Earth'], a 'planet,' turns and revolves on a quite circular orbit around a greater body, Tonatiuh ['the sun']; the fomer's gravitational field becomes entangled with that of another body, Popoca Citlalli (lit. a star that [generates -- leaves behind -- a trail of] smoke and fire, i.e., 'a comet'), which travels on a stretched out eliptical path. Tlalticpac slips from its axis, runs in disorder off its orbital path, violently moves rather erratically over the nahui [four] dimensions, including Cahuitl ['time'], of Nehnencacitlalli ['the domain where the stars wander'], and finally frees itself from the gravitational field of the Popoca Citlalli.

From Popoca Citlalli to Tlahuizcalpanteuhctli
From Popoca Citlalli to Tlahuizcalpanteuhctli

The Popoca Citlalli undergoes a similar disturbance. Drawn off its path, it glides to some new orbit; its Popoca, long blazing trail of gaseous substances and stones, is torn away by the gravitational pull of either Tonatiuh or Tlalticpac, or runs away and revolves as a smaller Popoca Citlallitontli along its own eliptical path; a diminished Popoca is retained by the parent Citlalpol ['larger star'] on its new orbital path.

Although precious few records survived the imbecile, fanatical, scorched-earth, wholesale destruction and plunder by the alien European Spanish scum Christian terrorists, ancient amatzintli ['books'] inherited by the Mexicah -- but originally recorded by the Toltecayotl masters -- give the order of occurrences.

Quetzalcohuatl 'attacked' Tonatiuh as inhabitants of Tlalteuhctli observed
Quetzalcohuatl 'attacked' Tonatiuh as inhabitants of Tlalteuhctli observed

Tonatiuh was 'attacked' by Quetzalcohuatl ['Feathered Serpent']; after the disappearance of this serpent-shaped heavenly body wrapped in flames resembling feathers, Tonatiuh refused to shine, opanoc nahui ilhuitl ['four days passed'] as inhabitants of Ixachitlan [lit. landmass immensity, i.e, the 'American continent'] were deprived of its tonalli ['light'/'energy]; that period of time left mimicque huey mochi tlacatl ['a great many people dead'].

As an aside, in a seemingly parallel development recorded on the opposite side of Tlalticpac, according to the alien book of fables guiding the imbecilic fanaticism intoxicating the invading Spanish scum Christian terrorists -- which they referred to as 'Βiblia' ('Βible') -- there was a fairy tale of an ancient conceited clown who they believed 'had ordered the sun to stand still' &#59;) as this major cosmic event was being apprehended by the ancient Toltecah civilization.

Thereafter, the snake-like body enveloped in flame-like feathers transformed itself into a Huey Citlalli ['a great star']. Thus Quetzalcohuatl's eponymous 'star' underwent a transformation. This Tlahuizcalpanteuhctli (lit. Entity from the Enclosure [emanating] torch-like Light) appeared for the first time in the east. Quetzalcohuatl is thus accurately described as Tlahuizcalpanteuhctli when referring to his eponymous Huey Citlalli. This event caused havoc in the sequence of seasons and the duration of days and nights. It was then that the Toltecah masters regulated anew the reckoning of days, nights, and hours, according to the difference in cahuitl ['time']; thus, from then on the Toltecayotl masters not only kept track of Tlalticpac on its new orbit around Tonatiuh, they also began to keep track of that of Tlahuizcalpanteuhctli's, as well, for the enlightenment and development of one of the world's six Mother Civilizations -- that which mecaxictli ['umbilical cord'] was attached at Tlalnepantla [lit. Mid∙Earth, but renamed as 'mesoamerica', in Greek &#59;) , by the alien European invaders] -- xictli ['navel'] of Tlalteuhctli, itself the personification of Tlalticpac.

In iehoantin in Tolteca: huellametini catca, huel moiolnonotzani catca: ca iehoantin quipeoaltitiaque, in cexiuhtlapohualli, in tonalpohualli, iehoantin quitlatlalitiaque in quenin tlaiaz ceioal, cemilhuitl, tle tonalli, catli cualli, catli iectli: auh catli in amo cualli, in mitoa, tequantonalli: mochi iehoan intlatlalil mochiuh, in temicamatl
And these Toltecah were very wise; they were thinkers, for they originated the year count, the day count; they established the way in which the night, the day, would work; which day sign was good, favorable; and which was abominable, the day sign of wild beasts. All their discoveries formed the book for interpreting dreams.

Nahualli 'Codex Borgia'
Nahualli 'Codex Borgia'

...my apologies, I was dreaming again!

I meant to start this post with a snapshot of an installation of reiser4 -enabled Linux kernel 5.13.19-2 over 5.13.14-2, which had already been running for 37+ days on a remote AMD Ryzen bare metal server.

Reiser4 SFRN 4.0.2 Linux kernel 5.13.14
Reiser4 SFRN 4.0.2 Linux kernel 5.13.14

Build Reiser4 SFRN 5.1.3 -Enabled Linux Kernel 5.13.19 EOL Asymptotically Approaching 'The Debian way' for Bullseye.

As I write this post, the reiser4 developer had, back in August 2021, already Implemented ->read_iter(), get rid of deprecated ->read() file operation in his reiser4, Software Framework Release Number (SFRN) 4.0.2, port for Linux kernel version 5.13; and, additionally, Implemented ->write_iter(), get rid of deprecated ->write() file operation for striped file plugin for SFRN 5.1.3 -- what is referred to as 'reiser5' unstable port for Linux kernel 5.13. Although this kernel version went end-of-life (EOL) already, we will be building this kernel for Debian after applying a couple of patches of our own.

After git pull, debian/changelog packaging for 5.14.16-1
After git pull, debian/changelog packaging for 5.14.16-1

We can see that current Debian unstable packaging is for 5.14.16-1; notwithstanding, the reiser4 developer's latest release patch is for Linux kernel 5.13.xy -- I have tested that it applies to the increased minor version but for the sake of consistency we will be downloading kernel 5.13.19 EOL even though we will be using a downgraded Debian packaging for 5.13.12-1 experimental as base for our hack.

Ok. Under directory kernel we will create a subdirectory 5.13.19 ... in Nahuatl &#59;)

Shell

mkdir --verbose ../../kernel/macuilli.matlactli_omeyi.caxtolli_omnahui
cd ../../kernel/macuilli.matlactli_omeyi.caxtolli_omnahui

Then we clone the required debian packaging locally and verify by peeking into the linux/debian/changelog file:

Shell

git clone --depth 1 -b debian/5.13.12-1_exp1 --single-branch https://anonscm.debian.org/git/kernel/linux.git
head linux/debian/changelog
clone Debian packaging for 5.13.12-1_exp
clone Debian packaging for 5.13.12-1_exp

We download kernel 5.13.19 and its signature file and proceed to verify:

Shell

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.13.19.tar.xz \
     https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.13.19.tar.sign
xz -dc linux-5.13.19.tar.xz gpg --verify linux-5.13.19.tar.sign -
Fetch kernel 5.13.19 and sig then verify
Fetch kernel 5.13.19 and sig then verify

Nevertheless, Debian packaging expects the name of the kernel in a slightly different format; we can resolve that with a sym link:

Shell

ln -s linux-5.13.19.tar.xz linux_5.13.19.orig.tar.xz

Now, we are going to apply a homegrown patch to enable the proper module generation of any reiser4, either SFRN 4.0.2 or SFRN 5.1.3; I have enhanced the patch to increase the kernel minor version to 19, and to smooth out some snags in a couple of patches included in the original Debian packaging. Remember, we are using Debian packaging for 5.13.12-1 to debianize Linux kernel 5.13.19 EOL -- Debian never released a 5.13.19 kernel, not even for backports, our work is a hack in the original bearded UNIX sense of the word :yes:

After placing the referenced patch at our previous directory, we can test its proper application thus, with a dry run:

Shell

cat ../metztli-reiser4-gcc10-debian-packaging-for-5.13.19.patch patch --dry-run --fuzz=-p1

(patch will be attached at the end of this post)

And apply metztli-reiser4-gcc10-debian-packaging-for-5.13.19.patch so our downloaded Debian packaging will properly debianize our Linux kernel 5.13.19:

Shell

cat ../metztli-reiser4-gcc10-debian-packaging-for-5.13.19.patch patch --fuzz=-p1
applying metztli-reiser4-gcc10-debian-packaging-for-5.13.19.patch
applying metztli-reiser4-gcc10-debian-packaging-for-5.13.19.patch

Reiterating, the patch is generic to generate required modules for any current reiser4 software framework release number (SFRN) targeting tlilxochitl [lit. black flower, i.e., 'vanilla'] Intel based CPUs.

On the other hand, assuming we are targeting our kernel build at AMD Epyc/Ryzen CPUs, we can edit file debian/config/config and enable relevant directives (please, not difference before -- in the xvi running within yellow Eterm frame -- and after in the larger vim window):
CONFIG_RCU_EXPERT=y
CONFIG_RCU_NOCB_CPU=y

Shell

vim +6517 debian/config/config

debian/config/config for AMD Epyc / Ryzen
debian/config/config for AMD Epyc / Ryzen

Then we are ready to debianize our Linux kernel for AMD current CPUs:

Shell

debian/rules orig

We view the first and last screens of the output: the debianization should be smooth...

Begin debianization of kernel 5.13.19 EOL
Begin debianization of kernel 5.13.19 EOL
End debianization of kernel 5.13.19 EOL
End debianization of kernel 5.13.19 EOL

Verbatim from the previous post: We should expect a couple of errors during the next Debian packaging tools incantation:

Shell

debian/rules debian/control
debian/rules debian/control expect a couple of errors
debian/rules debian/control expect a couple of errors

And finish this session with Debian packaging tools sourceing incantation:

Shell

fakeroot debian/rules source
Debian fakeroot debian/rules source
Debian fakeroot debian/rules source

Applying Reiser4 SFRN 5.1.3 Unstable Patch to our Debianized Linux Kernel 5.13.19

We fetch reiser4 patch unstable for Linux 5.13 and pass option -P to wget to have it placed one directory above our current location:

Shell

wget -../ https://sourceforge.net/projects/reiser4/files/v5-unstable/kernel/reiser4-for-5.13.patch.gz

We then proceed to test the application of the patch onto our debianized kernel source tree:

Shell

gzip -dc ../reiser4-for-5.13.patch.gz patch --dry-run --fuzz=-p1
Testing application of reiser4 unstable patch
Testing application of reiser4 unstable patch

As we observe no errors, we proceed to patch for reals:

Shell

gzip -dc ../reiser4-for-5.13.patch.gz patch --no-backup-if-mismatch --fuzz=-p1

as discussed in previous post(s), I pass the --no-backup-if-mismatch option to prevent the patch utility from creating a file with extension .orig.

For instance, had not I specified the --no-backup-if-mismatch option, an mm/vmscan.c.orig backup file would have been created by the patch utility which modifications we could compare with the patched mm/vmscan.c file:

Shell

diff --color mm/vmscan.c.orig mm/vmscan.c
Applying reiser4 patch unstable for 5.13
Applying reiser4 patch unstable for 5.13

We do not need that .orig file in the resulting source package. We continue...

We modify the ABI of our kernel. In this hack we change its value trunk with a new value (2) and concatenate +reizer4-5.1.3 string to reflect the fact that it is the unstable reiser4 patch targeted at AMD Epyc / Ryzen CPUs

Shell

sed -'s/trunk/2+reizer4-5\.1\.3/' debian/config/defines
Modifying debian/config/defines and debian changelog
Modifying debian/config/defines and debian changelog

And proceed to modify debian/changelog with dch utility to reflect the fact that we are

Motlalotli Cuecuetlachtin : Бегущая с Волками : Running with Wolves
Бегущая с волками
Бегущая с волками
-- even if Nahualli &#59;D .

Shell

dch -v 5.13.19-2+reizer4~5.1.3 -D metztli

dch utility enables us to modify the debian/changelog file in a text editor -- vim in this particular case -- I save my modifications below:

Using dch to modify Debian changelog
Using dch to modify Debian changelog

Verbatim as in previous post: We verify that both files we just modified contain the proper Reiser4 Software Framework Release Number (SFRN) concatenated respectively:

Shell

grep "+reizer4.5.1.3" debian/config/defines debian/changelog
grep +reizer4-5.1.3 or +reizer4~5.1.3
grep +reizer4-5.1.3 or +reizer4~5.1.3

We continue by recycling previous command 13; again, we should expect a couple of errors at most:

Shell

debian/rules debian/control
Repeat debian/rules debian/control expect couple of errors
Repeat debian/rules debian/control expect couple of errors

We should expect only one error in the next Debian incantation:

Shell

fakeroot debian/rules debian/control-real
fakeroot debian/rules debian/control-real expect one error
fakeroot debian/rules debian/control-real expect one error

Verbatim from previous post: For the previous to last debian incantation you may want to redirect the output and any potential errors, if any, into a log file to analyze afterwards. It is a fact that if any errors are logged during the make procedure the build will fail:

Shell

fakeroot make -f debian/rules.gen setup_amd64_none_amd64

We can verify some .config file directives prior to executing our last Debian incantation to start the build our custom kernel.
Verify that our reiser4 SFRN 5.1.3 will be built as a module. Please note (1) that if exclusive CONFIG_REISER4_OLD were enabled instead, it would provide compatibility (at the expense of performance) with (OLD stable) reiser4 SFRN 4.0.2.

Shell

egrep -'reiser4|reizer4' debian/build/build_amd64_none_amd64/.config

Verify that AMD Epyc / Ryzen directives (2) and (3) are enabled, i.e., recall the relevant modifications we made to debian/config/config:

Shell

egrep -i rcu debian/build/build_amd64_none_amd64/.config

Verify that kernel will be ZSTD -compressed (4)

Shell

egrep -i zstd debian/build/build_amd64_none_amd64/.config
Verify relevant variables are enabled in .config
Verify relevant variables are enabled in .config

Once we are satisfied with our analysis, we can start the build procedure -- as we asymptotically approached the 'Debian way' of doing it: Tlayecuel : Поехали : Let's go!

Shell

dpkg-buildpackage --us -uc -jX -T binary-arch,binary-indep

Where X is a placeholder for...

Number of jobs allowed to be run simultaneously, number of jobs matching the number of online processors if auto is specified (since dpkg 1.17.10), or unlimited number if jobs is not specified, equivalent to the make(1) option of the same name (since dpkg 1.14.7, long option since dpkg 1.18.8)

(Please read man dpkg-buildpackage)

After slightly less than 30 minutes, the build procedure successfully completes. We change directory and list the generated UDEBs -- suitable for Metztli Reiser4 SFRN 5.1.3 Debian Installer (d-i) netboot customized for AMD Epyc / Ryzen CPUs:

Shell

cd ..
ls *\.udeb

List generated UDEBs suitable for d-i
List generated UDEBs suitable for d-i

And then we list the generated DEBs -- suitable for normal installation with Debian package manager -- and pipe them through column utility:

Shell

ls *\.deb column -c 176

List generated DEBs and pipe through column
List generated DEBs and pipe through column

Indeed, reiser4progs for Software Framework Release Number (SFRN) 5.1.3 -- :yes: unstable, as well -- file system utilities are required a priori to installing our built unstable kernel. I built these unstable file system utility DEB hacks for Metztli Reiser4 SFRN 5.1.3. Wielding root privilege these can be installed as typical Debian packages.

reiser4progs_2.0.5-1.1_amd64.deb
reiser4progs_2.0.5-1.1_amd64.deb.SHA256SUM
libreiser4-dev_2.0.5-1.1_amd64.deb
libreiser4-dev_2.0.5-1.1_amd64.deb.SHA256SUM


Finally, our kernel build generated DEBs are listed below:
bpftool_5.13.19-2+reizer4~5.1.3_amd64.deb
bpftool_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
bpftool-dbgsym_5.13.19-2+reizer4~5.1.3_amd64.deb
bpftool-dbgsym_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
hyperv-daemons_5.13.19-2+reizer4~5.1.3_amd64.deb
hyperv-daemons_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
hyperv-daemons-dbgsym_5.13.19-2+reizer4~5.1.3_amd64.deb
hyperv-daemons-dbgsym_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
libcpupower1_5.13.19-2+reizer4~5.1.3_amd64.deb
libcpupower1_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
libcpupower1-dbgsym_5.13.19-2+reizer4~5.1.3_amd64.deb
libcpupower1-dbgsym_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
libcpupower-dev_5.13.19-2+reizer4~5.1.3_amd64.deb
libcpupower-dev_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
linux-compiler-gcc-10-x86_5.13.19-2+reizer4~5.1.3_amd64.deb
linux-compiler-gcc-10-x86_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
linux-config-5.13_5.13.19-2+reizer4~5.1.3_amd64.deb
linux-config-5.13_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
linux-cpupower_5.13.19-2+reizer4~5.1.3_amd64.deb
linux-cpupower_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
linux-cpupower-dbgsym_5.13.19-2+reizer4~5.1.3_amd64.deb
linux-cpupower-dbgsym_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
linux-doc_5.13.19-2+reizer4~5.1.3_all.deb
linux-doc_5.13.19-2+reizer4~5.1.3_all.deb.SHA256SUM
linux-doc-5.13_5.13.19-2+reizer4~5.1.3_all.deb
linux-doc-5.13_5.13.19-2+reizer4~5.1.3_all.deb.SHA256SUM
linux-headers-5.13.0-2+reizer4-5.1.3-amd64_5.13.19-2+reizer4~5.1.3_amd64.deb
linux-headers-5.13.0-2+reizer4-5.1.3-amd64_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
linux-headers-5.13.0-2+reizer4-5.1.3-cloud-amd64_5.13.19-2+reizer4~5.1.3_amd64.deb
linux-headers-5.13.0-2+reizer4-5.1.3-cloud-amd64_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
linux-headers-5.13.0-2+reizer4-5.1.3-common_5.13.19-2+reizer4~5.1.3_all.deb
linux-headers-5.13.0-2+reizer4-5.1.3-common_5.13.19-2+reizer4~5.1.3_all.deb.SHA256SUM
linux-headers-amd64_5.13.19-2+reizer4~5.1.3_amd64.deb
linux-headers-amd64_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
linux-headers-cloud-amd64_5.13.19-2+reizer4~5.1.3_amd64.deb
linux-headers-cloud-amd64_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
linux-image-5.13.0-2+reizer4-5.1.3-amd64_5.13.19-2+reizer4~5.1.3_amd64.deb
linux-image-5.13.0-2+reizer4-5.1.3-amd64_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
linux-image-5.13.0-2+reizer4-5.1.3-cloud-amd64_5.13.19-2+reizer4~5.1.3_amd64.deb
linux-image-5.13.0-2+reizer4-5.1.3-cloud-amd64_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
linux-image-amd64_5.13.19-2+reizer4~5.1.3_amd64.deb
linux-image-amd64_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
linux-image-cloud-amd64_5.13.19-2+reizer4~5.1.3_amd64.deb
linux-image-cloud-amd64_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
linux-kbuild-5.13_5.13.19-2+reizer4~5.1.3_amd64.deb
linux-kbuild-5.13_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
linux-kbuild-5.13-dbgsym_5.13.19-2+reizer4~5.1.3_amd64.deb
linux-kbuild-5.13-dbgsym_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
linux-libc-dev_5.13.19-2+reizer4~5.1.3_amd64.deb
linux-libc-dev_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
linux-perf_5.13.19-2+reizer4~5.1.3_amd64.deb
linux-perf_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
linux-perf-5.13_5.13.19-2+reizer4~5.1.3_amd64.deb
linux-perf-5.13_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
linux-perf-5.13-dbgsym_5.13.19-2+reizer4~5.1.3_amd64.deb
linux-perf-5.13-dbgsym_5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
linux-source_5.13.19-2+reizer4~5.1.3_all.deb
linux-source_5.13.19-2+reizer4~5.1.3_all.deb.SHA256SUM
linux-source-5.13_5.13.19-2+reizer4~5.1.3_all.deb
linux-source-5.13_5.13.19-2+reizer4~5.1.3_all.deb.SHA256SUM
linux-support-5.13.0-2+reizer4-5.1.3_5.13.19-2+reizer4~5.1.3_all.deb
linux-support-5.13.0-2+reizer4-5.1.3_5.13.19-2+reizer4~5.1.3_all.deb.SHA256SUM
usbip_2.0+5.13.19-2+reizer4~5.1.3_amd64.deb
usbip_2.0+5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM
usbip-dbgsym_2.0+5.13.19-2+reizer4~5.1.3_amd64.deb
usbip-dbgsym_2.0+5.13.19-2+reizer4~5.1.3_amd64.deb.SHA256SUM

Apropos, Tlahuizcalpanteuhctli is known in the West as the 'planet' Венера : Venus &#59;)


References:
Виктория Одинцова : Viktoriya Odintcovo ~ Viki- Xochiquetzal's Instagram
Russian Keyboard Online ∙ Cyrillic Alphabet ∙ LEXILOGOS
Nahuatl Real Mexico Language par Excellence University of Oregon Dictionary
How to git clone a specific tag
Viewing Linux output in columns
ВЕЛИКОВСКИЙ ИММАНУИЛ - Столкновение Миров : Worlds In Collision by Velikovsky, Immanuel


DISCLAIMER:P although due diligence has been applied, these unstable resources are made available for testing/evaluation purposes on an AS IS basis. The procedure only reflects my own modifications, my limited testing, and the potential user(s) who execute(s) the procedures assumes all risks.

Please do not hold me or Metztli Information Technology (and/or its associates) responsible if the information and/or resources provided here do not achieve the desired result. The information is provided AS IS and with the hope that it may be useful to the Internet community --especially those open-minded individuals interested in Reiser4 continued development.

Notwithstanding, There is no implicit or explicit guarantee that the resources and/or information provided here are accurate --even though due diligence was exercised during the procedures. Accordingly, if an user(s) decide to install these resources and/or implement the procedures or shell commands described here she, he, or them, do so at her, his, or their own risk. You have been forewarned.

Metztli IT, but not other entities, reserves the right to modify the content -- to correct and/or elucidated procedure(s), for instance -- and/or even delete all or partial, including blog post, without previous notice.