ラベル Ubuntu の投稿を表示しています。 すべての投稿を表示
ラベル Ubuntu の投稿を表示しています。 すべての投稿を表示

2014/02/09

Beagle Bone Black で Ubuntu (1)

しなです。
Beagle Bone Black 買って弄んだのだが,後々のためにここに個人的な備忘録を書いておく。




イメージのダウンロード

BBB用のイメージは色いろあるんだけど,ボタンを押さなくてもSDカードからブートできる方法があったarmhf.comのイメージを使うことにする。
http://www.armhf.com/index.php/boards/beaglebone-black/ 

LTS(長期サポート版 https://www.ubuntulinux.jp/ubuntu)を選んでみる。
ubuntu-precise-12.04.3-armhf-3.8.13-bone30.img.xz   をダウンロード
username:ubuntu
password:ubuntu

イメージの焼きこみ

ubuntuだとxzファイルを直接焼けるみたいだけど,Windowsでは無理なので一度解凍して書き込むことに。
xzは7-Zipで解凍。できあがったイメージファイル( ubuntu-precise-12.04.3-armhf-3.8.13-bone30.img) を Win32 Disk Imager でmicroSDに書き込み。

ボタンを押さなくてもSDカードからブートするように修正

http://tomowatanabe.hatenablog.com/entry/2013/12/15/202806

microSDをWindowsからマウントして uEnv.txt に2行追記


mmcpart=2
bootfile=zImage
optargs=fixrtc
uenvcmd=i2c mw 0x24 1 0x3e; kd=0; if test $mmcdev -eq 1; then mmc dev 0; if mmc
rescan; then kd=1; fi; mmc dev 1; fi; setenv mmcroot /dev/mmcblk${kd}p${mmcpart} ro
loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdtaddr} ${bootdir}/dtbs/${fdtfile}
loadimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${bootdir}/${bootfile}
mmcboot=echo Booting from mmc ...; run mmcargs; bootz ${kloadaddr} - ${fdtaddr}



容量拡張

サイズが2GBなのでfdisk で拡張。次のパッケージのインストールと追加で容量不足になるので。http://tomowatanabe.hatenablog.com/entry/2013/12/15/202806

ubuntu-armhf:~$ sudo fdisk /dev/mmcblk0

再起動したら再びsshで接続してログインした後,resizeコマンド
ubuntu-armhf:~$ sudo resize2fs /dev/mmcblk0p2


パッケージの更新

ubuntu-armhf:~$sudo apt-get update
ubuntu-armhf:~$sudo apt-get upgrade


リモートデスクトップ環境のインストール

ubuntu-armhf:~$sudo apt-get install xrdp

WindowsManagerが無いと言われるのでLXDEをインストール
http://elinux.org/Beagleboard:Installing_LXDE

ubuntu-armhf:~$sudo apt-get install lxde

Windowsからリモートデスクトップできるところまで確認



日本語フォントのインストール

http://www.k5.dion.ne.jp/~r-f/sicklylife/memo/ubuntu1210/setting_and_install.html#font_in

 sudo apt-get install fonts-ipafont-gothic fonts-ipafont-mincho


http://ipafont.ipa.go.jp/fontinstall.html

fc-list
mkdir ~/.fonts
cd ~/.fonts
wget http://download.forest.impress.co.jp/pub/library/i/ipaexfont/10821/IPAexfont00201.zip
unzip IPAex00201.zip
fc-cache -fv


UnixBenchの実行

とりあえずベンチマークでしょ。ってことでとってみた。

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: ubuntu-armhf: GNU/Linux
   OS: GNU/Linux -- 3.8.13-bone30 -- #1 SMP Thu Nov 14 11:19:20 UTC 2013
   Machine: armv7l (armv7l)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   CPU 0: ARMv7 Processor rev 2 (v7l) (0.0 bogomips)

   09:47:30 up 5 days, 11:56,  1 user,  load average: 0.42, 0.18, 0.09; runlevel 2

------------------------------------------------------------------------
Benchmark Run: Sun Feb 16 2014 09:47:30 - 10:17:55
1 CPU in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        3546197.1 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      204.0 MWIPS (10.1 s, 7 samples)
Execl Throughput                                439.6 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         69449.3 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           22303.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        150541.6 KBps  (30.0 s, 2 samples)
Pipe Throughput                              160198.3 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  25206.1 lps   (10.0 s, 7 samples)
Process Creation                               1516.7 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                    753.6 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                     93.3 lpm   (60.4 s, 2 samples)
System Call Overhead                         428110.5 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    3546197.1    303.9
Double-Precision Whetstone                       55.0        204.0     37.1
Execl Throughput                                 43.0        439.6    102.2
File Copy 1024 bufsize 2000 maxblocks          3960.0      69449.3    175.4
File Copy 256 bufsize 500 maxblocks            1655.0      22303.5    134.8
File Copy 4096 bufsize 8000 maxblocks          5800.0     150541.6    259.6
Pipe Throughput                               12440.0     160198.3    128.8
Pipe-based Context Switching                   4000.0      25206.1     63.0
Process Creation                                126.0       1516.7    120.4
Shell Scripts (1 concurrent)                     42.4        753.6    177.7
Shell Scripts (8 concurrent)                      6.0         93.3    155.5
System Call Overhead                          15000.0     428110.5    285.4
                                                                   ========
