QLOOKアクセス解析
--.--.-- Ads by Google
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


ScreenShot_sということで、いよいよpdaXromのインストールです。
ちょっと時間がかかってしまいましたが、なんとか動くようになりました。
とりあえずインストールしただけの状態ですが、その3まで続いた「pdaXromのインストール」シリーズも、まずはひと段落です。
他にも色々とやることはあると思いますが、その辺については追々設定していきます。
pdaXromとのデュアルブート環境の構築に関しては、「LANDISKで漕ぎいでな〜♪」さんの「Zaurus/3.pdaXrom」にとても丁寧にまとめられています。
今回のインストールに関しては、こちらのページを参考にさせていただきました。
(というか、このページがなかったらできなかったです)

「LANDISKで漕ぎいでな〜♪」さんのページではRC.10.4を対象に解説をされていますので、beta1では少し手順が変わってきます。
こちらの手順を参考にして、SL-C3200とpdaXrom beta1で以下のようにデュアルブート環境を構築しました。
ご興味のある方は、ご参考までにどうぞ。
また、もちろんpdaXrom環境はSHARPが保障するものではありませんので、あくまでも自己責任でお願いします。


-- 2006/09/10 追記 --
導入手順を一部修正しました。修正内容はこちらです。

 1.ファイルのダウンロード
デュアルブート環境を構築するのに必要な、以下の2つのファイルを取得します。
 ・init.bz2
 ・Dual_C760.zip

init.bz2はぴろさんのざう日記から、Dual_C760.zipはこちらからダウンロードします。
また、Dual_C760.zipにはgtarのipkファイルが入っていますので、これをインストールします。


 2.rootfsの展開 
前回作成したパーティション(/dev/hda4)を/hdd4にマウントし、これまた以前作成したrootfsを展開します。

まずは/ファイルシステムを書き込みできるようにマウントしなおして、マウント・ポイント(/hdd4)を作成し、マウントします。
bash-2.0$ su -
# mount -o rw,remount /
# mkdir /hdd4
# mount -o ro,remount /
# mount -t ext3 -o noatime /dev/hda4 /hdd4

インストールイメージから作成したpdaXrom1.1.0beta1.tar.gzを/hdd4に展開します。
pdaXrom1.1.0beta1.tar.gzは/hdd3/Documentsにあるものとして、以下のコマンドを実行します。
# cd /hdd4
# gunzip /hdd3/Documents/pdaXrom1.1.0beta1.tar.gz
# gtar vxpf /hdd3/Documents/pdaXrom1.1.0beta1.tar

# gtar vxpf root/.var_default.tar
# gtar vxpf root/.home_default.tar
# gtar vxpf root/.dev_default.tar


 3.各種カスタマイズ
展開したファイルの修正もしくは作成をして、各種のカスタマイズをおこないます。
以下の項目を実行します。

■ファイルのコピー
/etc/pointercalと/dev/consoleをQtopia環境からコピーします。
# cp /etc/pointercal /hdd4/etc
# cp /dev/console /hdd4/dev
(※2006/09/10追記 /dev/consoleのコピーは必要ありません)


■rc.rofilesysの編集
/hdd4/etc/rc.d/rc.rofilesysを以下の内容で置き換えます。
(beta2のrc.rofilesysからもってきました)
#!/bin/sh

#export PATH=$PATH:/usr/sbin.rom:/usr/bin.rom
if [ ! -x /sbin/devfsd ]; then
    mount -t tmpfs -o size=12m none /dev
    cd /
    tar xf /root/.dev_default.tar 2> /dev/null > /dev/null
    mkdir /dev/shm
else
    mount -t tmpfs -o size=12m none /dev/shm
fi

mkdir /dev/shm/tmp
mkdir /dev/shm/run
chmod 4777 /var/tmp
chmod 777 /tmp
touch /var/run/utmp
cd /
tar --no-same-owner -xf /root/.var_default.tar 2> /dev/null > /dev/null
touch /var/log/lastlog

rc=$?
if [ "$rc" = "0" ]; then
    success "$STRING"
else
    failure "$STRING"
fi
msg

■fstabの編集
/hdd4/etc/fstabを以下のように編集します。
/dev/hda1       /mnt/cf         auto    noauto,owner    0  0
/dev/mmcda1     /mnt/card       auto    noauto,owner    0  0
/dev/sda1       /mnt/usbstorage auto    noauto,owner    0  0
none            /dev/pts        devpts  gid=5,mode=620  0  0
proc            /proc           proc    defaults        0  0

■keymapの編集
/hdd4/etc/X11/kb/akita.xmodmapを編集します。
66行目あたりの以下の部分を編集します。
(太字部分が修正/加筆箇所)

  - 中略 -
! pdaXrom silkscreen
keycode 118 = XF86Launch0
keycode 119 = XF86Launch1
!keycode 120 = XF86Launch2
keycode 121 = XF86Launch3
keycode 122 = XF86Launch4

! R-Shift
!keycode 120 = Shift_R

! L-Shift
keycode 120 = Shift_L
remove Shift = Shift_L
add Shift = Shift_L

! Menu
keycode 37 = XF86Start
  - 中略 -


■rootユーザーのプロファイルの作成
/hdd4/home/root/.profileを以下の内容で作成します。
. /etc/profile

.xinitrcの編集
.xinitrcをカスタマイズするのですが、ザウルスでは.xinitrcは/hdd4/usr/bin/mbsessionにリンクしています。
mbsessionの41行目あたりの以下の部分を編集します。
(太字部分が修正箇所。SL-C3100の後ろに|SL-C3200を追加)
    SL-6000)
 test -f /etc/X11/kb/tosa.xmodmap && xmodmap /etc/X11/kb/tosa.xmodmap
 ;;
    SL-C1000|SL-C3000|SL-C3100|SL-C3200)
 test -f /etc/X11/kb/akita.xmodmap && xmodmap /etc/X11/kb/akita.xmodmap
 ;;
    *)

■cardctlの不具合修正
以下の2つのファイルにて、cardctlコマンドの引数を修正します。

・/hdd4/usr/bin/network.py
1067行目あたりの以下の部分を編集します。
(太字部分が修正箇所。eject/insertの後ろに0を追加)

  - 中略 -
        def close_and_update(self,widget):
                if (self.save_prefs() == False):
                        return False
                else:
                        os.system("/sbin/cardctl eject 0")
                        os.system("/bin/sleep 1")
                        os.system("/sbin/cardctl scheme " + self.SETTING_NAME +
                        os.system("/bin/sleep 1")
                        os.system("/sbin/cardctl insert 0")
                        gtk.main_quit()

        def main(self):
                gtk.main()
  - 中略 -


・/hdd4/etc/rc.d/init.d/pcmcia
124行目あたりの以下の部分を編集します。
(太字部分が修正箇所。ejectの後ろに0を追加)
  - 中略 -
    stop)
        msg -n "Stop CF services:"
        cardctl eject 0 >/dev/null 2>&1
        killproc /sbin/cardmgr
        if grep -q "ds  " /proc/modules ; then
            echo -n " modules"
            /sbin/rmmod ds
            /sbin/rmmod $PCIC
            /sbin/rmmod pcmcia_core
        fi
  - 中略 -

■swapファイルの作成
swapファイルを作成し、起動時に有効化するようにします。
この辺も「LANDISKで漕ぎいでな〜♪」さんのページをそのまま参考にさせていただいています。

以下のコマンドでswapファイルを作成します。
# cd /hdd4
# dd if=/dev/zero of=.swap bs=512 count=131072
# mkswap /hdd4/.swap

起動時/終了時に実行されるスクリプトを作成します。
/hdd4/etc/rc.d/init.d/swapを以下の内容で作成します。
#!/bin/sh
# /etc/rc.d/init.d/swap - Start/Stop the swap.
case "$1" in
        start)
        /sbin/swapon /.swap
        ;;
    stop)
        /sbin/swapoff /.swap
        ;;
    restart)
        ;;
    *)
        echo "Usage: $0 (start|stop|restart)"
        exit 1
        ;;
esac
exit 0

スクリプトに実行権限を与え、各シンボリック・リンクを作成します。
# chmod +x /hdd4/etc/rc.d/init.d/swap
# ln -s ../init.d/swap  /hdd4/etc/rc.d/rc5.d/S01swap
# ln -s ../init.d/swap  /hdd4/etc/rc.d/rc0.d/K01swap
# ln -s ../init.d/swap  /hdd4/etc/rc.d/rc6.d/K01swap


 4.ブートセレクタの設定
QtopaとpdaXromのデュアル・ブート環境はpivot_rootという仕組みを使用し、rootファイルシステムを変更する方法で実現します。

まずは、ぴろさんのところからダウンロードしたinit.bz2を解凍し、できあがったinitファイルを編集します。
(太字部分が修正箇所)

  - 26行目付近 -
    BOOT_NO="1"

    echo "Root Filesystem selecter."
    echo
    echo "1. Qtopia"
    echo "2. pdaXrom (/dev/hda4)"
#    echo "3. Compact Flash"
#    echo "4. SD card"
    echo
#    echo  "After 20 seconds, boot Qtopia's root filesystem"
    echo
    echo -n "Select :"
    read BOOT_NO

  - 40行目付近 -
    if [ $BOOT_NO = "2" ] ; then  # 2. /dev/hda4(hdd4) root filesystem

        /bin/mount -t proc none /proc
        /bin/mount -t jffs2 -o ro /dev/mtdblock3 /home

  - 71行目付近 -
        while [ "$IDE1" = "" ] ; do
            IDE1=`get_dev_pcmcia_slot 1`
        done

         /bin/mount -t ext3 -o noatime /dev/${IDE1}4 /hdd4 # mount hdd4 on /new-root

        if [ -e /hdd4/sbin/init ] ; then

            cd /hdd4
            /bin/umount /var
            /etc/rc.d/init.d/pcmcia stop >/dev/null 2>&1

  - 91行目付近 -
        else
            /bin/umount /hdd4
            /etc/rc.d/init.d/pcmcia stop >/dev/null 2>&1
            /bin/umount /var
            /bin/umount /home
  - 中略 -


編集したinitファイルをコピーします。
initファイルは/hdd3/Documents/initにあるものとします。

# mount -o rw,remount /
# mv /sbin/init /sbin/init.org
# cp /hdd3/Documents/init /sbin
# chmod 775 /sbin/init


また、pivot_rootファイルとchrootファイルをコピーし、/hdd4/old-rootディレクトリを作成します。
pivot_rootはダウンロードしたDual_C760.zipにはいっていますので、解凍してザウルスに転送してください。
ここでは、/hdd3/Documentsにあるものとします。

# cp /hdd3/Documents/pivot_root /sbin
# cp /hdd3/Documents/pivot_root /hdd4/sbin
# cp /sbin/chroot /hdd4/sbin
# mount -o ro,remount /
# mkdir /hdd4/old-root



 5.pdaXromの起動
いよいよpdaXromを起動します。

ターミナルで以下のコマンドを実行し、再起動します。
# shutdown -r now

再起動後、ブートセレクタが起動して以下の選択画面が表示されます。
Root Filesystem selector.

1. Qtopia
2. pdaXrom (/dev/hda4)

Select :

ここで2を入力し、Enterを押すとpdaXromが起動します。
(1を入力するとQtopiaが起動されます)

しばらくするとログイン・プロンプトが表示されますので、rootユーザーでログインしstartxコマンドを実行します。
(ログイン時のパスワードはありません)
zaurus login: root
# startx

startxを実行すると・・・

Screenshot

X Windosが起動されました〜!


以上でpdaXromのインストールは完了です。
ザウルスでX Windowが動いているなんて、なんか新鮮ですね。

後は日本語化したり、デバイスを認識させたり、ソフトを入れたり・・・
やらなきゃいけないことは沢山ありますが、これは面白そう。
しばらくはQtopia環境はほったらかしになっちゃうかも。(笑)


Secret

TrackBackURL
→http://linuxzaurus.blog47.fc2.com/tb.php/32-5cfbe326