Proxmox VE 8.2でRealtek RTL8126を使えるようにする
はじめに
最近ミニPCを使って遊んでる中で、試しにProxmox VEをインストールしてみたところRealtek RTL8126(NIC)を認識してくれなかったので、使えるようにするまでの備忘録です。
やったこと
以下の方法でドライバをインストールしただけで無事動きました😌
- ドライバと必要なパッケージの収集
- Proxmox VEでドライバのインストール
- NICの設定
なお、作業用PCにはM2 MacBookを使用しています。
1. ドライバと必要なパッケージの収集
Proxmox VEで apt-get install
…と書きたいところですが、残念ながらNICを認識してくれないのでインターネットには繋がりません😇
なので、作業用PC側で必要なドライバと必要なパッケージを収集して、USB経由でProxmox VEに持っていきました。
Realtek RTL8126のドライバは、公式ダウンロードページからダウンロードできます。Proxmox VEはDebianベースなので、Linux用のものをダウンロードします。
次にパッケージを集めます。必要なパッケージは以下です。
- build-essential
- dkms
- proxmox-headers
今回はDebianコンテナをM2 MacBook上で起動し、その上で上記パッケージをダウンロードすることにしました。
以下のコマンドで、コンテナを起動します。
docker run --rm -it --platform linux/amd64 -v ./packages:/packages bash
利用するイメージは今回導入するProxmox VE 8.2.2のベースに合わせて、 debian:12.5-slim
にしました。
Proxmox VEインストール先のPCはCPUアーキテクチャがx64なので、環境を合わせるため --platform linux/amd64
が必要です。
また、最終的にはMacBookからUSBにパッケージをコピーするため、-v
で適当な場所にボリュームをマウントしています。
いよいよ本丸のパッケージ集めです。
proxmox-headers
は、aptにProxmoxのリポジトリを追加する必要があります。(参考:公式Wiki)
以下の行を、/etc/apt/sources.list
に追加します。
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
合わせてgpgキーを導入します。
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
コンテナ上で以下のコマンドを実行しパッケージを集めていきます。
apt-get update
apt-get install -y vim apt-rdepends build-essential dkms
cd /packages
# build-essential
apt-rdepends build-essential | grep "^ " > deps.txt
# libc-devの行を削除
vim deps.txt
apt-get download $(cat deps.txt)
# dkms
apt-rdepends build-essential | grep "^ " > deps.txt
# libc-dev, c-compiler, kldutilsの行を削除
vim deps.txt
apt-get download $(cat deps.txt)
# proxmox-headers
# 6.8.4-2はProxmox VEのKernelバージョンに合わせる
apt-get download proxmox-headers-6.8.4-2-pve
ここまでで、ドライバとドライバのインストールに必要なパッケージが揃います。
ドライバと集めたパッケージは適当にUSBメモリなりにコピーしておきます。
2. Proxmox VEでドライバのインストール
まずは、USBをProxmox VEにマウントして1で集めたファイル類をProxmox VEにコピーします。
mkdir -p /mnt/usb
mount /dev/<USBメモリデバイス> /mnt/usb
cp -r /mnt/usb/r8126-10.013.00 /root/ # ドライバ
cp -r /mnt/usb/packages /root/ # パッケージ
次に、パッケージのインストールです。
インストール順によっては一部が正しくインストールされない可能性があるため、インストールコマンドを実行しました。
dpkg -i /root/*.deb
最後にドライバをインストールします。
/root/r8126-10.013.00/autorun.sh
Proxmox VEを再起動して、以下のようなコマンドでNICが認識されていれば成功です。
ip link show
3. NICの設定
最低限のNICの設定をしておきます。
以下の行を、/etc/network/interfaces
に追加します。
auto <インターフェース名>
iface <インターフェース名> inet dhcp
また、Proxmox VEインストール時に作成されるbridgeに認識されたNICを参加させるために設定を変更しておきます。
iface vmbr0 inet static
address 192.168.10.2/24
gateway 192.168.10.1
bridge-ports <インターフェース名> # ここを変更
bridge-stp off
bridge-fd 0
まとめ
今回は、Proxmox VE 8.2でRealtek RTL8126が利用できるようにするためのドライバのインストール方法について紹介しました。
今後はProxmox VE上にKubernetesクラスタを構築して、夢のおうちKubernetesを手に入れたいと思います😎
Discussion