Diskussion:Install-Party/Linux Mint Debian Edition: Unterschied zwischen den Versionen

Aus Wiki StuRa HTW Dresden
Zur Navigation springen Zur Suche springen
Zeile 281: Zeile 281:
https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bookworm%20Root%20on%20ZFS
https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bookworm%20Root%20on%20ZFS


==== LMDE 6 OpenZFS Annahmen ====
==== LMDE 6 meets OpenZFS Annahmen ====


===== Verwendung mehrerer Geräte für Massenspeicher =====
===== Verwendung mehrerer Geräte für Massenspeicher =====
Zeile 1.250: Zeile 1.250:
</pre>
</pre>


<!--
==== LMDE 6 meets OpenZFS Zusammenfassung ====
: <code></code>
 
: <code>apt update</code>
 
: <code>sudo apt -y install ssh</code>
 
----
 
: <code>passwd</code>
 
----
 
: <s><code>ssh mint@321.321.321.321</code></s>
 
----
 
: <code>gsettings set org.gnome.desktop.media-handling automount false</code>
: <code>apt -y install gdisk zfsutils-linux</code>
 
: <code>DISK0=/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R</code>
: <code>DISK1=/dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M</code>
 
: <code>swapoff -a</code>
 
: <code>sudo wipefs -a $DISK0</code>
: <code>sudo wipefs -a $DISK1</code>
 
: <code>sudo blkdiscard -f $DISK0</code>
: <code>sudo blkdiscard -f $DISK1</code>
 
: <code>sudo sgdisk --zap-all $DISK0</code>
: <code>sudo sgdisk --zap-all $DISK1</code>
 
: <code>sudo sgdisk -n2:1M:+512M -t2:EF00 $DISK0</code>
: <code>sudo sgdisk -n2:1M:+512M -t2:EF00 $DISK1</code>
 
: <code>sudo sgdisk -n3:0:+1G -t3:BF01 $DISK0</code>
: <code>sudo sgdisk -n3:0:+1G -t3:BF01 $DISK1</code>
 
: <code>sudo sgdisk -n4:0:0 -t4:BF00 $DISK0</code>
: <code>sudo sgdisk -n4:0:0 -t4:BF00 $DISK1</code>
 
: <code>
<pre>
sudo zpool create \
    -o compatibility=grub2 \
    -o ashift=12 \
    -o autotrim=on \
    -o cachefile=/etc/zfs/zpool.cache \
    -O devices=off \
    -O acltype=posixacl\
    -O xattr=sa \
    -O compression=lz4 \
    -O normalization=formD \
    -O relatime=on \
    -O canmount=off \
    -O mountpoint=/boot -R /target \
    bpool mirror \
    ${DISK0}-part3 \
    ${DISK1}-part3
</pre>
</code>
 
: <code>
<pre>
sudo zpool create \
    -O keylocation=prompt \
    -O keyformat=passphrase \
    -o ashift=12 \
    -o autotrim=on \
    -O encryption=on \
    -O acltype=posixacl \
    -O xattr=sa \
    -O dnodesize=auto \
    -O compression=lz4 \
    -O normalization=formD \
    -O relatime=on \
    -O canmount=off \
    -O mountpoint=/ -R /target \
    rpool mirror \
    ${DISK0}-part4 \
    ${DISK1}-part4
 
----
 
: <code>sudo zfs create -o canmount=off -o mountpoint=none rpool/ROOT</code>
: <code>sudo zfs create -o canmount=off -o mountpoint=none bpool/BOOT</code>
 
: <code>sudo zfs create -o canmount=noauto -o mountpoint=/ rpool/ROOT/debian</code>
: <code>sudo zfs mount rpool/ROOT/debian</code>
 
: <code>sudo zfs create -o mountpoint=/boot bpool/BOOT/debian</code>
 
: <code>sudo zfs create                    rpool/home</code>
: <code>sudo zfs create -o mountpoint=/root rpool/home/root</code>
: <code>sudo chmod 700 /target/root</code>
: <code>sudo zfs create -o canmount=off    rpool/var</code>
: <code>sudo zfs create -o canmount=off    rpool/var/lib</code>
: <code>sudo zfs create                    rpool/var/log</code>
: <code>sudo zfs create                    rpool/var/spool</code>
 
: <code>sudo zfs create -o com.sun:auto-snapshot=false rpool/var/cache</code>
: <code>sudo zfs create -o com.sun:auto-snapshot=false rpool/var/lib/nfs</code>
: <code>sudo zfs create -o com.sun:auto-snapshot=false rpool/var/tmp</code>
: <code>sudo chmod 1777 /target/var/tmp</code>
 
: <code>sudo zfs create rpool/srv</code>
 
: <code>sudo zfs create -o canmount=off rpool/usr</code>
: <code>sudo zfs create rpool/usr/local</code>
 
: <code>sudo zfs create rpool/var/lib/AccountsService</code>
: <code>sudo zfs create rpool/var/lib/NetworkManager</code>
 
: <code>sudo zfs create -o com.sun:auto-snapshot=false rpool/var/lib/docker</code>
 
: <s><code>sudo zfs create rpool/var/snap</code></s>
: <code>sudo zfs create rpool/var/lib/flatpak</code>
 
: <s><code>sudo zfs create rpool/var/www</code></s>
 
: <code>sudo zfs create -o com.sun:auto-snapshot=false  rpool/tmp</code>
: <code>sudo chmod 1777 /target/tmp</code>
 
 
: <code>sudo mkdir /target/run</code>
: <code>sudo mount -t tmpfs tmpfs /target/run</code>
 
: <code>mkdir /target/run/lock</code>
: <code>sudo mkdir /target/run/lock</code>
 
----
 
GUI
 
----
 
 
: <code>sudo mkdir /target/etc/zfs</code>
: <code>sudo cp /etc/zfs/zpool.cache /target/etc/zfs/</code>
 
