GLAN Tank インストールまとめ Edit

  • インストール概要
    • まず、デフォルトのインストーラからインストールを行う。
    • 次にインストーラからshellに抜け、initrdをレスキューシステムとして使用できるように変更。
    • その後、GLAN Tankで、そのレスキューシステムを使用してdebianのインストールを行います。

  • レスキューシステムの特徴
    • USBシリアルケーブルを接続した状態で起動すると、initrdがrootfsなレスキューシステムが起動します。
    • USBシリアルケーブルを接続しない場合は、通常通り/dev/hda3から起動します。
    • もちろんUSBシリアルケーブル経由でシステムのメンテナンスが可能。
    • kernelはUSBシリアルサーポートモジュールを組み込むんだモノを使用。
    • 補足:なんでこんな面倒なことをしてるかと言うと、ずばり、シリアルケーブルを買いそびれたからです。


デフォルトのインストーラにて Edit

  • WIN機にHDDをセットして、CDブート
  • "DEBIAN"を選択する。
  • インストールが終了したらCTRL-Cでshellに抜ける。
  • インストールされた物を確認。ファイルは全て/dev/hda1 (/boot)にインストールされている。
    # mount -t ext3 /dev/hda1 /mnt
    # cd /mnt
    # ls
    barbara-base.tgz
    base.20051219RC2.md
    debian-base.tgz
    initrd
    initrd.hdb
    zImage
    

initrdをレスキュー用ファイルシステムとして使用するための変更 Edit

  • 追加ファイルを外部のサーバから取得するため、まずネットワークの設定を行う。(DHCPを使った例)
    # ifconfig eth0 down
    # dhclient
    
  • 追加ファイルの取得と展開
    # cd /mnt
    # wget http://eggplant.ddo.jp/www/download/glantank/initrd_ttyUSB0.tgz
    # tar vxfz initrd_ttyUSB0.tgz
    initrd_ttyUSB0/
    initrd_ttyUSB0/zImage
    initrd_ttyUSB0/initrd/
    initrd_ttyUSB0/initrd/sbin/
    initrd_ttyUSB0/initrd/sbin/mkreiserfs
    initrd_ttyUSB0/initrd/sbin/reiserfsck
    initrd_ttyUSB0/initrd/sbin/resize_reiserfs
    initrd_ttyUSB0/initrd/sbin/debugreiserfs
    initrd_ttyUSB0/initrd/sbin/reiserfstune
    initrd_ttyUSB0/initrd/sbin/mkfs.reiserfs
    initrd_ttyUSB0/initrd/sbin/fsck.reiserfs
    initrd_ttyUSB0/initrd/linuxrc
    initrd_ttyUSB0/initrd/etc/
    initrd_ttyUSB0/initrd/etc/inittab
    initrd_ttyUSB0/initrd/etc/securetty
    initrd_ttyUSB0/initrd/etc/rc.d/
    initrd_ttyUSB0/initrd/etc/rc.d/rcS2
    
  • initrdの変更
    • initrdをほどく
      # cd /mnt
      # cp initrd initrd.orig.gz
      # zcat initrd.orig.gz > initrd.new
      # mkdir img
      # mount -o loop initrd.new img
      # cd img
      
    • initrdの変更
      • ./linuxrc
        #!/bin/sh
        
        export PATH=/sbin:/bin:/usr/sbin:/usr/bin
        
        ### mount proc
            mount -t proc proc /proc
        
        ### load drivers
            for i in leddrv buzdrv btndrv  # same as module and device name
            do
                /sbin/insmod /lib/modules/noversion/$i.ko $* || exit 1
            done
        
        ### check boot device
            stty -F /dev/ttyUSB0 38400 > /dev/null 2>&1
            if [ $? -eq 0 ] ; then
                ROOT_DEVICE=0x0100    # initrd
            else
                ROOT_DEVICE=0x0303    # /dev/hda3
            fi
        
        ### set root device
            echo $ROOT_DEVICE > /proc/sys/kernel/real-root-dev
            umount /proc
            exit 0
        
  • ./etc/inittab
    ::sysinit:/etc/rc.d/rcS2
    ttyUSB0::askfirst:/bin/sh
    ttySC1::askfirst:/bin/sh
    ::ctrlaltdel:/sbin/reboot
    ::shutdown:/sbin/swapoff -a
    ::shutdown:/bin/umount -a -r
    ::restart:/sbin/init
    
  • ./etc/securetty
    console
    ttySC1
    ttyUSB0
    
  • ./etc/rc.d/rcS2
    #!/bin/sh
    
    # mount filesystems
    mount -t proc /proc /proc
    mount -o remount,rw /
    
  • reiserfsの各種管理ツールをコピー
    (reiserfsでルートファイルシステムを構築したいので。)
    # cp /mnt/initrd_ttyUSB0/initrd/sbin/* ./sbin
    
  • initrdを戻す
    # cd /mnt
    # umount /mnt/img
    # gzip initrd.new
    # cp initrd.new.gz initrd
    
  • USBシリアルコンソールをサポートしたkernelに差し替える。
    ehci_hcd、ohci_hcd、usbserial、pl2303、ftdi_sioと、reiserfsを組み込んだカーネル。
    # cd /mnt
    # mv  zImage zImage.orig
    # cp initrd_ttyUSB0/zImage .
    
  • 準備完了
    # cd /
    # umount /mnt
    # shutdown -h now
    
    GLANTANKへHDDを組み込み、USBシリアルコンソールを接続して電源ONすれば、レスキューシステムが立ち上がる。
    (シリアルのボーレートは38400で接続すること)
    Please press Enter to activate this console.
    
    
    BusyBox v1.00 (2005.02.14-02:37+0000) Built-in shell (ash)
    Enter 'help' for a list of built-in commands.
    
    / # df
    Filesystem           1k-blocks      Used Available Use% Mounted on
    /dev/root.old             5639      3965      1674  70% /
    
    ネットワークを設定すれば、wgetが使用可能になります。
    / # ifconfig eth0 192.168.1.83
    / # ifconfig
    eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
              inet addr:192.168.1.83  Bcast:192.168.1.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Memory:80000000-80020000
    

