<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.11/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.11/ http://www.mediawiki.org/xml/export-0.11.xsd" version="0.11" xml:lang="en">
  <siteinfo>
    <sitename>pega.life</sitename>
    <dbname>my_wiki</dbname>
    <base>https://wiki.ho.stna.me/index.php/Main_Page</base>
    <generator>MediaWiki 1.36.2</generator>
    <case>first-letter</case>
    <namespaces>
      <namespace key="-2" case="first-letter">Media</namespace>
      <namespace key="-1" case="first-letter">Special</namespace>
      <namespace key="0" case="first-letter" />
      <namespace key="1" case="first-letter">Talk</namespace>
      <namespace key="2" case="first-letter">User</namespace>
      <namespace key="3" case="first-letter">User talk</namespace>
      <namespace key="4" case="first-letter">Pega.life</namespace>
      <namespace key="5" case="first-letter">Pega.life talk</namespace>
      <namespace key="6" case="first-letter">File</namespace>
      <namespace key="7" case="first-letter">File talk</namespace>
      <namespace key="8" case="first-letter">MediaWiki</namespace>
      <namespace key="9" case="first-letter">MediaWiki talk</namespace>
      <namespace key="10" case="first-letter">Template</namespace>
      <namespace key="11" case="first-letter">Template talk</namespace>
      <namespace key="12" case="first-letter">Help</namespace>
      <namespace key="13" case="first-letter">Help talk</namespace>
      <namespace key="14" case="first-letter">Category</namespace>
      <namespace key="15" case="first-letter">Category talk</namespace>
    </namespaces>
  </siteinfo>
  <page>
    <title>Main Page</title>
    <ns>0</ns>
    <id>1</id>
    <revision>
      <id>466</id>
      <parentid>439</parentid>
      <timestamp>2025-04-01T08:54:35Z</timestamp>
      <contributor>
        <ip>172.17.0.1</ip>
      </contributor>
      <comment>/* Formatting */</comment>
      <origin>466</origin>
      <model>wikitext</model>
      <format>text/x-wiki</format>
      <text bytes="21132" sha1="hyd3anz9hhu03mdueysadhobjgoe8wm" xml:space="preserve">== Movies ==
* Joy Luck Club
* Motherless Brooklyn
* Dune
* The Big Short
* Andre The Giant 2018
* Joker
* &lt;s&gt;Spider-Man&lt;/s&gt;
* &lt;s&gt;The Social Dilemma&lt;/s&gt;
* &lt;s&gt;King Richard (Will Smith)👍🏽&lt;/s&gt;
* &lt;s&gt;Shang-Chi&lt;/s&gt;
* &lt;s&gt;Venom&lt;/s&gt;
&lt;pre&gt;javascript:window.location=document.querySelector('#player iframe').src;&lt;/pre&gt;
&lt;pre&gt;javascript:window.location=document.querySelector('#player video').src;&lt;/pre&gt;

== Shows == 
* Marvelous Mrs Mazel
* Watchmen (TV series)
* Picard
* &lt;s&gt;Cocaine Cowboys Miami&lt;/s&gt;

== Food ==

