MIRACLE
メールサービス申込 ユーザー登録&ログイン パートナー情報
お問い合わせ FAQ サイトマップ
MIRACLE LINUXの特長 製品紹介 サービス案内 購入 サポート 技術フォーラム

プロフィール

日本発のリナックス企業、ミラクル・リナックスで奮闘する社員のブログです。

ミラクル関連リンク

採用情報

サイト検索

最近のトラックバック

2010年2月

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28            

« vim プラグイン de 機能拡張 (1) | メイン | スター誕生なるか »

工人舎 SA5SX12A へ Linux をインストール

物欲に目覚めつつある tmorimoto です。先日、OSC2008 Tokyo/Spring の小江戸らぐのブースで工人舎製の PC を持っておられた方がいました。少しの間、触って遊ばせて頂いた後「これは欲しい!」。初めての PC 衝動買いです。Machine01_640x480_2

リファレンス:
工人舎 -SA series LINEUP-
工人舎7インチ液晶mini NotePC SA1F00A
GRUBコマンドラインからの Linux 起動

SA5SX12A を購入しました。こんな素敵な PC には Linux をインストールしましょう〜♪。そこで、唐突ですが Linux インストール記です。今や Linux のインストールで困ると言うのは、このようなモバイルや組み込み系のデバイスしかないですよね。「ん?、動かねー」、「あっ、固まった」と言う感覚が懐かしくて、楽しかったです。うぅ、もう年だ(- -#

さて、インストールを試みたのは、以下のディストリビューションです。
普通にインストールに成功したものを ○、ごにょごにょ小細工したら成功したものを △、ダメだったものを×で表します。(× のものも私が挑戦していないだけで、もしかしたらインストールできるかもしれません)

  • CentOS 5.1 : △ (後述)
  • CentOS 4.6 : ×
  • OpenSuse 10.3 : ◎ (唯一、まともにインストールできて X も起動する)
  • Vine Linux 4.2 : ○ (マウスの挙動がおかしい)
  • Fedora 8 : ○ (X が起動しない)
  • Momonga Linux 4.0 : ×
  • Ubuntu 7.10 : ×

CentOS 5.1(AXS3 も同手順のはず) をインストールするための方法をまとめておきます。
(注) このインストール手記は動作を保証するものではありません。また、本作業による、いかなる損害につきましても、自己責任でお願い致します
なぜ、ごにょごにょ小細工しなければいけないかの最大の理由は、

$ uname -m
i586

というわけで、AMD Geode™ LX800 の CPU アーキテクチャが i586 なのですね。Asianux も同様ですが、kernel 等の一部のパッケージは i686 、その他のパッケージは i386 で提供しています。従って、普通にインストールを試みると、kernel がインストールできないために失敗します。以下のようなエラーが発生します。

Reigai01_640x480 # これがパッケージの依存関係チェック時に発生するから質が悪い
# 最初から CPU アーキテクチャが分かってるんだから、
# インストーラー起動時に警告してくれれば良いのに、、、


このエラーを手掛かりに anaconda のソースを覗いてみると、

$ less -N anaconda-11.1.2.87/yuminstall.py
(snip)
1101         foundkernel = False
1102         kpkg = getBestKernelByArch("kernel", self.ayum)

の箇所で getBestKernelByArch() を呼んで CPU アーキテクチャに適した kernel を探す処理を行っていますが、DVD 内には i686 の kernel しか存在しないため、パッケージ選択後の依存関係チェック前で "/usr/lib/python2.4/site-packages/yum/packageSack.py" が例外を発生させます。 kernel 以外のパッケージは  i386 なので、kernel のアーキテクチャチェックを外して、他のパッケージをインストールできるようにします。そこで "yuminstall.py" を以下のように修正します。
(ソースは anaconda-11.1.2.87-1.el5.centos.src.rpm を取得すると確認できます)

$ diff -uNr yuminstall.py.orig yuminstall.py
--- yuminstall.py.orig  2007-09-12 02:51:21.000000000 +0900
+++ yuminstall.py       2008-03-15 14:27:59.000000000 +0900
@@ -1099,20 +1099,22 @@
             return pkgs[0]

         foundkernel = False
-        kpkg = getBestKernelByArch("kernel", self.ayum)
+        # kpkg = getBestKernelByArch("kernel", self.ayum)
+        kpkg = "kernel - 2.6.18-53.el5.i686"

         # FIXME: this is a bit of a hack.  we shouldn't hard-code and
         # instead check by provides.  but alas.
-        for k in ("kernel", "kernel-smp", "kernel-xen0", "kernel-xen"):
-            if len(self.ayum.tsInfo.matchNaevr(name=k)) > 0:
-                kpkg = getBestKernelByArch(k, self.ayum)
-                log.info("%s package selected for kernel" % k)
-                foundkernel = True
-                self.selectModulePackages(anaconda, k)
-
-                if len(self.ayum.tsInfo.matchNaevr(name="gcc")) > 0:
-                    log.debug("selecting %s-devel" % k)
-                    self.selectPackage("%s-devel.%s" % (k, kpkg.arch))
+        #for k in ("kernel", "kernel-smp", "kernel-xen0", "kernel-xen"):
+        #    if len(self.ayum.tsInfo.matchNaevr(name=k)) > 0:
+        #        kpkg = getBestKernelByArch(k, self.ayum)
+        #        log.info("%s package selected for kernel" % k)
+        #        foundkernel = True
+        #        self.selectModulePackages(anaconda, k)
+        #
+        #        if len(self.ayum.tsInfo.matchNaevr(name="gcc")) > 0:
+        #            log.debug("selecting %s-devel" % k)
+        #            self.selectPackage("%s-devel.%s" % (k, kpkg.arch))
+        foundkernel = True

         if not foundkernel and os.path.exists("/proc/xen"):
             try:

この修正をインストール時に適用するため、anaconda の updates.disk を以下のようにして作成します。

(updates.disk の作り方)
# dd if=/dev/zero of=updates.img bs=1k count=1440
# yes | mke2fs updates.img
# mount -o loop updates.img /mnt/
# cp yuminstall.py /mnt
# umount /mnt
# dd if=updates.img of=/dev/fd0 bs=72k count=20

Cmd_linux_updates01_640x480 私が作成した updates.img をアップしておきますので、必要な方はご活用ください。 インストール時に updates.disk を適用するには、以下のように、コマンドラインにおいて "linux updates" を入力してインストールを進めます。

updates.imgをダウンロード


Apply_updates02_640x480 USB フロッピードライブで updates.disk を読み込んだ画面です。


この後は、通常のインストール方法と同じです。画面の指示に従って進めます。また、今回、作業を行ったパーティション設定は以下の通りです。

 -- partition
/dev/hda1   /boot         128MB
/dev/hda2   /             60440MB

パッケージの選択は、KDE, Server, Server-GUI の3つを選択しました。これらのパッケージがインストールされた後、以下のように、「システムにカーネルパッケージはインストールされなかったため、ブートローダ設定は変更されません」という警告メッセージが出力されます。

Not_kernel02_640x480


このメッセージが出力されたら、"Ctrl + Alt + F2" でコンソールに切り替えます。 

(アーキテクチャを無視して kernel を強制的にインストール)
# rpm -ivh --root /mnt/sysimage --ignorearch /mnt/sources/CentOS/kernel-2.6.18-53.el5.i686.rpm
(kernel-devel は必要に応じて)
# rpm -ivh --root /mnt/sysimage --ignorearch /mnt/sources/CentOS/kernel-devel-2.6.18-53.el5.i686.rpm

Rpm_ivh_kernel02_640x480


これで kernel はインストールできました。但し、i686 の kernel をそのまま使ってて良いのかどうか私は分からないです。識者のコメントが欲しいところです。最後にブートローダの設定を行います。この作業を行わないと起動させることができません。

Grub_install01_640x480


(ブートローダ設定)
# chroot /mnt/sysimage
# /sbin/grub-install /dev/hda
  (fd0) /dev/fd0
  (hd0) /dev/hda
# grub
# cd /boot/grub
# vi grub.conf
-- ここから
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-53.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.18-53.el5.img
-- ここまで
# ln -s ./grub.conf menu.lst

ブートローダの設定も完了しました。"Alt + F6" を押して、元のインストーラー画面に戻り、「OK」を選択して再起動します。

Reboot01_640x480


grub の起動後、 kernel が起動できれば成功ですo(^ ^)o

Grub_boot01_640x480


Kernel_boot01_640x480


(再起動後、もし、うまく起動しなかったら手動で grub コマンドから起動)
grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub> kernel /vmlinuz-2.6.18-53.el5 ro root=LABEL=/
[Linux-bzImage, setup=0x1e00, size=0x1b3634]
grub> initrd /initrd-2.6.18-53.el5.img
[Linux-initrd @ 0x37dcd000, 0x222337 bytes]
grub> boot

Cmd_grub01_640x480

トラックバック

このページのトラックバックURL:
http://www.typepad.jp/t/trackback/4447/12080834

このページへのトラックバック一覧 工人舎 SA5SX12A へ Linux をインストール:

» 工人舎、Atom搭載の新型モバイルノートを発表 トラックバック Newsブログ検索結果BLOG
人舎は6月24日、「KOHJINSHA モバイルノートPC」に、A5サイズ以下の極小サイズPC「SC3KP06A」、DVD スーパー・マルチドライブ搭載の「SX3KP06MA」を発表した。両モデルとも、Intel Atom processor Z520(1.33GHz)、Microsoft Windows Vista Home Premium with SP1 正規版を搭載し、価格は「SC3KP06A」が8万9,800円(税込)から、「SX3KP06MA」が10万9,800円(税込)から。受注は、上... [続きを読む]

コメント

拝見しました。
非常に興味深い内容でした。
タッチパネルは正常に動きますか?

トマトさん、コメントありがとうございます。
残念ながら、タッチパネルは動きません。動作情報があれば、私も知りたいです。

この情報のおかげで大変助かりました。
こちらではCent5.2でトライし、無事インストール出来ました。ブートもできて使えるところまで気ましたが、起動時にdhcp関連でエラーが数行でるんですが、dhcpを無効にしても出るようで、そちらは問題なく動いてますでしょうか?(古いレスですいません)

コメントを投稿

会社情報 採用情報 個人情報保護方針 商標等取り扱い事項 English
Copyright(c)2000-2006 MIRACLE LINUX CORPORATION. All Rights Reserved.