debianインストールからtelnetまで Edit

  • 方針
    • 先ほど導入したレスキューシステムを起動して、debianのインストールを行う。
    • RAIDは使用しない。(たぶんレスキューシステム上からRAIDの構築も可能と思われる。)

  • パーティション設定
    • /dev/hda1と/dev/hda2は触らない。
    • /dev/hda3を削除して、/dev/hda3〜/dev/hda5を作成
      # fdisk /dev/hda
      
      こんな感じにパーティションを作成した。
         Device Boot      Start         End      Blocks   Id  System
      /dev/hda1               1          32      257008+  83  Linux
      /dev/hda2              33          64      257040   82  Linux swap / Solaris
      /dev/hda3              65        4928    39070080   83  Linux
      /dev/hda4            4929       19457   116704192+   5  Extended
      /dev/hda5            4929        9792    39070048+  83  Linux
      /dev/hda6            9793       19457    77634081   83  Linux
      
    • リブート
      パーティションテーブルを書き換えたので念のためリブート
      # reboot
      
      すぐ立ち上がるはず。リブート後、下記のメッセージが出力される。
      Please press Enter to activate this console.
      
  • rootfs(/dev/hda3)をreiserfsへ
    # mkreiserfs /dev/hda3
    …省略
    ReiserFS is successfully created on /dev/hda3.
    
  • debianベースシステムの展開
    debianのベースシステムは/dev/hda1下に用意されているので、それを/dev/hda3下へ展開。
    # mount -t reiserfs /dev/hda3 /mnt/hda3
    # mount -t ext3 /dev/hda1 /mnt/hda1
    # cd /mnt/hda3
    # tar vxzpf /mnt/hda1/debian-base.tgz
    
  • 各種ファイルの変更
    • ./etc/securetty
      rootでtelnetログインできるように下記を追加!
      pts/0
      pts/1
      
    • ./etc/hosts
      127.0.0.1 localhost.localdomain localhost
      192.168.1.83 glantank
      
    • ./etc/hostname
      glantank
      
    • ./etc/resolv.conf
      nameserver 192.168.1.1
      
    • ./etc/network/interfaces
      # /usr/share/doc/ifupdown/examples for more information.
      
      # The loopback network interface
      auto lo
      iface lo inet loopback
      
      # The primary network interface
      auto eth0
      # iface eth0 inet dhcp
      iface eth0 inet static
             address 192.168.1.83
             netmask 255.255.255.0
             network 192.168.1.0
             broadcast 192.168.1.255
             gateway 192.168.1.1
      
    • ./etc/fstab
      proc                            /proc           proc    defaults        0 0
      /dev/hda1                       /boot           ext3    defaults,rw     0 0
      /dev/hda2                       swap            swap    defaults        0 0
      /dev/hda3                       /               reiserfs    defaults,rw     0 0
      
  • 準備完了
    # cd /
    # umount /mnt/hda1
    # umount /mnt/hda3
    # reboot
    
    USBシリアルケーブルを即座に取り外す。
  • telnet
    Debian GNU/Linux 3.1 glantank
    glantank login: root
    Last login: Sun Jan 15 21:34:53 2006 from 192.168.1.2 on pts/0
    Linux glantank 2.6.10-iop1 #22 Fri Aug 19 13:37:07 JST 2005 armv5tel GNU/Linux
    
    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    
    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    glantank:~#
    

