Created
August 20, 2019 19:23
-
-
Save bjcubsfan/4a2f5b078dc555e62c633fedc2947d15 to your computer and use it in GitHub Desktop.
Troubleshooting install Arch Linux with ZFS root
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# GRUB boot loader configuration | |
GRUB_DEFAULT=0 | |
GRUB_TIMEOUT=5 | |
GRUB_DISTRIBUTOR="Arch" | |
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3" | |
GRUB_CMDLINE_LINUX="dozfs real_root=ZFS=nand/sys/dirty/root/default zfs=nand/sys/dirty/root/default root=ZFS=nand/sys/dirty/root/default" | |
# Preload both GPT and MBR modules so that they are not missed | |
GRUB_PRELOAD_MODULES="part_gpt part_msdos nvme zfs zfscrypt zfsinfo" | |
# Uncomment to enable booting from LUKS encrypted devices | |
#GRUB_ENABLE_CRYPTODISK=y | |
# Set to 'countdown' or 'hidden' to change timeout behavior, | |
# press ESC key to display menu. | |
GRUB_TIMEOUT_STYLE=menu | |
# Uncomment to use basic console | |
GRUB_TERMINAL_INPUT=console | |
# Uncomment to disable graphical terminal | |
#GRUB_TERMINAL_OUTPUT=console | |
# The resolution used on graphical terminal | |
# note that you can use only modes which your graphic card supports via VBE | |
# you can see them in real GRUB with the command `vbeinfo' | |
GRUB_GFXMODE=auto | |
# Uncomment to allow the kernel use the same resolution used by grub | |
GRUB_GFXPAYLOAD_LINUX=keep | |
# Uncomment if you want GRUB to pass to the Linux kernel the old parameter | |
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx" | |
#GRUB_DISABLE_LINUX_UUID=true | |
# Uncomment to disable generation of recovery mode menu entries | |
GRUB_DISABLE_RECOVERY=true | |
# Uncomment and set to the desired menu colors. Used by normal and wallpaper | |
# modes only. Entries specified as foreground/background. | |
#GRUB_COLOR_NORMAL="light-blue/black" | |
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue" | |
# Uncomment one of them for the gfx desired, a image background or a gfxtheme | |
#GRUB_BACKGROUND="/path/to/wallpaper" | |
#GRUB_THEME="/path/to/gfxtheme" | |
# Uncomment to get a beep at GRUB start | |
#GRUB_INIT_TUNE="480 440 1" | |
# Uncomment to make GRUB remember the last selection. This requires to | |
# set 'GRUB_DEFAULT=saved' above. | |
#GRUB_SAVEDEFAULT="true" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ZoL userland configuration. | |
# To enable a boolean setting, set it to yes, on, true, or 1. | |
# Anything else will be interpreted as unset. | |
# Run `zfs mount -a` during system start? | |
ZFS_MOUNT='yes' | |
# Run `zfs unmount -a` during system stop? | |
ZFS_UNMOUNT='yes' | |
# Run `zfs share -a` during system start? | |
# nb: The shareiscsi, sharenfs, and sharesmb dataset properties. | |
ZFS_SHARE='yes' | |
# Run `zfs unshare -a` during system stop? | |
ZFS_UNSHARE='yes' | |
# By default, a verbatim import of all pools is performed at boot based on the | |
# contents of the default zpool cache file. The contents of the cache are | |
# managed automatically by the 'zpool import' and 'zpool export' commands. | |
# | |
# By setting this to 'yes', the system will instead search all devices for | |
# pools and attempt to import them all at boot, even those that have been | |
# exported. Under this mode, the search path can be controlled by the | |
# ZPOOL_IMPORT_PATH variable and a list of pools that should not be imported | |
# can be listed in the ZFS_POOL_EXCEPTIONS variable. | |
# | |
# Note that importing all visible pools may include pools that you don't | |
# expect, such as those on removable devices and SANs, and those pools may | |
# proceed to mount themselves in places you do not want them to. The results | |
# can be unpredictable and possibly dangerous. Only enable this option if you | |
# understand this risk and have complete physical control over your system and | |
# SAN to prevent the insertion of malicious pools. | |
ZPOOL_IMPORT_ALL_VISIBLE='yes' | |
# Specify specific path(s) to look for device nodes and/or links for the | |
# pool import(s). See zpool(8) for more information about this variable. | |
# It supersedes the old USE_DISK_BY_ID which indicated that it would only | |
# try '/dev/disk/by-id'. | |
# The old variable will still work in the code, but is deprecated. | |
ZPOOL_IMPORT_PATH="/dev/disk/by-vdev:/dev/disk/by-id" | |
# List of pools that should NOT be imported at boot | |
# when ZPOOL_IMPORT_ALL_VISIBLE is 'yes'. | |
# This is a space separated list. | |
#ZFS_POOL_EXCEPTIONS="test2" | |
# List of pools that SHOULD be imported at boot by the initramfs | |
# instead of trying to import all available pools. If this is set | |
# then ZFS_POOL_EXCEPTIONS is ignored. | |
# Only applicable for Debian GNU/Linux {dkms,initramfs}. | |
# This is a semi-colon separated list. | |
#ZFS_POOL_IMPORT="pool1;pool2" | |
# Should the datasets be mounted verbosely? | |
# A mount counter will be used when mounting if set to 'yes'. | |
VERBOSE_MOUNT='no' | |
# Should we allow overlay mounts? | |
# This is standard in Linux, but not ZFS which comes from Solaris where this | |
# is not allowed). | |
DO_OVERLAY_MOUNTS='no' | |
# Any additional option to the 'zfs import' commandline? | |
# Include '-o' for each option wanted. | |
# You don't need to put '-f' in here, unless you want it ALL the time. | |
# Using the option 'zfsforce=1' on the grub/kernel command line will | |
# do the same, but on a case-to-case basis. | |
ZPOOL_IMPORT_OPTS="" | |
# Full path to the ZFS cache file? | |
# See "cachefile" in zpool(8). | |
# The default is "/etc/zfs/zpool.cache". | |
#ZPOOL_CACHE="/etc/zfs/zpool.cache" | |
# | |
# Setting ZPOOL_CACHE to an empty string ('') AND setting ZPOOL_IMPORT_OPTS to | |
# "-c /etc/zfs/zpool.cache" will _enforce_ the use of a cache file. | |
# This is needed in some cases (extreme amounts of VDEVs, multipath etc). | |
# Generally, the use of a cache file is usually not recommended on Linux | |
# because it sometimes is more trouble than it's worth (laptops with external | |
# devices or when/if device nodes changes names). | |
#ZPOOL_IMPORT_OPTS="-c /etc/zfs/zpool.cache" | |
#ZPOOL_CACHE="" | |
# Any additional option to the 'zfs mount' command line? | |
# Include '-o' for each option wanted. | |
MOUNT_EXTRA_OPTIONS="" | |
# Build kernel modules with the --enable-debug switch? | |
# Only applicable for Debian GNU/Linux {dkms,initramfs}. | |
ZFS_DKMS_ENABLE_DEBUG='no' | |
# Keep debugging symbols in kernel modules? | |
# Only applicable for Debian GNU/Linux {dkms,initramfs}. | |
ZFS_DKMS_DISABLE_STRIP='no' | |
# Wait for this many seconds in the initrd pre_mountroot? | |
# This delays startup and should be '0' on most systems. | |
# Only applicable for Debian GNU/Linux {dkms,initramfs}. | |
ZFS_INITRD_PRE_MOUNTROOT_SLEEP='0' | |
# Wait for this many seconds in the initrd mountroot? | |
# This delays startup and should be '0' on most systems. This might help on | |
# systems which have their ZFS root on a USB disk that takes just a little | |
# longer to be available | |
# Only applicable for Debian GNU/Linux {dkms,initramfs}. | |
ZFS_INITRD_POST_MODPROBE_SLEEP='0' | |
# List of additional datasets to mount after the root dataset is mounted? | |
# | |
# The init script will use the mountpoint specified in the 'mountpoint' | |
# property value in the dataset to determine where it should be mounted. | |
# | |
# This is a space separated list, and will be mounted in the order specified, | |
# so if one filesystem depends on a previous mountpoint, make sure to put | |
# them in the right order. | |
# | |
# It is not necessary to add filesystems below the root fs here. It is | |
# taken care of by the initrd script automatically. These are only for | |
# additional filesystems needed. Such as /opt, /usr/local which is not | |
# located under the root fs. | |
# Example: If root FS is 'rpool/ROOT/rootfs', this would make sense. | |
#ZFS_INITRD_ADDITIONAL_DATASETS="rpool/ROOT/usr rpool/ROOT/var" | |
# Optional arguments for the ZFS Event Daemon (ZED). | |
# See zed(8) for more information on available options. | |
#ZED_ARGS="-M" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# vim:set ft=sh | |
# MODULES | |
# The following modules are loaded before any boot hooks are | |
# run. Advanced users may wish to specify all system modules | |
# in this array. For instance: | |
# MODULES=(piix ide_disk reiserfs) | |
MODULES=(i915 zfs nvme_core) | |
# BINARIES | |
# This setting includes any additional binaries a given user may | |
# wish into the CPIO image. This is run last, so it may be used to | |
# override the actual binaries included by a given hook | |
# BINARIES are dependency parsed, so you may safely ignore libraries | |
BINARIES=() | |
# FILES | |
# This setting is similar to BINARIES above, however, files are added | |
# as-is and are not parsed in any way. This is useful for config files. | |
FILES=() | |
# HOOKS | |
# This is the most important setting in this file. The HOOKS control the | |
# modules and scripts added to the image, and what happens at boot time. | |
# Order is important, and it is recommended that you do not change the | |
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for | |
# help on a given hook. | |
# 'base' is _required_ unless you know precisely what you are doing. | |
# 'udev' is _required_ in order to automatically load modules | |
# 'filesystems' is _required_ unless you specify your fs modules in MODULES | |
# Examples: | |
## This setup specifies all modules in the MODULES setting above. | |
## No raid, lvm2, or encrypted root is needed. | |
# HOOKS=(base) | |
# | |
## This setup will autodetect all modules for your system and should | |
## work as a sane default | |
# HOOKS=(base udev autodetect block filesystems) | |
# | |
## This setup will generate a 'full' image which supports most systems. | |
## No autodetection is done. | |
# HOOKS=(base udev block filesystems) | |
# | |
## This setup assembles a pata mdadm array with an encrypted root FS. | |
## Note: See 'mkinitcpio -H mdadm' for more information on raid devices. | |
# HOOKS=(base udev block mdadm encrypt filesystems) | |
# | |
## This setup loads an lvm2 volume group on a usb device. | |
# HOOKS=(base udev block lvm2 filesystems) | |
# | |
## NOTE: If you have /usr on a separate partition, you MUST include the | |
# usr, fsck and shutdown hooks. | |
HOOKS=(base udev autodetect modconf block keyboard zfs usr filesystems fsck shutdown) | |
# COMPRESSION | |
# Use this to compress the initramfs image. By default, gzip compression | |
# is used. Use 'cat' to create an uncompressed image. | |
#COMPRESSION="gzip" | |
#COMPRESSION="bzip2" | |
#COMPRESSION="lzma" | |
#COMPRESSION="xz" | |
#COMPRESSION="lzop" | |
#COMPRESSION="lz4" | |
# COMPRESSION_OPTIONS | |
# Additional options for the compressor | |
#COMPRESSION_OPTIONS=() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Disk /dev/sda: 1.84 TiB, 2000398934016 bytes, 3907029168 sectors | |
Disk model: ST2000DM001-1ER1 | |
Units: sectors of 1 * 512 = 512 bytes | |
Sector size (logical/physical): 512 bytes / 4096 bytes | |
I/O size (minimum/optimal): 4096 bytes / 4096 bytes | |
Disklabel type: gpt | |
Disk identifier: 66539A96-A073-D240-9279-XXXXXXXXXXXX | |
Device Start End Sectors Size Type | |
/dev/sda1 2048 3907012607 3907010560 1.8T Solaris /usr & Apple ZFS | |
/dev/sda9 3907012608 3907028991 16384 8M Solaris reserved 1 | |
Disk /dev/sdb: 1.84 TiB, 2000398934016 bytes, 3907029168 sectors | |
Disk model: ST2000DM001-1ER1 | |
Units: sectors of 1 * 512 = 512 bytes | |
Sector size (logical/physical): 512 bytes / 4096 bytes | |
I/O size (minimum/optimal): 4096 bytes / 4096 bytes | |
Disklabel type: gpt | |
Disk identifier: 50574F62-4A6B-2649-BA22-XXXXXXXXXXXX | |
Device Start End Sectors Size Type | |
/dev/sdb1 2048 3907012607 3907010560 1.8T Solaris /usr & Apple ZFS | |
/dev/sdb9 3907012608 3907028991 16384 8M Solaris reserved 1 | |
Disk /dev/sdd: 1.84 TiB, 2000398934016 bytes, 3907029168 sectors | |
Disk model: ST2000DM001-1ER1 | |
Units: sectors of 1 * 512 = 512 bytes | |
Sector size (logical/physical): 512 bytes / 4096 bytes | |
I/O size (minimum/optimal): 4096 bytes / 4096 bytes | |
Disklabel type: gpt | |
Disk identifier: 545B0D4D-5221-2046-A773-XXXXXXXXXXXX | |
Device Start End Sectors Size Type | |
/dev/sdd1 2048 3907012607 3907010560 1.8T Solaris /usr & Apple ZFS | |
/dev/sdd9 3907012608 3907028991 16384 8M Solaris reserved 1 | |
Disk /dev/sdc: 1.84 TiB, 2000398934016 bytes, 3907029168 sectors | |
Disk model: ST2000DM001-1ER1 | |
Units: sectors of 1 * 512 = 512 bytes | |
Sector size (logical/physical): 512 bytes / 4096 bytes | |
I/O size (minimum/optimal): 4096 bytes / 4096 bytes | |
Disklabel type: gpt | |
Disk identifier: 4B3ABB53-4A21-374B-A6CF-XXXXXXXXXXXX | |
Device Start End Sectors Size Type | |
/dev/sdc1 2048 3907012607 3907010560 1.8T Solaris /usr & Apple ZFS | |
/dev/sdc9 3907012608 3907028991 16384 8M Solaris reserved 1 | |
Disk /dev/sde: 238 MiB, 249561088 bytes, 487424 sectors | |
Disk model: USB DISK 12X | |
Units: sectors of 1 * 512 = 512 bytes | |
Sector size (logical/physical): 512 bytes / 512 bytes | |
I/O size (minimum/optimal): 512 bytes / 512 bytes | |
Disklabel type: dos | |
Disk identifier: 0x00000000 | |
Disk /dev/loop0: 522.23 MiB, 547590144 bytes, 1069512 sectors | |
Units: sectors of 1 * 512 = 512 bytes | |
Sector size (logical/physical): 512 bytes / 512 bytes | |
I/O size (minimum/optimal): 512 bytes / 512 bytes | |
Disk /dev/nvme0n1: 953.89 GiB, 1024209543168 bytes, 2000409264 sectors | |
Disk model: SSDPEKKF010T8 NVMe INTEL 1024GB | |
Units: sectors of 1 * 512 = 512 bytes | |
Sector size (logical/physical): 512 bytes / 512 bytes | |
I/O size (minimum/optimal): 512 bytes / 512 bytes | |
Disklabel type: gpt | |
Disk identifier: 2C7CA5B4-79B3-42CF-A619-XXXXXXXXXXXX | |
Device Start End Sectors Size Type | |
/dev/nvme0n1p1 2048 1050623 1048576 512M EFI System | |
/dev/nvme0n1p2 1050624 2000409230 1999358607 953.4G Solaris root |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
NAME USED AVAIL REFER MOUNTPOINT | |
nand 1.87G 920G 192K none | |
nand/sys 1.86G 920G 192K none | |
nand/sys/dirty 1.86G 920G 320K none | |
nand/sys/dirty/root 1.86G 920G 320K none | |
nand/sys/dirty/root/default 1.86G 920G 1.86G legacy | |
rust 942M 1.76T 96K none | |
rust/data 938M 1.76T 192K none | |
rust/data/home 186M 1.76T 186M legacy | |
rust/data/usr 456K 1.76T 192K none | |
rust/data/usr/local 264K 1.76T 264K legacy | |
rust/data/var 752M 1.76T 192K none | |
rust/data/var/cache 750M 1.76T 348K legacy | |
rust/data/var/cache/pacman 749M 1.76T 749M legacy | |
rust/data/var/lib 1.12M 1.76T 192K none | |
rust/data/var/lib/libvirt 192K 1.76T 192K legacy | |
rust/data/var/lib/lxd 192K 1.76T 192K legacy | |
rust/data/var/lib/machines 192K 1.76T 192K legacy | |
rust/data/var/lib/systemd 384K 1.76T 192K none | |
rust/data/var/lib/systemd/coredump 192K 1.76T 192K legacy | |
rust/data/var/log 596K 1.76T 372K legacy | |
rust/data/var/log/journal 224K 1.76T 224K legacy |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pool: nand | |
state: ONLINE | |
scan: none requested | |
config: | |
NAME STATE READ WRITE CKSUM | |
nand ONLINE 0 0 0 | |
nvme0n1p2 ONLINE 0 0 0 | |
errors: No known data errors | |
pool: rust | |
state: ONLINE | |
scan: none requested | |
config: | |
NAME STATE READ WRITE CKSUM | |
rust ONLINE 0 0 0 | |
raidz3-0 ONLINE 0 0 0 | |
ata-ST2000DM001-1ER164_Z4ZXXXXX ONLINE 0 0 0 | |
ata-ST2000DM001-1ER164_Z4ZXXXXX ONLINE 0 0 0 | |
ata-ST2000DM001-1ER164_Z4ZXXXXX ONLINE 0 0 0 | |
ata-ST2000DM001-1ER164_Z4ZXXXXX ONLINE 0 0 0 | |
errors: No known data errors |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment