FC2ブログ
QLOOKアクセス解析

pdaXii13のデュアルブート環境構築手順をまとめてみました
構築してから1ヶ月以上経っているにもかかわらず、実はあまり使えていないのですが、とりあえず普通に動作しています。
pdaXromの時のように別のLinuxマシンでrootfsを取り出したり、各種設定ファイルの編集や日本語化といった作業が減っているので、簡単に構築できると思います。

使用したのは、build5.3.6のfull版です。
また、例によってpdaXii13はSHARPが保障するものではありませんので、バックアップを取るなどして、あくまでも自己責任でお願いします。

1.パーティションの作成
pdaXii13をインストールするパーティションを作成します。
パーティションの作成方法については、以下を参照してください。

pdaXromのインストール(その1 パーティションの作成)


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

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

また、pdaXii13のインストールイメージをpdaXii13 for Zaurus SL-C3000からダウンロードします。
今回使用したのはFull版のhdimage-full.tgzです。


3.hdimage-full.tgzの展開
1.で作成したパーティション(/dev/hda4)を/hdd4にマウントし、ダウンロードしたhdimage-full.tgzを展開します。

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

ダウンロードしたhdimage-full.tgzを/hdd4に展開します。
hdimage-full.tgzは/hdd3/Documentsにあるものとして、以下のコマンドを実行します。
# cd /hdd4
# gunzip /hdd3/Documents/hdimage-full.tgz
# gtar vxpf /hdd3/Documents/hdimage-full.tar
# cd hdd1
# mv * ..
# cd ..
# rm -r hdd1

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


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

■ファイルのコピー
/etc/pointercalをQtopia環境からコピーします。
# cp /etc/pointercal /hdd4/etc

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

■swapファイルの作成
swapファイルを作成し、起動時に有効化するようにします。
以下のコマンドでswapファイルを作成します。
/hdd4/swapfileの名前で作成しておくと、起動時に自動でswaponしてくれます。
# cd /hdd4
# dd if=/dev/zero of=/hdd4/swapfile bs=512 count=131072
# mkswap /hdd4/swapfile

■/proc/deviceinfo/productの不具合対応
デュアルブート環境の場合、/proc/deviceinfo/productからモデル名を取得することができません。
以下の3つのファイルはモデル名によって処理を分岐しているので、SL-C3200用の処理が実行されるように、編集します。

・/hdd4/home/root/.xinitrc(リンク先は/hdd4/usr/bin/mbsession)
6行目あたりの以下の部分を編集します。
(太字部分が修正箇所)
- 中略 -

#MODEL=`cat /proc/deviceinfo/product`
MODEL= SL-C3200
exho "MODEL is $MODEL"
#test -e /proc/power_key_off && echo "0" >/proc/power_key_off 2>/dev/null

- 中略 -

・/hdd4/usr/bin/cpuoverclock.py
14行目あたりの以下の部分を編集します。
(太字部分が修正箇所)
- 中略 -

        #f = open("/proc/deviceinfo/product","r")
        #MODEL = f.read()
        #f.close()

        #MODEL = MODEL.split();

        #MODEL = MODEL[0]
        MODEL = "SL-C3200"

        #print MODEL

- 中略 -

・/hdd4//usr/X11R6/bin/startx
19行目あたりの以下の部分を編集します。
(太字部分が修正箇所)
- 中略 -

echo Starting X
SUDO=`which sudo`
#MODEL=`cat /proc/deviceinfo/product`
MODEL=SL-C3200

- 中略 -


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

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

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

    echo "Root Filesystem selecter."
    echo
    echo "1. Qtopia"
    echo "2. pdaXii13 (/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


6.pdaxii13の起動
いよいよpdaXii13を起動します。

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

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

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

Select :

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

しばらくすると「Welcome to pdaXii13!!」という雄叫びと共に起動します。


以上でpdaXii13のインストールは完了です。
pdaXromの時よりも簡単に構築できますね。


Secret

TrackBackURL
→http://linuxzaurus.blog47.fc2.com/tb.php/53-a3fb010c