Metztli I. T.  Blog

    Back to Metztli IT Main Site
Posted by vato on Oct 16 2017 in Linux, Reiser4
  • « Building New Reiser4, Software Format Release Number 4.0.2, and Zstd Compression, Debian Stretch-Backports Kernel.
  • Nahui Ollin: UDEB Components to Supercharge a Debian Installer (d-i) for a Native Reiser4 Installation on AMD64. »

Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Coyolxauhqui is another attempt to thoroughly elaborate the intricacies I encountered during my build iterations of reiser4-patched kernels for Debian jessie/stretch-backports; these generated UDEBs are components to subsequently build Metztli-Reiser4 Debian-Installer (d-i). Indeed, I have created a couple of prior posts on the subject; notwithstanding, the procedure in each that worked for the prior Linux kernel 4.xy minor series would fail in the next series as a result of the debian packaging maintainers' modfications. As a matter of fact, in Linux 4 minor versions 11 and 12, I had some trouble figuring out why, after a minor series increase, the linux-headers-*-common_*deb was not being built anymore. Accordingly, the following procedure does build the linux-headers-*-common_*deb and as added bonus generates DEB source and documentation. For illustration purposes I will be building current kernel (as of date creating this post). Finally, I will illustrate again the actual editing of the relevant debian packaging files -- yes I have created a patch that I use but it will be outdated possibly in a couple of kernel minor increments as the Debian maintainer modifies his code. Please bear with me.

Free and Open Source is promoted on the mantra of TECHNICAL MERITOCRACY., but...

One of the fundamental principles of free and open source (FOSS) is that a developer should not be prevented from modifying source code of the software s/he wants to customize. Hence, the more knowledge and options the developer has available to her, the more likely her success in building reiser4 components for her project. Thus a word of advice is pertinent: just do it! because...

Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.
If you submit a patch and/or feel like contributing to established FOSS communities, do not be discouraged by those who cherry-pick moralities to suit their narcissism -- and hence ignore the technical meritocracy of your submission(s) to make reiser4 more widely available to their users.
Fact is technology, and specifically FOSS, is a collective effort by humans who are not perfect and are subject to irrationality. Indeed, we could easily point out the double-standards practiced by gatekeepers (a.k.a. maintainers) of established FOSS communities, as they have no qualms about being employed by and/or associated to large companies with an exponentially darker past than the creator of reiser4 himself. With that issue left behind, let's start our reiser4 kernel hack.

Build Reiser4 -patched kernel from Debian Sid (unstable) or from Maintainers' official stretch-backports Linux Source.

Since we are interested in building a relatively recent kernel for stretch-backports, we can do either. In the ensuing elaboration I will be using what Linux kernel and debian packaging source was available at this particular moment of writing. In previous blog I showed how to build the kernel from debian maintainers' official jessie-backports; the procedure for stretch-backports is similar. Accordingly, I will be reiser4 -customizing an unofficial stretch-backports from Debian Sid(Unstable) Linux kernel source.

Note: before you begin, make sure you have installed your kernel proper:

  • linux-headers-x.y.t-[]-amd64_x.y.z-[]_amd64.deb
  • linux-headers-x.y.t-[]-common_x.y.z-[]_amd64.deb
  • linux-kbuild-x.y_x.y.z-[]_amd64.deb
  • linux-compiler-gcc-5-x86_x.y.z-[]_amd64.deb

Also, since I am building a newer kernel I will be making extensive use of stretch-backports repository. Evidently, make sure to have the proper directive in /etc/apt/sources.list (open & modify only with a text editor, i.e., xvi tiny vi-clone):!: As matter of fact, in my builds of Metztli-Reiser4 netboot for Debian Stretch AMD64, nano is dropped in favour of xvi UDEB inclusion and one of the final scripts makes sure to include the repository directive:

deb http://ftp.us.debian.org/debian/ stretch-backports main contrib non-free

and since I am building my own reiser4 Linux source hack, i.e., from unofficial stretch-backports source, I need to include the Sid(Unstable) source repository:

deb-src http://ftp.us.debian.org/debian/ sid main non-free contrib

included as well in /etc/apt/sources.list. Save your modifications.

then, (sudo)

Shell

apt-get -t stretch-backports update
apt-get -t stretch-backports install build-essential libncurses5-dev libdebconfclient0-dev libssl-dev libpci-dev libwrap0-dev asciidoc quilt git rsync fakeroot devscripts kernel-wedge libelf-dev libperl-dev python-dev libnuma-dev libaudit-dev libunwind-dev libdw-dev libudev-dev libiberty-dev usbip libusbip-dev linux-tools dh-exec dh-di dh-autoreconf flex bison
apt-get -t stretch-backports build-dep linux

now, sudo not required, of course, and you may use any text string to name your tekitl directory:

Shell

mkdir --verbose tekitl-4.13
cd tekitl-4.13
apt-get source -d linux
git clone -b sid --single-branch https://anonscm.debian.org/git/kernel/linux.git

Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Modify Debian Packaging to Generate Reiser4 Components

Shell

cd linux

As elaborated in my first blog on this topic, Building A Reiser4-Patched Development Linux Kernel Package 'The Debian Way'., we need to create a couple of reiser4-modules files and modify contents of three(3) existing ones, which relative paths are:

  1. debian/installer/amd64/modules/amd64/reiser4-modules
  2. debian/installer/modules/reiser4-modules
  3. debian/installer/amd64/package-list
  4. debian/installer/package-list
  5. debian/config/amd64/defines

We accomplish 1 and 2 above, via a one liner for each:

Shell

echo '#include <reiser4-modules>' >debian/installer/amd64/modules/amd64/reiser4-modules
xvi debian/installer/amd64/modules/amd64/reiser4-modules

Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Shell

echo 'reiser4' >debian/installer/modules/reiser4-modules
xvi debian/installer/modules/reiser4-modules

Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Shell

xvi debian/installer/amd64/package-list

Add the following two directives before the Package: fat-modules directive:
Package: reiser4-modules
Priority: standard
Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Shell

xvi debian/installer/package-list

Insert next five(5) lines just one blank line below the Package: jfs-modules
Important&#58;&#33;&#58; please observe the correct formatting, i.e., begin the line below 'Description' with a single blank space.

Package: reiser4-modules
Depends: kernel-image, crc-modules
Priority: extra
Description: Reiser4 filesystem support
 This package contains the Reiser4 filesystem module for the kernel.

Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Shell

xvi debian/config/amd64/defines

Well this last modification is not relevant to reiser4 but simply to decrease the time and amount of data created with debugging, which I will set from default true to false. Additionally, since I am just a lowly hacker &#66;&#41; -- not an official Debian maintainer -- to prevent my kernel build from failing, I need to specify string to override module signature signing:
signed-modules: false
Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Now to save us some work the next time need to add reiser4 support to our debian packaging for Linux 4.xy.z, lets create a quick patch:

Shell

git add .
git commit -a -m "debian-packaging reiser4 support"
git format-patch --stdout -1 >../debian-packaging_reiser4-support.patch

Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Hence, next time you can just patch your debian packaging for Linux 4.xy.z with debian-packaging_reiser4-support.patch and save yourself some work. &#59;&#41;

Applying Debian Packaging for Linux 4.13.4-2 to Potentially More Recent Upstream Kernel.

we take a peek into the debian packaging changelog inside linux/ directory:

Shell

head linux/debian/changelog

Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

hmmm, it is debian kernel is 4.13.4-1 and debian packaging debianizes kernel to 4.13.4-2; notwithstanding, upstream kernel.org Linux kernel 4.13.7 was just recently released. Now, due to his responsibility a debian maintainer is source-pedantic and probably would criticize the following hack. Nevertheless, if superb reiser4 was formally in the linux kernel tree we would not have to engage in these dirty hacks which provide satisfactory results after all -- at the very least for me, as reiser4 is all that I compute on.

