Update openSUSE Leap Root on ZFS.rst
Suse have some problems with rpool's new features, document features set for now + minor fixes. Co-authored-by: George Melikov <mail@gmelikov.ru>
This commit is contained in:
committed by
George Melikov
parent
218a441379
commit
7e5a343523
@@ -22,11 +22,9 @@ Caution
|
||||
experience of the people in the community.
|
||||
For more information about this, please look at the external links.
|
||||
|
||||
|
||||
System Requirements
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
- `64-bit openSUSE Leap Live CD w/ GUI (e.g. gnome iso)
|
||||
<https://software.opensuse.org/distributions/leap>`__
|
||||
- `A 64-bit kernel is strongly encouraged.
|
||||
@@ -98,23 +96,26 @@ entered at the console. Performance is good, but LUKS sits underneath ZFS, so
|
||||
if multiple disks (mirror or raidz topologies) are used, the data has to be
|
||||
encrypted once per disk.
|
||||
|
||||
Notes
|
||||
~~~~~~~
|
||||
|
||||
- You can use unofficial script `LroZ <https://github.com/ndruba/LroZ>`__ (Linux Root On Zfs), which is based on this manual and automates most steps.
|
||||
|
||||
Step 1: Prepare The Install Environment
|
||||
---------------------------------------
|
||||
|
||||
#. Boot the openSUSE Live CD. If prompted, login with the username
|
||||
``live`` and password ``live``. Connect your system to the Internet as
|
||||
``linux`` without password. Connect your system to the Internet as
|
||||
appropriate (e.g. join your WiFi network). Open a terminal.
|
||||
|
||||
#. Check your openSUSE Leap release::
|
||||
|
||||
lsb-release -d
|
||||
lsb_release -d
|
||||
Description: openSUSE Leap {$release}
|
||||
|
||||
..note: This {$release} variable will affect your installation. Please make sure you have written your release data correctly in the repo url to avoid package dependency problem.
|
||||
|
||||
#. Setup and update the repositories::
|
||||
|
||||
sudo zypper addrepo https://download.opensuse.org/repositories/filesystems/`lsb-release -rs`/filesystems.repo
|
||||
sudo zypper addrepo https://download.opensuse.org/repositories/filesystems/$(lsb_release -rs)/filesystems.repo
|
||||
sudo zypper refresh # Refresh all repositories
|
||||
|
||||
#. Optional: Install and start the OpenSSH server in the Live CD environment:
|
||||
@@ -129,7 +130,6 @@ Step 1: Prepare The Install Environment
|
||||
``ip addr show scope global | grep inet``. Then, from your main machine,
|
||||
connect with ``ssh user@IP``. Do not forget to set the password for user by ``passwd``.
|
||||
|
||||
|
||||
#. Disable automounting:
|
||||
|
||||
If the disk has been used before (with partitions at the same offsets),
|
||||
@@ -137,7 +137,6 @@ Step 1: Prepare The Install Environment
|
||||
|
||||
gsettings set org.gnome.desktop.media-handling automount false
|
||||
|
||||
|
||||
#. Become root::
|
||||
|
||||
sudo -i
|
||||
@@ -190,7 +189,6 @@ Step 2: Disk Formatting
|
||||
If you get a message about the kernel still using the old partition table,
|
||||
reboot and start over (except that you can skip this step).
|
||||
|
||||
|
||||
#. Partition your disk(s):
|
||||
|
||||
Run this if you need legacy (BIOS) booting::
|
||||
@@ -215,8 +213,9 @@ Step 2: Disk Formatting
|
||||
|
||||
sgdisk -n4:0:0 -t4:8309 $DISK
|
||||
|
||||
If you are creating a mirror or raidz topology, repeat the partitioning
|
||||
commands for all the disks which will be part of the pool.
|
||||
**Hints:**
|
||||
|
||||
- If you are creating a mirror or raidz topology, repeat the partitioning commands for all the disks which will be part of the pool.
|
||||
|
||||
#. Create the boot pool::
|
||||
|
||||
@@ -406,6 +405,23 @@ Step 2: Disk Formatting
|
||||
- The pool name is arbitrary. If changed, the new name must be used
|
||||
consistently. On systems that can automatically install to ZFS, the root
|
||||
pool is named ``rpool`` by default.
|
||||
- If you want to use grub bootloader, you must set::
|
||||
|
||||
-o feature@async_destroy=enabled \
|
||||
-o feature@bookmarks=enabled \
|
||||
-o feature@embedded_data=enabled \
|
||||
-o feature@empty_bpobj=enabled \
|
||||
-o feature@enabled_txg=enabled \
|
||||
-o feature@extensible_dataset=enabled \
|
||||
-o feature@filesystem_limits=enabled \
|
||||
-o feature@hole_birth=enabled \
|
||||
-o feature@large_blocks=enabled \
|
||||
-o feature@lz4_compress=enabled \
|
||||
-o feature@spacemap_histogram=enabled \
|
||||
-o feature@zpool_checkpoint=enabled \
|
||||
|
||||
for your root pool. Relevant for grub 2.04 and Leap 15.3. Don't use zpool
|
||||
upgrade for this pool or you will lost the possibility to use grub2-install command.
|
||||
|
||||
Step 3: System Installation
|
||||
---------------------------
|
||||
@@ -535,10 +551,10 @@ Step 4. Install System
|
||||
|
||||
#. Add repositories into chrooting directory::
|
||||
|
||||
zypper --root /mnt ar http://download.opensuse.org/distribution/leap/`lsb-release -rs`/repo/non-oss non-os
|
||||
zypper --root /mnt ar http://download.opensuse.org/distribution/leap/`lsb-release -rs`/repo/oss os
|
||||
zypper --root /mnt ar http://download.opensuse.org/update/leap/`lsb-release -rs`/oss update-oss
|
||||
zypper --root /mnt ar http://download.opensuse.org/update/leap/`lsb-release -rs`/non-oss update-nonos
|
||||
zypper --root /mnt ar http://download.opensuse.org/distribution/leap/$(lsb_release -rs)/repo/non-oss non-oss
|
||||
zypper --root /mnt ar http://download.opensuse.org/distribution/leap/$(lsb_release -rs)/repo/oss oss
|
||||
zypper --root /mnt ar http://download.opensuse.org/update/leap/$(lsb_release -rs)/oss update-oss
|
||||
zypper --root /mnt ar http://download.opensuse.org/update/leap/$(lsb_release -rs)/non-oss update-nonoss
|
||||
|
||||
#. Generate repository indexes::
|
||||
|
||||
@@ -583,10 +599,9 @@ Step 4. Install System
|
||||
#. Recommended: Install openSUSE yast2 system into chroot::
|
||||
|
||||
zypper --root /mnt install yast2
|
||||
zypper --root /mnt install -t pattern yast2_basis
|
||||
|
||||
It will make easier to configure network and other configurations for beginners.
|
||||
|
||||
|
||||
It will make easier to configure network and other configurations for beginners.
|
||||
|
||||
To install a desktop environment, see the `openSUSE wiki
|
||||
<https://en.opensuse.org/openSUSE:Desktop_FAQ#How_to_choose_a_desktop_environment.3F>`__
|
||||
@@ -620,7 +635,7 @@ Step 5: System Configuration
|
||||
rm /mnt/etc/resolv.conf
|
||||
cp /etc/resolv.conf /mnt/etc/
|
||||
|
||||
You will reconfigure network with yast2.
|
||||
You will reconfigure network with yast2 later.
|
||||
|
||||
#. Bind the virtual filesystems from the LiveCD environment to the new
|
||||
system and ``chroot`` into it::
|
||||
@@ -648,7 +663,7 @@ Step 5: System Configuration
|
||||
Output must include that languages:
|
||||
|
||||
* C
|
||||
* C.UTF-8
|
||||
* C.utf8
|
||||
* en_US.utf8
|
||||
* POSIX
|
||||
|
||||
@@ -658,7 +673,6 @@ Step 5: System Configuration
|
||||
|
||||
localectl set-locale LANG=en_US.UTF-8
|
||||
|
||||
|
||||
#. Optional: Reinstallation for stability:
|
||||
|
||||
After installation it may need. Some packages may have minor errors.
|
||||
@@ -676,14 +690,14 @@ Step 5: System Configuration
|
||||
|
||||
zypper install kernel-default kernel-firmware
|
||||
|
||||
.. note:: If you installed `base` pattern, you need to deinstall busybox-grep to install `kernel-default` package.
|
||||
**Note:** If you installed `base` pattern, you need to deinstall busybox-grep to install `kernel-default` package.
|
||||
|
||||
#. Install ZFS in the chroot environment for the new system::
|
||||
|
||||
zypper install lsb-release
|
||||
zypper addrepo https://download.opensuse.org/repositories/filesystems/`lsb-release -rs`/filesystems.repo
|
||||
zypper addrepo https://download.opensuse.org/repositories/filesystems/`lsb_release -rs`/filesystems.repo
|
||||
zypper refresh # Refresh all repositories
|
||||
zypper install zfs
|
||||
zypper install zfs zfs-kmp-default
|
||||
|
||||
#. For LUKS installs only, setup ``/etc/crypttab``::
|
||||
|
||||
@@ -807,10 +821,13 @@ Step 6: Kernel Installation
|
||||
|
||||
echo 'zfs'>> /etc/modules-load.d/zfs.conf
|
||||
|
||||
#. Kernel version of livecd can differ from currently installed version. Get kernel version of your new OS::
|
||||
|
||||
kernel_version=$(find /boot/vmlinuz-* | grep -Eo '[[:digit:]]*\.[[:digit:]]*\.[[:digit:]]*\-.*-default')
|
||||
|
||||
#. Refresh kernel files::
|
||||
|
||||
kernel-install add $(uname -r) /boot/vmlinuz-$(uname -r)
|
||||
kernel-install add "$kernel_version" /boot/vmlinuz-"$kernel_version"
|
||||
|
||||
#. Refresh the initrd files::
|
||||
|
||||
@@ -840,12 +857,6 @@ Step 7: Grub2 Installation
|
||||
|
||||
then go back to `grub2-probe` step.
|
||||
|
||||
|
||||
#. Workaround GRUB's missing zpool-features support::
|
||||
|
||||
vi /etc/default/grub
|
||||
# Set: GRUB_CMDLINE_LINUX="root=ZFS=rpool/ROOT/suse"
|
||||
|
||||
#. Optional (but highly recommended): Make debugging GRUB easier::
|
||||
|
||||
vi /etc/default/grub
|
||||
@@ -865,6 +876,16 @@ Step 7: Grub2 Installation
|
||||
**Note:** If this command don't gives any output, use classic grub.cfg generation with following command:
|
||||
``grub2-mkconfig -o /boot/grub2/grub.cfg``
|
||||
|
||||
#. Check that ``/boot/grub2/grub.cfg`` have the menuentry ``root=ZFS=rpool/ROOT/suse``, like this::
|
||||
|
||||
linux /boot@/vmlinuz-5.3.18-150300.59.60-default root=ZFS=rpool/ROOT/suse
|
||||
|
||||
If not, change ``/etc/default/grub``::
|
||||
|
||||
GRUB_CMDLINE_LINUX="root=ZFS=rpool/ROOT/suse"
|
||||
|
||||
and repeat previous step.
|
||||
|
||||
#. Install the boot loader:
|
||||
|
||||
#. For legacy (BIOS) booting, install GRUB to the MBR::
|
||||
@@ -915,7 +936,7 @@ part because sometimes grub2 doesn't see the rpool pool in some cases.
|
||||
title openSUSE Leap
|
||||
linux /EFI/openSUSE/vmlinuz
|
||||
initrd /EFI/openSUSE/initrd
|
||||
options root=zfs=rpool/ROOT/suse boot=zfs
|
||||
options root=zfs:rpool/ROOT/suse boot=zfs
|
||||
EOF
|
||||
|
||||
#. Copy files into EFI::
|
||||
|
||||
Reference in New Issue
Block a user