Solved Ubuntu 24.10 Oracular Oriole empty bin directory in jail

i just installed Ubuntu 24.10 Oracular Oriole in a jail
and the bin and usr/bin directories are empty

i created a new debootstrap script for oracular
and then ran debootstrap to install 24.10

Code:
doas debootstrap --arch=amd64 --no-check-gpg oracular /usr/local/jails/linux/ubuntu http://archive.ubuntu.com/ubuntu/

start the ubuntu jail

Code:
doas service jail onestart ubuntu

enter the jail

Code:
doas jexec ubuntu /bin/bash

Code:
jexec: execvp: /bin/bash: No such file or directory

no /bin/bash or /bin/sh

list the bin directory

Code:
ls -l /usr/local/jails/linux/ubuntu/bin

Code:
lrwxr-xr-x  1 root wheel 7 30 Oct 13:06 /usr/local/jails/linux/ubuntu/bin -> usr/bin

Code:
ls -l /usr/local/jails/linux/ubuntu/usr/bin

Code:
-rwxr-xr-x  1 root wheel 14568  7 Oct 09:35 locale-check

ubuntu also has a mini root fs you can download and extract into a jail or the linuxulator
ill have to see if that works for 24.10

but at the moment it looks like the end of Ubuntu in Jails and the Linuxulator

oracular debootstrap script

Code:
case $ARCH in
  amd64|i386)
    case $SUITE in
      gutsy|hardy|intrepid|jaunty|karmic|lucid|lunar|mantic|maverick|natty|oneiric|oracular|precise|quantal|raring|saucy|utopic|vivid|wily|yakkety|zesty)
    default_mirror http://old-releases.ubuntu.com/ubuntu
      ;;
      *)
    default_mirror http://archive.ubuntu.com/ubuntu
    ;;
    esac
    ;;
  sparc)
    case $SUITE in
      gutsy)
    default_mirror http://old-releases.ubuntu.com/ubuntu
    ;;
      *)
    default_mirror http://ports.ubuntu.com/ubuntu-ports
    ;;
    esac
    ;;
  *)
    default_mirror http://ports.ubuntu.com/ubuntu-ports
    ;;
esac
mirror_style release
download_style apt
finddebs_style from-indices
variants - buildd fakechroot minbase
keyring /usr/local/share/keyrings/ubuntu-archive-keyring.gpg

if doing_variant fakechroot; then
    test "$FAKECHROOT" = "true" || error 1 FAKECHROOTREQ "This variant requires fakechroot environment to be started"
fi

case $ARCH in
    alpha|ia64) LIBC="libc6.1" ;;
    kfreebsd-*) LIBC="libc0.1" ;;
    hurd-*)     LIBC="libc0.3" ;;
    *)          LIBC="libc6" ;;
esac

case $SUITE in
    gutsy|hardy|intrepid|jaunty|karmic|lucid|lunar|mantic|maverick|natty|oneiric|oracular|precise|quantal|raring|saucy|trusty|utopic|vivid|wily|xenial|yakkety|zesty|artful|bionic|cosmic|disco|eoan|focal|groovy|hirsute) ;;
    *)
        # impish+ will use zstd compression, check if supported
        dpkg_zstd="$(dpkg-deb --help 2>/dev/null | grep ' zstd,' || :)"
        if [ -z "$EXTRACTOR_OVERRIDE" ] && [ -z "$dpkg_zstd" ]; then
            info CHOSENEXTRACTOR "%s uses zstd compression, setting --extractor=ar option" "$SUITE"
            export EXTRACTOR_OVERRIDE=ar
        fi
    ;;
esac

work_out_debs () {
    required="$(get_debs Priority: required)"

    if doing_variant - || doing_variant fakechroot; then
        #required="$required $(get_debs Priority: important)"
        #  ^^ should be getting debconf here somehow maybe
        base="$(get_debs Priority: important)"
    elif doing_variant buildd; then
        base="apt build-essential"
    elif doing_variant minbase; then
        base="apt"
    fi

    if doing_variant fakechroot; then
        # ldd.fake needs binutils
        required="$required binutils"
    fi

    case $MIRRORS in
        https://*)
        case "$CODENAME" in
            gutsy|hardy|intrepid|jaunty|karmic|lucid|lunar|mantic|maverick|natty|oneiric|precise|quantal|raring|saucy|trusty|utopic|vivid|wily|xenial|yakkety|zesty)
            base="$base apt-transport-https ca-certificates"
            ;;
            *)
            base="$base ca-certificates"
            ;;
        esac
        ;;
    esac

    # do not install usrmerge in fresh bootstraps
    # but do print it for germinate to accept it into minimal
    if [ "$WHAT_TO_DO" = "finddebs printdebs kill_target" ]; then
        case "$CODENAME" in
            # "merged-usr" blacklist for past releases
            gutsy|hardy|intrepid|jaunty|karmic|lucid|lunar|mantic|maverick|natty|oneiric|precise|quantal|raring|saucy|trusty|utopic|vivid|wily|xenial|yakkety|zesty|artful|bionic|cosmic|disco|eoan|focal|groovy)
            ;;
            hirsute)
                # keep hirsute buildd chroots split-usr to allow for escape hatch
                if ! doing_variant buildd; then
                    if [ -z "$MERGED_USR" ] || [ "$MERGED_USR" = "yes" ]; then
                        base="$base usrmerge"
                    fi
                fi
                ;;
            *)
                # all future series post hirsute use merged-usr in buildd chroots too
                if [ -z "$MERGED_USR" ] || [ "$MERGED_USR" = "yes" ]; then
                    base="$base usrmerge"
                fi
                ;;
        esac
    fi
}