memo Edit

  • Seagete Barracuda 7200.7 160GB (ST3160023A) 一台で運用予定 -> 問題なく動いた
  • Zaurusの開発環境として使用できるかも!と期待
  • ザウルス&サインはVGA、夢と小物のエンジニアリング より
    ザウルスにサインはVGAをつないでいる人がいるようだ。
    GLANTANKでも、同じアーキなので、できないことはなさそうね。ー>できた。

ARM版debianの使用感等 Edit

  • X window, vnc
    • Xの起動に時間がかかる。起動時のみマウスが追従しない。
    • 一旦起動するとストレスなく使用できる。
    • wdmは動作しなかったので、xdmで代用
  • emacs21,anthy
    • emacs21も起動時かなり時間がかかる。一旦起動すると快適に使用可
    • anthyはなんか動作が変。仮名漢字変換時、最終文字が変換対象にならない。
  • gcc-3.4
    • うごきまっせ!
  • サインはVGA
    • うごきまっせ!… fileusb2vga.tgz
      • カーネルドライバ、sisusbvga.ko
      • xfree86用モジュールsisusb_drv.o を含む
  • kernelをビルドしてみる
    • メモリ128MBなんで贅沢しちゃいます、ってことで、
      ehci_hcd、ohci_hcd、usbserial、pl2303、ftdi_sio、+αを組み込みビルド
    • cmdlineが反映されないみたい。console=ttyS0をttyUSB0に変えたかったんだけど。
    • reiserfsは組み込まれたみたい。
    • sisusbvgaも組み込まれたみたい。(VGA Consoleなし。2.6.10ではサポート外?)