: <code>sudo hostname lab</code>
 
: <code>sudo nano /target/etc/hostname</code>
<pre>
#localhost.localdomain
lab
127.0.1.1      lab   
#127.0.1.1      lab.domain.tld
</pre>
 
: <code>sudo nano /target/etc/network/interfaces.d/wlp1s0</code>
<pre>
auto wlp1s0
iface wlp1s0 inet dhcp
</pre>
: <s><code>sudo nano /target/etc/network/interfaces.d/enp0s31f6</code></s>
<pre>
auto enp0s31f6
iface enp0s31f6 inet dhcp
</pre>
 
: <code>sudo mount --make-private --rbind /dev  /target/dev</code>
: <code>sudo mount --make-private --rbind /proc /target/proc</code>
: <code>sudo mount --make-private --rbind /sys  /target/sys</code>
 
: <code>sudo chroot /target /usr/bin/env DISK0=$DISK0 DISK1=$DISK1 bash --login</code>
 
----
 
: <code>apt update</code>
: <code>apt upgrade -y</code>
 
: <code>apt -y install linux-headers-generic</code>
: <code>apt -y install zfs-initramfs</code>
 
: <code>mkdosfs -F 32 -s 1 -n EFI ${DISK0}-part2</code>
: <code>mkdosfs -F 32 -s 1 -n EFI ${DISK1}-part2</code>
 
: <code>mkdir /efi0</code>
: <code>mkdir /efi1</code>
 
: <code>echo ${DISK0}-part2 /efi0 vfat defaults 0 0 >> /etc/fstab</code>
: <code>echo ${DISK1}-part2 /efi0 vfat defaults 0 0 >> /etc/fstab</code>
 
: <code>nano /etc/fstab</code>
<pre>
<pre>
#### Static Filesystem Table File
proc /proc proc defaults 0 0
/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R-part2 /efi0 vfat defaults 0 0
#/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R-part2 /efi vfat defaults 0 0
/dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M-part2 /efi1 vfat defaults 0 0
#/dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M-part2 /efi vfat defaults 0 0
</pre>
</pre>


: <code></code>
: <code>mount /efi0</code>
<pre>
<pre>
mount: (hint) your fstab has been modified, but systemd still uses
      the old version; use 'systemctl daemon-reload' to reload.
</pre>
: <code>mount /efi1</code>
<pre>
mount: (hint) your fstab has been modified, but systemd still uses
      the old version; use 'systemctl daemon-reload' to reload.
</pre>
</pre>


: <code></code>
: <code>DISK0=/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R</code>
: <code>DISK1=/dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M</code>
 
: <code>ls -l $(cat /etc/fstab | grep efi | awk '{print $1}')</code>
<pre>
<pre>
lrwxrwxrwx 1 root root 10 May 29 13:09 /dev/disk/by-uuid/A7AA-5E96 -> ../../sdb2
</pre>
: <code>ls -l ${DISK1}-part2</code>
<pre>
lrwxrwxrwx 1 root root 10 May 29 13:09 /dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R-part2 -> ../../sdb2
</pre>
</pre>


: <code></code>
: <code>ls -l ${DISK2}-part2</code>
<pre>
<pre>
lrwxrwxrwx 1 root root 10 May 29 11:52 /dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M-part2 -> ../../sda2
</pre>
</pre>


: <code></code>
: <code>sudo umount /boot/efi</code>
 
: <code>sudo dd if=${DISK1}-part2 of=${DISK2}-part2</code>
<pre>
<pre>
1048576+0 records in
1048576+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 9.31548 s, 57.6 MB/s
</pre>
</pre>


: <code></code>
: <code>
<pre>
<pre>
sudo efibootmgr -c -g -d ${DISK2}-part2 \
    -p 2 -L "lmde-1" -l '\EFI\debian\grubx64.efi'
</pre>
</code>
: <code>sudo mount /boot/efi</code>
; anderes Schema zu Nummerierung:
: <code>sudo nano /etc/fstab</code>
<pre>
#### Static Filesystem Table File
proc    /proc  proc    defaults        0      0
#/dev/disk/by-uuid/A7AA-5E96 /boot/efi vfat defaults 0 0
/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R-part2 /efi0 vfat defaults 0 0
/dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M-part2 /efi1 vfat defaults 0 0
</pre>
: <code>diff /efi0/EFI/debian/grub.cfg /efi1/EFI/debian/grub.cfg</code>
: <code>cat /boot/efi/EFI/debian/grub.cfg</code>
<pre>
search.fs_uuid cb660849086c6abf root hd0,gpt3 hd1,gpt3
set prefix=($root)'/BOOT/debian@/grub'
configfile $prefix/grub.cfg
</pre>
</pre>
-->

Version vom 30. Mai 2024, 00:45 Uhr

Installation mit Verschlüsselung

Fail!
LMDE 3 meets https://gitlab.com/pepa65/lmdescrypt/raw/master/lmdescrypt ?

(default) disk layout

Calamares meets Btrfs

(nach der manuellen Partitionierung und) Angabe beim Programm für die Installation

cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=8f303b38-b7e7-4781-aa8e-f1559b5504d2 /boot          ext4    defaults,noatime 0 2
UUID=33436381-7031-48be-8785-a48061fcabd7 /              btrfs   subvol=@,defaults,noatime,space_cache,autodefrag 0 1
UUID=33436381-7031-48be-8785-a48061fcabd7 /home          btrfs   subvol=@home,defaults,noatime,space_cache,autodefrag 0 2
UUID=641494b3-d3a2-4c57-b022-cba4d00603f5 swap           swap    defaults,noatime 0 2
cat /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet resume=UUID=641494b3-d3a2-4c57-b022-cba4d00603f5"

