Rin-memo

Personal Web Site of Rin Yokoyama

DAQ/DAQPCの準備/OS Image の作成

Memo-DAQ-DAQPCの準備へ戻る

       

概要

VMIVME用のOSのイメージを作成し、それらPXEブートに必要なファイルをtftpサーバーに配置する。
他のDAQPCがあれば、基本的にはすべてそこからコピーしてくるのが楽です。

手順

  • 32bit 用の linux の kernel source をとってくる。(今回は別のDAQPCから/lib/modules/2.6.18をコピーしました。)
  • クロスコンパイル(64bitマシンでvmivme用の32bit OS imageを作成する)に必要なライブラリを入れる。yum install ...
    • libgcc.i686
    • glibc-devel.i686
    • ncurses-devel.i686
    • ncurses-libs.i686
  • 2.6.18/build内のMakefileを開き、CFLAGSに-m32を追加する。
  • make menuconfig
    • 操作画面が出る。
    • Device Drivers → Network device support → Ethernet(1000Mbit) → Intel®Pro/1000Gigabit Ethernet Supportに<*> (選択してY)
    • exit (x4回)
  • make
  • /var/tftpboot/linux-install/というフォルダを作る。
  • その中にVMIVME26というフォルダを作り、/lib/modules/2.6.18/build/arch/i386/boot/bzImage をコピー。
  • PXE用のブートローダpxelinux.0を/var/tftpboot/linux-install/にコピーしてくる。今回は例のごとく他のDAQPCからコピーしました。
    pxelinux.0はsyslinuxに含まれているので、正しいバージョンのものをインストールすればそれをコピーしてもよいはず。
  • initrd.img(Linux起動時にブートローダによってロードされる、最小限のルートファイルシステム)をコピーしてくる。これまた他のDAQPCからコピーしました。
    initrd.imgはmkinitrdコマンドで作成することもできます。これはgzipとcpioで2重に圧縮されているので、順番に解凍して中身をいじることができます。 でも自分で作るのは面倒そうなのでinitを変えたいとかでなければコピー推奨です。詳細はggってください。
  • /var/tftpboot/linux-install/pxelinux.cfgというフォルダを作る。
  • その中にvmivmeのIPを16進数にした名前のファイルを作成(192.168.1.10ならC0A8010A)し、以下のように記述する。パスはpxelinux.0からの相対で。

	default VMIVME
	label VMIVME
		kernel VMIVME26/bzImage
		append initrd=VMIVME26/initrd.img.vmivme26 (←initrdの場所)
			root=/dev/ram0
			init=/init
			NFSROOT=192.168.1.1:/usr/babirl/bin
			ramdisk_size=20480
			ETHERNET=eth1	(←vmivmeの1Gポート)
			SNAPSHOT=shvmif3 (←コントローラーの名前)
		

Memo-DAQ-DAQPCの準備へ戻る