So my current relative directory location is tekitl-4.13. As detailed previously I have downloaded debian packaging for Linux 4.13.4-2 Sid branch, as well as debian kernel 4.13.4-1 Sid source. I will now download the latest Linux 4.13.7 pristine source from upstream kernel.org.

Shell

wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.13.7.tar.xz
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.13.7.tar.sign

and verify its signature:

Shell

xz -dc linux-4.13.7.tar.xz | gpg --verify linux-4.13.7.tar.sign -

Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Now observe the cosmetic generic name difference between debian Linux source file[1] and the newer Linux source from kernel.org [2]:
[1] linux_4.13.4.orig.tar.xz
[2] linux-4.13.7.tar.xz

this suggests that we can move debian Linux source file out of our tekitl-4.13 directory and replace it with a symbolic link of the same name but will be pointing at the newer linux source file we downloaded last, i.e.,

Shell

ln -s linux-4.13.7.tar.xz linux_4.13.4.orig.tar.xz

illustrating the above:
Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Now we need to create directory orig/, change location to there, and then create another symbolic link from linux-4.13.4 debian packaging expects to find to the newer linux-4.13.7:

Shell

mkdir --verbose orig
cd orig
mkdir --verbose linux-4.13.7
ln -s linux-4.13.7 linux-4.13.4
rmdir linux-4.13.7

yes, we need to leave the lower minor version symbolic link as otherwise the debian packaging routine scripts attempt to expand the linux source from parent directory but will fail because it finds a directory already there.
Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Shell

cd ../linux

It is usually the case that a newer kernel from upstream will already have applied some of the patches found at linux/debian/patches. moreover, the debian packaging maintainer probably has not realized it but a section of his patch file
debian/patches/features/all/drivers-media-dvb-usb-af9005-request_firmware.patch has already been implemented upstream, i.e.,
Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.
You may edit the file for this particular case or you may download: series and:

Shell

cp -bvf series debian/patches/.

Accordingly, after some trial and error I realize quilt tries to apply some patches listed in debian/patches/series already applied upstream in Linux source 4.13.7. Thus I proceed to prefix a couple of '##' to the relevant directives:

Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.
You may edit the file for this particular case or you may download: drivers-media-dvb-usb-af9005-request_firmware.patch and:

Shell

cp -bvf drivers-media-dvb-usb-af9005-request_firmware.patch debian/patches/features/all/.

So now debian packaging for linux-4.13.4-2 should apply smoothly to Linux kernel 4.13.7 source downloaded from kernel.org &#58;&#62;&#62;

Shell

debian/rules orig

Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.
...
Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Shell

debian/rules debian/control

(we can expect a couple of errors)

This target is made to fail intentionally, to make sure
that it is NEVER run during the automated build. Please
ignore the following error, the debian/control file has
been generated SUCCESSFULLY.

exit 1
debian/rules:104: recipe for target 'debian/control-real' failed
make[1]: *** [debian/control-real] Error 1
make[1]: Leaving directory '/usr/src/build/kernel/tekitl-4.13/linux'
debian/rules:93: recipe for target 'debian/control' failed
make: *** [debian/control] Error 2

Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Shell

fakeroot debian/rules source

seems only necessary when rt kernel is to be built, as well.

Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Now apply proper patch from Reiser4 file system for Linux OS; in this particular case, I had downloaded latest reiser4-for-4.13.0.patch.gz that matched the Linux kernel minor number, i.e., 13:

Shell

gzip -dc  ../reiser4-for-4.13.0.patch.gz | quilt fold

Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.
...
Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Now we need to modify Application Binary Interface (ABI) -- I will append the string: +reiser4.0.1, i.e., reiser4 current Software Format Release Number (SFRN) 4.0.1

Shell

xvi debian/config/defines

Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Shell

dch -D metztli

&#58;&#41;&#41; dch warns that metztli is not a recognised distribution
Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Indeed, I saw that warning and Pressed RETURN to continue...

Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

I will repeat command 33, and I should expect a couple of errors as also previously illustrated.

Shell

debian/rules debian/control

Then the following command should only yield one expected error:

Shell

fakeroot debian/rules debian/control-real

Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Then we specify target architecture AMD64:

Shell

fakeroot make -f debian/rules.gen setup_amd64_none_amd64

Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.
...
Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

then proceed to reaiser4-customize our Linux kernel 4.13.7 configuration:

Shell

make -C debian/build/build_amd64_none_amd64 menuconfig

Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Shell

dpkg-buildpackage -F -us -uc -j8 -T binary-arch,binary-indep

Note: switch -j8 in command implies 8 cores -- please adjust to your own computing environment.
Additionally, make sure to install required dependencies dpkg-buildpackage may complain about in the above command. Nevertheless, if you know that your Debian Stretch has those dependencies, consider the use of the -d switch as extra argument to dpkg-buildpackage. Do man dpkg-buildpackage for further enlightenment &#59;&#41;
Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.
Kernel build will begin, it will generate source and documentation, too. And more importantly, will generate linux-header-*-common-* package that eluded me for a while.
Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.
And, of course, generate reiser4-modules-* UDEB required component for Metztli-Reiser4 netboot debian-installer (d-i).
Coyolxauhqui: Build Reiser4 -patched Linux Kernel, Headers, and Modules, for Stretch-Backports the 'Debian Way'.

Now, if I could just move forward and make time to create the nahui posts for the rest of the series &#58;&#114;&#111;&#108;&#108;&#58; (sigh)


Nahuatl Glossary:
Coyolxauhqui: 'She who has [jingle] bells [painted] over her face'.
tekitl: work
nahui: four
nahuifs: 'filesystem4' &#59;&#41;


References:
INAH on Twitter: Coyolxauhqui.
La escultura y pintura mexica utiilizaba sólo los colores azul, blanco, rojo, negro y ocre. Foto Héctor Montaño INAH.
Fwd: bug#22113: Initial Reiser4 patch for Parted


DISCLAIMER&#58;&#80; although due diligence has been applied, this resource is 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 provided here does 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 interested in Reiser4 -patched kernel/modules to be embedded in Debian Installer (d-i).

Notwithstanding, There is no implicit or explicit guarantee that the information presented here is accurate --even though due diligence was exercised during the procedure. Accordingly, if an user(s) decide to implement the procedure 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 and/or even delete it, including blog post, without previous notice.

Tags: StretchUDEBdebiandebian packagingfossnahuifsopensourcereiser4stretch-backports
This entry was posted by Jose and filed under Linux, Reiser4. Tags: Stretch, UDEB, debian, debian packaging, foss, nahuifs, opensource, reiser4, stretch-backports.

No feedback yet


Form is loading...

My blogs

  • Metztli IT's
  • Metztli Bits
  • Ixiptli
  • TIGroup
  • Amatl
  • Calli
May 2025
Mon Tue Wed Thu Fri Sat Sun
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
 << <   > >>

NahuiFS: Reiser4 Wiki (link)

Reiser4 Official Reference wiki

Apache OpenOffice: Suite libre y gratuita para la oficina

OpenOffice download: Bajar suite de Oficina Abierta

Axitlani

Send Telegram to @metztli_it ?

Metztli Reiser4 based on Debian Amatlocuilin, i.e., Bookworm

Download Metztli Reiser4 Debian 12 Amatlocuilin, i.e., Bookworm, Installer
Click image to be directed to download for free Reiser4-enabled Debian-Installer netboot ISO image hosted at SourceForge

Tlacayotl: Человечество : Humanity : Humanidad

  • Israeli forces Genocidal Apartheid Zionists land thieves arrested 22-yro Palestinian activist Ahed Tamimi in the village of Nabi Saleh in the occupied West Bank.

  • - Ahed Tamimi (Arabic: عهد التميمي, romanized: ‘Ahad at-Tamīmī, also romanized Ahd; born 31 January 2001)] is a Palestinian activist from the village of Nabi Salih in the occupied West Bank in Palestine. She is best known for appearances in images and videos in which she confronts Israeli soldiers.
  • Over a week ago they arrested her father, Bassem Tamimi while he was trying to make his way to Jordan. The family still has no idea where he’s being held.
- Israeli soldiers raided Ahed Tamimi’s home, turned everything upside down and held her mother in another room, preventing her from being with her daughter.
Human Rights Abuses Telegram

Spanish Cartel : Cártel Español

Spanish Cartel : Cártel Español

Search

  • Home
  • Recently
  • Archives
  • Categories
  • Latest comments

Categories

Metztli I. T.  Blog

  • Current Trends
    • Cloud Computing
      • Platform as a Service
    • nginx
  • Linux
    • Applications
      • Office
        • Symphony
          • Apache OpenOffice
        • uninstall/install
    • Debian
    • Installation
    • Java
    • Reiser4
    • reiser5
    • system
  • OS/2
    • Applications
    • Google Web Toolkit
  • Social Nework
  • Spam/Scam
  • Virtualization
  • php7

XML Feeds

  • RSS 2.0: Posts, Comments
  • Atom: Posts, Comments
What is RSS?

Learn, support Nahuatl...


Powered by translatenahuatl.com

University of Oregon Wired Humanities' Nahuatl Dictionary appreciates your donation.
Rechercher directement un mot Nahuatl

Metztli IT's recent entries:

  • Debian Amatlocuilin, i.e., Bookworm, & Metztli Reiser4 5.17.13-1+reiser4.0.2 downgraded Linux Kernel
  • Tlacatecolotl: OS/2 for Symmetrical Multiprocessing(SMP) v2.11 HPFS386 on Headless VirtualBox 7.0.12
  • The Ritual of a Reiser4 Debianized Kernel Macuilli.Caxtolli_Omome.Matlactetl_Omome (5.17.12) Build
  • Tlahuizcalpanteuhctli
  • Reiser4 and Linux version Macuilli.Matlactli, i.e., 5.10
  • Reiser5 Moiocoiani: Metztli Reiser4, Software Framework Release Number (SFRN) 5.1.3 Debian installer
  • Exposing Hacks for ZSTD -compressed Metztli Reiser4 / Debian Buster bps Linux 5.5.caxtolli∙omome and initramfs
  • Build PHP 7.3.9̶ 10 ZTS and puppies...er, pthreads, on Metztli Reiser4: Как же мало нужно для счастья.
  • Build PHP 7.3.5̶ 6 for Nginx 1.17.0 on Metztli Reiser4 'the Debian Way' for Stretch Backports on AMD64.
  • Nginx at Metztli IT: ModSecurity v3 module, Engine X v1.15.9, and libmodsecurity3 Connector, Integrated Hack.

Open Source Power!

Powered by Nginx at Metztli IT

Powered by MariaDB

Protected by Zmanda

Recent comments

  • Artur on Exposing Hacks for ZSTD -compressed Metztli Reiser4 / Debian Buster bps Linux 5.5.caxtolli∙omome and initramfs
  • vato on Exposing Hacks for ZSTD -compressed Metztli Reiser4 / Debian Buster bps Linux 5.5.caxtolli∙omome and initramfs
  • Artur on Exposing Hacks for ZSTD -compressed Metztli Reiser4 / Debian Buster bps Linux 5.5.caxtolli∙omome and initramfs
  • Jordi L'Escala on Building A Reiser4-Patched Development Linux Kernel Package 'The Debian Way'.
  • hans on Building A Reiser4-Patched Development Linux Kernel Package 'The Debian Way'.
  • jess on OS/2 Warp Server for E-Business (WSEB) hosting b2evolution 2.4.2 "Palms" stable.
  • vato on Hecamalotl: OS/2 Hosting Drupal 7.0 RC1 Content Management System (CMS)
  • Per on Hecamalotl: OS/2 Hosting Drupal 7.0 RC1 Content Management System (CMS)
  • Alen on OS/2 Gradd video driver for Virtual Machine or older hardware.
  • Anonimo on Deploying b2evolution blog/CMS on Red Hat's Cloud OpenShift PaaS
Metztli Reiser4 on AMD Epyc Cloud Fabric

©2025 by Jose • Contact • Help • Secure CMS