cat /etc/crypttab
# /etc/crypttab: mappings for encrypted partitions.
#
# Each mapped device will be created in /dev/mapper, so your /etc/fstab
# should use the /dev/mapper/<name> paths for encrypted devices.
#
# See crypttab(5) for the supported syntax.
#
# NOTE: Do not list your root (/) partition here, it must be set up
#       beforehand by the initramfs (/etc/mkinitcpio.conf). The same applies
#       to encrypted swap, which should be set up with mkinitcpio-openswap
#       for resume support.
#
# <name>               <device>                         <password> <options>

btrfs meets luks

cat /etc/fstab
####vb
/dev/sda1               /boot   btrfs   defaults,errors=remount-ro      0    1
/dev/mapper/vg-lv--swap none    swap    sw                              0    0
/dev/mapper/vg-lv--root /       btrfs   defaults,errors=remount-ro      0    1
/dev/mapper/vg-lv--home /home   btrfs   defaults,compress=lzo           0    1
####ve
# UNCONFIGURED FSTAB FOR BASE SYSTEM
proc    /proc   proc    defaults        0       0
cat /etc/crypttab
####vb
k-ot    UUID=8765dcba-ab12-cd34-ef56-123456abcdef       none    luks
####ve

https://www.howtoforge.com/a-beginners-guide-to-btrfs

cat /etc/default/grub

####vb
#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash kopt=root=/dev/mapper/vg-lv--root"
####ve

sbin fehlt beim PATH

dpkg -i linux-UFRII-drv-v500-de/64-bit_Driver/Debian/cnrdrvcups-ufr2-uk_5.00-1_amd64.deb

Beachten Sie: PATH von root sollte normalerweise /usr/local/sbin, /usr/sbin und /sbin enthalten
export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin

LMDE 4 mit verschlüsselten Massenspeicher und btrfs subvolumes (möglichst noch als mirror von 2 Geräten für Massenspeicher)

LMDE 6 "anderes Dateisystem"

Vorkenntnisse vor LMDE 6

website:members/PaulRiegel/os/lmde/installation-lmde-3-mit-verschluesslung

Untersuchung Installation LMDE 6

standardmäßige Installation mit Verschlüsselung ext4 LMDE 6
nach dem Neustart in die Installation
cat /etc/crypttab
# <target name>	<source device>		<key file>	<options>
lvmlmde   UUID=3c96337f-bb08-4f9d-ba25-fe5d23afd680   none   luks,discard,tries=3
cat /etc/fstab
#### Static Filesystem Table File
proc	/proc	proc	defaults	0	0
# /dev/mapper/lvmlmde-root
UUID=ba9df8e4-a4fb-42f6-b3ef-682d8c3edd95 /  ext4 defaults 0 1
# /dev/mapper/lvmlmde-swap
UUID=9e412642-d11a-40f2-9c59-03f9a51f5e28 none   swap sw 0 0
# /dev/sda2
UUID=22a7ba7f-0999-43d8-90f2-34c85af6f167 /boot  ext4 defaults 0 1
# /dev/sda1
UUID=C002-8E9D /boot/efi  vfat defaults 0 1
cat /etc/default/grub.d/61_live-installer.cfg
#! /bin/sh
set -e

GRUB_CMDLINE_LINUX="cryptdevice=UUID=3c96337f-bb08-4f9d-ba25-fe5d23afd680:lvmlmde root=/dev/mapper/lvmlmde-root resume=/dev/mapper/lvmlmde-swap"
standardmäßige Installation ohne Verschlüsselung btrfs LMDE 6
während der Installation
mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=3743316k,nr_inodes=935829,mode=755,inode64)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=757356k,mode=755,inode64)
/dev/sdb1 on /run/live/medium type iso9660 (ro,noatime,nojoliet,check=s,map=n,blocksize=2048,iocharset=utf8)
/dev/loop0 on /run/live/rootfs/filesystem.squashfs type squashfs (ro,noatime,errors=continue)
tmpfs on /run/live/overlay type tmpfs (rw,noatime,mode=755,inode64)
overlay on / type overlay (rw,noatime,lowerdir=/run/live/rootfs/filesystem.squashfs/,upperdir=/run/live/overlay/rw,workdir=/run/live/overlay/work,redirect_dir=on)
tmpfs on /usr/lib/live/mount type tmpfs (rw,nosuid,nodev,noexec,relatime,size=757356k,mode=755,inode64)
/dev/sdb1 on /usr/lib/live/mount/medium type iso9660 (ro,noatime,nojoliet,check=s,map=n,blocksize=2048,iocharset=utf8)
/dev/loop0 on /usr/lib/live/mount/rootfs/filesystem.squashfs type squashfs (ro,noatime,errors=continue)
tmpfs on /usr/lib/live/mount/overlay type tmpfs (rw,noatime,mode=755,inode64)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,inode64)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k,inode64)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=29,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=12771)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
ramfs on /run/credentials/systemd-sysusers.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700)
ramfs on /run/credentials/systemd-tmpfiles-setup-dev.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700)
ramfs on /run/credentials/systemd-sysctl.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime,inode64)
ramfs on /run/credentials/systemd-tmpfiles-setup.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=757356k,nr_inodes=189339,mode=700,uid=1000,gid=1000,inode64)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
portal on /run/user/1000/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
/dev/loop0 on /source type squashfs (ro,relatime,errors=continue)
/dev/sda3 on /target type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=256,subvol=/@)
/dev/sda3 on /target/home type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=257,subvol=/@home)
/dev/sda2 on /target/boot type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=5,subvol=/)
nach dem Neustart in die Installation
cat /etc/crypttab
# <target name>	<source device>		<key file>	<options>
cat /etc/fstab
#### Static Filesystem Table File
proc	/proc	proc	defaults	0	0
# /dev/sda3
UUID=b84bec73-29b9-4e62-a830-5069650680af	/	btrfs	defaults,subvol=@	00
UUID=b84bec73-29b9-4e62-a830-5069650680af	/home	btrfs	defaults,subvol=@home	0	0
# /dev/sda2
UUID=dea84151-1736-439a-8127-a45f2a7feb75	/boot	btrfs	defaults	0	0
# /dev/sda1
UUID=FDD2-C26F	/boot/efi	vfat	defaults	0	1
cat /etc/default/grub.d/61_live-installer.cfg

