タグ別アーカイブ: ubuntu

Parallellaでクラスタリング その6 NFSv4対応

従来の設定のままでも特に問題はないのですが、Parallellaの新しいファームウェアがNFSv4に対応しましたので、ファーム更新のついでに設定し直しました。

まずNFSサーバとなる母艦の設定です。これまでは/etc/exportsでファイルシステムを直接指定していましたが、NFSv4らしく、マウントポイントを/var/exportsの下に集めることにします。キモは/etc/fstabファイルですね。設定したらexportfsコマンドで設定を確認しておきましょう。

# mkdir -p /var/exports/parallella
# chown -R nobody:nogroup /var/exports
# vi /etc/fstab
...
/home/USERNAME/parallella    /var/exports/parallella    none    bind    0    0

# vi /etc/exports
...
/var/exports                   192.168.100.0/24(rw,sync,fsid=0,crossmnt,no_subtree_check)
/var/exports/parallella        192.168.100.0/24(rw,sync,no_subtree_check)

# /etc/init.d/nfs-kernel-server restart
# exportfs
/var/exports    192.168.100.0/24
/var/exports/parallella
                192.168.100.0/24

ここでは書きませんでしたが、/etc/imapd.confの設定, ACLの設定も忘れずに。

続きを読む

JetPack for L4Tセットアップ 成功編

今回もJetson TX1の開発環境のセットアップです。

開発ホストとしてのUbuntuのセットアップが完了しましたので、次はいよいよJetPack for L4Tをインストールします。手順は失敗編とまったく同じですので再掲しません。

開発ボードをForce Recoveryモードで起動してUSBで認識させた後にも、失敗編のようにストールすることなくインストールが進みます。開発ボードのOS書き換えが済むと、開発ボードのUbuntuが自動起動します。また、起動後はubuntuユーザで自動ログインするようになっています。

ホストの方では、サンプルコードのクロスコンパイルが行われ、問題なくコンパイルできればビルドされたバイナリが開発ボードにコピーされます。XTermが閉じてインストーラに戻ればセットアップ完了となります。

開発ボードの方では、3D処理のサンプルアプリが自動起動するようです。これは閉じてしまって構わないと思います。

OS書き換え前の初回起動時にはドライバのインストールを手動で行う必要がありましたが、JetPackからのOS書き換え後は手動でドライバをインストールする必要はないようです。また、ホームディレクトリを開いてみると、色々と新しくディレクトリが生成されているのが確認できると思います。

JetPack for L4Tセットアップ ホスト編

引き続き、Jetson TX1の開発環境を構築します。

前回のセットアップではホストとしてVMWare上のUbuntuを用意しましたが、どうもVMWareやVirtualBox等の仮想環境上のUbuntuからのOSの書き換えがうまく動作しないことが判明しました。そこで、開発PCにSSDを増設して、この上にUbuntuをインストールし、デュアルブートできるようにしました。

今回増設したSSDは安い120GBのものです。BIOSでSATA2を有効にしてBIOSが認識できるようにし、DVDに焼いたUbuntu 14.04のインストールディスクをドライブに挿入して起動してUbuntuをインストールします。/dev/sdaはメインの開発環境であるDebianが入っているのでそのままにし、今回追加した/dev/sdb全体を/dev/sdb1としてUbuntuに割り当てました。SSDなので例によってswap領域は用意せず、無効にしてあります。

インストール完了後にPCを再起動したところ、grubが追加したSSDを認識できずにgrub rescue画面になってしまいましたが、

grub rescue> set prefix=(hd0,msdos1)/boot/grub
grub rescue> insmod normal
grub rescue> normal

で/dev/sda1の/boot/grubにあるnormalモジュールを読み込んで、通常のgrub画面の表示に成功しました。ここからDebianを起動し、

$ sudo cfdisk /dev/sdb

してみたところ、Ubuntuをインストールした/dev/sdb1パーティションにbootフラグが立っていません。bootフラグを立ててWrite→Quitした後に、念のためにupdate-grubを実行してgrubを再インストールして再起動したところ、ようやくUbuntuが起動できました。

2016/04/21追記: ストレージがSSDですので、Debianの時と同じく/etc/fstabのマウントオプションにnoatimeしておきます。fstrimは/etc/cron.weekly/fstrimから呼び出されるようなので、Debianのように手動で設定してやる必要はありません 。ただし、特定のメーカ以外のSSDの場合、このファイルでfstrim-allコマンドへの--no-model-checkオプション追加が必要です。詳細は/sbin/fstrim-allを読んでみて下さい。

JetPack for L4Tセットアップ 失敗編

前回に引き続きJetson TX1の開発環境のセットアップを行います。

2016/04/20追記: この記事を作成しながらセットアップを進めていたところ、仮想環境からのOSの入れ替えは失敗することが分かりました。Nvidiaとしても仮想環境上のUbuntuはサポート外で、デュアルブート等のネイティブ起動を推奨のようです。以下、記録として残しておきますが、参考にする際はご注意下さい。

開発用ホストとして、Ubuntu 14.04 64bit環境をVMWare上に構築します。後述しますが、JetPack for L4Tのインストールに16GBほど必要です。最近のLinuxのインストールは本当に簡単でいいですね。インストールが完了したら、例によってibus-skkとlv, tmuxをインストールしておきます。また、SSDなのでswapは無効にしました。

次に開発環境を用意します。NVIDIAにJetsonのポータルがありますので、まずはそこにアクセスします。並んでいるアイコンのうち左端にあるのがREGISTERですので、ここをクリックして開発者登録します。必要な情報を入力してsubmitすると、登録確認のメールが届きますので、URLをクリックすると登録が完了します。パスワードの変更(設定)を求められるので、次の画面で設定します。

パスワードの設定が完了すると、開発者サイトにログインした状態になります。ダウンロードページに移動し、JetPack for L4Tの最新版(現時点では2.1)をダウンロードします。ダウンロードしたらインストールしましょう。ここでは /opt/nvidia にインストールします。

$ sudo mkdir /opt/nvidia
$ sudo chown ユーザ名:グループ名 /opt/nvidia
$ mv JetPack-L4T-2.1-linux-x64.run /opt/nvidia
$ cd /opt/nvidia
$ chmod +x JetPack-L4T-2.1-linux-x64.run
$ ./JetPack-L4T-2.1-linux-x64.run

途中でTK1かTX1かの選択が出ますので、TX1を選択します。認証ダイアログが出たらパスワードを入力します。パッケージの選択では、Standardのままで問題ないと思います。この標準インストールの場合、ストレージに16GBほどの空きが必要になります。Agreementにチェックを入れ、先に進むとインストールが開始されます。

ウィンドウを消すなとか色々言われますが、普通にインストールしていけば大丈夫です。インストールが完了すると、ネットワーク構成を確認されます。ホストのUbuntu, Jetson TX1ともにネットワーク接続している方を選択し、ネットワークI/Fにeth0を選択し、先に進めます。すると開発ボードをForce Recoveryモードにせよ、とのダイアログが表示されますので、

  1. 開発ボードの電源を切り、ACアダプタも抜く
  2. 開発ボード側のmicroUSBポートとホストを付属のUSBケーブルで接続
  3. 開発ボードにAC電源を接続し、電源ボタン(S4)を押下
  4. すかさずForce Recoveryボタン(S3)を押しっぱなし
  5. リセットボタン(S1)を押して数秒待ってからForce Recoveryボタンを離す

という手順で開発ボードをForce Recoveryモードに移行させます。うまくいけばホスト側にNVidiaのデバイスが現れます。確認のためにホスト側のターミナルでlsusbコマンドを実行すると

$ lsusb
Bus 001 Device 002: ID 0955:7721 NVidia Corp.
...

のような行が表示されるはずです。開発ボードが認識されたら、ダイアログでエンターを押すとセットアップが開始されます。が、この直後、"Post Installation" 画面でセットアップがストールします。参りました。記事冒頭で追記した通り、VMWare等の仮想環境からではOSの入れ替えに失敗するようです。後日、デュアルブート環境を作成して再チャレンジします。

 

NVIDIA Jetson TX1

仕事で使うかもしれないので、NVIDIA Jetson TX1を入手しました。

開発ボードの他にアンテナ2本、ACアダプタ、USBケーブル、USBアダプタ、ジャンパーピンがそれぞれ1つずつ付属しています。使い方は簡単で、アンテナ刺してHDMI刺してキーボード刺してLANケーブル刺して電源刺して電源入れて、でOK。Ubuntu 14.04が起動します。と、これだけではアレなのでもう少し。

初回起動時はコンソールで起動します。設定済みのアカウント ubuntu/ubuntu でログインすると、ドライバのインストールが指示されるので、

$ cd NVIDIA-INSTALLER
$ ./installer.sh

して再起動しますと、見慣れたUbuntu 14.04のXというかUnityが起動します。日本語環境の設定や使い慣れたツールをインストールしておきましょう。私はuniverseを有効にしてlvとibus-skk, tmuxをインストールしておきました。HHKBでibus-skkを使う場合は、キーボードレイアウトをusに変更しておきましょう。

なお、常温で普通の使い方をしている限りでは、ボードに付属のファンは回らないようです。

2016/04/21追記: ここで開発ボード上のUbuntu環境をセットアップしても、後ほどJetPack for L4Tのインストールで上書きされます。ここでは雰囲気を味わう程度にして、ガリガリとカスタマイスしない方が無難です。

Parallella日本語環境

明けましておめでとうございます。今年もよろしくお願いします。

さて、昨年から引き続きParallellaネタから。インストール直後のParallellaはLANG=C.UTF-8でtimezoneもUTCとなっています。まあこのままでも実害はないと言えばないのですが、折角なので日本語化しておきましょう。

まずは日本語化です。/etc/default/localeでシステム全体を日本語化してもよいのですが、ここではユーザローカルな変更に留めておきます。

$ sudo apt-get install language-pack-ja
...
$ vi ~/.profile
...
export LANG=ja_JP.UTF-8

ここまで済ませたらログアウト→再ログインし、試しにdateコマンドを実行してみて下さい。日本語で出力されると思います。次にtimezoneです。

$ sudo dpkg-reconfigure tzdata

アジア→Tokyoと選択するとJSTになります。再度dateコマンドで確認してみて下さい。これまでUTCだったのがJSTで出力されるようになると思います。

2015/01/01追記: jaファイルを直接編集するのではなく、language-pack-jaパッケージをインストールする方法に変更しました。

Parallella Desktop

今回はバイクの話ではありません。っつーか、通勤でGROMにはほぼ毎日乗ってますけど、CB1300SFの方は1ヶ月ほどご無沙汰しちゃってます。今週末も来週末も仕事だし、もうしばらくは無理っぽいです。

閑話休題。個人でも購入できるスーパーコンピュータという触れ込みのParallellaを入手しました。USB, HDMI, GPIOのあるDesktop版です。Parallella Fan!の記事を参考にケーブル等の機材を集め、さっそくセットアップしてみました。

基本的には公式サイトのGET STARTED (Quick Start Guide)の通りに進めれば問題ありません。引っ掛かったのは.img.gzを解凍したらmy_backup.imgという変なファイル名になったことぐらいです。

  1. バイナリファイルをDL, 必要に応じてunzip, rename
  2. Win32 Disk Imagerでイメージファイルをmicro SDカードに焼く
  3. ファイルをmicro SDカードにコピー
  4. ヒートシンクを取り付け
  5. LANケーブル、micro SDカード、micro HDMIケーブル、micro USB-USB変換ケーブルを接続
  6. キーボード接続
  7. 電源コード接続→電源ON

で、あっさりとUbuntuが起動しました。が、ここでキーボードが認識されないという問題が。B+になる前の初代Raspberry Piでも同じような問題が発生しましたが、おそらくキーボードでなくUSBハブとして認識されたのでしょう。セルフパワーのUSBハブを別途用意する必要がありそうです。ただ、外部サイトの情報として、HHKBは認識された報告があるんですよね。

キーボードからの入力を受け付けないので、sshで入ります。DHCPサーバのリース状況を調べてIPアドレスを確認し、デフォルトのlinaroユーザでログイン、sudo shutdown -h nowでシャットダウンしましたが、Debianと違ってUbuntuだと "System halt" 表示で止まって電源までは落ちないんですね。一つ勉強になりました。

で、実際のところ、起動してXを立ち上げてshutdownしただけなのですが、ヒートシンクは長くは触り続けられない程度に熱くなっていました。小型の静音ファンか何かを用意した方が精神衛生上よさそうです。