first_stage_install () {
    case "$CODENAME" in
        # "merged-usr" blacklist for past releases
        gutsy|hardy|intrepid|jaunty|karmic|lucid|lunar|mantic|maverick|natty|oneiric|precise|quantal|raring|saucy|trusty|utopic|vivid|wily|xenial|yakkety|zesty|artful|bionic|cosmic)
            [ -z "$MERGED_USR" ] && MERGED_USR="no"
            ;;
        disco|eoan|focal|groovy)
            # see https://bugs.debian.org/838388
            EXTRACT_DEB_TAR_OPTIONS="$EXTRACT_DEB_TAR_OPTIONS -k"
            ;;
        hirsute)
            # keep hirsute buildd chroots split-usr to allow for escape hatch
            if [ -z "$MERGED_USR" ]; then
                if doing_variant buildd; then
                    MERGED_USR="no"
                else
                    MERGED_USR="yes"
                fi
            fi
            # see https://bugs.debian.org/838388
            EXTRACT_DEB_TAR_OPTIONS="$EXTRACT_DEB_TAR_OPTIONS -k"
            ;;
        *)
            # all future series post hirsute use merged-usr in buildd chroots too
            [ -z "$MERGED_USR" ] && MERGED_USR="yes"
            # see https://bugs.debian.org/838388
            EXTRACT_DEB_TAR_OPTIONS="$EXTRACT_DEB_TAR_OPTIONS -k"
            ;;
    esac

    setup_merged_usr
    extract $required

    mkdir -p "$TARGET/var/lib/dpkg"
    : >"$TARGET/var/lib/dpkg/status"
    : >"$TARGET/var/lib/dpkg/available"

    setup_etc
    if [ ! -e "$TARGET/etc/fstab" ]; then
        echo '# UNCONFIGURED FSTAB FOR BASE SYSTEM' > "$TARGET/etc/fstab"
        chown 0:0 "$TARGET/etc/fstab"; chmod 644 "$TARGET/etc/fstab"
    fi

    setup_devices

        if doing_variant fakechroot || [ "$CONTAINER" = "docker" ]; then
        setup_proc_symlink
    fi
}