Erarbeitung Verschlüsslung und btrfs

https://forums.linuxmint.com/viewtopic.php?t=100659

meets

https://linuxmint.com/rel_faye.php

sudo live-installer-expert-mode

/target ist die das gewünschte Ziel! Alles Nachfolgende wird aber noch mit /mnt/target angegeben.

sudo mkdir /mnt/target
sudo mount -o subvol=@ /dev/mapper/lvmlmde-root /mnt/target
sudo mkdir /mnt/target/home
sudo mount -o subvol=home /dev/mapper/lvmlmde-root /mnt/target/home
sudo rsync -avz /run/live/medium/casper/filesystem.squashfs/ /mnt/target/
/dev/loop0
sudo mkdir /mnt/target/dev
sudo mount --bind /dev /mnt/target/dev
sudo mkdir /dev/pts /mnt/target/dev/pts
sudo mount --bind /dev/pts /mnt/target/dev/pts
sudo mkdir /mnt/target/dev/shm
sudo mount --bind /dev/shm /mnt/target/dev/shm
sudo mkdir /mnt/target/proc
sudo mount --bind /proc /mnt/target/proc
sudo mkdir /mnt/target/sys
sudo mount --bind /sys /mnt/target/sys
sudo mkdir /mnt/target/tmp
sudo mount --bind /tmp /mnt/target/tmp
sudo mkdir /mnt/target/
cp -f /etc/resolv.conf /mnt/target/etc/resolv.conf
chroot /mnt/target

Installation Debian

und dann Wechsel zu LMDE

https://forums.linuxmint.com/viewtopic.php?t=404823

(bevorzugte) Verwendung von zram aktivieren

Bei einer standardmäßigen Installation (ohne Verschlüsselung) mit btrfs wird anscheinend keine Partition (und keine Datei) für SWAP erstellt. (Gut! Stattdessen kann - zeitgemäßer - zram verwendet werden.)

apt install zram-tools

systemctl status zramswap.service

systemctl is-enabled zramswap.service
enabled
systemctl is-active zramswap.service
active

LMDE 6 meets OpenZFS

https://linuxmint.com/download_lmde.php

meets

https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bookworm%20Root%20on%20ZFS

LMDE 6 meets OpenZFS Annahmen

Verwendung mehrerer Geräte für Massenspeicher
nicht notwendig

Für einen hohen Ansprch, soll die Konfiguration 2 Geräte für Massenspeicher vorsehen, um darzustellen, dass ein (nahezu) beliebiger Verbund an Geräte für Massenspeicher verwendet werden kann.

Deaktivierung Secure Boot

in der Verwaltung vom Gerät wikipedia:de:Unified Extensible Firmware Interface#Secure Boot deaktivieren

wegen der nachträglichen Installation ist der Schlüssel für das Modul für den Kernel für ZFS nicht valide, weswegen das Modul nicht benutzt werden kann
sudo modprobe zfs
modprobe: ERROR: could not insert 'zfs': Key was rejected by service

LMDE 6 OpenZFS Vorbereitung

mit dem Internet verbinden


whoami
mint
uname -a
Linux mint 6.1.0-12-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.52-1 (2023-09-07) x86_64 GNU/Linux

LMDE 6 OpenZFS Einrichtung Umgebung Installation

apt update

sudo apt -y install ssh

sudo systemctl status ssh

Ersetzen vom nicht gesetzen Passwort

passwd

ip a


ssh mint@321.321.321.321


sudo nano /etc/apt/sources.list
#/etc/apt/sources.list
deb http://deb.debian.org/debian bookworm main contrib non-free-firmware
apt update

gsettings get org.gnome.desktop.media-handling automount
true
gsettings set org.gnome.desktop.media-handling automount false

apt -y install debootstrap gdisk zfsutils-linux
apt -y install gdisk zfsutils-linux

LMDE 6 OpenZFS Einrichtung Geräte für Massenspeicher

In diesem Abschnitt sollte
  mnt
durch
  target
