Metztli I. T.  Blog

    Back to Metztli IT Main Site
Posted by vato on Nov 04 2015 in Linux, Current Trends
  • « Build Apache OpenOffice 4.1.3 on GNU/Linux Debian Sid (Unstable)
  • Debian Closure: Enhancing Linux Kernel 3.15.2 With Reiser4 Patch »

Building A Reiser4-Patched Development Linux Kernel Package 'The Debian Way'.

Building A Reiser4-Patched Development Linux Kernel Package 'The Debian Way'.

IMPORTANT NOTE 01/07/2017: although this procedure worked fairly well at time of publication, especially for development kernels, it has been superseded by Revisiting: Build Reiser4-patched Debian Linux Kernel to Generate UDEB d-i Components. at Nahui Ollin: UDEB Components to Supercharge a Debian Installer (d-i) for a Native Reiser4 Installation on AMD64.


The following notes are but a fragment of a larger personal effort to include a Reiser4-patched Linux kernel into the Debian Installer (d-i) netboot. After uncountable stumbles, I realized that I needed to create UDEBs -- which are slimmed down versions of Debian package DEBs -- and this applied especially to creating a UDEB of the Reiser4 kernel module needed by the Debian Installer procedure. I also had to create UDEBs for Reiser4Progs utilities -- to format and check Reiser4 partitions and filesystems during a Debian installation. Notwithstanding, my Reiser4 Debian Installer effort was halted due to the non-existence of a Reiser4 patch for GNU Parted; this is needed as it is the base for Debian Installer libparted. Hence, this post is also a call to action for anyone who may be interested in creating and contributing a Reiser4 patch for GNU Parted. At least one member of the Debian Installer team is willing to include the Reiser4 patch for GNU Parted into the Debian packaging -- and I would much appreciate it!&#59;)


Update 12/18/2015: I have successfully created Initial Reiser4 'patch against git://git.sv.gnu.org/parted.git master which adds the ability to detect existing reiser4 partitions' based on Bart Hakvoort 2004 work.

Reiser4 patch against GNU Parted from git may also be obtained at Reiser4 file system for Linux OS repository -- although with a Parted 3.2 specific version label.


Mictlanteuhctli  and Quetzalcoatl-Ehecatl: Making Some Sense Out of 'The Debian Way' Chaos.

First, we need to download utilities and fulfill kernel build dependencies to achieve our task:

Shell

apt-get update
apt-get install build-essential libncurses5-dev libdebconfclient0-dev libssl-dev libpci-dev libwrap0-dev libusbip-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
apt-get build-dep linux

Subsequently, we download the Debian packaging:

Shell

git clone -b sid --single-branch https://anonscm.debian.org/git/kernel/linux.git

Please note that I selected to clone Debian Unstable, a.k.a. Sid. After the process finishes, you will find -- at your current filesystem location -- a linux directory with a single subdirectory, thus: linux/debian

Building A Reiser4-Patched Development Linux Kernel Package 'The Debian Way'.

I proceed to download linux upstream source and patches:

Shell

apt-get source -d linux

We see that, in addition to our linux directory, we have three(3) new files. Please make a note of Linux kernel source version (in strong italics) below:idea::

  • linux_4.2.5-1.debian.tar.xz
  • linux_4.2.5-1.dsc
  • linux_4.2.5.orig.tar.xz
Building A Reiser4-Patched Development Linux Kernel Package 'The Debian Way'.

We change into the linux directory:

Shell

cd linux

And unpack the upstream source (i.e., the recently downloaded resources) and merge it with the existing Debian Packaging, by typing the following directive:

Shell

debian/rules orig
Building A Reiser4-Patched Development Linux Kernel Package 'The Debian Way'.

Now, we need to add and/or edit the following file system resources to generate the additional UDEB for the Reiser4 module that is needed for our Debian Installer (d-i):

  1. Add debian/installer/amd64/modules/amd64/reiser4-modules
  2. Add debian/installer/modules/reiser4-modules
  3. Edit /usr/share/kernel-wedge/package-list
  4. Edit debian/installer/amd64/package-list
  5. Edit debian/installer/package-list
  6. Edit debian/config/amd64/defines
  7. Make sure downloaded Linux kernel source version MATCHES the version listed in debian/changelog :idea:

We are going to follow the above numbered sequence in guidelines below: Accordingly, the first two are additional files that we will create and edit; whereas the remaining ones are edits of already existing files.

Use a text editor like vi or a vi-clone like elvis, vim, etc. to create the following file:

Shell

elvis debian/installer/amd64/modules/amd64/reiser4-modules

and write this single directive as the very first entry:
#include <reiser4-modules>

Save your newly created file and proceed to create the next one:

Shell

elvis debian/installer/modules/reiser4-modules

again as the very first entry, write this other directive: reiser4

Save your changes to this other newly created file.