second_stage_install () {
    in_target /bin/true

    setup_dynamic_devices

    x_feign_install () {
        local pkg="$1"
        local deb="$(debfor $pkg)"
        local ver="$(in_target dpkg-deb -f "$deb" Version)"

        mkdir -p "$TARGET/var/lib/dpkg/info"

        echo \
"Package: $pkg
Version: $ver
Maintainer: unknown
Status: install ok installed" >> "$TARGET/var/lib/dpkg/status"

        touch "$TARGET/var/lib/dpkg/info/${pkg}.list"
    }

    x_feign_install dpkg

    x_core_install () {
        smallyes '' | in_target dpkg --force-depends --install $(debfor "$@")
    }

    p () {
        baseprog="$(($baseprog + ${1:-1}))"
    }

    if ! doing_variant fakechroot; then
        setup_proc
        in_target /sbin/ldconfig
    fi

    DEBIAN_FRONTEND=noninteractive
    DEBCONF_NONINTERACTIVE_SEEN=true
    export DEBIAN_FRONTEND DEBCONF_NONINTERACTIVE_SEEN

    baseprog=0
    bases=7

    p; progress $baseprog $bases INSTCORE "Installing core packages" #1
    info INSTCORE "Installing core packages..."

    p; progress $baseprog $bases INSTCORE "Installing core packages" #2
    ln -sf mawk "$TARGET/usr/bin/awk"
    x_core_install base-passwd
    x_core_install base-files
    p; progress $baseprog $bases INSTCORE "Installing core packages" #3
    x_core_install dpkg

    if [ ! -e "$TARGET/etc/localtime" ]; then
        ln -sf /usr/share/zoneinfo/UTC "$TARGET/etc/localtime"
    fi

    if doing_variant fakechroot; then
        install_fakechroot_tools
    fi

    p; progress $baseprog $bases INSTCORE "Installing core packages" #4
    x_core_install $LIBC

    p; progress $baseprog $bases INSTCORE "Installing core packages" #5
    x_core_install perl-base

    p; progress $baseprog $bases INSTCORE "Installing core packages" #6
    rm "$TARGET/usr/bin/awk"
    x_core_install mawk

    p; progress $baseprog $bases INSTCORE "Installing core packages" #7
    if doing_variant -; then
        x_core_install debconf
    fi

    baseprog=0
    bases=$(set -- $required; echo $#)

    info UNPACKREQ "Unpacking required packages..."

    exec 7>&1

    smallyes '' |
        (repeatn 5 in_target_failmsg UNPACK_REQ_FAIL_FIVE "Failure while unpacking required packages.  This will be attempted up to five times." "" \
        dpkg --status-fd 8 --force-depends --unpack $(debfor $required) 8>&1 1>&7 || echo EXITCODE $?) |
        dpkg_progress $baseprog $bases UNPACKREQ "Unpacking required packages" UNPACKING

    info CONFREQ "Configuring required packages..."

    if doing_variant fakechroot && [ -e "$TARGET/var/lib/dpkg/info/initscripts.postinst" ]
    then
        # fix initscripts postinst (no mounting possible, and wrong if condition)
        sed -i '/dpkg.*--compare-versions/ s/\<lt\>/lt-nl/' "$TARGET/var/lib/dpkg/info/initscripts.postinst"
    fi

    echo \
"#!/bin/sh
exit 101" > "$TARGET/usr/sbin/policy-rc.d"
    chmod 755 "$TARGET/usr/sbin/policy-rc.d"

    mv "$TARGET/sbin/start-stop-daemon" "$TARGET/sbin/start-stop-daemon.REAL"
    echo \
"#!/bin/sh
echo
echo \"Warning: Fake start-stop-daemon called, doing nothing\"" > "$TARGET/sbin/start-stop-daemon"
    chmod 755 "$TARGET/sbin/start-stop-daemon"

    if [ -x "$TARGET/sbin/initctl" ]; then
      mv "$TARGET/sbin/initctl" "$TARGET/sbin/initctl.REAL"
      echo \
"#!/bin/sh
if [ \"\$1\" = version ]; then exec /sbin/initctl.REAL \"\$@\"; fi
echo
echo \"Warning: Fake initctl called, doing nothing\"" > "$TARGET/sbin/initctl"
      chmod 755 "$TARGET/sbin/initctl"
    fi

    setup_dselect_method apt

    smallyes '' |
        (in_target_failmsg CONF_REQ_FAIL "Failure while configuring required packages." "" \
        dpkg --status-fd 8 --configure --pending --force-configure-any --force-depends 8>&1 1>&7 || echo EXITCODE $?) |
        dpkg_progress $baseprog $bases CONFREQ "Configuring required packages" CONFIGURING

    baseprog=0
    bases="$(set -- $base; echo $#)"

    info UNPACKBASE "Unpacking the base system..."

    setup_available $required $base
    done_predeps=
    while predep=$(get_next_predep); do
        # We have to resolve dependencies of pre-dependencies manually because
        # dpkg --predep-package doesn't handle this.
        predep=$(without "$(without "$(resolve_deps $predep)" "$required")" "$done_predeps")
        # XXX: progress is tricky due to how dpkg_progress works
        # -- cjwatson 2009-07-29
        # This step sometimes fails due to some missing functionality in Linuxulator.  Just ignore it.
        set +e
        p; smallyes '' |
        in_target dpkg --force-overwrite --force-confold --skip-same-version --install $(debfor $predep)
        rc=$?
        base=$(without "$base" "$predep")
        done_predeps="$done_predeps $predep"

        if [ $rc != 0 ]; then
            warning FREEBSD_00 "Applying FreeBSD-specific workaround..."
            # ... for "Failed to mount /etc/machine-id: Bad address" with Focal.
            in_target truncate -s0 /var/lib/dpkg/info/systemd.postinst
            in_target dpkg --configure systemd
        fi
        set -e
    done

    if [ -n "$base" ]; then
        smallyes '' |
            (repeatn 5 in_target_failmsg INST_BASE_FAIL_FIVE "Failure while installing base packages.  This will be re-attempted up to five times." "" \
            dpkg --status-fd 8 --force-overwrite --force-confold --skip-same-version --unpack $(debfor $base) 8>&1 1>&7 || echo EXITCODE $?) |
            dpkg_progress $baseprog $bases UNPACKBASE "Unpacking base system" UNPACKING

        info CONFBASE "Configuring the base system..."

        # This step sometimes fails due to some missing functionality in Linuxulator.  Just ignore it.
        set +e
        smallyes '' |
            (repeatn 5 in_target_failmsg CONF_BASE_FAIL_FIVE "Failure while configuring base packages.  This will be re-attempted up to five times." "" \
            dpkg --status-fd 8 --force-confold --skip-same-version --configure -a 8>&1 1>&7 || echo EXITCODE $?) |
            dpkg_progress $baseprog $bases CONFBASE "Configuring base system" CONFIGURING
        set -e
    fi

    if [ -x "$TARGET/sbin/initctl.REAL" ]; then
        mv "$TARGET/sbin/initctl.REAL" "$TARGET/sbin/initctl"
    fi
    mv "$TARGET/sbin/start-stop-daemon.REAL" "$TARGET/sbin/start-stop-daemon"
    rm -f "$TARGET/usr/sbin/policy-rc.d"

    echo \
"# Workaround for Linuxulator missing mremap(2) support; without it,
# apt(8) fails like this:
# E: Dynamic MMap ran out of room. Please increase the size of APT::Cache-Start.
APT::Cache-Start 251658240;" >> "$TARGET/etc/apt/apt.conf.d/00freebsd"

    progress $bases $bases CONFBASE "Configuring base system"
    info BASESUCCESS "Base system installed successfully."
}

shortened tree output of ubuntu jail directory

Code:
ubuntu
├── bin -> usr/bin
├── usr
│   ├── bin
│   │   └── locale-check
 
ubuntu base



fetch the ubuntu 24.10 base image

Code:
fetch 'https://cdimage.ubuntu.com/ubuntu-base/releases/24.10/release/ubuntu-base-24.10-base-amd64.tar.gz'

create the zfs datasets for the jail

Code:
sudo zfs create zroot/jails
sudo zfs set mountpoint=/usr/local/jails zroot/jails
sudo zfs create zroot/jails/linux
sudo zfs set mountpoint=/usr/local/jails/linux zroot/jails/linux
sudo zfs create zroot/jails/linux/ubuntu
sudo zfs set mountpoint=/usr/local/jails/linux/ubuntu zroot/jails/linux/ubuntu

extract the tar.gz into the jail

Code:
tar xvfp ubuntu-base-24.10-base-amd64.tar.gz -C /usr/local/jails/linux/ubuntu

Code:
/etc/jail.conf.d/ubuntu.conf

Code:
ubuntu {
    # hostname/path
    host.hostname = "${name}";
    path = "/usr/local/jails/linux/${name}";

    # permissions
    allow.raw_sockets;
    exec.clean;
    persist;
    sysvmsg=inherit;
    sysvsem=inherit;
    sysvshm=inherit;
    enforce_statfs=1;

    # permissions
    devfs_ruleset=7;

    # network
    ip4.addr="lo1|10.10.0.5/24";

    # mount
    mount += "devfs           $path/dev      devfs           rw                      0       0";
    mount += "tmpfs           $path/dev/shm  tmpfs           rw,size=1g,mode=1777    0       0";
    mount += "fdescfs         $path/dev/fd   fdescfs         rw,linrdlnk             0       0";
    mount += "linprocfs       $path/proc     linprocfs       rw                      0       0";
    mount += "linsysfs        $path/sys      linsysfs        rw                      0       0";
    mount += "/tmp            $path/tmp      nullfs          rw                      0       0";
    mount += "/home           $path/home     nullfs          rw                      0       0";
    # mount the video directory from the host to the jail after creating it
    #mount += "/home/djwilcox/video $path/home/djwilcox/video  nullfs rw      0       0";
    # uncomment the line below for the xdg runtime directory for wayland after creating it
    #mount += "/var/run/xdg/djwilcox $path/run/user/1001  nullfs rw            0       0";
}

start the jail

Code:
service jail onestart ubuntu

enter the jail

Code:
doas jexec ubuntu /bin/bash

dns set up in the jail

Code:
echo nameserver 8.8.8.8 > /etc/resolv.conf

apt fix

Code:
printf "APT::Cache-Start 251658240;" > /etc/apt/apt.conf.d/00aptitude

set the time

Code:
printf "%b\n" "0.0 0 0.0\n0\nUTC" > /etc/adjtime

apt update and upgrade

Code:
apt update
apt upgrade

install sudo

Code:
apt install sudo

hostname fix

Code:
apt install vim-tiny

Code:
vi /etc/hosts

Code:
127.0.0.1       localhost
127.0.0.1       ubuntu
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

thats the progress so far

the ubuntu base doesnt have a lot of utils you would normally expect
like ping, less etc so they have to be installed

will see how i get on and if i can get ubuntu base working

looks like debootstrap has issues with the latest version of ubuntu
and my guess is the debootstrap install script needs to be updated
 
locales install

Code:
apt install locales

Code:
vi /etc/default/locale

Code:
LANG=en_GB.UTF-8
LANGUAGE=
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE=C
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=

locale-gen

Code:
locale-gen
 
looks like Ubuntu cant be installed on Freebsd in a jail or the linuxulator anymore

ubuntu 24.10 doesnt work with debootstrap
the bin directory is empty

installing ubuntu base craps out due proc, sys and systemd-tmpfiles errors below

ffmpeg install

Code:
sudo apt install ffmpeg

Code:
⚠️ /proc/ is not mounted. This is not a supported mode of operation. Please fix
your invocation environment to mount /proc/ and /sys/ properly. Proceeding anyway.
Your mileage may vary.
⚠️ /proc/ is not mounted. This is not a supported mode of operation. Please fix
your invocation environment to mount /proc/ and /sys/ properly. Proceeding anyway.
Your mileage may vary.
⚠️ /proc/ is not mounted. This is not a supported mode of operation. Please fix
your invocation environment to mount /proc/ and /sys/ properly. Proceeding anyway.
Your mileage may vary.
/proc/ is not mounted, but required for successful operation of systemd-tmpfiles. Please mount /proc/. Alternatively, consider using the --root= or --image= switches.
Failed to take /etc/passwd lock: Invalid argument
dpkg: error processing package systemd (--configure):
 installed systemd package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 systemd
Error: Sub-process /usr/bin/dpkg returned an error code (1)

ffmpeg didnt install

check whats mounted

Code:
mount

proc and sys mounted

Code:
zroot/jails/linux/ubuntu on / type zfs (rw,noatime)
devfs on /dev type devfs (rw)
tmpfs on /dev/shm type tmpfs (rw)
fdescfs on /dev/fd type fdescfs (rw)
proc on /proc type proc (rw)
/sys on /sys type sysfs (rw)
/tmp on /tmp type nullfs (rw,nosuid,noatime)
/home on /home type nullfs (rw,noatime)
/home/djwilcox/video on /home/djwilcox/video type nullfs (rw,noatime)
/var/run/xdg/djwilcox on /run/user/1001 type nullfs (rw,noatime)
 
found a fix


Code:
sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_silent
sudo mkdir /var/lib/dpkg/info
sudo apt-get update
sudo apt-get -f install
sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_silent
sudo rm -rf /var/lib/dpkg/info
sudo mv /var/lib/dpkg/info_silent /var/lib/dpkg/info
sudo apt-get update
sudo apt-get upgrade

Code:
sudo apt install ffmpeg

Code:
ffmpeg -version

Code:
ffmpeg version 7.0.2-3ubuntu1 Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 14 (Ubuntu 14.2.0-2ubuntu1)
configuration: --prefix=/usr --extra-version=3ubuntu1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
libavutil      59.  8.100 / 59.  8.100
libavcodec     61.  3.100 / 61.  3.100
libavformat    61.  1.100 / 61.  1.100
libavdevice    61.  1.100 / 61.  1.100
libavfilter    10.  1.100 / 10.  1.100
libswscale      8.  1.100 /  8.  1.100
libswresample   5.  1.100 /  5.  1.100
libpostproc    58.  1.100 / 58.  1.100
 
nvidia driver install

Code:
sudo apt install kmod

Code:
sudo ./NVIDIA-Linux-x86_64-550.120.run --install-compat32-libs --no-nvidia-modprobe --no-backup --no-kernel-module --no-x-check --no-nouveau-check --no-cc-version-check --no-kernel-module-source --no-check-for-alternate-installs --install-libglvnd --skip-depmod --no-systemd

Code:
nvidia-smi

cant paste with firefox for some reason
so typing output by hand

NVIDIA_SMI 550.120 driver version 550.120 Cuda 12.4
 
qt5ct opened as a wayland application in the jail and displayed on the freebsd host

20241030_18h04m29s_grim.png
 
it does not work for me...

root@marietto:/var/lib/dpkg# apt install gimp

Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze... Fatto
Lettura informazioni sullo stato... Fatto
I seguenti pacchetti aggiuntivi saranno inoltre installati:
fonts-liberation2 gimp-data graphviz libamd3 libann0 libbabl-0.1-0 libcamd3 libccolamd3 libcdt5
libcgraph6 libcholmod5 libcolamd3 libgegl-0.4-0t64 libgegl-common libgimp2.0t64 libgts-0.7-5t64
libgts-bin libgvc6 libgvpr2 libimath-3-1-29t64 liblab-gamut1 libmng2 libmypaint-1.5-1
libmypaint-common libopenexr-3-1-30 libpathplan4 libsuitesparseconfig7 libumfpack6
Pacchetti suggeriti:
gimp-help-en | gimp-help gimp-data-extras gsfonts graphviz-doc
I seguenti pacchetti NUOVI saranno installati:
fonts-liberation2 gimp gimp-data graphviz libamd3 libann0 libbabl-0.1-0 libcamd3 libccolamd3 libcdt5
libcgraph6 libcholmod5 libcolamd3 libgegl-0.4-0t64 libgegl-common libgimp2.0t64 libgts-0.7-5t64
libgts-bin libgvc6 libgvpr2 libimath-3-1-29t64 liblab-gamut1 libmng2 libmypaint-1.5-1
libmypaint-common libopenexr-3-1-30 libpathplan4 libsuitesparseconfig7 libumfpack6
0 aggiornati, 29 installati, 0 da rimuovere e 0 non aggiornati.
È necessario scaricare 29,4 MB di archivi.
Dopo quest'operazione, verranno occupati 146 MB di spazio su disco.
Continuare? [S/n] s
Scaricamento di:1 http://it.archive.ubuntu.com/ubuntu noble/universe amd64 fonts-liberation2 all 1:2.1.5-3 [3.418 B]
Scaricamento di:2 http://it.archive.ubuntu.com/ubuntu noble/universe amd64 libbabl-0.1-0 amd64 1:0.1.108-1 [456 kB]
Scaricamento di:3 http://it.archive.ubuntu.com/ubuntu noble/universe amd64 libimath-3-1-29t64 amd64 3.1.9-3.1ubuntu2 [72,2 kB]
Scaricamento di:4 http://it.archive.ubuntu.com/ubuntu noble/universe amd64 libopenexr-3-1-30 amd64 3.1.5-5.1build3 [1.004 kB]
Scaricamento di:5 http://it.archive.ubuntu.com/ubuntu noble/main amd64 libsuitesparseconfig7 amd64 1:7.6.1+dfsg-1build1 [12,9 kB]
Scaricamento di:6 http://it.archive.ubuntu.com/ubuntu noble/universe amd64 libamd3 amd64 1:7.6.1+dfsg-1build1 [27,2 kB]
Scaricamento di:7 http://it.archive.ubuntu.com/ubuntu noble/universe amd64 libcamd3 amd64 1:7.6.1+dfsg-1build1 [23,8 kB]
Scaricamento di:8 http://it.archive.ubuntu.com/ubuntu noble/universe amd64 libccolamd3 amd64 1:7.6.1+dfsg-1build1 [25,9 kB]
Scaricamento di:9 http://it.archive.ubuntu.com/ubuntu noble/main amd64 libcolamd3 amd64 1:7.6.1+dfsg-1build1 [19,4 kB]
Scaricamento di:10 http://it.archive.ubuntu.com/ubuntu noble/universe amd64 libcholmod5 amd64 1:7.6.1+dfsg-1build1 [667 kB]
Scaricamento di:11 http://it.archive.ubuntu.com/ubuntu noble/universe amd64 libumfpack6 amd64 1:7.6.1+dfsg-1build1 [268 kB]
Scaricamento di:12 http://it.archive.ubuntu.com/ubuntu noble/universe amd64 libgegl-common all 1:0.4.48-2.4build2 [837 kB]
Scaricamento di:13 http://it.archive.ubuntu.com/ubuntu noble/universe amd64 libgegl-0.4-0t64 amd64 1:0.4.48-2.4build2 [1.983 kB]
Scaricamento di:14 http://it.archive.ubuntu.com/ubuntu noble-updates/universe amd64 libgimp2.0t64 amd64 2.10.36-3ubuntu0.24.04.1 [898 kB]
Scaricamento di:15 http://it.archive.ubuntu.com/ubuntu noble-updates/universe amd64 gimp-data all 2.10.36-3ubuntu0.24.04.1 [14,3 MB]
Scaricamento di:16 http://it.archive.ubuntu.com/ubuntu noble/universe amd64 libann0 amd64 1.1.2+doc-9build1 [25,5 kB]
Scaricamento di:17 http://it.archive.ubuntu.com/ubuntu noble-updates/universe amd64 libcdt5 amd64 2.42.2-9ubuntu0.1 [21,6 kB]
Scaricamento di:18 http://it.archive.ubuntu.com/ubuntu noble-updates/universe amd64 libcgraph6 amd64 2.42.2-9ubuntu0.1 [44,6 kB]
Scaricamento di:19 http://it.archive.ubuntu.com/ubuntu noble/universe amd64 libgts-0.7-5t64 amd64 0.7.6+darcs121130-5.2build1 [161 kB]
Scaricamento di:20 http://it.archive.ubuntu.com/ubuntu noble-updates/universe amd64 libpathplan4 amd64 2.42.2-9ubuntu0.1 [24,0 kB]
Scaricamento di:21 http://it.archive.ubuntu.com/ubuntu noble-updates/universe amd64 libgvc6 amd64 2.42.2-9ubuntu0.1 [716 kB]
Scaricamento di:22 http://it.archive.ubuntu.com/ubuntu noble-updates/universe amd64 libgvpr2 amd64 2.42.2-9ubuntu0.1 [187 kB]
Scaricamento di:23 http://it.archive.ubuntu.com/ubuntu noble-updates/universe amd64 liblab-gamut1 amd64 2.42.2-9ubuntu0.1 [1.886 kB]
Scaricamento di:24 http://it.archive.ubuntu.com/ubuntu noble-updates/universe amd64 graphviz amd64 2.42.2-9ubuntu0.1 [642 kB]
Scaricamento di:25 http://it.archive.ubuntu.com/ubuntu noble/universe amd64 libmng2 amd64 2.0.3+dfsg-4build1 [188 kB]
Scaricamento di:26 http://it.archive.ubuntu.com/ubuntu noble/universe amd64 libmypaint-common all 1.6.0-2build2 [156 kB]
Scaricamento di:27 http://it.archive.ubuntu.com/ubuntu noble/universe amd64 libmypaint-1.5-1 amd64 1.6.0-2build2 [54,7 kB]
Scaricamento di:28 http://it.archive.ubuntu.com/ubuntu noble-updates/universe amd64 gimp amd64 2.10.36-3ubuntu0.24.04.1 [4.680 kB]
Scaricamento di:29 http://it.archive.ubuntu.com/ubuntu noble/universe amd64 libgts-bin amd64 0.7.6+darcs121130-5.2build1 [44,0 kB]
Recuperati 29,4 MB in 13s (2.217 kB/s)
dpkg-preconfigure: impossibile riaprire stdin: No such file or directory
E: Impossibile scrivere il registro (È /dev/pts montato?) - posix_openpt (2: File o directory non esistente)
Selezionato il pacchetto fonts-liberation2 non precedentemente selezionato.
(Lettura del database... 176516 file e directory attualmente installati.)
Preparativi per estrarre .../00-fonts-liberation2_1%3a2.1.5-3_all.deb...
Estrazione di fonts-liberation2 (1:2.1.5-3)...
Selezionato il pacchetto libbabl-0.1-0:amd64 non precedentemente selezionato.
Preparativi per estrarre .../01-libbabl-0.1-0_1%3a0.1.108-1_amd64.deb...
Estrazione di libbabl-0.1-0:amd64 (1:0.1.108-1)...
Selezionato il pacchetto libimath-3-1-29t64:amd64 non precedentemente selezionato.
Preparativi per estrarre .../02-libimath-3-1-29t64_3.1.9-3.1ubuntu2_amd64.deb...
Estrazione di libimath-3-1-29t64:amd64 (3.1.9-3.1ubuntu2)...
Selezionato il pacchetto libopenexr-3-1-30:amd64 non precedentemente selezionato.
Preparativi per estrarre .../03-libopenexr-3-1-30_3.1.5-5.1build3_amd64.deb...
Estrazione di libopenexr-3-1-30:amd64 (3.1.5-5.1build3)...
Selezionato il pacchetto libsuitesparseconfig7:amd64 non precedentemente selezionato.
Preparativi per estrarre .../04-libsuitesparseconfig7_1%3a7.6.1+dfsg-1build1_amd64.deb...
Estrazione di libsuitesparseconfig7:amd64 (1:7.6.1+dfsg-1build1)...
Selezionato il pacchetto libamd3:amd64 non precedentemente selezionato.
Preparativi per estrarre .../05-libamd3_1%3a7.6.1+dfsg-1build1_amd64.deb...
Estrazione di libamd3:amd64 (1:7.6.1+dfsg-1build1)...
Selezionato il pacchetto libcamd3:amd64 non precedentemente selezionato.
Preparativi per estrarre .../06-libcamd3_1%3a7.6.1+dfsg-1build1_amd64.deb...
Estrazione di libcamd3:amd64 (1:7.6.1+dfsg-1build1)...
Selezionato il pacchetto libccolamd3:amd64 non precedentemente selezionato.
Preparativi per estrarre .../07-libccolamd3_1%3a7.6.1+dfsg-1build1_amd64.deb...
Estrazione di libccolamd3:amd64 (1:7.6.1+dfsg-1build1)...
Selezionato il pacchetto libcolamd3:amd64 non precedentemente selezionato.
Preparativi per estrarre .../08-libcolamd3_1%3a7.6.1+dfsg-1build1_amd64.deb...
Estrazione di libcolamd3:amd64 (1:7.6.1+dfsg-1build1)...
Selezionato il pacchetto libcholmod5:amd64 non precedentemente selezionato.
Preparativi per estrarre .../09-libcholmod5_1%3a7.6.1+dfsg-1build1_amd64.deb...
Estrazione di libcholmod5:amd64 (1:7.6.1+dfsg-1build1)...
Selezionato il pacchetto libumfpack6:amd64 non precedentemente selezionato.
Preparativi per estrarre .../10-libumfpack6_1%3a7.6.1+dfsg-1build1_amd64.deb...
Estrazione di libumfpack6:amd64 (1:7.6.1+dfsg-1build1)...
Selezionato il pacchetto libgegl-common non precedentemente selezionato.
Preparativi per estrarre .../11-libgegl-common_1%3a0.4.48-2.4build2_all.deb...
Estrazione di libgegl-common (1:0.4.48-2.4build2)...
Selezionato il pacchetto libgegl-0.4-0t64:amd64 non precedentemente selezionato.
Preparativi per estrarre .../12-libgegl-0.4-0t64_1%3a0.4.48-2.4build2_amd64.deb...
Estrazione di libgegl-0.4-0t64:amd64 (1:0.4.48-2.4build2)...
Selezionato il pacchetto libgimp2.0t64:amd64 non precedentemente selezionato.
Preparativi per estrarre .../13-libgimp2.0t64_2.10.36-3ubuntu0.24.04.1_amd64.deb...
Estrazione di libgimp2.0t64:amd64 (2.10.36-3ubuntu0.24.04.1)...
Selezionato il pacchetto gimp-data non precedentemente selezionato.
Preparativi per estrarre .../14-gimp-data_2.10.36-3ubuntu0.24.04.1_all.deb...
Estrazione di gimp-data (2.10.36-3ubuntu0.24.04.1)...
Selezionato il pacchetto libann0 non precedentemente selezionato.
Preparativi per estrarre .../15-libann0_1.1.2+doc-9build1_amd64.deb...
Estrazione di libann0 (1.1.2+doc-9build1)...
Selezionato il pacchetto libcdt5:amd64 non precedentemente selezionato.
Preparativi per estrarre .../16-libcdt5_2.42.2-9ubuntu0.1_amd64.deb...
Estrazione di libcdt5:amd64 (2.42.2-9ubuntu0.1)...
Selezionato il pacchetto libcgraph6:amd64 non precedentemente selezionato.
Preparativi per estrarre .../17-libcgraph6_2.42.2-9ubuntu0.1_amd64.deb...
Estrazione di libcgraph6:amd64 (2.42.2-9ubuntu0.1)...
Selezionato il pacchetto libgts-0.7-5t64:amd64 non precedentemente selezionato.
Preparativi per estrarre .../18-libgts-0.7-5t64_0.7.6+darcs121130-5.2build1_amd64.deb...
Estrazione di libgts-0.7-5t64:amd64 (0.7.6+darcs121130-5.2build1)...
Selezionato il pacchetto libpathplan4:amd64 non precedentemente selezionato.
Preparativi per estrarre .../19-libpathplan4_2.42.2-9ubuntu0.1_amd64.deb...
Estrazione di libpathplan4:amd64 (2.42.2-9ubuntu0.1)...
Selezionato il pacchetto libgvc6 non precedentemente selezionato.
Preparativi per estrarre .../20-libgvc6_2.42.2-9ubuntu0.1_amd64.deb...
Estrazione di libgvc6 (2.42.2-9ubuntu0.1)...
Selezionato il pacchetto libgvpr2:amd64 non precedentemente selezionato.
Preparativi per estrarre .../21-libgvpr2_2.42.2-9ubuntu0.1_amd64.deb...
Estrazione di libgvpr2:amd64 (2.42.2-9ubuntu0.1)...
Selezionato il pacchetto liblab-gamut1:amd64 non precedentemente selezionato.
Preparativi per estrarre .../22-liblab-gamut1_2.42.2-9ubuntu0.1_amd64.deb...
Estrazione di liblab-gamut1:amd64 (2.42.2-9ubuntu0.1)...
Selezionato il pacchetto graphviz non precedentemente selezionato.
Preparativi per estrarre .../23-graphviz_2.42.2-9ubuntu0.1_amd64.deb...
Estrazione di graphviz (2.42.2-9ubuntu0.1)...
Selezionato il pacchetto libmng2:amd64 non precedentemente selezionato.
Preparativi per estrarre .../24-libmng2_2.0.3+dfsg-4build1_amd64.deb...
Estrazione di libmng2:amd64 (2.0.3+dfsg-4build1)...
Selezionato il pacchetto libmypaint-common non precedentemente selezionato.
Preparativi per estrarre .../25-libmypaint-common_1.6.0-2build2_all.deb...
Estrazione di libmypaint-common (1.6.0-2build2)...
Selezionato il pacchetto libmypaint-1.5-1:amd64 non precedentemente selezionato.
Preparativi per estrarre .../26-libmypaint-1.5-1_1.6.0-2build2_amd64.deb...
Estrazione di libmypaint-1.5-1:amd64 (1.6.0-2build2)...
Selezionato il pacchetto gimp non precedentemente selezionato.
Preparativi per estrarre .../27-gimp_2.10.36-3ubuntu0.24.04.1_amd64.deb...
Estrazione di gimp (2.10.36-3ubuntu0.24.04.1)...
Selezionato il pacchetto libgts-bin non precedentemente selezionato.
Preparativi per estrarre .../28-libgts-bin_0.7.6+darcs121130-5.2build1_amd64.deb...
Estrazione di libgts-bin (0.7.6+darcs121130-5.2build1)...
Configurazione di libmng2:amd64 (2.0.3+dfsg-4build1)...
Configurazione di libmypaint-common (1.6.0-2build2)...
Configurazione di libbabl-0.1-0:amd64 (1:0.1.108-1)...
Configurazione di liblab-gamut1:amd64 (2.42.2-9ubuntu0.1)...
Configurazione di libmypaint-1.5-1:amd64 (1.6.0-2build2)...
Configurazione di fonts-liberation2 (1:2.1.5-3)...
Configurazione di libpathplan4:amd64 (2.42.2-9ubuntu0.1)...
Configurazione di libann0 (1.1.2+doc-9build1)...
Configurazione di libimath-3-1-29t64:amd64 (3.1.9-3.1ubuntu2)...
Configurazione di gimp-data (2.10.36-3ubuntu0.24.04.1)...
Configurazione di libgegl-common (1:0.4.48-2.4build2)...
Configurazione di libsuitesparseconfig7:amd64 (1:7.6.1+dfsg-1build1)...
Configurazione di libgts-0.7-5t64:amd64 (0.7.6+darcs121130-5.2build1)...
Configurazione di libcdt5:amd64 (2.42.2-9ubuntu0.1)...
Configurazione di libcgraph6:amd64 (2.42.2-9ubuntu0.1)...
Configurazione di libgts-bin (0.7.6+darcs121130-5.2build1)...
Configurazione di libamd3:amd64 (1:7.6.1+dfsg-1build1)...
Configurazione di libcolamd3:amd64 (1:7.6.1+dfsg-1build1)...
Configurazione di libcamd3:amd64 (1:7.6.1+dfsg-1build1)...
Configurazione di libopenexr-3-1-30:amd64 (3.1.5-5.1build3)...
Configurazione di libgvc6 (2.42.2-9ubuntu0.1)...
Configurazione di libccolamd3:amd64 (1:7.6.1+dfsg-1build1)...
Configurazione di libgvpr2:amd64 (2.42.2-9ubuntu0.1)...
Configurazione di graphviz (2.42.2-9ubuntu0.1)...
Configurazione di libcholmod5:amd64 (1:7.6.1+dfsg-1build1)...
Configurazione di libumfpack6:amd64 (1:7.6.1+dfsg-1build1)...
Configurazione di libgegl-0.4-0t64:amd64 (1:0.4.48-2.4build2)...
Configurazione di libgimp2.0t64:amd64 (2.10.36-3ubuntu0.24.04.1)...
Configurazione di gimp (2.10.36-3ubuntu0.24.04.1)...
Elaborazione dei trigger per desktop-file-utils (0.27-2build1)...
dpkg: errore nell'elaborare il pacchetto desktop-file-utils (--configure):
il sottoprocesso installato pacchetto desktop-file-utils script post-installation ha restituito lo stato di errore 1
Elaborazione dei trigger per hicolor-icon-theme (0.17-2)...
Elaborazione dei trigger per gnome-menus (3.36.0-1.1ubuntu3)...
Elaborazione dei trigger per libc-bin (2.39-0ubuntu8.3)...
Elaborazione dei trigger per man-db (2.12.0-4build2)...
setpriv: activate capabilities: Operazione non permessa
Elaborazione dei trigger per bamfdaemon (0.5.6+22.04.20220217-0ubuntu5)...
Rebuilding /usr/share/applications/bamf-2.index...

Si sono verificati degli errori nell'elaborazione:
desktop-file-utils
E: Sub-process /usr/bin/dpkg returned an error code (1)

root@marietto:/var/lib/dpkg# gimp

cannot open display:
 
thats because its in Italian :)

im writing down all the steps in an org file
i wish the forum had support for org mode

are you trying to open gimp as a wayland application

you have to set up the XDG_RUNTIME_DIR
in the jail config and on ubuntu

on ubuntu create the XDG_RUNTIME_DIR directory

Code:
sudo mkdir -p /var/run/user/"$(id -u)"
sudo chown -R "${USER}":"$(id -u)" /var/run/user/"$(id -u)"
sudo chmod 700 /var/run/user/"$(id -u)"

you need to mount the XDG_RUNTIME_DIR from the host to ubuntu

if you are using a jail you have to exit the jail

Code:
exit

and then stop the jail

Code:
doas service jail onestop ubuntu

and then edit the jail config and mount the xdg runtime dir from the host to the jail

with a jail

Code:
/etc/jail.conf.d/ubuntu.conf

note this line in the config below

Code:
    mount += "/var/run/xdg/djwilcox $path/run/user/1001  nullfs rw            0       0";

Code:
ubuntu {
    # hostname/path
    host.hostname = "${name}";
    path = "/usr/local/jails/linux/${name}";

    # permissions
    allow.raw_sockets;
    exec.clean;
    persist;
    sysvmsg=inherit;
    sysvsem=inherit;
    sysvshm=inherit;
    enforce_statfs=1;

    # permissions
    devfs_ruleset=7;

    # network
    ip4.addr="lo1|10.10.0.5/24";

    # mount
    mount += "devfs           $path/dev      devfs           rw                      0       0";
    mount += "tmpfs           $path/dev/shm  tmpfs           rw,size=1g,mode=1777    0       0";
    mount += "fdescfs         $path/dev/fd   fdescfs         rw,linrdlnk             0       0";
    mount += "linprocfs       $path/proc     linprocfs       rw                      0       0";
    mount += "linsysfs        $path/sys      linsysfs        rw                      0       0";
    mount += "/tmp            $path/tmp      nullfs          rw                      0       0";
    mount += "/home           $path/home     nullfs          rw                      0       0";
    # mount the video directory from the host to the jail after creating it
    mount += "/home/djwilcox/video $path/home/djwilcox/video  nullfs rw      0       0";
    # uncomment the line below for the xdg runtime directory for wayland after creating it
    mount += "/var/run/xdg/djwilcox $path/run/user/1001  nullfs rw            0       0";
}

after you have edited the jail config restart the jail

Code:
doas service jail onestart ubuntu

enter the jail

Code:
doas jexec ubuntu /bin/bash

switch to your user, replace username with your username

Code:
su - username

list the xdg runtime dir

Code:
ls -l /var/run/user/1001

Code:
srwxr-xr-x 1 djwilcox djwilcox 0 Oct 30 13:35 Alacritty-wayland-0-31802.sock
drwx------ 2 djwilcox djwilcox 3 Oct 30 13:35 at-spi
drwx------ 3 djwilcox djwilcox 3 Oct 30 13:35 dbus-1
drwx------ 2 djwilcox djwilcox 3 Oct 30 18:05 dconf
drwx------ 2 djwilcox djwilcox 2 Oct 30 13:36 doc
drwx------ 2 djwilcox djwilcox 3 Oct 30 13:35 dwlb
drwx------ 2 djwilcox djwilcox 3 Oct 30 13:35 emacs
drwx------ 2 djwilcox djwilcox 2 Oct 30 13:40 pulse
-rw------- 1 djwilcox djwilcox 0 Oct 30 13:36 tofi.lock
srwxr-xr-x 1 djwilcox djwilcox 0 Oct 30 13:35 wayland-0
-rw-r----- 1 djwilcox djwilcox 0 Oct 30 13:35 wayland-0.lock
-rwx------ 1 root     djwilcox 0 Oct 30 13:35 xdg_session.0

and you will see the xdg runtime dir directory is mounted from the host
and you have access to the wayland socket
 
Regarding this line :

Code:
unmounted /var/run/xdg/djwilcox && (mount -o nocover -t nullfs nullfs /run/user/1001 || exit 1)

on my freebsd box I don't have any /var/run/xdg.
 
Probably without jails and wayland,it is :

Code:
unmounted /var/run/user/1001 && (mount -o nocover -t nullfs nullfs /run/user/1001 || exit 1)

Be careful to use this :

Code:
/home on /home type nullfs (rw,noatime)

because if you remove the /compat/ubuntu2404 directory,also your home directory on FreeBSD will be gone. I did this mistake twice ; I prefer to don't share the same home folder between freebsd and linux :D
 
Regarding this line :

Code:
unmounted /var/run/xdg/djwilcox && (mount -o nocover -t nullfs nullfs /run/user/1001 || exit 1)

on my freebsd box I don't have any /var/run/xdg.
thats because its from before 14.1

it should be

Code:
XDG_RUNTIME_DIR=/var/run/xdg/username
 
Davinci Resolve installed using the makeresolvedeb script

have to do some ubuntu fixes for the davinci resolve libraries

then ill try and launch Davinci Resolve
and see if nvidia and cuda are working
 
Davinci Resolve install on Ubuntu 24.10

its using opencl and not cuda
i had a simmilar issue with rocky linux

just means exporting footage is a bit slower


20241030_20h32m14s_grim.png
 
Davinci Resolve 19 working on Ubuntu 24.10

audio working with pulseaudio,
window displayed with XWayland

export works

will have to update my github repo for the davinci resolve jail
and write up my notes on installing Ubuntu 24.10 using base

20241030_20h43m31s_grim.png



20241030_20h46m05s_grim.png
 
This way :

Code:
mkdir -p /mnt/$vmdisk1'p2'/Backup/compat/antiX/run/user/1001 || exit 1

unmounted /var/run/user/1001 && (mount -t nullfs /run/user/1001 /mnt/$vmdisk1'p2'/Backup/compat/antiX/run/user/1001 || exit 1)

is not good :

Code:
Couldn't connect to accessibility bus: Failed to connect to socket /var/run/user/1001/at-spi/bus_0: File or directory not found

what's the right way ?
 
im not using the linuxulator so couldnt say

the issue with using linuxulator is you need a start up script
and if it has any issues then linux wont start

using a jail you have one config where you set what you want to unhide from the host
like the gpu and audio devices and define the mount points

so it much easier to figure out what any issue are
 
Why you say that you don't use the Linuxulator ? You are using it,since I see that you have configured these mountpoints :

Code:
mount -t linprocfs linprocfs /mnt/$vmdisk1'p2'/Backup/compat/ubuntubase2404/proc
mount -t linsysfs linsysfs /mnt/$vmdisk1'p2'/Backup/compat/ubuntubase2404/sys

I mean,you are using linprocfs and linsysfs,so you are using the emulation layer for Linux.
 
im installing linux in a jail and not in /compat

you dont need to add linprocfs and linsysfs to your fstab

freebsd fstab

Code:
/etc/fstab

Code:
# Device        Mountpoint    FStype    Options        Dump    Pass#
/dev/gpt/efiboot0        /boot/efi    msdosfs    rw        2    2
/dev/nda0p3.eli        none    swap    sw        0    0
# linux
proc            /proc                   procfs          rw      0       0

when you enable linux in your rc.conf

Code:
linux_enable="YES"

that uses the linux script in

Code:
/etc/rc.d/linux

which mounts the following directories

Code:
mount

Code:
linprocfs on /compat/linux/proc (linprocfs, local)
linsysfs on /compat/linux/sys (linsysfs, local)
devfs on /compat/linux/dev (devfs)
fdescfs on /compat/linux/dev/fd (fdescfs)
tmpfs on /compat/linux/dev/shm (tmpfs, local)

jail config

Code:
ubuntu {
    # hostname/path
    host.hostname = "${name}";
    path = "/usr/local/jails/linux/${name}";

    # permissions
    allow.raw_sockets;
    exec.clean;
    persist;
    sysvmsg=inherit;
    sysvsem=inherit;
    sysvshm=inherit;
    enforce_statfs=1;

    # permissions
    devfs_ruleset=7;

    # network
    ip4.addr="lo1|10.10.0.5/24";

    # mount
    mount += "devfs           $path/dev      devfs           rw                      0       0";
    mount += "tmpfs           $path/dev/shm  tmpfs           rw,size=1g,mode=1777    0       0";
    mount += "fdescfs         $path/dev/fd   fdescfs         rw,linrdlnk             0       0";
    mount += "linprocfs       $path/proc     linprocfs       rw                      0       0";
    mount += "linsysfs        $path/sys      linsysfs        rw                      0       0";
    mount += "/tmp            $path/tmp      nullfs          rw                      0       0";
    mount += "/home           $path/home     nullfs          rw                      0       0";
    # mount the video directory from the host to the jail after creating it
    mount += "/home/djwilcox/video $path/home/djwilcox/video  nullfs rw      0       0";
    # uncomment the line below for the xdg runtime directory for wayland after creating it
    mount += "/var/run/xdg/djwilcox $path/run/user/1001  nullfs rw            0       0";
}

Code:
    mount += "linprocfs       $path/proc     linprocfs       rw                      0       0";
    mount += "linsysfs        $path/sys      linsysfs        rw                      0       0";

you add linprocfs and linsysfs to your jail config and not your fstab on freebsd
and if you are using the linuxulator the rc.d linux script mounts them
 
Google Earth Pro installed on Ubuntu 24.10 in a jail

i needed to install google earth desktop because it has some features that arent in the web version

running in a XWayland window on dwl in Freebsd 14.1 p5


google-earth-pro.jpg
 
You are mounting linprocfs and linsysfs in /etc/jail.conf.d/ubuntu.conf ; so you are using the linux emulator. Fix post #20 where you say that you are NOT using the Linuxulator. You are doing it. Please focus on the technical aspects of this project. I'm repeating your steps. Stai focused because if I find some error on your tutorial,you "should" fix it. Your work is under examination. ;)...Thanks for it,anyway.
 
Back
Top