pdaXrom RC10.4 Edit

インストール Edit

  • gtar(GNU tar),bzip2のインストール
    詳細省略。(gtarは、Dual_C760.zip にあります。)

  • pdaXromを/dev/hda4下へ展開
    • hdd4をマウント
      bash-2.0$ su
      # mount -t ext3 -o noatime /dev/hda4 /hdd4
      # cd /hdd4
      
    • 展開
      # bzip2  -d /hdd3/Documents/root-akita-rc10.4.tar.bz2
      # gtar vxpf /hdd3/Documents/root-akita-rc10.4.tar
      # mv root-akita/* .
      
      # gtar vxpf root/.var_default.tar
      # gtar vxpf root/.home_default.tar
      # gtar vxpf root/.dev_default.tar
      # chroot /hdd4 chown -R root:root /usr
      
  • /hdd4/etc/rc.d/rc.rofilesys
    (ざう日記さんの pdaXrom_CF_c3000 より拝借)
    #!/bin/bash
    
    #export PATH=$PATH:/usr/sbin.rom:/usr/bin.rom
    
    ### SW Reset !
    umount /old-root
    
    mount -t tmpfs -o size=5m none /dev/shm
    
    mkdir /dev/shm/tmp
    mkdir /dev/shm/run
    chmod 4777 /var/tmp
    chmod 777 /tmp
    touch /var/run/utmp
    cd /
    
    作成後、実行属性を付加、さらに、/dev/shmを作成
    # chmod +x /hdd4/etc/rc.d/rc.rofilesys
    # mkdir /dev/shm
    
  • /hdd4/usr/lib/ipkg/info/bluez-utils.postinst
    /etc/rc.d/init.d/pcmcia start でハングアップするらしいのでコメント化
    --- bluez-utils.postinst.orig   Sat Oct 29 08:13:03 2005
    +++ bluez-utils.postinst        Sat Oct 29 08:13:24 2005
    @@ -1,3 +1,3 @@
     #!/bin/sh
    -test -e /etc/rc.d/init.d/pcmcia && /etc/rc.d/init.d/pcmcia restart
    +#test -e /etc/rc.d/init.d/pcmcia && /etc/rc.d/init.d/pcmcia restart
     /etc/rc.d/init.d/bluetooth start
    
  • /hdd4/etc/fstab
    #/dev/mtdblock2  /               jffs2   rw              1  1
    #/dev/mtdblock3  /home           jffs2   rw              0  0
    #/dev/hda1       /mnt/cf         auto    noauto,owner    0  0
    /dev/mmcda1     /mnt/card       auto    noauto,owner    0  0
    /dev/root       /               ext3    noatime         1  1
    none            /dev/pts        devpts  gid=5,mode=620  0  0
    proc            /proc           proc    defaults        0  0
    
  • ポインタ・キャリブレーションファイルのコピー … /hdd4/etc/pointercal
    # cp /etc/pointercal /hdd4/etc
    
  • keymapの修正 … /hdd4/etc/X11/kb/akita.xmodmap
    --- akita.xmodmap.orig  Fri Oct 28 17:28:42 2005
    +++ akita.xmodmap       Fri Oct 28 17:28:00 2005
    @@ -65,12 +65,17 @@ keycode 39  = BackSpace BackSpace Delete
     ! pdaXrom silkscreen
     keycode 118 = XF86Launch0
     keycode 119 = XF86Launch1
    -keycode 120 = XF86Launch2
    +!keycode 120 = XF86Launch2
     keycode 121 = XF86Launch3
     keycode 122 = XF86Launch4
    
     ! R-Shift
    -keycode 120 = Shift_R
    +!keycode 120 = Shift_R
    +
    +! L-Shift
    +keycode 120 = Shift_L
    +remove Shift = Shift_L
    +add Shift = Shift_L
    
     ! Menu
     keycode 37 = XF86Start
    
  • swap設定
    • 64MB作成
      # 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
      
  • Using fallback suid method 対策
    Busyboxが出すワーニングらしい。下記対策を行えばOK!
    # chown root:root /hdd4/etc/busybox.conf
    
  • /hdd4/home/root/.profile
    . /etc/profile
    
  • cardctlの不具合対策
    • /hdd4/usr/bin/network.py
      --- network.py.orig     Sat Oct 29 12:33:59 2005
      +++ network.py  Sat Oct 29 12:37:32 2005
      @@ -1036,11 +1036,11 @@ case "$ADDRESS" in
                      if (self.save_prefs() == False):
                              return False
                      else:
      -                       os.system("/sbin/cardctl eject")
      +                       os.system("/sbin/cardctl eject 0")
                              os.system("/bin/sleep 1")
                              os.system("/sbin/cardctl scheme " + self.SETTING_NAME + " >/dev/null 2>&1")
                              os.system("/bin/sleep 1")
      -                       os.system("/sbin/cardctl insert")
      +                       os.system("/sbin/cardctl insert 0")
                              gtk.main_quit()
      
              def main(self):
      
    • /hdd4/usr/bin/apm
      --- apm.orig    Sat Oct 29 12:41:34 2005
      +++ apm Sat Oct 29 12:40:45 2005
      @@ -6,7 +6,7 @@
      
       pre_suspend() {
           # test -e /etc/rc.d/init.d/pcmcia && /etc/rc.d/init.d/pcmcia stop >/dev/null 2>/dev/null
      -    cardctl eject
      +    cardctl eject 0
           rmmod -a
           rmmod -a
           echo -n Suspending ...
      @@ -15,7 +15,7 @@ pre_suspend() {
       post_suspend() {
           # test -e /etc/rc.d/init.d/pcmcia && /etc/rc.d/init.d/pcmcia start >/dev/null 2>/dev/null
           # sleep 1
      -    cardctl insert > /dev/null 2>&1
      +    cardctl insert 0 > /dev/null 2>&1
           echo ... Resumed
       }
      

オリジナル環境とpdaXromのブートセレクタ Edit

  • pivot_rootという「からくり」を使う
    ざう日記さんのinitを使用すると、カーネル起動時に、入力キーに応じたルートファイルシステムの選択が可能になる。

  • init
    ざう日記さんのinit.bz2を解凍、initを取り出し、以下の修正を行う。
    (/dev/hda3やhdd3となっている箇所を/dev/hda4、hdd4に変更する。)
    # diff -urp init.orig init
    --- init.orig   Fri Oct 28 04:57:59 2005
    +++ init        Fri Oct 28 05:03:21 2005
    @@ -28,7 +28,7 @@ if test -z $ARGS ; then
         echo "Root Filesystem selecter."
         echo
         echo "1. Qtopia"
    -    echo "2. /dev/hda3 (hdd3)"
    +    echo "2. /dev/hda4 (hdd4)"
         echo "3. Compact Flash"
     #    echo "4. SD card"
         echo
    @@ -37,7 +37,7 @@ if test -z $ARGS ; then
         echo -n "Select :"
         read BOOT_NO
    
    -    if [ $BOOT_NO = "2" ] ; then  # 2. /dev/hda3(hdd3) root filesystem
    +    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
    @@ -72,11 +72,11 @@ if test -z $ARGS ; then
                IDE1=`get_dev_pcmcia_slot 1`
            done
    
    -        /bin/mount -t ext3 /dev/${IDE1}3 /hdd3 # mount hdd3 on /new-root
    +        /bin/mount -t ext3 -o noatime /dev/${IDE1}4 /hdd4 # mount hdd4 on /new-root
    
    -       if [ -e /hdd3/sbin/init ] ; then
    +       if [ -e /hdd4/sbin/init ] ; then
    
    -           cd /hdd3
    +           cd /hdd4
                /bin/umount /var
                /etc/rc.d/init.d/pcmcia stop >/dev/null 2>&1
                /bin/umount /home
    @@ -89,7 +89,7 @@ if test -z $ARGS ; then
    
                exec /sbin/chroot .  /sbin/init <dev/console >dev/console 2>&1
            else
    -           /bin/umount /hdd3
    +           /bin/umount /hdd4
                /etc/rc.d/init.d/pcmcia stop >/dev/null 2>&1
                /bin/umount /var
                /bin/umount /home
    #
    
  • initとpivot_rootのコピー
    (pivot_rootはDual_C760.zipに含まれます。)
    # mount -o rw,remount /
    # cd /sbin
    # mv init init.bak
    # cp 変更後のinit /sbin/
    # chmod 775 /sbin/init
    
    # cp pivot_root   /sbin
    # cp pivot_root   /hdd4/sbin
    # cp /sbin/chroot /hdd4/sbin
    # mount -o ro,remount /
    # mkdir /hdd4/old-root
    

起動 Edit

  • shutdown
    # shutdown -r now
    
  • boot select
    SHARPロゴに続き、プロンプトが表示されるので、2をタイプしてpdaXromを選択。
    ちなみに、1を選択すると、Zaurusオリジナル環境が立ち上がります。
    Select :2 リターン
    
  • startx
    しばらくするとlogin プロンプトが現れるので、rootでログイン。
    startxでX Window System が立ち上がります。
    # startx
    
  • キーボードマップの読み込み
    Terminalを開いて以下を実行。(初回のみ)
    # xmodmap /etc/X11/kb/akita.xmodmap
    
  • 問題
    リブーt&シャットダウンできない?ただしサスペンドは可能。

参考文献 Edit


#comment



添付ファイル: filepdaxrom.png 254件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-06-13 (火) 20:02:27 (6526d)