ersetzt werden,
weil das Programm für die Installation von LMDE erwartet das Ziel zur Installation am Ort /target/.
ls -la /dev/disk/by-id/
total 0
lrwxrwxrwx 1 root root   9 May 28 23:25 ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R -> ../../sda
lrwxrwxrwx 1 root root   9 May 28 23:25 ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M -> ../../sdb
lrwxrwxrwx 1 root root   9 May 28 23:25 usb-Kingston_DataTraveler_3.0_4CEDFB74A418B320F9950BCC-0:0 -> ../../sdc
lrwxrwxrwx 1 root root  10 May 28 23:25 usb-Kingston_DataTraveler_3.0_4CEDFB74A418B320F9950BCC-0:0-part1 -> ../../sdc1
lrwxrwxrwx 1 root root  10 May 28 23:25 usb-Kingston_DataTraveler_3.0_4CEDFB74A418B320F9950BCC-0:0-part2 -> ../../sdc2
lrwxrwxrwx 1 root root   9 May 28 23:25 wwn-0x5002538d41306eb7 -> ../../sdb
lrwxrwxrwx 1 root root   9 May 28 23:25 wwn-0x5002538d702e43f9 -> ../../sda
DISK0=/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R
DISK1=/dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M
swapoff -a
cat /proc/mdstat
Personalities : 
unused devices: <none>
sudo wipefs -a $DISK0
/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R: 8 bytes were erased at offset 0x00000200 (gpt): 45 46 49 20 50 41 52 54
/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R: 8 bytes were erased at offset 0x7470c05e00 (gpt): 45 46 49 20 50 41 52 54
/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R: 2 bytes were erased at offset 0x000001fe (PMBR): 55 aa
/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R: calling ioctl to re-read partition table: Success
sudo wipefs -a $DISK1
/dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M: 8 bytes were erased at offset 0x00000200 (gpt): 45 46 49 20 50 41 52 54
/dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M: 8 bytes were erased at offset 0x7470c05e00 (gpt): 45 46 49 20 50 41 52 54
/dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M: 2 bytes were erased at offset 0x000001fe (PMBR): 55 aa
/dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M: calling ioctl to re-read partition table: Success
sudo blkdiscard -f $DISK0
blkdiscard: Operation forced, data will be lost!
sudo blkdiscard -f $DISK1
blkdiscard: Operation forced, data will be lost!
sudo sgdisk --zap-all $DISK0
Creating new GPT entries in memory.
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
sudo sgdisk --zap-all $DISK1
Creating new GPT entries in memory.
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
sudo sgdisk -n2:1M:+512M -t2:EF00 $DISK0
Creating new GPT entries in memory.
The operation has completed successfully.
sudo sgdisk -n2:1M:+512M -t2:EF00 $DISK1
Creating new GPT entries in memory.
The operation has completed successfully.
sudo sgdisk -n3:0:+1G -t3:BF01 $DISK0
The operation has completed successfully.
sudo sgdisk -n3:0:+1G -t3:BF01 $DISK1
The operation has completed successfully.
sudo sgdisk -n4:0:0 -t4:BF00 $DISK0
The operation has completed successfully.
sudo sgdisk -n4:0:0 -t4:BF00 $DISK1
The operation has completed successfully.
sudo zpool create \
    -o compatibility=grub2 \
    -o ashift=12 \
    -o autotrim=on \
    -o cachefile=/etc/zfs/zpool.cache \
    -O devices=off \
    -O acltype=posixacl\
    -O xattr=sa \
    -O compression=lz4 \
    -O normalization=formD \
    -O relatime=on \
    -O canmount=off \
    -O mountpoint=/boot -R /target \
    bpool mirror \
    ${DISK0}-part3 \
    ${DISK1}-part3


sudo zpool create \
    -O keylocation=prompt \
    -O keyformat=passphrase \
    -o ashift=12 \
    -o autotrim=on \
    -O encryption=on \
    -O acltype=posixacl \
    -O xattr=sa \
    -O dnodesize=auto \
    -O compression=lz4 \
    -O normalization=formD \
    -O relatime=on \
    -O canmount=off \
    -O mountpoint=/ -R /target \
    rpool mirror \
    ${DISK0}-part4 \
    ${DISK1}-part4


sudo zfs create -o canmount=off -o mountpoint=none rpool/ROOT
sudo zfs create -o canmount=off -o mountpoint=none bpool/BOOT
sudo zfs create -o canmount=noauto -o mountpoint=/ rpool/ROOT/debian
sudo zfs mount rpool/ROOT/debian
sudo zfs create -o mountpoint=/boot bpool/BOOT/debian
sudo zfs create rpool/home
sudo zfs create -o mountpoint=/root rpool/home/root
sudo chmod 700 /target/root
sudo zfs create -o canmount=off rpool/var
sudo zfs create -o canmount=off rpool/var/lib
sudo zfs create rpool/var/log
sudo zfs create rpool/var/spool
sudo zfs create -o com.sun:auto-snapshot=false rpool/var/cache
sudo zfs create -o com.sun:auto-snapshot=false rpool/var/lib/nfs
sudo zfs create -o com.sun:auto-snapshot=false rpool/var/tmp
sudo chmod 1777 /target/var/tmp
sudo zfs create rpool/srv
sudo zfs create -o canmount=off rpool/usr
sudo zfs create rpool/usr/local
sudo zfs create rpool/var/lib/AccountsService
sudo zfs create rpool/var/lib/NetworkManager
sudo zfs create -o com.sun:auto-snapshot=false rpool/var/lib/docker
sudo zfs create rpool/var/snap
sudo zfs create rpool/var/lib/flatpak
sudo zfs create rpool/var/www
sudo zfs create -o com.sun:auto-snapshot=false rpool/tmp
sudo chmod 1777 /target/tmp

sudo mkdir /target/run
sudo mount -t tmpfs tmpfs /target/run
mkdir /target/run/lock
sudo debootstrap bookworm /target/
I: Target architecture can be executed
I: Retrieving InRelease 
I: Checking Release signature
I: Valid Release signature (key id 4D64FEC119C2029067D6E791F8D2585B8783D481)
I: Retrieving Packages 
I: Validating Packages 
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
^CE: Interrupt caught ... exiting

LMDE 6 OpenZFS Installation LMDE GUI I

sudo ls /target/
boot  debootstrap  home  root  run  srv  tmp  usr  var
sudo rm -rf /target/
rm: cannot remove '/target/srv': Device or resource busy
rm: cannot remove '/target/tmp': Device or resource busy
rm: cannot remove '/target/root': Device or resource busy
rm: cannot remove '/target/boot': Device or resource busy
rm: cannot remove '/target/var/log': Device or resource busy
rm: cannot remove '/target/var/tmp': Device or resource busy
rm: cannot remove '/target/var/www': Device or resource busy
rm: cannot remove '/target/var/snap': Device or resource busy
rm: cannot remove '/target/var/lib/NetworkManager': Device or resource busy
rm: cannot remove '/target/var/lib/AccountsService': Device or resource busy
rm: cannot remove '/target/var/lib/docker': Device or resource busy
rm: cannot remove '/target/var/lib/nfs': Device or resource busy
rm: cannot remove '/target/var/spool': Device or resource busy
rm: cannot remove '/target/var/cache': Device or resource busy
rm: cannot remove '/target/run': Device or resource busy
rm: cannot remove '/target/usr/local': Device or resource busy
rm: cannot remove '/target/home': Device or resource busy
sudo ln -s /mnt /target
ls /boot/
config-6.1.0-12-amd64  grub  initrd.img-6.1.0-12-amd64  System.map-6.1.0-12-amd64  vmlinuz-6.1.0-12-amd64
ls /target/boot/
ls /target/
boot  home  root  run  srv  tmp  usr  var
ls /target/
boot  home  root  run  srv  tmp  usr  var

