Warning: Declaration of FeedWordPie_Item::get_id($hash = false) should be compatible with SimplePie_Item::get_id($hash = false, $fn = 'md5') in /home/nekyo/nekyo.wp.xdomain.jp/public_html/wp-content/plugins/feedwordpress/feedwordpie_item.class.php on line 0

Warning: Declaration of FeedWordPress_Parser::parse(&$data, $encoding) should be compatible with SimplePie_Parser::parse(&$data, $encoding, $url = '') in /home/nekyo/nekyo.wp.xdomain.jp/public_html/wp-content/plugins/feedwordpress/feedwordpress_parser.class.php on line 0
Linuxボード | 日々のできごと | ページ 5

「Linuxボード」カテゴリーアーカイブ

Raspberry Pi より高性能な HummingBoard が発売

CubieBox などを作っていた Solidrun社から Raspberry Pi っぽくて、それより高性能な HummingBoard というボードが発売されました。
見た目はラズパイそっくりで、サードパーティ製のラズパイ用ケースにも入るとか。
ラインナップは三種類あって、

i1 が Chip i.MX6 Soro(1コア)、メモリが 512MB
i2 が Chip i.MX6 DualLite(2コア)、メモリ1GB
i2eX が Chip i.MX6 Dual(2コア)、メモリ1GB
i2eX は GPU も違うしギガビットイーサにも対応しているらしい。

最低ランクの i1 でもラズパイよりも高性能。しかも、価格もラズベリーパイより少し安いらしい。

次買うならこれかな。

News source:Gigazine


Beaglebone Black Rev.C が発売

ちょっと前から Beaglebone Black が品薄になっていたので何かあると思ったらありましたね。

Beaglebone Black Rev.C が発売。

主な変更点は「eMMC が 2G から 4G に変更になっている。」
それによって

  • eMMC を活用できる。
  • 長時間動作が可能
  • 従来の eMMC がコンパクトになる。

また、プリインストールのディストリも Angstrom から Devian に代わるようです。
値段もちょっと上がるとか。

まだまだ一般に流通するのは先になりそうですね。

