🕌
etherswitch on Cloud Edge 100s G2 by FreeBSD 15.0-current
タイトル通りの内容
Cloud Edge 100s G2を買ったけどFreeBSDでL2SWとして遊びたいのに遊べない人向け
まさか今の時代で installworld するとは思ってなかった
起動してきたら etherswitchcfg 使えるようになるはず
結論: 15.0-currentをカスタムカーネルで使えるようにすればいい
必要なpkgを事前にインストール
# pkg install ???
先にpkg入れとかないと、currentで起動したあとでpkg入れようとしてもまともに入らなかったんで注意
もしくはjailに RELEASE の base 展開して、そっちで使うのもいいのでは(自分はそうした)
currentソース取得
# git clone https://git.freebsd.org/src.git /usr/src
# cd /usr/src
パッチ取得&パッチ宛
# fetch https://reviews.freebsd.org/D50128.diff
# git apply D50128.diff
カスタムカーネル用コンフィグ作成
# cd /usr/src/sys/amd64/conf/
# cp GENERIC CLOUDEDGE
# vi /sys/amd64/conf/CLOUDEDGE
# ##Add below
device etherswitch
device miiproxy
device e6000sw
カスタムカーネルと世界を作ってインストール
# cd /usr/src
# make -j$(sysctl -n hw.ncpu) buildworld buildkernel KERNCONF=CLOUDEDGE
# make installworld
# make installkernel KERNCONF=CLOUDEDGE
カスタムカーネルで起動する前にヒントいれとこう
# vi /boot/device.hints
# Cloud Edge 100s G2/Silicom IA3000向けMarvell 88E6190Xスイッチ設定
# Intel X553 NICのix0デバイスにMDIOバスをアタッチ
hint.mdio.0.at="ix0"
# Marvell e6000swドライバにスイッチの情報をヒントとして渡す
# スイッチのMDIOアドレス。一般的に0x0または0x10が使用される。
# Cloud Edge 100s G2/Silicom IA3000では0x0が一般的。
hint.e6000sw.0.addr="0x0"
# 88E6190Xスイッチであることを明示
hint.e6000sw.0.is6190x=1
# CPUに接続されたポートを指定
hint.e6000sw.0.port9cpu=1
hint.e6000sw.0.port10cpu=1
# CPUポートの速度を指定
hint.e6000sw.0.port9speed=2500
hint.e6000sw.0.port10speed=2500
# 物理ポート0を無効化(使用しない場合)
hint.e6000sw.0.port0disabled=1
そういえば忘れてた
# vi /etc/rc.local
# Add below
#!/bin/tcsh
kldload e6000sw
# chmod +x /etc/rc.local
mergemaster は必要なら適宜実施
再起動
reboot
以上。
Discussion