GUI


LMDE 6 OpenZFS Konfiguration nach der Installation LMDE
ls /target/
bin/            home/           lib32/          mnt/            run/            target/         vmlinuz         
boot/           initrd.img      lib64/          opt/            sbin/           tmp/            vmlinuz.old     
dev/            initrd.img.old  libx32/         proc/           srv/            usr/            
etc/            lib/            media/          root/           sys/            var/            
ls /target/home/
vater
ls /target
bin   dev  home        initrd.img.old  lib32  libx32  mnt  proc  run   srv  target  usr  vmlinuz
boot  etc  initrd.img  lib             lib64  media   opt  root  sbin  sys  tmp     var  vmlinuz.old
ls /target/boot/
config-6.1.0-12-amd64  grub  initrd.img-6.1.0-12-amd64  System.map-6.1.0-12-amd64  vmlinuz-6.1.0-12-amd64
ls /target/etc/
Display all 240 possibilities? (y or n)
sudo mkdir /target/etc/zfs
sudo cp /etc/zfs/zpool.cache /target/etc/zfs/
cat /target/etc/hostname
localhost.localdomain
sudo hostname lab
sudo nano /target/etc/hostname
lab
#localhost.localdomain
127.0.1.1       lab     
#127.0.1.1       lab.domain.tld
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 4c:d5:77:af:61:f1 brd ff:ff:ff:ff:ff:ff
    inet 172.20.79.164/23 brd 172.20.79.255 scope global dynamic noprefixroute wlp1s0
       valid_lft 62sec preferred_lft 62sec
    inet6 2a0f:5382:acab:1403:c3d2:c3d2:c3d2:7759/128 scope global dynamic noprefixroute 
       valid_lft 97sec preferred_lft 52sec
    inet6 2a0f:5382:acab:1403:288e:f14d:6a6e:8477/64 scope global dynamic noprefixroute 
       valid_lft 1797sec preferred_lft 597sec
    inet6 fd23:42:c3d2:583:6111:98ea:402d:afcf/64 scope global dynamic noprefixroute 
       valid_lft 1797sec preferred_lft 597sec
    inet6 fe80::35b5:bbbc:9e8d:4443/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
ls /target/etc/network/interfaces.d/
sudo nano /target/etc/network/interfaces.d/wlp1s0
auto wlp1s0
iface wlp1s0 inet dhcp
sudo nano /target/etc/network/interfaces.d/enp0s31f6
auto enp0s31f6
iface enp0s31f6 inet dhcp
sudo cat /target/etc/apt/sources.list.d/official-package-repositories.list
# Do not edit this file manually, use Software Sources instead.

deb http://packages.linuxmint.com faye main upstream import backport #id:linuxmint_main

deb https://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb https://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb http://security.debian.org bookworm-security main contrib non-free non-free-firmware

deb https://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware
sudo mount --make-private --rbind /dev /target/dev
sudo mount --make-private --rbind /proc /target/proc
sudo mount --make-private --rbind /sys /target/sys
LMDE 6 OpenZFS Installation der Programme für das Dateisystem nach der Installation LMDE vor dem Neustart nach der Installation LMDE
sudo chroot /target /usr/bin/env DISK0=$DISK0 bash --login
sudo chroot /target /usr/bin/env DISK0=$DISK0 DISK1=$DISK1 bash --login
apt update

(verleichsweise zeitlich lange (mehrere Minuten) andauernde) Aktualisierung der Pakete auf dem Ziel der Installation

apt upgrade -y

apt search console-setup
Warning: Invalid locale (please review locale settings, this might lead to problems later):
  locale::facet::_S_create_c_locale name not valid
i   console-setup                     - console font and keymap setup program       

apt search locales
Warning: Invalid locale (please review locale settings, this might lead to problems later):
  locale::facet::_S_create_c_locale name not valid

i   locales                                            - GNU C Library: National Language (locale) data [support]     

apt install --yes console-setup locales
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
console-setup is already the newest version (1.221).
The following additional packages will be installed:
  libc-bin libc-dev-bin libc-l10n libc6 libc6-dev
Suggested packages:
  glibc-doc libnss-nis libnss-nisplus
Recommended packages:
  libc-devtools
The following packages will be upgraded:
  libc-bin libc-dev-bin libc-l10n libc6 libc6-dev locales

dpkg-reconfigure locales tzdata keyboard-configuration console-setup
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_MESSAGES to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory
Generating locales (this might take a while)...
Current default time zone: 'Etc/UTC'

apt -y install dpkg-dev linux-headers-generic linux-image-generic

apt search dpkg-dev
Warning: Invalid locale (please review locale settings, this might lead to problems later):
  locale::facet::_S_create_c_locale name not valid
i   dpkg-dev                                           - Debian package development tools                             

apt search linux-headers-generic
Warning: Invalid locale (please review locale settings, this might lead to problems later):
  locale::facet::_S_create_c_locale name not valid
v   linux-headers-generic                              -                                                              
v   linux-headers-generic:i386                         -                                                              
apt -y install linux-headers-generic

