2016年2月19日金曜日

VAIO C1 VRX/K の Linux kernel

数年前、何かを勘違いしたようで、新しいLinux kernel(3.13だったかな)では、PAEのON/OFF選択が無いと思っていた。
そのため、VAIO C1のKernelは、3.2系を使い続けていた。先日、何気なく3.13系のKernelのソースを取ってきて見ていたら、PAEの選択があるのに気がついた。
以前見たときは、疲れている深夜の短い時間に見たので見落としていたのだろう。また、Ubuntu12.04.5では、3.13 カーネルが使えるが、apt-getを使ったやり方でソースの入手がうまくできないので、あまり見ていなかったというのもある。さらにXubuntuやLubuntuでも対応していないので、あきらめていた。

しかし、よく考えてみたら、Linux自身はPCアーキテクチャ専用ではないので、Non-PAEも対象として残るだろう。

そうとなれば、試しに3.13 Kernelを、VAIO C1用にコンパイルしてみよう。
Ubuntuで使うので、UbuntuのKernelソースを入手する。

apt-getでは入手できないので、Ubuntu Packageのページから入手する。画面の右端の「ソースパッケージをダウンロード」と書かれた下にあるリンクから3つのファイルをダウンロードする。
以下に同じリンクを置く。
linux-lts-trusty_3.13.0-77.121~precise1.dsc
linux-lts-trusty_3.13.0.orig.tar.gz
linux-lts-trusty_3.13.0-77.121~precise1.diff.gz
これら3つのファイルを同じディレクトリにダウンロードして、ソースコードを展開する。以下参照。
mkdir linux-source
cd linux-source
wget http://archive.ubuntu.com/ubuntu/pool/main/l/linux-lts-trusty/linux-lts-trusty_3.13.0-77.121~precise1.dsc
wget http://archive.ubuntu.com/ubuntu/pool/main/l/linux-lts-trusty/linux-lts-trusty_3.13.0.orig.tar.gz
wget http://archive.ubuntu.com/ubuntu/pool/main/l/linux-lts-trusty/linux-lts-trusty_3.13.0-77.121~precise1.diff.
dpkg-source -x linux-lts-trusty_3.13.0-77.121~precise1.dsc
これで、サブディレクトリlinux-lts-trusty-3.13.0が作られ、ソースコードが展開される。
Linux 2.6.x や 3.x では、VAIO C1 VRX/Kのフレームバッファは、まともに動作しない。
動かすためには、この自家製パッチを当てる必要がある。
以下のように行う。
cd linux-lts-trusty-3.13.0
cat #ダウンロードしたパッチ# | patch -p1
make menuconfigで、Processor type and features 内の、"High Memory Support" と "Memory split" と "PAE (Physical Address Extension) Support"を以下のように書き換える。
私が使ったコンフィグは、ここからダウンロードできる。
これはProcessor familyにCrusoeを選択したり、いろいろいじっている。そのため、一般的なカーネルではない。
リスクがあるかもしれないので、注意せよ。使いたければ、ダウンロードして、.configを上書きせよ。

make menuconfig の後は、昔はmake depだったけど、今はやる必要はない。
以下のようにすることで、linux-imageとlinux-headersのバイナリパッケージが出来上がる。
CONCURRENCY_LEVEL=4 make-kpkg --rootcmd fakeroot --initrd --revision=$(date +"%Y%m%d") kernel_image kernel_headers
上記は4コアシステムでのコンパイルを想定している。
この前、購入したhpのPCでコンパイルしたら、2時間以下で終わった。

1つ上のディレクトリに、バイナリパッケージができているので、それをVAIOにコピーして、インストールする。
これでLinux 3.13.xがVAIOでも動作するようになる。

最新カーネルがVAIO C1 VRX/Kで動くとなれば、まだまだ現役として使える。最新Lubuntuをインストールしたくなる。
しかし、最新のLubuntuのInstallerは、Non-PAEを受け入れない。そのためInstallできない。

カーネルは用意できるのだから、なんとかならないかとAlternate Install CDの事を調べ始めた(VAIO C1 VRX/Kは、メモリが少なすぎるので通常のDesktop Install CDは使えない)。
AlternateCDをカスタマイズして、Non-PAEにインストールできるものを自力で作ろうと、 Alternate CD のカスタマイズに関するページを、先月末からちょびちょび読んでいた。

全部読み終わって、関連する技術の詳細を調べようと、いろいろ探していたら、なんとすでに作られていた。
Lubuntu fake-PAE の下の方、Ubuntu 14.04 LTS text non-pae 'Trusty-npae124-text.iso' に、それが書いてある。
まだ見てないので、動くかどうかはわからないが、これを使ってみよう。

無駄に勉強しちゃったけど、どこかで何かの役に立つだろう。


2017/12/10追記 <<<<注意>>>>: FrameBuffer設定も必要だ。後から書いたこれを参照せよ。 私のVAIO C1-VRX/Kはもうダメなので、放置していたが、最近になって、このページを見ている人が増えてきているので、注意書きを書いた。

0 件のコメント:

コメントを投稿