* Carnaval Brazilian BBQ
* Feast
* Across The Board
* [https://www.tripadvisor.ca/Restaurant_Review-g2648278-d3171065-Reviews-Oma_s_Schnitzel_Stube-St_Pierre_Jolys_Manitoba.html German buffet in St. Malo] Closed/New (bad) management?
* &lt;s&gt;smash burger&lt;/s&gt;
* &lt;s&gt;Turkey Tacos&lt;/s&gt;
* &lt;s&gt;[https://bluehazebbq.ca BBQ Beausejour]&lt;/s&gt;
* &lt;s&gt;tallest Poppy chicken&lt;/s&gt;

* Korean BBQ
* home made chicken shawarma

* https://www.winnipegrestaurantdeals.com/restaurants

== Travel ==
* Pembina Valley
* Banff
* West Edmonton Mall
* bunns creek trail (on way to half moon)
* Bryce Canyon Utah

== [[Disney World]]== 
{{:Disney World}}
== [[Costa Rica]]==
{{:Costa Rica}}

== [[UNIX]]==
{{:UNIX}}

== Games ==
* X68000: Puzzle: [https://www.youtube.com/watch?v=T3l-6aQ28Ds Deflektor]
* SNES: Puzzle: Bust-A-Move, The Lost Vikings
* SNES: VS: Super Bomberman, Tetris Attack
* SNES: Co-Op: Contra III, Wild Guns
* SNES: Action RPG: Front Mission Gun Hazard
* MAME: puzzle: Money Puzzle Exchanger
* NEOGEO: Co-Op: Alpha Mission 2, Mslug, robo army, Shock Troopers
* NEOGEO: VS: League Bowling, WindJammer, The Last Blade, Garou
== emus ==
https://www.youtube.com/watch?app=desktop&amp;v=UGtU5wRWuhc

* OpenEmu: https://www.youtube.com/watch?v=RxhbhM8BA68&amp;t=0s
* PSP (PPSSPP ARM): https://www.youtube.com/watch?v=WYfnSCgRBdA&amp;t=0s
* GC/Wii (Dolphin ARM): https://www.youtube.com/watch?v=lwYKk-_HoPg&amp;t=0s
* PS2 (PCSX2): https://www.youtube.com/watch?v=veWRt0f7avk&amp;t=0s
* Dreamcast (Redream): https://www.youtube.com/watch?v=6x_vLg2m7T4&amp;t=0s
* 3DS (Citra ARM): https://www.youtube.com/watch?v=VpbDl0v_WCs&amp;t=0s
* PSX (DuckStation): hhttps://www.youtube.com/watch?v=MNofg_jkRnA&amp;t=0s
* Xbox (Xemu): https://www.youtube.com/watch?v=PCvQ_9M1nlI&amp;t=0s
* Mac Gaming: https://www.applegamingwiki.com/wiki/PlayStation_2
==== mega thread ====
* roms: https://www.reddit.com/r/Roms/comments/gar3bc/roms_megathread_30_ybin_edition/
* emu files: https://emulation.gametechwiki.com/index.php/Emulator_files#PlayStation_2

==Bike==
* tighten seat
* buy helmet

== To Do ==
* &lt;s&gt;Red pocket&lt;/s&gt;
* &lt;s&gt;Plumber&lt;/s&gt;
== Self Hosting==
=== Fossil ===
https://dev.to/schollz/self-hosting-with-fossil-an-alternative-to-git-33bk
=== certbot ===
Add new cert:
&lt;pre&gt;# sudo certbot certonly -d wiki.ho.stna.me
Saving debug log to /var/log/letsencrypt/letsencrypt.log

How would you like to authenticate with the ACME CA?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Nginx Web Server plugin (nginx)
2: Spin up a temporary webserver (standalone)
3: Place files in webroot directory (webroot)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-3] then [enter] (press 'c' to cancel): 1
Plugins selected: Authenticator nginx, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for wiki.ho.stna.me
Using default addresses 80 and [::]:80 ipv6only=on for authentication.
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:&lt;/pre&gt;
=== nginx ===

== Linux ==
=== Archiver / PeaZip ===
==== File Manager Integration (Context Menus) ====
https://peazip.github.io/peazip-linux.html
https://wiki.archlinux.org/title/GNOME/Files#Custom_scripts

https://github.com/peazip/PeaZip/releases/download/9.5.0/peazip_portable-9.5.0.LINUX.GTK2.x86_64.tar.gz

From the portable download, find scripts in the folder: res/share/batch/freedesktop_integration/

&lt;b&gt;Custom scripts&lt;/b&gt;

Scripts placed in ~/.local/share/nautilus/scripts can be run from the right click context menu of a file.

The context menu can also be organized into subfolders, e.g. ~/.local/share/nautilus/scripts/images and ~/.local/share/nautilus/scripts/music.

== SmartOS ==
=== Upgrade ===
&lt;pre&gt;
SmartOS (build: 20250220T074131Z)
[root@cloud ~]# piadm avail
20250306T000316Z
[root@cloud ~]# piadm -v install 20250306T000316Z
[root@cloud ~]# piadm list
PI STAMP               BOOTABLE FILESYSTEM            BOOT IMAGE NOW  NEXT
20250220T074131Z       zones/boot                     next       yes  yes
20250306T000316Z       zones/boot                     available  no   no
[root@cloud ~]# piadm -v activate 20250306T000316Z
[root@cloud ~]# piadm list
PI STAMP               BOOTABLE FILESYSTEM            BOOT IMAGE NOW  NEXT
20250220T074131Z       zones/boot                     available  yes  no
20250306T000316Z       zones/boot                     next       no   yes
[root@cloud ~]#
&lt;/pre&gt;
=== Migrating ===
https://docs.smartos.org/managing-instances-with-vmamd/#migrate-an-instance-to-a-different-compute-node

== FreeBSD ==
=== CUDA ===
https://developer.nvidia.com/cuda-downloads?target_os=Linux&amp;target_arch=x86_64&amp;Distribution=Rocky&amp;target_version=9&amp;target_type=rpm_local
&lt;pre&gt;
pkg install nvidia-driver  
kldload nvidia
kldload nvidia-modeset 
 # sysrc kld_list+=nvidia-modeset 
kldload linux64
pkg install linux_base-rl9  
pkg install linux-rl9-libxml2
pkg install gcc #gcc13

fetch https://developer.download.nvidia.com/compute/cuda/12.5.1/local_installers/cuda_12.5.1_555.42.06_linux.run
./cuda_12.5.1_555.42.06_linux.run

fetch https://developer.download.nvidia.com/compute/cuda/12.5.1/local_installers/cuda-repo-rhel9-12-5-local-12.5.1_555.42.06-1.x86_64.rpm

rpm2cpio cuda-repo-rhel9-12-5-local-12.5.1_555.42.06-1.x86_64.rpm &gt; cuda.cpio
cpio -idmv &lt; cuda.cpio

var/cuda-repo-rhel9-12-5-local# rpm2cpio nvidia-driver-cuda-libs-555.42.06-1.el9.x86_64.rpm &gt; nvidia-driver-cuda-libs-555.42.06-1.el9.x86_64.cpio
cpio -idmv &lt; nvidia-driver-cuda-libs-555.42.06-1.el9.x86_64.cpio


brandelf -t Linux &lt;path_to_CUDA_installer&gt;
./cuda_&lt;version&gt;_linux.run

LD_LIBRARY_PATH=/usr/lib64 ffmpeg -i TheBear-S03E01.ts -c:v h264_nvenc -preset slow -b:v 5000k -maxrate 5000k -bufsize 10000k -pix_fmt yuv420p -c:a aac output.mp4

&lt;/pre&gt;

=== Containers ===
containerd / runj

https://productionwithscissors.run/2022/09/04/containerd-linux-on-freebsd/

&lt;pre&gt;

https://catalog.ngc.nvidia.com/orgs/nvidia/containers/cuda/tags
nvcr.io/nvidia/cuda:12.5.1-cudnn-devel-ubuntu20.04

https://github.com/canonical/microk8s/issues/1239
#ctr run --rm --gpus 0 docker.io/nvidia/cuda:9.0-base nvidia-smi nvidia-smi

ctr image pull --platform=linux nvcr.io/nvidia/cuda:12.5.1-cudnn-devel-ubuntu20.04
&lt;/pre&gt;

=== VMs ===
==== qemu / quickemu ====
https://github.com/quickemu-project/quickemu?tab=readme-ov-file
&lt;pre&gt;
pkg install qemu-nox11 coreutils socat usbutils swtpm zsync samba416 qemu-nox11 edk2-qemu-x64
git clone https://github.com/quickemu-project/quickemu
cd quickemu
./quickget alpine v3.11

&lt;/pre&gt;
&lt;pre&gt;cat freebsd.patch&lt;/pre&gt;
&lt;pre&gt;
diff --git a/quickemu b/quickemu
index f2bd9df..2ad1933 100755
--- a/quickemu
+++ b/quickemu
@@ -652,6 +652,8 @@ function configure_bios() {
             if command -v brew &amp;&gt;/dev/null; then
                 SHARE_PATH="$(brew --prefix qemu)/share"
             fi
+       elif [ "${OS_KERNEL}" == "FreeBSD" ]; then
+               SHARE_PATH=/usr/local/share
         fi
 
         # https://bugzilla.redhat.com/show_bug.cgi?id=1929357#c5
@@ -675,7 +677,9 @@ function configure_bios() {
                         "${SHARE_PATH}/edk2-ovmf/OVMF_CODE.fd","${SHARE_PATH}/edk2-ovmf/OVMF_VARS.fd" \
                         "${SHARE_PATH}/qemu/ovmf-x86_64-4m-code.bin","${SHARE_PATH}/qemu/ovmf-x86_64-4m-vars.bin" \
                         "${SHARE_PATH}/qemu/edk2-x86_64-code.fd","${SHARE_PATH}/qemu/edk2-x86_64-code.fd" \
-                        "${SHARE_PATH}/edk2-ovmf/x64/OVMF_CODE.fd","${SHARE_PATH}/edk2-ovmf/x64/OVMF_VARS.fd"
+                        "${SHARE_PATH}/edk2-ovmf/x64/OVMF_CODE.fd","${SHARE_PATH}/edk2-ov
mf/x64/OVMF_VARS.fd" \
+                        "${SHARE_PATH}/edk2-qemu/QEMU_UEFI_CODE-x86_64.fd","${SHARE_PATH}
/edk2-qemu/QEMU_UEFI_VARS-x86_64.fd"
+
                     );;
             esac
             # Attempt each EFI_CODE file one by one, selecting the corresponding code and
 vars
&lt;/pre&gt;
=== Linuxulator ===
Yes, I’m familiar with both '''SmartOS LX zones''' and '''FreeBSD’s Linuxulator'''. These are two different approaches to providing Linux binary compatibility on non-Linux systems, and their differing abilities to run '''systemd''' highlight some key technical distinctions. Let’s break this down and address what’s missing in FreeBSD’s Linuxulator to support systemd, as well as how you might approach enabling it by leveraging SmartOS/Illumos source code.
===== SmartOS LX Zones and FreeBSD Linuxulator =====

* '''SmartOS LX Zones''': LX zones are a feature of Illumos-based systems (like SmartOS) that allow running Linux binaries in a lightweight containerized environment called a "branded zone." These zones provide a near-native Linux kernel ABI (Application Binary Interface) by translating Linux system calls into Illumos equivalents. LX zones were originally developed by Joyent to support running Linux applications, including Docker, on SmartOS. Over time, they’ve been extended to support more complex Linux-specific features, including systemd, which is the default init system for many modern Linux distributions.

* '''FreeBSD Linuxulator''': The Linuxulator is FreeBSD’s Linux binary compatibility layer. It allows FreeBSD to run unmodified Linux ELF binaries by translating Linux system calls to FreeBSD equivalents. Unlike LX zones, it’s not a containerization technology but a kernel-level compatibility layer that operates alongside native FreeBSD processes. It currently supports a subset of Linux kernel functionality, with compatibility levels pegged at Linux 3.2.0 in FreeBSD 12-STABLE and Linux 5.15.0 in FreeBSD 14-STABLE (as of recent documentation). However, it lacks support for several Linux-specific features required by systemd.

==== Why Systemd Works in LX Zones but Not Linuxulator ====
Systemd is a complex init system that relies heavily on Linux-specific kernel features, such as:
* '''cgroups (Control Groups)''': Used for resource management and process grouping.
* '''Namespaces''': Particularly PID, mount, and user namespaces, which provide isolation and scoping for processes.
* '''Fanotify''': A file system notification system used by systemd for monitoring file events.
* '''Specific System Calls''': Systemd depends on calls like &lt;code&gt;pidfd_open()&lt;/code&gt;, &lt;code&gt;clone3()&lt;/code&gt;, and others introduced in newer Linux kernels.
* '''udev Integration''': Systemd integrates tightly with udev, which relies on Linux-specific device management mechanisms.

'''SmartOS LX Zones''' have evolved to support these features. The Illumos kernel, with contributions from Joyent and the SmartOS community, has implemented enough of the Linux kernel ABI—including cgroups, namespaces, and additional system calls—to allow systemd to function within an LX-branded zone. This was driven by the need to support Docker and other modern Linux workloads, which often assume systemd is present.

'''FreeBSD Linuxulator''', on the other hand, does not yet support these features fully. While it can run many Linux binaries (e.g., statically linked programs or those with simpler dependencies), its compatibility layer is incomplete for systemd’s requirements. The Linuxulator’s development has historically focused on supporting popular applications (like Steam or proprietary tools) rather than replicating the full Linux kernel feature set, and systemd support has not been a priority.

==== What’s Missing in FreeBSD Linuxulator? ====
To run systemd in FreeBSD’s Linuxulator, the following gaps need to be addressed:

===== 1. cgroups Support =====
* '''Current State''': FreeBSD has no native cgroups implementation. It uses its own resource control mechanisms (e.g., &lt;code&gt;rctl&lt;/code&gt; for resource limits and jails for isolation), which are philosophically and technically different from Linux’s cgroups.
* '''Requirement''': Systemd expects cgroups v1 or v2 for process grouping, resource limiting, and service management. Without this, systemd cannot initialize properly.

===== 2. Namespaces =====
* '''Current State''': FreeBSD supports some namespace-like features via jails and VNET (virtual networking), but these are not equivalent to Linux’s PID, mount, or user namespaces. The Linuxulator does not translate Linux namespace-related system calls (e.g., &lt;code&gt;unshare()&lt;/code&gt;, &lt;code&gt;clone()&lt;/code&gt; with namespace flags) into FreeBSD equivalents.
* '''Requirement''': Systemd uses namespaces for service isolation and scoping, particularly PID namespaces to manage process trees.

===== 3. System Call Gaps =====
* '''Current State''': The Linuxulator implements a subset of Linux system calls (see &lt;code&gt;sys/compat/linux/linux_sysent.c&lt;/code&gt; in the FreeBSD source). Missing calls include newer ones like &lt;code&gt;pidfd_open()&lt;/code&gt; (Linux 5.3+), &lt;code&gt;clone3()&lt;/code&gt; (Linux 5.3+), and others that systemd may use.
* '''Requirement''': Full compatibility with the system calls systemd depends on, which may require extending the Linuxulator’s syscall table.

===== 4. Fanotify and File System Events =====
* '''Current State''': FreeBSD has &lt;code&gt;kqueue&lt;/code&gt; for event notification, but it’s not compatible with Linux’s &lt;code&gt;fanotify&lt;/code&gt; API, which systemd uses for file system monitoring.
* '''Requirement''': An emulation layer to map &lt;code&gt;fanotify&lt;/code&gt; calls to &lt;code&gt;kqueue&lt;/code&gt; or a custom implementation.

===== 5. udev and Device Management =====
* '''Current State''': FreeBSD uses &lt;code&gt;devd&lt;/code&gt; for device management, which differs significantly from Linux’s &lt;code&gt;udev&lt;/code&gt;. The Linuxulator does not fully emulate &lt;code&gt;udev&lt;/code&gt;’s behavior or its integration with the kernel.
* '''Requirement''': Systemd expects &lt;code&gt;udev&lt;/code&gt; to manage device events, so a compatibility layer or partial &lt;code&gt;udev&lt;/code&gt; emulation is needed.

===== 6. Kernel ABI Stability and Versioning =====
* '''Current State''': The Linuxulator mimics a specific Linux kernel version (e.g., 5.15.0 in FreeBSD 14-STABLE), but systemd may expect features from newer kernels or specific behaviors not yet emulated.
* '''Requirement''': Ensuring the emulated ABI matches a Linux kernel version that systemd supports (e.g., at least 4.4 or later for modern versions).

==== Where to Start: Leveraging SmartOS/Illumos Source ====
Since both SmartOS (Illumos) and FreeBSD are open source, you can study the LX zone implementation to guide enhancements to the Linuxulator. Here’s a step-by-step approach:

===== 1. Study Illumos LX Zone Source Code =====
* '''Location''': The relevant code is in the Illumos gate repository, specifically under &lt;code&gt;usr/src/uts/common/brand/lx/&lt;/code&gt; and related directories. Key files include:
** &lt;code&gt;lx_syscalls.c&lt;/code&gt;: Handles Linux system call emulation.
** &lt;code&gt;lx_cgroups.c&lt;/code&gt;: Implements cgroups support.
** &lt;code&gt;lx_namespace.c&lt;/code&gt;: Manages Linux namespace emulation.
** &lt;code&gt;lx_fanotify.c&lt;/code&gt;: Provides fanotify support.
* '''Key Insight''': Illumos has extended its kernel to natively support these features for LX zones, rather than just translating them to existing Solaris/Illumos mechanisms. This suggests FreeBSD may need a hybrid approach—either adding native support or building a more comprehensive translation layer.

===== 2. Map Illumos Features to FreeBSD =====
* '''cgroups''': Start by reviewing &lt;code&gt;lx_cgroups.c&lt;/code&gt;. You could either:
** Implement a minimal cgroups shim in the Linuxulator that maps to FreeBSD’s &lt;code&gt;rctl&lt;/code&gt; or a new subsystem.
** Port Illumos’s cgroups implementation directly, adapting it to FreeBSD’s kernel architecture.
* '''Namespaces''': Look at &lt;code&gt;lx_namespace.c&lt;/code&gt;. FreeBSD jails and VNET provide a foundation, but you’d need to extend the Linuxulator to handle &lt;code&gt;clone()&lt;/code&gt; and &lt;code&gt;unshare()&lt;/code&gt; with namespace flags, possibly by mapping them to jail-like constructs.
* '''System Calls''': Compare Illumos’s &lt;code&gt;lx_syscalls.c&lt;/code&gt; with FreeBSD’s &lt;code&gt;sys/compat/linux/linux_sysent.c&lt;/code&gt;. Add missing syscalls (e.g., &lt;code&gt;pidfd_open()&lt;/code&gt;, &lt;code&gt;clone3()&lt;/code&gt;) by adapting Illumos’s implementations or writing new ones based on Linux kernel source (e.g., from kernel.org).
* '''Fanotify''': Use &lt;code&gt;lx_fanotify.c&lt;/code&gt; as a model to build a translation layer from &lt;code&gt;fanotify&lt;/code&gt; to &lt;code&gt;kqueue&lt;/code&gt;.

===== 3. Modify FreeBSD Linuxulator =====
* '''Source Location''': FreeBSD’s Linuxulator code is in &lt;code&gt;sys/compat/linux/&lt;/code&gt; in the FreeBSD source tree (e.g., &lt;code&gt;/usr/src/sys/compat/linux/&lt;/code&gt; if you’ve cloned the repo).
* '''Steps''':
# Extend the syscall table (&lt;code&gt;linux_sysent.c&lt;/code&gt;) with missing calls, using Illumos as a reference.
# Add new kernel modules or hooks for cgroups and namespaces, potentially under &lt;code&gt;sys/compat/linux/&lt;/code&gt;.
# Implement fanotify emulation by integrating with &lt;code&gt;kqueue&lt;/code&gt;.
# Test with a minimal systemd binary (e.g., from a lightweight distro like Alpine) in a chroot environment.

==== 4. Test and Iterate =====
* '''Setup''': Use a FreeBSD jail with Linuxulator enabled (e.g., via &lt;code&gt;sysctl compat.linux.emulation=1&lt;/code&gt; and a Linux base system in &lt;code&gt;/compat/linux&lt;/code&gt; or &lt;code&gt;/compat/ubuntu&lt;/code&gt;).
* '''Test Case''': Try running &lt;code&gt;systemd --version&lt;/code&gt; or a simple &lt;code&gt;systemd&lt;/code&gt; init process. Debug failures using &lt;code&gt;ktrace&lt;/code&gt; or &lt;code&gt;truss&lt;/code&gt; to identify missing syscalls or features.
* '''Reference''': Illumos’s LX zone testing scripts (e.g., in &lt;code&gt;usr/src/test/&lt;/code&gt;) can inspire a test suite.

===== 5. Community and Documentation =====
* '''FreeBSD Resources''': Check the FreeBSD Wiki’s Linuxulator page and the &lt;code&gt;linux(4)&lt;/code&gt; man page for current capabilities and known gaps.
* '''Illumos Resources''': The Illumos wiki and SmartOS documentation provide insights into LX zone internals.
* '''Collaboration''': Engage with the FreeBSD and Illumos communities (e.g., via mailing lists like &lt;code&gt;freebsd-hackers@&lt;/code&gt; or the Illumos IRC) to validate your approach and get feedback.

==== Challenges and Considerations ====
* '''Philosophical Differences''': FreeBSD avoids adopting Linux-specific features natively (e.g., cgroups) to maintain its distinct identity. You may need to argue for a compatibility-only approach rather than kernel bloat.
* '''Performance''': Emulating complex features like cgroups and namespaces could introduce overhead, unlike Illumos’s native integration.
* '''Upstream Acceptance''': Contributions to FreeBSD must align with project goals. Systemd support might face resistance unless justified by broad use cases (e.g., Docker compatibility).

==== Starting Point ====
Clone the FreeBSD source (&lt;code&gt;git clone https://git.freebsd.org/src.git&lt;/code&gt;) and Illumos gate (&lt;code&gt;git clone https://github.com/illumos/illumos-gate.git&lt;/code&gt;). Begin by prototyping cgroups support—perhaps a minimal shim in &lt;code&gt;sys/compat/linux/&lt;/code&gt;—and test it with a systemd binary. Use Illumos’s &lt;code&gt;lx_cgroups.c&lt;/code&gt; as a blueprint, adapting it to FreeBSD’s kernel structure (e.g., replacing Illumos’s &lt;code&gt;zone_t&lt;/code&gt; with FreeBSD’s &lt;code&gt;struct prison&lt;/code&gt; for jail integration).

This is a significant undertaking, but with both projects being open source, you have the raw materials to bridge the gap. Good luck, and feel free to ask if you need more specific guidance as you dive in!

== [[Podman]] ==
{{:Podman}}

== [[WikiJS]] ==
{{:WikiJS}}

== [[TrueNAS]] ==
{{:TrueNAS}}

== [[XigmaNAS]] ==
{{:XigmaNAS}}

== 3d printer ==
{{:3d printer}}

== Formatting ==
* https://www.mediawiki.org/wiki/Help:Formatting
== Extension Setup ==
old MediaWiki needs old PreToClip version
&lt;pre&gt;
# cd 
# git clone  https://gerrit.wikimedia.org/r/mediawiki/extensions/PreToClip
# cd PreToClip
PreToClip# git checkout 924a129
# cd ; mv PreToClip /var/www/html/extensions/
# tail -n2 /var/www/html/LocalSettings.php
wfLoadExtension( 'PreToClip' );
&lt;pre&gt;

== Getting started ==
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide]
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list]
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]</text>
      <sha1>hyd3anz9hhu03mdueysadhobjgoe8wm</sha1>
    </revision>
  </page>
</mediawiki>