Note, selecting 'linux-headers-amd64' instead of 'linux-headers-generic'
linux-headers-amd64 is already the newest version (6.1.90-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
apt search linux-image-generic
Warning: Invalid locale (please review locale settings, this might lead to problems later):
  locale::facet::_S_create_c_locale name not valid
v   linux-image-generic                                -                                                              
v   linux-image-generic:i386                           -                                                              
apt -y install linux-image-generics

Note, selecting 'linux-image-amd64' instead of 'linux-image-generic'
linux-image-amd64 is already the newest version (6.1.90-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
apt search zfs-initramfs
Warning: Invalid locale (please review locale settings, this might lead to problems later):
  locale::facet::_S_create_c_locale name not valid
p   zfs-initramfs                                      - OpenZFS root filesystem capabilities for Linux - initramfs   
apt -y install zfs-initramfs


apt search systemd-timesyncd
i   systemd-timesyncd                 - minimalistic service to synchronize local ti
p   systemd-timesyncd:i386            - minimalistic service to synchronize local ti
apt search dosfstools
i   dosfstools                        - utilities for making and checking MS-DOS FAT


LMDE 6 OpenZFS Konfiguration vom Dateisystem nach der Installation LMDE vor dem Neustart nach der Installation LMDE
cat /etc/fstab
#### Static Filesystem Table File
proc    /proc   proc    defaults        0       0
mkdosfs -F 32 -s 1 -n EFI ${DISK0}-part2
mkfs.fat 4.2 (2021-01-31)
mkdosfs -F 32 -s 1 -n EFI ${DISK1}-part2
mkfs.fat 4.2 (2021-01-31)
mkdir /efi0
mkdir /efi1
echo /dev/disk/by-uuid/$(blkid -s UUID -o value ${DISK1}-part2) /boot/efi vfat defaults 0 0 >> /etc/fstab
echo ${DISK0}-part2 /efi0 vfat defaults 0 0 >> /etc/fstab
echo ${DISK1}-part2 /efi0 vfat defaults 0 0 >> /etc/fstab
cat /etc/fstab
#### Static Filesystem Table File
proc    /proc   proc    defaults        0       0
/dev/disk/by-uuid/A7AA-5E96 /boot/efi vfat defaults 0 0
cat /etc/fstab
#### Static Filesystem Table File
proc	/proc	proc	defaults	0	0
/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R-part2 /efi0 vfat defaults 0 0
/dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M-part2 /efi0 vfat defaults 0 0
mount /boot/efi
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
mount /efi0
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
mount /efi1
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.

LMDE 6 OpenZFS Installation LMDE GUI II

  • Installation Bootloader

LMDE 6 OpenZFS Konfiguration nach dem Neustart nach der Installation LMDE

DISK1=/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R
DISK2=/dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M
ls -l $(cat /etc/fstab | grep efi | awk '{print $1}')
lrwxrwxrwx 1 root root 10 May 29 13:09 /dev/disk/by-uuid/A7AA-5E96 -> ../../sdb2
ls -l ${DISK1}-part2
lrwxrwxrwx 1 root root 10 May 29 13:09 /dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R-part2 -> ../../sdb2
ls -l ${DISK2}-part2
lrwxrwxrwx 1 root root 10 May 29 11:52 /dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M-part2 -> ../../sda2
sudo umount /boot/efi
sudo dd if=${DISK1}-part2 of=${DISK2}-part2
1048576+0 records in
1048576+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 9.31548 s, 57.6 MB/s
sudo efibootmgr -c -g -d ${DISK2}-part2 \
    -p 2 -L "lmde-1" -l '\EFI\debian\grubx64.efi'

sudo mount /boot/efi
anderes Schema zu Nummerierung
sudo nano /etc/fstab
#### Static Filesystem Table File
proc    /proc   proc    defaults        0       0
#/dev/disk/by-uuid/A7AA-5E96 /boot/efi vfat defaults 0 0
/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R-part2 /efi0 vfat defaults 0 0
/dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M-part2 /efi1 vfat defaults 0 0
diff /efi0/EFI/debian/grub.cfg /efi1/EFI/debian/grub.cfg
cat /boot/efi/EFI/debian/grub.cfg
search.fs_uuid cb660849086c6abf root hd0,gpt3 hd1,gpt3 
set prefix=($root)'/BOOT/debian@/grub'
configfile $prefix/grub.cfg

LMDE 6 meets OpenZFS Zusammenfassung

apt update
sudo apt -y install ssh

passwd

ssh mint@321.321.321.321

gsettings set org.gnome.desktop.media-handling automount false
apt -y install gdisk zfsutils-linux
DISK0=/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R
DISK1=/dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M
swapoff -a
sudo wipefs -a $DISK0
sudo wipefs -a $DISK1
sudo blkdiscard -f $DISK0
sudo blkdiscard -f $DISK1
sudo sgdisk --zap-all $DISK0
sudo sgdisk --zap-all $DISK1
sudo sgdisk -n2:1M:+512M -t2:EF00 $DISK0
sudo sgdisk -n2:1M:+512M -t2:EF00 $DISK1
sudo sgdisk -n3:0:+1G -t3:BF01 $DISK0
sudo sgdisk -n3:0:+1G -t3:BF01 $DISK1
sudo sgdisk -n4:0:0 -t4:BF00 $DISK0
sudo sgdisk -n4:0:0 -t4:BF00 $DISK1
sudo zpool create \
    -o compatibility=grub2 \
    -o ashift=12 \
    -o autotrim=on \
    -o cachefile=/etc/zfs/zpool.cache \
    -O devices=off \
    -O acltype=posixacl\
    -O xattr=sa \
    -O compression=lz4 \
    -O normalization=formD \
    -O relatime=on \
    -O canmount=off \
    -O mountpoint=/boot -R /target \
    bpool mirror \
    ${DISK0}-part3 \
    ${DISK1}-part3

sudo zpool create \
    -O keylocation=prompt \
    -O keyformat=passphrase \
    -o ashift=12 \
    -o autotrim=on \
    -O encryption=on \
    -O acltype=posixacl \
    -O xattr=sa \
    -O dnodesize=auto \
    -O compression=lz4 \
    -O normalization=formD \
    -O relatime=on \
    -O canmount=off \
    -O mountpoint=/ -R /target \
    rpool mirror \
    ${DISK0}-part4 \
    ${DISK1}-part4

----

: <code>sudo zfs create -o canmount=off -o mountpoint=none rpool/ROOT</code>
: <code>sudo zfs create -o canmount=off -o mountpoint=none bpool/BOOT</code>

: <code>sudo zfs create -o canmount=noauto -o mountpoint=/ rpool/ROOT/debian</code>
: <code>sudo zfs mount rpool/ROOT/debian</code>

: <code>sudo zfs create -o mountpoint=/boot bpool/BOOT/debian</code>

: <code>sudo zfs create                     rpool/home</code>
: <code>sudo zfs create -o mountpoint=/root rpool/home/root</code>
: <code>sudo chmod 700 /target/root</code>
: <code>sudo zfs create -o canmount=off     rpool/var</code>
: <code>sudo zfs create -o canmount=off     rpool/var/lib</code>
: <code>sudo zfs create                     rpool/var/log</code>
: <code>sudo zfs create                     rpool/var/spool</code>

: <code>sudo zfs create -o com.sun:auto-snapshot=false rpool/var/cache</code>
: <code>sudo zfs create -o com.sun:auto-snapshot=false rpool/var/lib/nfs</code>
: <code>sudo zfs create -o com.sun:auto-snapshot=false rpool/var/tmp</code>
: <code>sudo chmod 1777 /target/var/tmp</code>

: <code>sudo zfs create rpool/srv</code>

: <code>sudo zfs create -o canmount=off rpool/usr</code>
: <code>sudo zfs create rpool/usr/local</code>

: <code>sudo zfs create rpool/var/lib/AccountsService</code>
: <code>sudo zfs create rpool/var/lib/NetworkManager</code>

: <code>sudo zfs create -o com.sun:auto-snapshot=false rpool/var/lib/docker</code>

: <s><code>sudo zfs create rpool/var/snap</code></s>
: <code>sudo zfs create rpool/var/lib/flatpak</code>

: <s><code>sudo zfs create rpool/var/www</code></s>

: <code>sudo zfs create -o com.sun:auto-snapshot=false  rpool/tmp</code>
: <code>sudo chmod 1777 /target/tmp</code>


: <code>sudo mkdir /target/run</code>
: <code>sudo mount -t tmpfs tmpfs /target/run</code>

: <code>mkdir /target/run/lock</code>
: <code>sudo mkdir /target/run/lock</code>

----

GUI

----


: <code>sudo mkdir /target/etc/zfs</code>
: <code>sudo cp /etc/zfs/zpool.cache /target/etc/zfs/</code>

: <code>sudo hostname lab</code>

: <code>sudo nano /target/etc/hostname</code>
<pre>
#localhost.localdomain
lab
127.0.1.1       lab     
#127.0.1.1       lab.domain.tld
sudo nano /target/etc/network/interfaces.d/wlp1s0
auto wlp1s0
iface wlp1s0 inet dhcp
sudo nano /target/etc/network/interfaces.d/enp0s31f6
auto enp0s31f6
iface enp0s31f6 inet dhcp
sudo mount --make-private --rbind /dev /target/dev
sudo mount --make-private --rbind /proc /target/proc
sudo mount --make-private --rbind /sys /target/sys
sudo chroot /target /usr/bin/env DISK0=$DISK0 DISK1=$DISK1 bash --login

apt update
apt upgrade -y
apt -y install linux-headers-generic
apt -y install zfs-initramfs
mkdosfs -F 32 -s 1 -n EFI ${DISK0}-part2
mkdosfs -F 32 -s 1 -n EFI ${DISK1}-part2
mkdir /efi0
mkdir /efi1
echo ${DISK0}-part2 /efi0 vfat defaults 0 0 >> /etc/fstab
echo ${DISK1}-part2 /efi0 vfat defaults 0 0 >> /etc/fstab
nano /etc/fstab
#### Static Filesystem Table File
proc	/proc	proc	defaults	0	0
/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R-part2 /efi0 vfat defaults 0 0
#/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R-part2 /efi vfat defaults 0 0
/dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M-part2 /efi1 vfat defaults 0 0
#/dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M-part2 /efi vfat defaults 0 0
mount /efi0
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
mount /efi1
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
DISK0=/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R
DISK1=/dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M
ls -l $(cat /etc/fstab | grep efi | awk '{print $1}')
lrwxrwxrwx 1 root root 10 May 29 13:09 /dev/disk/by-uuid/A7AA-5E96 -> ../../sdb2
ls -l ${DISK1}-part2
lrwxrwxrwx 1 root root 10 May 29 13:09 /dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R-part2 -> ../../sdb2
ls -l ${DISK2}-part2
lrwxrwxrwx 1 root root 10 May 29 11:52 /dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M-part2 -> ../../sda2
sudo umount /boot/efi
sudo dd if=${DISK1}-part2 of=${DISK2}-part2
1048576+0 records in
1048576+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 9.31548 s, 57.6 MB/s
sudo efibootmgr -c -g -d ${DISK2}-part2 \
    -p 2 -L "lmde-1" -l '\EFI\debian\grubx64.efi'

sudo mount /boot/efi
anderes Schema zu Nummerierung
sudo nano /etc/fstab
#### Static Filesystem Table File
proc    /proc   proc    defaults        0       0
#/dev/disk/by-uuid/A7AA-5E96 /boot/efi vfat defaults 0 0
/dev/disk/by-id/ata-Samsung_SSD_750_EVO_500GB_S363NWAH718728R-part2 /efi0 vfat defaults 0 0
/dev/disk/by-id/ata-Samsung_SSD_850_EVO_M.2_500GB_S33DNX0H809148M-part2 /efi1 vfat defaults 0 0
diff /efi0/EFI/debian/grub.cfg /efi1/EFI/debian/grub.cfg
cat /boot/efi/EFI/debian/grub.cfg
search.fs_uuid cb660849086c6abf root hd0,gpt3 hd1,gpt3 
set prefix=($root)'/BOOT/debian@/grub'
configfile $prefix/grub.cfg