Now we will edit the remaining four(4) above-listed files. Please note that next file to be edited is outside of your current filesystem location thus I use an absolute path; truly, you may also need root permission to open and modify:

Shell

elvis /usr/share/kernel-wedge/package-list

After the jfs-modules block entry, add the following Reiser4-specific lines:

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

Building A Reiser4-Patched Development Linux Kernel Package 'The Debian Way'.

Save your modifications to the file. And proceed to edit similar-named file but this time relative to your current filesystem location:

Shell

elvis debian/installer/amd64/package-list

Add the following two directives before the Package: fat-modules directive:
Package: reiser4-modules
Priority: standard

Building A Reiser4-Patched Development Linux Kernel Package 'The Debian Way'.

Proceed to open to modify the next file:

Shell

elvis debian/installer/package-list

insert the following lines just one blank line below the Package: jfs-modules

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

Building A Reiser4-Patched Development Linux Kernel Package 'The Debian Way'.
(Indeed, similar as the modification for the kernel-wedge resource). Save your file modifications.

The next edit is to turn debug to false; otherwise we will use more than 10Gb during the kernel build:

Shell

elvis debian/config/amd64/defines

Modify the default setting from true to:
debug-info: false

Building A Reiser4-Patched Development Linux Kernel Package 'The Debian Way'.

We are done with sequence of steps listed above; thus we proceed along to the next phase.

Applying Reiser4 Port To The Linux 4.2 Kernel

Shell

debian/rules debian/control

We may expect a couple of errors -- just this time -- as debian/control.md5sum has just been created for the first time:

[...]
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:89: recipe for target 'debian/control-real' failed
make[1]: *** [debian/control-real] Error 1
make[1]: Leaving directory '/mnt/sda8-tekitl/usr/src/linux'
debian/rules:79: recipe for target 'debian/control' failed
make: *** [debian/control] Error 2

Building A Reiser4-Patched Development Linux Kernel Package 'The Debian Way'.

NOTE: If you get similar error:

make[1]: Entering directory '/usr/src/linux'
debian/bin/gencontrol.py
Traceback (most recent call last):
File "debian/bin/gencontrol.py", line 523, in <module>
Gencontrol()()
File "debian/lib/python/debian_linux/gencontrol.py", line 89, in __call__
self.do_main(packages, makefile)
File "debian/lib/python/debian_linux/gencontrol.py", line 109, in do_main
self.do_main_recurse(packages, makefile, vars, makeflags, extra)
File "debian/lib/python/debian_linux/gencontrol.py", line 123, in do_main_recurse
self.do_arch(packages, makefile, arch, vars.copy(), makeflags.copy(), extra)
File "debian/lib/python/debian_linux/gencontrol.py", line 151, in do_arch
self.do_arch_packages(packages, makefile, arch, vars, makeflags, extra)
File "debian/bin/gencontrol.py", line 181, in do_arch_packages
udeb_packages = read_control(io.TextIOWrapper(kw_proc.stdout, 'utf-8'))
File "debian/lib/python/debian_linux/utils.py", line 72, in read_control
e[last] = '\n'.join(lines)
File "debian/lib/python/debian_linux/debian.py", line 416, in __setitem__
value = cls(value)
File "debian/lib/python/debian_linux/debian.py", line 213, in __init__
short, long = value.split(u"\n", 1)
ValueError: need more than 1 value to unpack
debian/rules:89: recipe for target 'debian/control-real' failed
make[1]: *** [debian/control-real] Error 1
make[1]: Leaving directory '/usr/src/linux'
debian/rules:79: recipe for target 'debian/control' failed
make: *** [debian/control] Error 2

go back to editing 10 and 12, above, and make sure to insert a space
before directive (reprinted below for illustrative purposes):
⇒This package contains the Reiser4 filesystem module for the kernel.
End of NOTE.

The next directive may be redundant, but apply anyhow:

Shell

fakeroot debian/rules source

Now we are ready to appy our currently available Reiser4-patch; download appropriate port version from Reiser4 file system for GNU/Linux OS
assuming we have it at our home directory, we apply the patch thus:

Shell

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

Needless to say, the procedure should end with no errors.

Building A Reiser4-Patched Development Linux Kernel Package 'The Debian Way'.

Now we edit:

  • debian/config/defines &#58;&#105;&#100;&#101;&#97;&#58;

Shell

elvis -R debian/config/defines

WRITE DOWN and increase the abi directive -- in this specific case from 1 to 2 -- and save our modification.

Building A Reiser4-Patched Development Linux Kernel Package 'The Debian Way'.

&#58;&#105;&#100;&#101;&#97;&#58; Note: When we modify abi, i.e., this last resource above, we must execute command:

Shell

fakeroot debian/rules debian/control-real

It is normal to expect only one error:

