修正したリリースの作成
NetBSDの動作条件で書きましたように、さくらのVPS(v3) 1Gで動作させるためにはカーネルの修正が必要です。
ソースコードの修正
以下の2つの修正を行います。
if_wm.cのパッチ
wm(4)の本体であるif_wm.cのパッチです。wm(4)はインテルのi8254xをベースとしたギガビットイーサネットのドライバーで、EEPROMの内容の読み書きを行う部分の修正です。
パッチを表示
Index: sys/dev/pci/if_wm.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_wm.c,v
retrieving revision 1.1.1.24
retrieving revision 1.1.1.1.2.20
diff -u -u -r1.1.1.24 -r1.1.1.1.2.20
--- sys/dev/pci/if_wm.c 29 Nov 2011 01:12:03 -0000 1.1.1.24
+++ sys/dev/pci/if_wm.c 30 Nov 2011 06:28:12 -0000 1.1.1.1.2.20
@@ -4588,6 +4588,14 @@
reg = CSR_READ(sc, WMREG_EECD) & ~(EECD_SK | EECD_DI);
CSR_WRITE(sc, WMREG_EECD, reg);
+ /* XXX: workaround for a bug in qemu-0.12.x and prior */
+ reg |= EECD_SK;
+ CSR_WRITE(sc, WMREG_EECD, reg);
+ reg &= ~EECD_SK;
+ CSR_WRITE(sc, WMREG_EECD, reg);
+ delay(2);
+ /* XXX: end of workaround */
+
/* Set CHIP SELECT. */
reg |= EECD_CS;
CSR_WRITE(sc, WMREG_EECD, reg);
リリースの作成
ソースコードを修正したら、後はいつものようにbuild.shスクリプトでリリースを作成します。次はamd64版を作成する場合の一例です。
# build.sh -m amd64 -D /work/amd64/tree -O /work/amd64/obj -R /data/release
これでエラーがなければ/data/release以下に、NetBSDのrelease(7)に基づいた構成のリリースを作成できます。
Copyright © 2011-2024 Takahiro Kambe all rights reserved.