Commit 9c6aeca7 authored by Kroese's avatar Kroese Committed by GitHub
Browse files

feat: Multiple disk support

feat: Multiple disk support
parents 24d44924 81b0bba6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -11,4 +11,4 @@ jobs:
      - name: Run ShellCheck
        uses: ludeeus/action-shellcheck@master
env:
        SHELLCHECK_OPTS: -x -e SC2001 -e SC2002 -e SC2223 -e SC2034 -e SC2064 -e SC2317 -e SC2028
        SHELLCHECK_OPTS: -x -e SC2001 -e SC2002 -e SC2223 -e SC2034 -e SC2064 -e SC2317 -e SC2028 -e SC2153
+2 −1
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ RUN apt-get update && apt-get -y upgrade && \
    apt-get --no-install-recommends -y install \
        curl \
        cpio \
        tini \
        wget \
        fdisk \
        unzip \
@@ -64,4 +65,4 @@ LABEL org.opencontainers.image.url=https://hub.docker.com/r/kroese/virtual-dsm/

HEALTHCHECK --interval=60s --retries=2 CMD /run/check.sh

ENTRYPOINT ["/run/run.sh"]
ENTRYPOINT ["/usr/bin/tini", "-s", "/run/run.sh"]
+0 −2
Original line number Diff line number Diff line
@@ -181,8 +181,6 @@ docker run -it --rm -p 5000:5000 --device=/dev/kvm --cap-add NET_ADMIN --stop-ti
        - /dev/dri
    ```
    
    As the Intel GPU drivers will be downloaded during installation, you need to re-install DSM when you want to apply this to an existing instance.
    
  * ### What are the differences compared to the standard DSM?

    There are only two minor differences: the Virtual Machine Manager package is not provided, and Surveillance Station doesn't include any free licenses.
+24 −0
Original line number Diff line number Diff line
@@ -153,3 +153,27 @@ DISK_OPTS="\
    -device virtio-scsi-pci,id=hw-userdata,bus=pcie.0,addr=0xc \
    -drive file=${DATA},if=none,id=drive-userdata,format=raw,cache=${DISK_CACHE},aio=${DISK_IO},discard=${DISK_DISCARD},detect-zeroes=on \
    -device scsi-hd,bus=hw-userdata.0,channel=0,scsi-id=0,lun=0,drive=drive-userdata,id=userdata0,rotation_rate=${DISK_ROTATION},bootindex=3"

STORAGE2="/storage2"
DATA2="${STORAGE2}/data.img"

if [ -f "${DATA2}" ]; then

  DISK_OPTS="${DISK_OPTS} \
    -device virtio-scsi-pci,id=hw-userdata2,bus=pcie.0,addr=0xd \
    -drive file=${DATA2},if=none,id=drive-userdata2,format=raw,cache=${DISK_CACHE},aio=${DISK_IO},discard=${DISK_DISCARD},detect-zeroes=on \
    -device scsi-hd,bus=hw-userdata2.0,channel=0,scsi-id=0,lun=0,drive=drive-userdata2,id=userdata2,rotation_rate=${DISK_ROTATION},bootindex=4"

fi

STORAGE3="/storage3"
DATA3="${STORAGE3}/data.img"

if [ -f "${DATA3}" ]; then

  DISK_OPTS="${DISK_OPTS} \
    -device virtio-scsi-pci,id=hw-userdata3,bus=pcie.0,addr=0xe \
    -drive file=${DATA3},if=none,id=drive-userdata3,format=raw,cache=${DISK_CACHE},aio=${DISK_IO},discard=${DISK_DISCARD},detect-zeroes=on \
    -device scsi-hd,bus=hw-userdata3.0,channel=0,scsi-id=0,lun=0,drive=drive-userdata3,id=userdata3,rotation_rate=${DISK_ROTATION},bootindex=5"

fi

run/gpu.sh

0 → 100644
+30 −0
Original line number Diff line number Diff line
#!/bin/bash
set -Eeuo pipefail

[ ! -d /dev/dri ] && mkdir -m 755 /dev/dri

if [ ! -c /dev/dri/card0 ]; then
  mknod /dev/dri/card0 c 226 0
fi

if [ ! -c /dev/dri/renderD128 ]; then
  mknod /dev/dri/renderD128 c 226 128
fi

chmod 666 /dev/dri/card0
chmod 666 /dev/dri/renderD128

DEF_OPTS="-nodefaults -boot strict=on -display egl-headless,rendernode=/dev/dri/renderD128"
DEF_OPTS="${DEF_OPTS} -device virtio-vga,id=video0,max_outputs=1,bus=pcie.0,addr=0x1"

if ! apt-mark showinstall | grep -q "xserver-xorg-video-intel"; then

  info "Installing GPU drivers..."

  export DEBCONF_NOWARNINGS="yes"
  export DEBIAN_FRONTEND="noninteractive"

  apt-get -qq update
  apt-get -qq --no-install-recommends -y install xserver-xorg-video-intel > /dev/null

fi
Loading