[...]
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:89: recipe for target 'debian/control-real' failed
make: *** [debian/control-real] Error 1

Building A Reiser4-Patched Development Linux Kernel Package 'The Debian Way'.

IMPORTANT! Now go back to shell command 17, edit debian/config/defines by changing the abi directive back to its original value -- in this specific case from 2 back to 1 -- and save our modification. Repeat shell command 18 above and disregard single error.

We continue by changing the configuration for our AMD64 target:

Shell

fakeroot make -f debian/rules.gen setup_amd64_none_amd64

We open the menu driven .config editor/manipulator:

Shell

make -C debian/build/build_amd64_none_amd64 menuconfig

And enable Reiser4 support for our kernel as a U/DEB module from File systems menu: M

Building A Reiser4-Patched Development Linux Kernel Package 'The Debian Way'.

Totally optional but you may want to enable IBM OS/2 HPFS filesystem support &#59;&#41;
File systems -> Miscellaneous filesystems:

Building A Reiser4-Patched Development Linux Kernel Package 'The Debian Way'.

Save modifications to the .config file as you exit menuconfig.

We then I build all architecture-dependent packages by running:

Shell

fakeroot debian/rules binary-arch

The procedure takes a while to complete. You may want to enjoy an oldie song by Gregory Abbott embodied in Мария Букшеванная [Maria Bukshevannaya]: Nenetl -- which means Girl in Nahuatl, Mexico's language par excellence.

08-04-2021 update:
T̶h̶i̶s̶ ̶v̶i̶d̶e̶o̶ ̶i̶s̶ ̶a̶g̶e̶-̶r̶e̶s̶t̶r̶i̶c̶t̶e̶d̶ ̶a̶n̶d̶ ̶o̶n̶l̶y̶ ̶a̶v̶a̶i̶l̶a̶b̶l̶e̶ ̶o̶n̶ ̶Y̶o̶u̶T̶u̶b̶e̶ Fuck Youtube CEO Polish CENSOR and ex-sister-in-law to Google's co-founder8!


...just suggesting, of course, but you might as well get busy doing some other tasks...

NOTWITHSTANDING on certain occasions it may stop in the last phase of the routine with similar error as the following:

debian/rules.real:165: recipe for target 'debian/stamps/build_amd64_none_amd64_plain' failed
make[2]: Leaving directory '/mnt/sda8-tekitl/usr/src/linux'
debian/rules.gen:25: recipe for target 'binary-arch_amd64_none_amd64_real' failed
make[1]: Leaving directory '/mnt/sda8-tekitl/usr/src/linux'
debian/rules:42: recipe for target 'binary-arch' failed

In that case, and observing the nature of the error in our logging file, we may nudge the procedure along with the following:

Shell

touch debian/stamps/build_amd64_none_amd64_plain

And then repeat the build directive:

Shell

fakeroot debian/rules binary-arch

After the procedure successfully comes to completion, you will find -- amongst the generated Debian Installer resources -- the elusive but valued additional Reiser4 UDEB:
../reiser4-modules-4.2.0-1-amd64-di_4.2.5-1_amd64.udeb

Building A Reiser4-Patched Development Linux Kernel Package 'The Debian Way'.
Huelmati [Enjoy]!


References:
1. Mictlanteuhctli & Quetzalcoatl Glyph by Princess Shadyk
2. 4.3 Building a development version of the Debian kernel package
3. Integrate fully partman-reiser4 into d-i
4. "No kernel modules were found" netboot d-i with custom reiser4 kernel.
5. Building kernel the Debian way fails
6. The elvis vi-clone (written by Steve Kirkendall)
7. Github: mbert/Elvis
8"Her sister Anne is the founder of the genetic-testing company 23andMe and was married to Google co-founder Sergey Brin." via NeoMcCarthyism as a smoke screen to hide the crisis of neoliberalism

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 who executes 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 support on 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.

Tags: d-idebiangnuinstallerlibpartedpartedpatchreiser4
This entry was posted by Jose and filed under Linux, Current Trends. Tags: d-i, debian, gnu, installer, libparted, parted, patch, reiser4.

2 comments

Comment from: hans Visitor

hans

thanks! per http://serverfault.com/questions/740456/lightweight-transparent-compression-filesystem , it seems reiser4 is a viable option ^^

12/03/15 @ 00:51

Comment from: Jordi L'Escala Visitor

Jordi L'Escala

On my installation of Metztli, I found using the deadline scheduler and turning off all swap really sped things up with no stability issues.

In terminal as root:

1 echo deadline > /sys/block/sda/queue/scheduler

2 swapoff -a

It would be nice if you could give some pronunciation hints for any words in this Linux in Nahuatl, the Aztec language.

Having used it, I think Reiser4 will be an important and uniquely useful Linux file system. Thank you for your contribution and congrats.

06/26/17 @ 20:59


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 • Web Site Engine