コメント欄 Edit

  • kernelは、ぜんぶビルドすると、馬鹿みたいに時間がかかるよ。--zimage binary-arch kernel_sourceで2時間弱くらい。全部やると8時間たっても終わらなかった。imageだけなら1時間くらい。 -- kinneko? 2006-01-16 (月) 22:00:37
    • 普通の方法でビルドしていますが1時間以上かかりました。HDDが遅いのかも。ビルド速度はSH4とあまり変わらないような気がします。 -- 管理人? 2006-01-17 (火) 00:17:23
    • そうなんですよ。Apacheとかのビルドでも、SHと変わりないくらいです。パワーはあるくせに、結果を出せないので嫌いなんです。 -- kinneko? 2006-01-17 (火) 12:20:07
    • USB判断での起動セレクト成功おめでとう! -- kinneko? 2006-01-19 (木) 14:17:54
    • initrdの構成、よく練られていますね。これ単体でLinuxがインストールできてしまうのですから!。デフォルト状態では、ほとんどの機能が眠っていて、もったいないです。これでチョンボってもPCに繋ぐ必要がなくなります。嬉 -- 管理人? 2006-01-20 (金) 00:28:14
  • (1)シリアルケーブルがある場合は、どのような流れになりますか?(2)「USBシリアルコンソールをサポートしたkernelに差し替える。」をもう少し詳しくお願いします。差し替えるってことはすでに組み込んだカーネルを用意していないといけないってことでしょうか? -- t_dragon_2000? 2006-01-29 (日) 22:10:51
    • (3)USBシリアルケーブルはどこのメーカの何がいいですか?(4)/etc/apt/sources.listには、ARM版の指定でいいのでしょうか?ftp://ftp.jp.debian.org/debian-jp とかでもOKでしょうか? -- t_dragon_2000? 2006-01-29 (日) 22:17:26
    • (1)持ってないのでわからない。挑戦者の手順どおりでOKのはず。(2)YES。上記initrd_ttyUSB0.tgzのものが使えるかも。(3)ここ参照。PCに繋ぐなら、9pinメスーメスのインターリンクケーブルも必要。(3)しらない(笑)、無変更でOK。 -- 管理人? 2006-01-29 (日) 23:32:37
  • PLANEX URS-02 , IBM USB Serial Parallel Adapter(P/N 22P5298)でインストールできました。 -- t-ayako? 2006-02-05 (日) 01:12:14
    • ご報告ありがとうございます。こんな手間暇かかる方法を追試してくださる方がいるとは思いませんでした。汗。ところで、そのUSBアダブタ、相性問題で回収騒ぎになっているようですので、ロット番号を確認しておいたほうが良いかもしれませんね。早とちり、2002年の話でした。orz. -- 管理人? 2006-02-05 (日) 11:23:18
  • 本サイトの手順に従いレスキュ・システムを構築して、HDDをGLAN Tankから取り出すことなくいろいろ試行錯誤をして楽しんでおりました。ところが、ある日PX-TV402Uを使ってテレビ録画をしようと思い、シリアル・ケーブルを接続せず/dev/hda3から起動した状態で、sushi-kさんのPcWEBの記事「http://journal.mycom.co.jp/articles/2006/04/22/glantank」の手順に従ってPX-TV402U用のカーネル・ドライバをシステムのルート・ダイレクトリーにインストールしようとしたところ、おおもとのファイル・システムにリセットがかかった様な感じでGLAN Tankが起ち上がらなくなってしまいました。基本的な起動の仕組みが解っていない故の質問で恐縮ですが、こうした場合、PX-TV402Uのカーネル・ドライバをどこへ(/dev/hda3での起動状態で「tar xvzpf …‥-C /?」)インストールすればよろしいのでしょうか?ご教授いただければ幸いです。 -- TN? 2006-05-16 (火) 20:58:16
    • 手順どおりrootfsをreiserfsで構成している場合、reiserfsモジュールをカーネルに組み込むことが必須となりますが、sushi-kさんのカーネルはどうなっているのでしょうか?そこで扱われているカーネルの構成を確認してみてはいかがでしょうか?(sushi-kさんのブログで質問すればすぐ教えてくれるんじゃないかな?)。 ちなみに。本サイトでは、デフォルトカーネルにreiserfsモジュールを組み込んだカーネルを使っています。(ehci_hcd、ohci_hcd、usbserial、pl2303、ftdi_sioも組み込んである。)P.S. sushi-kさんのシステムを入れるということは、構築済みのレスキューシステムが消えちゃうということですので念のため。 -- 管理人? 2006-05-16 (火) 21:24:35
    • 早速のアドバイス有り難うございます。本サイトのレスキューシステムの枠組みの中で、/dev/hda3の起動システム上にPX-TV402Uのドライバを載せるためには高度の技を必要とするのでしょうか? -- TN? 2006-05-16 (火) 22:21:23
    • 高度な技はいらないと思います。それよりも現状を把握することが重要。いちかばちか、PX-TV402Uのドライバだけ抜き出して手動で組み込んでみてはどうでしょうか?運がよけれ動くでしょう。ドライバ、カーネル、initrdは1セットで使用することが前提なので動かないこともあるでしょうが。 -- 管理人? 2006-05-17 (水) 00:47:07
  • sargeにはいってるgcj... 簡単なプログラムもセグフォルトに。。 -- mmm? 2006-08-09 (水) 19:01:24
  • free-java-sdk入れてjavacが動いている人はいるみたいですよ。 -- kinneko? 2006-08-10 (木) 13:30:44
  • jikesのほうは問題なく動作していますが、sablevmはかなりバグ.ありで動かすのにちょっと苦労しました。汗; 白箱を本格的ゲー鯖として使ってるため、高速なgcjがほしいとこです。 -- mmm? 2006-08-10 (木) 16:13:51
  • SableVM SDKが動いているんですか。それは面白いですね。でも、ゲー鯖は無理があるかな... -- kinneko? 2006-08-10 (木) 17:33:01
  • この場を借りさせてくださいm_m... どなたかGLANTANK(sarge armv5tel)でgcjの動作確認とれている方おりますでしょうか? -- 菅井徹? 2006-09-11 (月) 09:59:02
  • 菅井さん、私のglantankでは最新のgcj,jdbc,postgresqlが動いていますよ。www.geocities.co.jp/maninohooで確認してみてくださいw -- mani? 2006-09-14 (木) 09:10:18
  • 添付ファイルspamがたくさんついてますね。さすがにこれは私では消せない。 -- kinneko? 2007-02-06 (火) 13:31:45

添付ファイル: fileusb2vga.tgz 684件 [詳細]

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-05-13 (日) 17:43:57 (6186d)