OpenWrtファームウェアのアップデート

注釈

OpenWrtは現在、NitroWall NW678でのみ利用可能です。

プリインストールされている`Attended Sysupgrade<https://openwrt.org/docs/guide-user/installation/attended.sysupgrade>`__ を使ってOpenWrtをアップデートすることをお勧めします。このサービスを利用するには、"nitrowall" パッケージがインストールされている場合、それを無視するように設定する必要があります:

  1. システム」→「Attended Sysupgrade」→「設定」で「Advanced Mode」を有効にし、「Save & Apply」します。

    ../../_images/openwrt_upgrade1.png
  2. 概要に戻り、利用可能なアップデートを検索する

    ../../_images/openwrt_upgrade2.png
  3. インストールされているパッケージのリストを検索し、"nitrowall "パッケージを削除します。その後、ファームウェアイメージを要求する

    ../../_images/openwrt_upgrade4.png
  4. イメージがビルドされるのを待ちます。その後、インストールします。設定と現在の構成を保持する」が設定されているか確認する

    ../../_images/openwrt_upgrade5.png
  5. ソフトウェアがインストールされ、NitroWallが再起動します。

  6. 再起動後、`nitrowall.ipk<https://www.nitrokey.com/files/ci/nitrowall/nitrowall_1.0.0-0_x86_64.ipk>`_ パッケージを再インストールする必要があります。これにより、ディスクのサイズが変更され、カーネルパラメータ*pcie_aspm=off* が*/boot/grub/grub.cfg* に追加されます。これは*igb* ドライバの問題`バグ<https://bugzilla.kernel.org/show_bug.cgi?id=205073>`_ を解決するものです。

  7. システム」→「ソフトウェア」→「パッケージのアップロード」で、パッケージをアップロードします。

    ../../_images/openwrt_installnw2.png ../../_images/openwrt_installnw1.png
  8. インストールします。その後、NitroWallが再起動します。

    ../../_images/openwrt_installnw3.png
  9. `Sysupgrade<https://openwrt.org/docs/guide-user/installation/attended.sysupgrade>`__に参加しました。

上記の手順とは別に、sshでログインして以下のスクリプトを実行することもできます:

#!/bin/sh
BOOT="$(sed -n -e "/\s\/boot\s.*$/{s///p;q}" /etc/mtab)"
DISK="${BOOT%%[0-9]*}"
PART="$((${BOOT##*[^0-9]}+1))"
ROOT="${DISK}${PART}"
echo "INFO: resize partion ${ROOT}"
parted -s -a opt ${DISK} "resizepart ${PART} 100%"
LOOP="$(losetup -f)"
losetup ${LOOP} ${ROOT}
echo "INFO: resize filesytem ${ROOT}"
fsck.ext4 -y -f ${LOOP}
resize2fs ${LOOP}
echo "INFO: add pcie_aspm=off as boot parameter"
sed -i s/rootwait/rootwait\ pcie_aspm=off/g /boot/grub/grub.cfg
reboot