System Benchmarks Index Score                                         139.5




 (続くかも)

2010/01/17

Mabinogi on Wine

Ubuntu 9.10にWindows APIエミュレータのWineをインストールしてマビノギを動かしてみました。
問題なく動いて驚き。さすがバージョン1.0を出すのに15年かかっただけあるw


以下はその手順。
まず、NVIDIAやATIのドライバをインストールする。

# aptitude install envyng-core envyng-qt


メニューの[アプリケーション][システムツール]からenvyngを起動して、自分が使っているビデオカードのドライバをインストールする。

リポジトリとパッケージリストを追加する。

# wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -
# sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/jaunty.list -O /etc/apt/sources.list.d/winhq.list


リポジトリを更新する。

# sudo aptitude update


追加したリポジトリからWineをインストール。

# sudo aptitude install wine


Wine便利ツールのwinetricksをインストール

# wget http://www.kegel.com/wine/winetricks
# chmod 755 winetricks
# sudo chown root.root winetricks
# sudo mv winetricks /usr/local/bin


winetricksを使って、WineにフォントとDirectX9をインストールする。

# winetricks



d3dx9とallfontsにチェックをいれてOKを押す。
マビノギをインストールするため、jp_mabinogi_setup_167.exeをダウンロードしてWineから起動。

# wine jp_mabinogi_setup_167.exe


以上。

モリアンサーバに(何もできない)キャラがいるのでよろしく。

2010/01/11

ファイルサーバのデータを暗号化

個人情報をきっちりと暗号化することにした。
Debian lenny(と、Ubuntu 9.10)で構築したシステムをcryptsetup-luksを利用してファイルシステムごと暗号化したものに変更する(lennyからsqueeze、wheezyと安定継続稼働中)。

まず、現状を把握する(全く覚えてないのでw)。
現在利用しているファイルシステムを確認。

# mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sdb1 on /share type ext3 (rw,errors=remount-ro)

(ハードディスクを増設した場合や、mountしてない場合はfdisk -lが便利)

/dev/sdbを暗号化パーティションにしてext3のファイルシステムを作ることにする。

手始めに、暗号化したときのコストがどの程度か測るために、暗号化前の処理速度を測ることにした。
が…。
どんなハードディスクを使ってたっけな?w

# cat /proc/scsi/scsi
Attached devices:
...
Host: scsi2 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: Hitachi HDS72202 Rev: JKAO
Type: Direct-Access ANSI SCSI revision: 05


HitachiのHDS72202か。
カタログスペックを調べようと思ったらぐぐっても見つからない...
ま、いっか。
ベンチマークツールをインストールして速度を測ってみる。

まず読み込み速度。

# aptitude install hdparm
# hdparm -Tt /dev/sdb
/dev/sdb:
Timing cached reads: 7408 MB in 2.00 seconds = 3707.32 MB/sec
Timing buffered disk reads: 396 MB in 3.00 seconds = 131.95 MB/sec


書き込みも測ってみる。

# time dd if=/dev/zero of=/share/hoge ibs=1M obs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 3.8181 s, 281 MB/s
real 0m3.823s
user 0m0.156s
sys 0m2.256s


さて、本番。

カーネルをコンパイルする。

2010/01/17 追記
Ubuntu 9.1やDebian6以上などの、最近のディストリビューションの場合はカーネルの再コンパイルの必要はない。
カーネルがサポートしていない場合、cryptsetup時に以下のようなエラーメッセージが出る。その場合はカーネルを正しく作り直すべし。

Command failed: Failed to setup dm-crypt key mapping.
Check kernel for support for the aes-cbc-essiv:sha256 cipher spec and verify that /dev/sda3
contains at least 258 sectors



カーネルコンパイルの手順は次のようになる。

# aptitude install make gcc
# aptitude install kernel-package fakeroot
# aptitude install linux-source
# cd /usr/src
# tar xvjf linux-source-2.6.26.tar.bz2
# cd linux-source-2.6.26


設定を引き継ぐため古いコンフィグファイルをコピーする。

# cp /boot/config-2.6.26-2-amd64 .config


昔のコンフィグをマージする。

# make oldconfig


続いて、暗号化モジュールをカーネルに組み込む。
グラフィカルなカーネル設定(gconfig)を立ち上げるため、以下のライブラリをインストールする。

# aptitude install libgtk2.0-dev libglade2-dev


続いて、設定画面を呼び出す。下記のコマンドは、Root Terminalから呼び出せばXの設定は必要ない。

