Kurobox-proでiSCSIを使う

作成中です!

<< トッ プページへ

概要

このページでは
日経Linuxの記事の追試です。書いている事とまったく同じではカーネルアップデート、ITEインストールがで きませんでした。その辺のところを中心に書いてみます。
尚、完璧な内容であるか自信ののない部分もありこのHPの内容は参考としてください。

実験の材料のdownload

sushi-kさんに感謝です。

tarの入れ替え用
http://w3.quake3.jp/sushi-k/pool/kuropro/debian/lenny/gnutar_kuropro.gz

lennyインストールkit
http://w3.quake3.jp/sushi-k/pool/kuropro/debian/lenny/debian_eabi_kit.tar.gz
http://w3.quake3.jp/sushi-k/pool/kuropro/debian/lenny/ChangeMeDevHDD
http://w3.quake3.jp/sushi-k/pool/kuropro/debian/lenny/ChangeMyUbootEnv
http://w3.quake3.jp/sushi-k/pool/kuropro/debian/lenny/hddrootfs.tar.gz
http://w3.quake3.jp/sushi-k/pool/kuropro/debian/lenny/uImage.buffalo

インストールの手順

日経Linuxの記事では真っ新のkurobox-proからのインストールのやり方を解説しているのですが
kurobox-proを使用しているユーザーのほとんどは既にdebian化しているはずだ。 (笑)
なのでスタートは
kurobox-proを初期状態に戻すところから始めることになる。

これにはシリアルコンソールが必須となる。失敗無しで最後まで行ける方は正に玄人!達人であると思われる。(確認作業時とか安全に作業を進めるためにもシ リアルコンソールを導入してから作業に入ってください。

最初に初期状態に戻す作業を行うのであるが、これがなかなかうまくいかない。既にdebian化してあるものを元の状態に戻す場合はu-boot部分を tftp起動になる様に書き換える必要が出てくる場合がある。通常はフラッシュから起動するように書き換え作業を行う。起動途中で割り込みをかけてプロン プトを出現させて setenv コマンドで設定を変えてOKであるか確認したら saveenv で書き込みを行う。

−−−初期状態に戻す時の参考−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
フラッシュから起動
setenv bootargs_root root=/dev/mtdblock2 rw panic=5
setenv bootcmd 'nboot $(default_kernel_addr) 0 $(nand_uImage_offset);bootm $(default_kernel_addr)'
setenv nand_boot yes
setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
boot

sda2から起動
setenv bootargs_root root=/dev/sda2 rw panic=5
setenv bootcmd 'ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel); bootm $(default_kernel_addr)'
setenv nand_boot no
setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)

tftpサーバーから起動
setenv ipaddr 192.168.11.150
setenv serverip 192.168.11.1
setenv bootargs_root '
root=/dev/mtdblock2 rw panic=5'
setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
setenv bootcmd 'tftp $(default_kernel_addr) $(kernel); bootm $(default_kernel_addr)'
setenv nand_boot no
boot
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
最終的なu-bootの内容(カーネル入れ替え後)
Marvell>> printenv

baudrate=115200
loads_echo=0
rootpath=/nfs/arm
cpuName=926
CASset=min
MALLOC_len=4
ethact=egiga0
ethaddr=00:16:01:A4:C2:CF
uImage_block=0
uImage=block 0
uImage_offset=0x00020000
setenv=bootcmd nboot $(default_kernel_addr) 0 $(nand_uImage_offset);bootm $(defa
ult_kernel_addr)
ipaddr=192.168.11.150
serverip=192.168.11.1
bootargs_end=:::DB88FXX81:eth0:none
buffalo_ver=BOOTVER=1.091
build_time=18:10:02
initrd=initrd.buffalo
kernel=uImage.buffalo
bootargs_base=console=ttyS0,115200
nand_uImage_offset=20000
default_kernel_addr=0x00100000
default_initrd_addr=0x02000000
def_tftp=tftp $(default_kernel_addr) $(kernel); tftp $(default_initrd_addr) $(in
itrd); setenv bootargs $(bootargs_base) $(bootargs_root)  rw initrd=0x02000040,2
0M panic=5 $(buffalo_ver); bootm $(default_kernel_addr) $(default_initrd_addr)
bootargs_root=root=/dev/mtdblock2 rw panic=5
bootcmd=nboot $(default_kernel_addr) 0 $(nand_uImage_offset);bootm $(default_ker
nel_addr)
nand_boot=yes
bootargs=console=ttyS0,115200 root=/dev/mtdblock2 rw panic=5 BOOTVER=1.091
stdin=serial
stdout=serial
stderr=serial
enaMonExt=no
enaFlashBuf=yes
enaCpuStream=no
ethprime=egiga0
bootdelay=3
disaMvPnp=no
overEthAddr=no
usb0Mode=host
usb1Mode=host
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
 うまく初期状態に戻ったら
  # vi /etc/nsswitch.conf
    
    hosts: file dns

 dnsを追加してアドレス解決できるようにする。

  # wget
