Kernel
Configuration
This package replaces the SYSV kernel module with an better and
improved version. Disable the one in the kernel if it's present and
recompile the kernel if necessary:
File systems --->
[*] Miscellaneous filesystems ---> [MISC_FILESYSTEMS]
< > System V/Xenix/V7/Coherent file system support [SYSV_FS]
Installation of s4-3b1-pc7300
Apply a patch to build the sysv kernel module unconditionally:
patch -Np1 -i ../s4-3b1-pc7300-efe55b-build-module-unconditionally.patch
Apply a patch to fix building the kernel module:
patch -Np1 -i ../s4-3b1-pc7300-efe55b-fix-kernel-module.patch
Apply a patch to build the supporting library as a shared library
instead of a static one:
patch -Np1 -i ../s4-3b1-pc7300-efe55b-shared-lib.patch
Compile the kernel module:
cd sysv &&
make -f Makefile.daveb running
Tip
Be sure to compile this kernel module booted into your LFS
system, or if in a chroot, have the same kernel version you built
for the target as on the host. Otherwise, directories that are
assumed to exist will not be found and the build process will
fail.
Now install the kernel module as the root
user:
make -f Makefile.daveb run_install
Important
When you update the kernel, you will also need to reinstall this
kernel module.
This is because there is glue when kernel modules are built. This
glue doesn't matter too much with first party modules (modules in
the kernel source tree) as the modules are updated at the same
time the kernel is. At that point, there is new glue holding them
together. However, when it comes to third party modules, they
aren't updated when the kernel updates, so this glue the third
party modules had on the kernel breaks. This leads to broken
kernel modules. This also applies if you stay on the same kernel
verion but change some options, this can also break the glue.
Be sure that when you reinstall the driver, make sure you are
using the new kernel and have the kernel source you built from.
Otherwise the driver will fail to install.
Now install the s4-3b1-pc7300
userland tools by running the following commands:
cd .. &&
make CC="cc -std=gnu17"
Now, as the root
user:
install -v -Dm755 s4date s4disk s4dump s4export s4fs s4fsck \
s4import s4merge s4mkfs s4test s4vol \
/usr/bin &&
install -v -Dm644 s4d.h s4fixed.h /usr/include &&
install -v -Dm755 libs4.so /usr/lib &&
ln -svf /usr/lib/libs4.so /usr/lib/libs4.so.0 &&
ln -svf /usr/lib/libs4.so.0 /usr/lib/libs4.so.0.0