# make gconfig


[Device Drivers]->[Multiple devices driver support(RAID and LVM)]->[Device mapper support]
[Device Drivers]->[Multiple devices driver support(RAID and LVM)]->[Device mapper support]->[Crypt target support]
の2つをYにして、カーネルに組み込む。
コンパイルして、インストールする。

# make-kpkg clean
# fakeroot make-kpkg --initrd --revision=20100111.1224 kernel_image kernel_headers modules_image
# cd /usr/src
# dpkg -i linux-headers-2.6.26_20100111.1224_amd64.deb linux-image-2.6.26_20100111.1224_amd64.deb


再起動後、やっとこさ暗号化ファイルシステムを作成。
まず、dm-cryptの設定ツールであるcryptsetupをインストールする。

# aptitude install cryptsetup


暗号化アルゴリズムにaes、ハッシュアルゴリズムにsha256、キーサイズに256を指定する。

# cryptsetup --verbose -y luksFormat -c aes-cbc-essiv:sha256 --key-size 256 /dev/sdb1
WARNING!
========
This will overwrite data on /dev/sdb1 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Verify passphrase:
Command successful.


ここで気をつけなくてはいけないことは、大文字でYESと答えないとCommand failedというメッセージが表示されて終了してしまうことである。
なんつーユーザーフレンドリーなインターフェース。まるでおいらが作ったアプリケーションみたいだ。

論理パーティションを作成して適当な名前(encrypted_sdb1)をつける。

# cryptsetup luksOpen /dev/sdb1 encrypted_sdb1
Enter LUKS passphrase:
key slot 0 unlocked.
Command successful.


Device-Mapperに暗号化レイヤが用意されたか確認。

# ls -l /dev/mappaer
crw-rw---- 1 root root 10, 59 2010-01-11 15:41 control
brw-rw---- 1 root disk 254, 0 2010-01-11 15:45 encrypted_sdb1


後は通常のパーティションと同じように扱える。パーティションを他と同じようにext3でフォーマットする。

# mkfs.ext3 /dev/mapper/encrypted_sdb1


マウントする。
※/dev/sdb1を直接mountして使うと壊れてしまうらしいので注意

# mkdir /share
# mount -t ext3 /dev/mapper/encrypted_sdb1 /share
# df
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/sda1 59526528 4525292 51977404 9% /
tmpfs 3551324 0 3551324 0% /lib/init/rw
udev 10240 860 9380 9% /dev
tmpfs 3551324 76 3551248 1% /dev/shm
/dev/mapper/encrypted_sdb1
1922857324 200160 1824981616 1% /share


よしよし。
さて、暗号化によりどの程度遅くなったか確認する。

# hdparm -Tt /dev/mapper/encrypted_sdb1
/dev/mapper/encrypted_sdb1:
Timing cached reads: 6934 MB in 2.00 seconds = 3469.98 MB/sec
Timing buffered disk reads: 228 MB in 3.03 seconds = 75.35 MB/sec


読み取り速度はcachedで7%の速度低下、bufferedで43%の速度低下。両極端な結果が出たな。cachedの速さもびっくりだけど、bufferedの速度低下もびっくりだ。
続いて書き込み速度のテスト。

# time dd if=/dev/zero of=/share/hoge ibs=1M obs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 14.2425 s, 75.4 MB/s
real 0m14.245s
user 0m0.160s
sys 0m2.240s


74%の速度低下。キッツー。
用途によっては使い物にならないですね、コレ。

今後マッピングの解除とunmountは以下のようにする。

# umount /share
# cryptsetup luksClose encrypted_sdb1


今後マッピングとmountしたい時は次のようにする。

# cryptsetup luksOpen /dev/sdb1 encrypted_sdb1
# mount -t ext3 /dev/mapper/encrypted_sdb1 /share

もし、

Command failed: No key available with this passphrase.

というエラーメッセージが出た場合は、dm_cryptモジュールが読み込まれているか、lsmodを実効して確かめる。

次はUPS買うかな...

2013/06/28 追記:
squeezeに移行すると、lennyで作った暗号化ファイルシステムがマウントできないという悲鳴の声がネット上でちらほら見かけました。どうも暗号化するときのデフォルト設定が、変わったのが原因(?)ぽいですね。とりあえず上記の暗号化アルゴリズムとハッシュアルゴリズムを選択した場合は、再マウント時に何もトラブルなりませんでした。カーネルも再コンパイルが必要なくなり、modprobe dm_modしてからcryptsetupするだけで問題なしです。また、Debian7ではそれすら必要なかったです。楽になったなぁ…。

2013/06/04 追記:
他のベンチマークがあったので追記 - The Cost Of Ubuntu Disk Encryption
結構いろいろな測定方法が紹介されてる。今度参考にしようっと。

2011/07/29 Debian squeeze環境下でlennyで暗号化したシステムをマウントする方法を末尾に追加。