install ZFS on Buster
This commit is contained in:
parent
c1745285e7
commit
3780846279
3 changed files with 90 additions and 0 deletions
37
docs/helios64/software/zfs/install-zfs-buster.md
Normal file
37
docs/helios64/software/zfs/install-zfs-buster.md
Normal file
|
@ -0,0 +1,37 @@
|
|||
!!! Important This install procedure only works with *Armbian Buster* !!!
|
||||
|
||||
Original forum post by @Grek https://forum.armbian.com/topic/16119-zfs-on-helios64/
|
||||
|
||||
Tested with Linux helios64 5.10.16-rockchip64 #21.02.2 SMP PREEMPT Sun Feb 14 21:35:01 CET 2021 aarch64 GNU/Linux
|
||||
|
||||
First we need to have docker installed ( armbian-config -> software -> softy -> docker )
|
||||
|
||||
Create dedicated directory with Dockerfile ( we will customize ubuntu:bionic image with required libraries and gcc 10 . in next builds we can skip this step and just customize and run [install-zfs-buster.sh] (https://raw.githubusercontent.com/kobol-io/wiki/master/docs/helios64/software/zfs/install-zfs-buster/install-zfs-buster.sh) script)
|
||||
|
||||
```bash
|
||||
mkdir zfs-builder
|
||||
cd zfs-builder
|
||||
wget https://raw.githubusercontent.com/kobol-io/wiki/master/docs/helios64/software/zfs/install-zfs-buster/Dockerfile
|
||||
```
|
||||
|
||||
Build docker image for building purposes.
|
||||
|
||||
```bash
|
||||
sudo docker build --tag zfs-build-ubuntu-bionic:0.1 .
|
||||
```
|
||||
|
||||
Build and install ZFS packages.
|
||||
|
||||
```bash
|
||||
wget https://raw.githubusercontent.com/kobol-io/wiki/master/docs/helios64/software/zfs/install-zfs-buster/install-zfs-buster.sh
|
||||
chmod +x install-zfs-buster.sh
|
||||
screen -L -Logfile buildlog.txt ./install-zfs-buster.sh
|
||||
tail -n40 buildlog.txt
|
||||
```
|
||||
|
||||
On succeed, you may need to reboot and enable services:
|
||||
|
||||
```bash
|
||||
sudo reboot
|
||||
sudo systemctl enable zfs-import-cache zsf-import.target zfs-mount zfs.target zfs-zed
|
||||
```
|
3
docs/helios64/software/zfs/install-zfs-buster/Dockerfile
Normal file
3
docs/helios64/software/zfs/install-zfs-buster/Dockerfile
Normal file
|
@ -0,0 +1,3 @@
|
|||
FROM ubuntu:bionic
|
||||
RUN apt update; apt install build-essential autoconf automake bison flex libtool gawk alien fakeroot dkms libblkid-dev uuid-dev libudev-dev libssl-dev zlib1g-dev libaio-dev libattr1-dev libelf-dev python3 python3-dev python3-setuptools python3-cffi libffi-dev -y; apt install software-properties-common -y; add-apt-repository ppa:ubuntu-toolchain-r/test; apt install gcc-10 g++-10 -y; update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 10; update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 10
|
||||
|
50
docs/helios64/software/zfs/install-zfs-buster/install-zfs-buster.sh
Executable file
50
docs/helios64/software/zfs/install-zfs-buster/install-zfs-buster.sh
Executable file
|
@ -0,0 +1,50 @@
|
|||
#!/bin/bash
|
||||
|
||||
#define zfs version
|
||||
zfsver="zfs-2.0.3"
|
||||
#creating building directory
|
||||
mkdir /tmp/zfs-builds && cd "$_"
|
||||
rm -rf /tmp/zfs-builds/inside_zfs.sh
|
||||
apt-get download linux-headers-current-rockchip64
|
||||
git clone -b $zfsver https://github.com/openzfs/zfs.git $zfsver-$(uname -r)
|
||||
|
||||
#create file to execute inside container
|
||||
echo "creating file to execute it inside container"
|
||||
cat > /tmp/zfs-builds/inside_zfs.sh <<EOF
|
||||
#!/bin/bash
|
||||
cd scratch/
|
||||
dpkg -i linux-headers-current-*.deb
|
||||
|
||||
cd "/scratch/$zfsver-$(uname -r)"
|
||||
sh autogen.sh
|
||||
./configure
|
||||
make -s -j$(nproc)
|
||||
make deb
|
||||
mkdir "/scratch/deb-$zfsver-$(uname -r)"
|
||||
cp *.deb "/scratch/deb-$zfsver-$(uname -r)"
|
||||
rm -rf "/scratch/$zfsver-$(uname -r)"
|
||||
exit
|
||||
EOF
|
||||
|
||||
chmod +x /tmp/zfs-builds/inside_zfs.sh
|
||||
|
||||
echo ""
|
||||
echo "####################"
|
||||
echo "starting container.."
|
||||
echo "####################"
|
||||
echo ""
|
||||
docker run --rm -it -v /tmp/zfs-builds:/scratch zfs-build-ubuntu-bionic:0.1 /bin/bash /scratch/inside_zfs.sh
|
||||
|
||||
# Cleanup packages (if installed).
|
||||
modprobe -r zfs zunicode zzstd zlua zcommon znvpair zavl icp spl
|
||||
apt remove --yes zfsutils-linux zfs-zed zfs-initramfs
|
||||
apt autoremove --yes
|
||||
dpkg -i "/tmp/zfs-builds/deb-$zfsver-$(uname -r)"/kmod-zfs-$(uname -r)*.deb
|
||||
dpkg -i "/tmp/zfs-builds/deb-$zfsver-$(uname -r)"/{libnvpair3,libuutil3,libzfs4,libzpool4,python3-pyzfs,zfs}_*.deb
|
||||
|
||||
echo ""
|
||||
echo "###################"
|
||||
echo "building complete"
|
||||
echo "###################"
|
||||
echo ""
|
||||
|
Loading…
Add table
Reference in a new issue