http://w3.quake3.jp/sushi-k/pool/kuropro/debian/lenny/ \
    gnutar_kuropro.gz

 tarの入れ替え
 # rm /bin/tar
 # gzip -dc gnutar_kuropro.gz >  /bin/tar
 kitのdownloadと配置
 #wget
http://w3.quake3.jp/sushi-k/pool/kuropro/debian/lenny/ \
   debian_eabi_kit.tar.gz
 # tar xvzpf
debian_eabi_kit.tar.gz -C /

 パーテーションの削除
  # umount /mnt/disk1
  # dd if=/dev/zero of=/dev/sda bs=512 count=1024

 ここで再起動する。その後に必要ファイルをdownload

 # cd /mnt/mtd
 # wget http://w3.quake3.jp/sushi-k/pool/kuropro/debian/lenny/ChangeMeDevHDD
 # wget http://w3.quake3.jp/sushi-k/pool/kuropro/debian/lenny/ChangeMyUbootEnv
 # wget http://w3.quake3.jp/sushi-k/pool/kuropro/debian/lenny/hddrootfs.tar.gz
 # wget http://w3.quake3.jp/sushi-k/pool/kuropro/debian/lenny/uImage.buffalo

  ここでkurobox-proの背面の赤いリセットボタンを音がするまで長押しするとオレンジ色のLEDが 点滅を始める。終わるまで約10分待つ。これ でdebian-lennyのインストールは完了

 次に /mnt/rootfs/etc/interfaces
      /
mnt/rootfs/etc/resolv.conf
     
/mnt/rootfs/etc/hosts
  これらのファイルを自分の環境に合わせて設定
 (私の環境ではhostsは自動で作成されなかった。)

  # dpkg-reconfigure tzdata
    Asia TOKYO を選択して後にdateコマンドで時刻を合わせる。

  # apt-get update
  # apt-get upgrade
  # apt-get udev

 モジュールの導入(
sushi-kさんに感謝
  # wget http://w3.quake3.jp/sushi-k/pool/kuropro/debian/lenny/kernels \
   /uImage-eabi_2.6.25.10.tar.gz
  # tar xvzpf
uImage-eabi_2.6.25.10.tar.gz -C /

 最新カーネルに入れ替え
  # cd /usr/src

  # wget http://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.7.tar.gz
  # tar xvzpf linux-2.6.28.7.tar.gz

  # cd /usr/src/linux-2.6.28.7
  # make orion5x_defconfig

  # make menuconfig
  カーネルをKuroBox Proに選択する。
  CRC32cCRC algorithmを有効にする。

  # make uImage
  コンパイルを行う。
  # cd /usr/src/linux-2.6.28.7/arch/arm/boot/

  # devio > foo 'wl 0xe3a01c05,4' 'wl 0xe38110e5,4'
  ※できあがった
zImageからuImage.newを作成する。
  # cat foo arch/arm/boot/zImage > zImage.new

  # cat foo zImage > zImage.new

  # mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n       \  'linux' -d zImage.new uImage.new

  # cd /boot

  # mv uImage.buffalo uImage.buffalo-ori

  # cp /usr/src/linux-2.6.28.7/arch/arm/boot/uImage.new ./uImage.buffalo
  
uImageを入れ替える。
  # cd /usr/src/linux-2.6.28.7

  # make modules

  # make modules_install

  # reboot
 
  ITE導入
 
  # cd
  # apt-get update
  # apt-get install subversio openssl libcurl4-openssl-dev
  # apt-get install subversion  openssl libcurl4-openssl-dev
  # svn checkout svn://svn.berlios.de/iscsitarget/trunk iscsitarget
 
# cd iscsitarget
  # make KSRC=/usr/src/linux-2.6.28.7
  # make KSRC=/usr/src/linux-2.6.28.7 install
 
  # cd /etc
  # ll ietd.conf
  # cp ietd.conf ietd.conf.ori
  # vi ietd.conf 

   Target iqn.2001-04.com.example:storage.disk2.sys1.xyz
   IncomingUser
   tgoingUser
   Lun 0 Path=/tmp/iscsitest,Type=fileio
   Alias iSCSI


  # vi fstab
   sda4がコメントになっているか確認

  #  update-rc.d -f iscsi-target default
  #  /etc/init.d/iscsitarget start
  #  /etc/init.d/iscsi-target start

 CentOS5.2クライアント側での用意

  # yum install iscsi-initiator-utils
  # service iscsi start
  # iscsiadm -m discovery -t sendtargets -p 192.168.1.15
  # service iscsi restart
  # fdisk -l

 

確認してみる!

下の場合は/dev/sdaとして kurobox-proのハードディスクが認識されているのがわかると思います。もちろん mount fdisk 等のコマンドはローカルのハードディスクの様に使うことができます。





Copyright©2005-2006  熊の巣  All Right Reserved.  管理人へメール