うちのベグボンは Rev.A5C だった。う~ん 微妙(^_^;。
eMMC から起動しないならサイズは特に関係ないと思うけど、
Rev.B 以降 AM3358BZCZ100プロセッサ に変わっているので、こっちは気になるところ。

でも、一枚持っているからよっぽどのことがない限り、今のベグボンで十分かな。

.


Raspberry Pi のディスク使用量が 100%

Raspberry Pi のディスク使用量が、いつの間にか 100% になっていた。
原因はログ。
ずーと動かしっぱなしにしていたので、ログロテートの設定で大量のログが出来ていた。
慌ててログロテートの設定を変更して余分なログを消したら、使用量 30% まで減りました。
所詮は 8G のマイクロSD なので、1TBのハードディスクとは同列には扱えんわな。

その後の顛末。

後日、見てみたらまたまた 100% になっていた。
でも、ログを消しても 100% が変わらない。
調べてみると、プロセスがファイルを保持していると、ファイルを消しても領域が解放されない罠(T_T)。
リブートしたら 30% に戻った。

ラズパイに稼働率 スリーナイン(99.9%) とか全く求めていないので、夜間に reboot するクーロンを仕掛けておこうっと。

その後のその後の顛末。

mail のエラーログが大きかったので調べてみると sensible-mda が no such file or directory になっていた。
確かに /usr/sbin/sensible-mda がない。
[code lang=”bash”]
apt-get install sensible-mda
[/code]
を実行してインストールしたら、エラーはなくなった。

また、どうやら全体を再起動しなくても rsyslogd だけリブートすれば、ファイルは一時的に開放されるっぽいので crontab で深夜3時にしかける。
[code lang=”bash”]0 3 * * * /etc/init.d/rsyslog restart[/code]
それと root のメールが鬼の様に溜まっていたのでそれを消して、スクリプト実行時にメールが飛ばないように以下を追加
[code lang=”bash”]0 3 * * * /etc/init.d/rsyslog restart >/dev/null 2>&1[/code]
これでしばらく様子見。

その後の顛末

自動的に、カーネルの更新もするようにスクリプト組んでいたらいつの間やらまた100%に・・・
いろいろ調査した結果、/lib/modules の下に過去のバージョンのモジュール群が消えもせずに
残留していて、それが容量を食いつぶしていた。
最新バージョン以外のモジュールディレクトリを rm -Rf で全て消して
何とか 100% 状態からは脱しました。


【Galileo】インストール 初期設定

Galileo に関してはものすごく情報が少ない。

先ず、カラ割り直後にLANケーブルを入れて、電源をつなぐ。DHCPでIPはふられるし、PING も通るが・・・
SSH で接続できない。どうやら最初にファームウェアのアップデートをしないとダメらしい。ここでかなりアセった。

ファームウェアのアップデート

  1. ダウンロードセンター から、今回はウィンドウズで使うので、Intel_Galileo_Arduino_SW_1.5.3_on_Windows_v1.0.0.zip をダウンロード。
  2. そのまま解凍すると、解凍ソフトによっては長いファイル名が展開できないので、Linux マシンに一旦アップして、そちらで展開した後、持ってきた方が間違いない。
  3. 電源を入れた後に microUSB ケーブルをつなぐ。つなぐのは向かって右側(USB CLIENT)。(USBをつないだまま電源を入れると破損することがあるらしい。)
  4. 単につなげただけでは不明なデバイス(Gadget serial)になるので、arduino-1.5.3hardwarearduinox86toolslinux-cdc-acm.inf を使ってドライバインストールすると Galileo(COMx) となる。 x は数字。 x を覚えて置く。
  5. arduino-1.5.3arduino.exe を起動する。
  6. ヘルプから「Firmware Update」を選択。アップデート中は電源を抜いたりしないこと。

ファームウェアのアップロード完了後、再起動すると ssh でログイン可能になる。初期ユーザ名は root で パスワードなし。

microSD で Linux

GalileoのFLASH ROMにはLinuxがインストールされていて、電源を入れるとこれが起動するが、電源を入れなおすとスケッチが消えるとか何かと不便なので、microSDにLinuxを入れて、そちらを使うようにする。

  1. ダウンロードセンターから LINUX_IMAGE_FOR_SD_Intel_Galileo_v1.0.0.7z をダウンロード。
  2. microSD を FAT32 でフォーマット。
  3. ダウンロードしたファイルを解凍。
  4. microSD にコピー。
  5. Galileo に挿しておけば、そちらから起動するようになる。

Raspberry pi や Beaglebone Black はイメージを焼くのに対して、FAT32 でフォーマットしたSDに、そのままコピーするのが違うね。

パッケージ管理 opkg

yocto linux のパッケージ管理は opkg。 でも Intel 配布のイメージだと opkg が使えない。
opkg が使いたい場合は IntelのGalileoでパッケージマネージャopkgを使う ら辺から落としたイメージを使う。

Webサーバ

opkg が使えるミニマム構成で /etc/init.d を見ると lighttpd というのがあったので、lighttpd start とやるとWebアクセスができた。
chkconfig はデフォルトで入っていないので、opkg install chkconfig でインストールしたが、chkconfig –add lighttpd を実行するとエラーが出る。
[code lang=”bash”]
service lighttpd does not support chkconfig
[/code]
/etc/init.d/の起動・停止ファイル lighttpd の #!/bin/sh へ下記のようにコメントを追加する。
[code lang=”bash”]
#!/bin/sh
# chkconfig: 345 98 20
[/code]
再度 chkconfig –add lighttpd を実行。今度は上手く行った。ちゃんと chkconfig lighttpd on で自動起動にしておく。

pythonの足りないライブラリを入れる。

  • Intel 標準のイメージは、Python のライブラリはフルフル入っているけど、opkg のアップデートができない。
  • opkg が使えるミニマムイメージは opkg のアップデートはできるが Python のライブラリが足りない。

中に入っているのは Python 2.7.3。なので、足りない標準ライブラリを無理やり入れる。
[code lang=”bash”]
wget –no-check-certificate https://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgztar zxvf Python-2.7.3.tgz
[/code]
先ず Python2.7.3 のフルセットをダウンロードして展開。 Lib 以下を /usr/lib/python2.7/ にコピーすればOK。

Timezoneの設定

/etc/localtime がシンボリックリンクになっている。
Asia/Tokyo にしたいときは /usr/share/zoneinfo/Asia/Tokyo にシンボリックリンク先を変更する。
[code lang=”bash”]
ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
[/code]

SFTP がつながらない。

標準の設定だと ssh はつながるけど sftp が”Connection closed by server with exitcode 127” のエラーでつながらなかったので、/etc/ssh/sshd_config の以下の設定を変えて sshd をリスタートする。
[code lang=”bash”]#Subsystem sftp /usr/lib/openssh/sftp-serverSubsystem sftp internal-sftp[/code]

lighttpd から python を使えるようにする。

How to support cgi on lighttpd 辺りを参考にする。
添付されている mod_cgi.so.zip をダウンロード・展開して、/usr/lib にコピーする。
/etc/lighttpd.conf を開いて以下を修正。参考にしたサイトとはちょっと違う。なぜなら うっとこ の Galileo には php も perl も ruby も入っていないから。
[code lang=”python”]
# files to check for if …/ is requested
index-file.names = ( “index.php”, “index.html”,
“index.htm”, “default.htm”,
“index.cgi”, “index.py” ) # index.cgi と index.py を追加する。
server.modules = (
:
“mod_cgi”, # mod_cgi をアンコメントする。
:
cgi.assign = ( “.py” => “/usr/bin/python”, # .py と .cgi を追加
“.cgi” => “/usr/bin/python” )
[/code]
/etc/init.d/lighttpd restart で Python スクリプトが動くようになる。

容量を増やす

ガリレオは、ファイルシステムイメージ(image-full-clanton.ext3)を使用していて、このサイズを変更することで容量を増やすことができるが、インテル提供のLinuxイメージはサイズ変更のユーティリティが含まれていない。

別のLinuxコンピュータにアクセスできる場合、ファイルシステムのサイズを変更するには、以下の手順で行える。(自分は Raspberry Pi + Debian を使用した。)
microSD の USBアダプタを使って、ポートに指すと
[code lang=”bash”]ls /dev/sd*[/code]
で、/dev/sda と /dev/sda1 が見える。 sda1 だろうとあたりをつけて
[code lang=”bash”]mkdir /mnt/usbmount -t vfat /dev/sda1 /mnt/usb[/code]
ls /mnt/usb でファイルが見えれば OK。

1. 最初のファイルシステムのチェック(fsck)を実行する。
[code lang=”bash”]fsck.ext3 -f /mnt/usb/image-full-clanton.ext3[/code]
2. ファイルシステムのサイズを変更するため resize2fs を実行する。第2引数(この例では409600)はキロバイト単位で新しいファイルシステムのサイズを指定する。
[code lang=”bash”]resize2fs /mnt/usb/image-full-clanton.ext3 4194303[/code]
再起動後 df で見ると 76% 使用していたのが、14% 使用になった。
参考:https://communities.intel.com/thread/46019


【Galileo】当たった!

ネットの抽選に応募していた Intel Galileo が当たってしまった。 (^o^)/
6月27日にインテルから Galileo2 の発売が予定されているので、初代 Galileo は販売中止に・・・。
ちょっと前に、秋葉原で 初代Galileo 在庫処分の投げ売り、その時は買えなかったので当たって良かった。
カラ割りした画像が右。

大ヒットの Raspberry pi に比べて、グラフィック出力がないとか、電源を差す前にUSBを差していると最悪 壊れるとかいろいろクセのあるボードの様だが、せっかくだからいろいろ触ってみようと思う。


Raspbian の cron の editor を変更

Raspbian で crontab -e を実行するとデフォルトのエディタでは nano が立ち上がる。

これを vi に変更するには
[code lang=”bash”]
pi@raspberrypi:~# sudo update-alternatives –config editor
alternative editor (/usr/bin/editor を提供) には 3 個の選択肢があります。
選択肢 パス 優先度 状態
————————————————————
* 0 /bin/nano 40 自動モード
1 /bin/ed -100 手動モード
2 /bin/nano 40 手動モード
3 /usr/bin/vim.tiny 10 手動モード
現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください: 3
update-alternatives: /usr/bin/editor (editor) を提供するために 手動モード で /usr/bin/vim.tiny を使います
[/code]
これで、エディタが vi になる。