Ubuntu Weekly Recipe

第190回シルバーウィーク特別企画・超小型Ubuntuマシン Trim Sliceで遊ぼう

この数年、さまざまなARMデバイスが販売されるようになっています。今回はその中でも特に小型な高性能コンピューター、⁠Trim Slice⁠を紹介します。

Trim Slice とは

Trim Sliceは、イスラエルCompuLab社(fit-PCなどの小型PCで有名なハードウェアベンダ)が提供する、NVIDIA Tegra2を搭載した超小型デスクトップマシンです図1⁠。

図1 Trim Sliceを上から見た図。小型ながら、デスクトップPCに必要なほとんどの要素を満たしている
図1 Trim Sliceを上から見た図。小型ながら、デスクトップPCに必要なほとんどの要素を満たしている

最大の特徴はその大きさで、底面積が130mm x 95mm厚み0.6cmほどと、⁠名刺入れ二つ分」サイズです図2・図3⁠。また、価格も最低限の「Bareborn」モデルであれば$200弱と、一般的な組み込みボードに比べると安くなっています[1]⁠。

図2 Trim Sliceの横に名刺を置いてみた。⁠縦」は名刺の長辺とほぼ同等
図2 Trim Sliceの横に名刺を置いてみた。「縦」は名刺の長辺とほぼ同等
図3 Trim Sliceの上に2.5インチSSDを置いてみた
図3 Trim Sliceの上に2.5インチSSDを置いてみた

スペックそのものは次のとおりで、⁠Tegra2搭載のAndroidタブレットから、モニタとバッテリーを取り外したもの」に、複数のUSBポートとGigabit Ethernetを追加したもの、と考えて良いでしょう。電源は付属のACアダプタ[2]を用います。

Trim Sliceのインターフェース図4・図5
  • CPU: NVIDIA Tegra2(Cortex A9 dual core)
  • Memory: 1GB
  • USB2.0 x4ポート(通常サイズ)
  • USB2.0 x1ポート(microUSB)
  • HDMI出力
  • アナログステレオラインアウト
  • アナログステレオラインイン
  • デジタルオーディオ出力(S/PDIF)
  • SDカードスロット
  • microSDカードスロット
  • UARTポート(RS-232C)
  • DVI出力(オプション)
  • SATA(オプション)注3
  • 11n WLAN(オプション)
  • Gigabit Ethernet[4]
図4 Trim Sliceの前面ポート。左からRS-232C/UART、SDカードスロット、電源スイッチ兼LED、USB2.0 x2、microUSB
図4 Trim Sliceの前面ポート。左からRS-232C/UART、SDカードスロット、電源スイッチ兼LED、USB2.0 x2、microUSB
図5 Trim Sliceの背面ポート。左からWLAN用アンテナ、USB2.0、アナログラインイン兼SPDIF Out、USB2.0、AC入力、ラインアウト、DVI-D(HDMI形状⁠⁠、Gigbit Ethernet、HDMI
図5 Trim Sliceの背面ポート。左からWLAN用アンテナ、USB2.0、アナログラインイン兼SPDIF Out、USB2.0、AC入力、ラインアウト、DVI-D(HDMI形状)、Gigbit Ethernet、HDMI

ARM Cortex A9と1GBメモリを搭載し、GbEポートを持つ以上、⁠最低限のデスクトップ環境」として利用することもできますし、省電力を生かした常時稼働サーバーとして利用することもできます。デフォルトで導入されたOSはUbuntu 11.04のカスタム版です。

ブートローダーはubootで、開発者向けに自前のubootへの入れ替えも可能となっているため、Android端末のように「OSの入れ替えが困難」といった問題はありません。Tegra2搭載Androidタブレットが3~4万円で入手できることを考えると、Ubuntuなど、好みのOSを利用できることと、Gigabit Ethernetが利用できることをどこまで評価するか、ということになります。

購入方法

Trim Sliceは現時点では日本国内に販売代理店が存在しないため、メーカーであるイスラエルCompuLab社の直販を利用するしかありません……と(本稿の第一稿時点では)言及するつもりだったのですが、9月18日時点で確認したところ、リセラーとしてイーテック社の名前が掲載されるようになっており、日本国内でも入手できるようになるかもしれません。

CompuLabから直接購入する場合は海外発送となります。筆者が購入した際はUPSによる国際便で、注文後4日ほどで到着しました。⁠In Stock」⁠在庫あり)ステータスな品については注文の翌日には発送手配がかかっていたので、海外通販としては「すぐに届く」部類と言えます。ですが、送料がかなりかかるので、初期不良を踏まないことを祈る必要があります。本体+送料に加えて、800円ほどの税がかかりました。

モデル選択

Trim Sliceには次の5モデルが存在します。ハードウェア的には3種類で、付属品の差で5モデルに展開されています。

  • Trim Slice Bareborn
  • Trim Slice Value
  • Trim Slice Pro
  • Trim Slice H Diskless
  • Trim Slice H250

BarebornとValueは最低限の機能を搭載したモデルで、Barebornに11nドングル・4GB microSDHC(Ubuntuプリインストール)を付属品として追加したものがValueです。

ProはBarebornに11n無線LANユニットとセカンダリモニタ出力(⁠⁠+DVI」と書かれているものの、端子はHDMI⁠⁠・Video入力を追加し、SATA SSD(ただしUSB=SATAコンバータ経由)を搭載したものに、付属品としてBluetoothドングルを追加したものです。

H DisklessとH250は、Proの基板を2.5inch HDD/SSDを搭載可能な筐体に入れ替えたものです。Disklessはその名の通りストレージなし、H250は2.5inch SATA HDDを搭載したモデルです。Bluetoothドングルも付属します。

日本国内で利用する場合、基本的にWLANとBluetoothは電波法の都合で利用できませんので、⁠Barebornを購入して自分でOSをインストールする」⁠Proを購入して、小型マシンとして使う」⁠H Disklessを購入し、高さは諦める」の3パターンが基本になりそうです。筆者はBarebornを選択しました。

必要な周辺機器

Trim Sliceを「使う」ためには、本体以外に次のものが必要になります。

  • HDMIケーブル
  • HDMIもしくはDVI-Dで入力可能なモニタ
  • USBキーボード
  • USBマウス
  • イーサネットケーブル
  • RS-232Cクロスケーブル
  • RS-232Cポートが存在するPC(もしくはUSB=RS-232C変換アダプタとPC)
  • SDHCカードを読み書きできるPC
  • プラスドライバ

モデルによっては、次のメディアを準備しておく必要があります。

  • SDカード(OSインストール用)
  • microSDカード(内蔵ストレージ用。SSD搭載モデルや2.5inchHDD/SSD搭載可能モデルでは不要)
  • 2.5inch HDD/SSD(内蔵ストレージ用。搭載可能モデルのみ)

次のものは本体に付属していますので、準備する必要はありません。

  • HDMI=DVI-D変換アダプタ
  • ACアダプタ
  • 本体の小型RC-232C出力を標準的なDB9に変換するアダプタ

特にRC-232CクロスケーブルはOSインストールや初期設定時に利用するため、ほぼ必須です。ケーブルがないと悲しい思いをすることになるので、Trim Slice本体を注文したら購入しておきましょう(Valueなど、OSプリインストールモデルを利用する場合は初期セットアップ時点では不要ですが、⁠なにか」が起きた場合やハードウェアの動作確認には必要になります⁠⁠。

セットアップ

Trim Sliceが無事に手元に届いた後は、メーカーが準備しているOSインストールイメージを用いて初期セットアップを行います[5]⁠。OSインストールには、インストールメディアとして利用するSDカードと、インストール先ストレージとなるmicroSDカード(もしくはUSBメモリ)とともに、HDMI接続で画面出力が可能なモニタと、USB接続マウスが必要です。

セットアップの基本的な手順は、Trim Slice Wikiに書かれた手順をそのままなぞるだけで行えます。以下で紹介する手順も、基本的にTrim Slice Wikiの手順と同じ、あるいは一般的なARM端末での標準的な設定方法だけです。

uboot環境への接続

作業の前に、uboot環境を取得するためコンソール接続が行える状態にしましょう。Trim Sliceの標準状態では、RS-232Cポートにクロスケーブルを接続して行います。

Trim Slice側の電源を切った状態でシリアルケーブルを接続し、ホストPC側で「screen /dev/ttyUSB0 115200」などとすることで接続できるはずです(USBシリアルケーブルを利用していて、/dev/ttyUSB0にシリアルポートがあるマシンからの接続の場合⁠⁠。

この状態でTrim Sliceの電源を入れると、ubootのブートメッセージが表示されます。

ubootイメージの更新

ubootイメージの更新を行います。ubootはPC-AT機におけるBIOSに相当するベースレベルファームウェアで、ハードウェア全体の挙動にも影響しうるため、なるべく最新のものを使った方が良いでしょう。特にTrim Sliceの場合、インストールに用いるユーティリティソフトウェアがv1.01以上のubootを要求するため、更新しておくべきです。

ubootの更新は簡単で、ubootイメージを入手してusb-imagewriterを用いてSDカード上に展開し、SDカードを装着した状態で、本体横のセキュリティスロットを開き、スイッチを押しながら起動します図6⁠。破損したイメージを書き込んでしまうと致命的なので、zipファイルに破損がないかMD5の確認(md5sum firmware-updater.img.zip)を行っておきましょう。

起動から数秒でubootの書き換えが終了し、LEDが点滅する状態になります。シリアルポート経由で接続している場合、次のようなメッセージが出力されるはずです。この状態になったら電源をOffにし、再起動すれば更新は完了です。

図6 Firmware Update - Trim-Slice Wiki
図6 Firmware Update - Trim-Slice Wiki
Scanning ext2 mmc 0 on prefix / ...
Loading file "/boot.scr" from mmc device 0:1 (xxa1)
727 bytes read
boot.scr found! Executing ...
## Executing script at 00408000
starting boot.scr
Loading file "/u-boot.slice" from mmc device 0:1 (xxa1)
296960 bytes read
SF: Detected W25Q80BL with page size 256, total 1 MiB
1024 KiB W25Q80BL at 0:0 is now current device
Saving Environment to SPI Flash...
Erasing SPI flash...Writing to SPI flash...done
U-Boot update complete.
port:bit 3:2 = 0
port:bit 27:5 = 0
port:bit 3:2 = 1
port:bit 27:5 = 1
port:bit 3:2 = 0

インストールメディアの準備とインストール

Trim SliceへのUbuntuの導入には、専用のブートイメージを用います。

標準状態のUbuntuとの違いは、⁠カーネルが専用のものになっている」⁠ubuntu-desktopパッケージが専用のものになり、必要最小限の環境だけが導入されるようになっている」点です。導入手順はubootイメージ更新と同じで、zipファイルを入手する→zipファイルを展開してusb-imagewriterでメディアへ書き込む→SDカードを装着した状態で起動、となります図7⁠。この場合も安全のため、展開するzipファイルにデータ化けがないか、MD5ハッシュを確認しましょう。

図7 OS Installation and update - Trim-Slice Wiki
図7 http://www.trimslice.com/wiki/index.php/OS_Installation_and_update

インストール先のストレージとしては、内蔵SDや2.5inchベイにHDD/SSDを搭載したもの、あるいはmicroSDカードを本体右側のセキュリティスロットから装着するか、USB2.0ポートにUSBメモリを装着することになります。ValueやBarebornではmicroSDかUSBメモリ、他のモデルでは内蔵されたデバイスに応じてストレージが決まることになるでしょう。

ubootの場合と異なり、ライブセッションが開始されてUbuntuのデスクトップ画面が表示されるため図8⁠、インストーラーアイコン(TrimSlice Installer)をダブルクリックしてインストール先を選定図9⁠→インストール、という流れになります。このため、インストールにはUSBマウス・HDMI出力が表示できるモニタが必要になります(……実はUSBキーボードはなくても問題ありません⁠⁠。

基本的にSDカードやmicroSDカード・USBメモリへの書き込みになるので、Trim Slice本体の性能(バス幅)の問題もあり、非常に時間がかかります。じっくり待てる状態で作業を行うのが良いでしょう図10⁠。

図8 SDカードにOSインストーラーイメージを導入して起動したデスクトップ。Firefoxと各種アクセサリソフトウェアが利用できるので、このまま簡易デスクトップとして使うこともできる
図8 SDカードにOSインストーラーイメージを導入して起動したデスクトップ。Firefoxと各種アクセサリソフトウェアが利用できるので、このまま簡易デスクトップとして使うこともできる
図9 インストーラを起動し、インストール先ストレージを選択する画面
図9 インストーラを起動し、インストール先ストレージを選択する画面
図10 インストール完了画面。筆者の環境(microSDHC 16GB Class10、Princeton製をストレージとして利用)で、約20分ほどかかっている
図10 インストール完了画面。筆者の環境(microSDHC 16GB Class10、Princeton製をストレージとして利用)で、約20分ほどかかっている

USBメモリからブートする(Bareborn/Valueモデル)

BarebornやValueモデルの場合、USBメモリにシステムを導入しても、正常にブートすることができません。これは、ubootスクリプトによる簡易ブートローダのデバイス選択ロジックに問題があり、⁠USBメモリは/dev/sdbに存在する」ことを仮定しているためです(SSDを内蔵できるモデルであればSSD=sda、USBメモリ=sdbとなるので正しいのですが、BarebornやValueではこの挙動は正しくありません⁠⁠。

Trim Sliceでは、各デバイスに配置した「boot.scr」スクリプトをロードすることでブートデバイスを制御する仕組みとなっていますので、これを修正しておきましょう。

boot.scrの修正には、ubootの最新配布物が必要です。次の操作を実行して、修正に必要なツールを準備します。

$ wget ftp://ftp.denx.de/pub/u-boot/u-boot-latest.tar.bz2
$ tar jxvf u-boot-latest.tar.bz2
$ cd u-boot-2011.06 
$ make tools
$ sudo install tools/mkimage /usr/local/bin

ツールの準備ができたら、インストールしたブートメディアをPCにに搭載して、boot.scrファイルを入手します。boot.scrの「テキスト部分」⁠echo starting boot.scr⁠以降)をテキストファイルとして保存し「boot.txt」という名前で保存します。27〜28行目にある以下のブートデバイスの指定(root=/dev/sdb1)を、⁠root=/dev/sda1」に書き換えます。

echo booting from external USB
setenv rootfs rw root=/dev/sdb1 nohdparm rootwait

書き換えが終わったら次のコマンドでboot.scrファイルを作成し、ブートメディアに含まれるファイルを置き換えます。

mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Trim-Slice-Bareborn" -d ./boot.txt ./boot.scr

初期設定

Trim Sliceのインストールが終わっても、そのままでは少々使いにくい設定なので、修正が必要です。以下は筆者がインストール後に行った設定です。

GDMを止める

Trim SliceはHDMI経由でデスクトップ環境を利用することもできますが、性能面の問題から、やはりサーバーとして利用する方が便利でしょう。GDMを停止するため、⁠sudo /bin/sh -c 'echo manual >> /etc/init/gdm.conf'⁠⁠ を実行します。⁠manual」スタンザは、Upstart設定において「自動起動しない」ことを指定する記述です。

これにより、システム起動時点ではGDMが起動しなくなります。デスクトップ環境が必要な場合、⁠service gdm start」することでGDMやXを起動できます。

タイムゾーンとロケールの変更

デフォルトの状態では、タイムゾーンが「IDT」⁠イスラエル時間)になっています。日本国内で利用する場合は、⁠sudo dpkg-reconfigure tzdata」を実行し、⁠Asia/Tokyo」を選択しなおします。

また、ロケールもen_GBとen_INしか準備されていません。日本語ロケールを生成するために、⁠sudo /bin/sh -c 'echo ja_JP UTF-8 >> /var/lib/locales/supported.d/local'」を実行し、⁠sudo local-gen」します。

初期ユーザー名の変更

Trim Sliceのインストーラは、内部的には「動作する状態になったUbuntuイメージをddでコピーする」⁠ストレージのサイズに合わせる形でファイルシステムをリサイズする」という、少し変わった方法でシステムをインストールします。

この方法の都合上、初期ユーザーは「trim」で固定となってしまっています。追加でユーザーを作成しても良いのですが、trimユーザーを削除する手間もあるので、ここでは「trimユーザーを利用したいユーザーに変換」する方法を取ります。

ユーザー名を変更する場合、コマンドで変更していくより、⁠vipw」⁠vipw -s」⁠vigr」⁠vigr -s」でユーザー指定を変更(ユーザ⁠trim⁠を希望のユーザー名に変更)し、⁠mv /home/trim /home/(希望のユーザー名⁠⁠」でホームディレクトリを移植する方が手早く処置できるでしょう。変更後はpasswd ⁠希望のユーザー名)を実行し、パスワードを変更すれば完了です。

SSHの設定を修正する

インストーラーの仕様上、Trim SliceはSSHのHost Keyを含め初期導入が行われる仕様になっています。結果としてSSHのホスト鍵による識別機能が意味をなさなくなっているので、SSH Host Keyを再生成する必要があります。

次の操作を実行して、既存の鍵をバックアップディレクトリに移動させ、新しい鍵を生成します。

# cd /etc/ssh
# mv ssh_host_*_key* .bak 
# dpkg-reconfigure openssh-server
# service ssh restart

また、Trim Sliceはrootユーザーにパスワードが付与されています。Ubuntuの標準ではSSHdの設定としてPermitRootLoginがyesになっていますので、⁠no」に変更しておきましょう。変更後、service ssh restartを実行してSSHサーバーを再起動してください。

シリアルポートからの自動ログインを抑制する

Trim Sliceのデフォルトでは、ttyS0(=シリアルポート)からの接続時には暗黙でrootシェルが起動するようになっています。この設定を解除したい場合、/etc/init/ttyS0.confの「exec」行を修正し、⁠exec /sbin/getty -n -8 115200 ttyS0」としてください。再起動以降有効になります。

また、この設定を行う場合はrootユーザーのパスワードを変更しておきましょう(rootシェルから「passwd⁠⁠。デフォルトのパスワード「111111」で固定なので、そのままでは変更しても意味がありません。

おわりに

なにかの参考になるかもしれないので、Trim Sliceでブートした際のdmesg+lspci+lsusb+/proc/cpuinfoを紹介しておきます。ARMデバイス特有の、⁠各種I/Oバス幅が狭いため、ストレージアクセスの性能が出にくい」という問題はあるものの、⁠ふつう」のUbuntuマシンであることが見て取れるはずです。

1~2万円程度で購入できる廉価なサーバーマシンに飽きたら(あるいは部屋が狭くなりすぎたら⁠⁠、こうした小型のARMマシンにも手を出してみてはいかがでしょうか。

bootargs mem=384M@0M mem=512M@512M nvmem=128M@384M vmalloc=248M video=tegrafb console=ttyS0,115200n8 rw root=/dev/mmcblk1p1 rootwait
image ext2load mmc 0 0x408000 /boot/uImage
Loading file "/boot/uImage" from mmc device 0:1 (xxa1)
3621092 bytes read
## Booting kernel from Legacy Image at 00408000 ...
   Image Name:   Linux-2.6.38.3-trimslice-1.01-01
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3621028 Bytes = 3.5 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 2.6.38.3-trimslice-1.01-01637-gc2b2d3e (denis@denis-pc) (gcc version 4.4.1 (Sourcery G++ Lite 2010q1-202) ) #49 SMP PREEMPT Thu Jul 14 19:18:14 IDT 2011
[    0.000000] CPU: ARMv7 Processor [411fc090] revision 0 (ARMv7), cr=10c5387f
[    0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: trimslice
[    0.000000] Ignoring unrecognised tag 0x54410008
[    0.000000] Memory policy: ECC disabled, Data cache writealloc
[    0.000000] Tegra Revision: A03 prime SKU: 8 CPU Process: 1 Core Process: 2 Speedo ID: 1
[    0.000000] PERCPU: Embedded 8 pages/cpu @c1049000 s9280 r8192 d15296 u32768
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 227328
[    0.000000] Kernel command line: mem=384M@0M mem=512M@512M nvmem=128M@384M vmalloc=248M video=tegrafb console=ttyS0,115200n8 rw root=/dev/mmcblk1p1 rootwait
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] allocated 5242880 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[    0.000000] Memory: 384MB 512MB = 896MB total
[    0.000000] Memory: 895876k/895876k available, 21628k reserved, 286720K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
[    0.000000]     vmalloc : 0xef000000 - 0xfe000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xee800000   ( 744 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .init : 0xc0008000 - 0xc0051000   ( 292 kB)
[    0.000000]       .text : 0xc0051000 - 0xc073bb54   (7083 kB)
[    0.000000]       .data : 0xc073c000 - 0xc078e0f0   ( 329 kB)
[    0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] Preemptable hierarchical RCU implementation.
[    0.000000]  RCU-based detection of stalled CPUs is disabled.
[    0.000000]  Verbose stalled-CPUs detection is disabled.
[    0.000000] NR_IRQS:448
[    0.000000] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 4294967ms
[    0.000000] Console: colour dummy device 80x30
[    0.000124] Calibrating delay loop... 1992.29 BogoMIPS (lpj=9961472)
[    0.270060] pid_max: default: 32768 minimum: 301
[    0.270226] Security Framework initialized
[    0.270255] TOMOYO Linux initialized
[    0.270356] Mount-cache hash table entries: 512
[    0.270996] Initializing cgroup subsys ns
[    0.271011] ns_cgroup deprecated: consider using the 'clone_children' flag without the ns_cgroup.
[    0.271026] Initializing cgroup subsys cpuacct
[    0.271075] Initializing cgroup subsys memory
[    0.271110] Initializing cgroup subsys devices
[    0.271121] Initializing cgroup subsys freezer
[    0.271193] CPU: Testing write buffer coherency: ok
[    0.271239] ftrace: allocating 20826 entries in 62 pages
[    0.295995] Calibrating local timer... 249.94MHz, setting to 2.50MHz.
[    0.350091] hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
[    0.351297] CPU1: Booted secondary processor
[    0.353107] Brought up 2 CPUs
[    0.353118] SMP: Total of 2 processors activated (2011.23 BogoMIPS).
[    0.353511] devtmpfs: initialized
[    0.353966] kworker/u:0 used greatest stack depth: 6240 bytes left
[    0.357980] print_constraints: dummy:
[    0.358229] NET: Registered protocol family 16
[    0.358987] preserved: reserved 1MB at 0x2000000 (virtual c2000000)
[    0.360000] host1x bus init
[    0.361456] Suspend mode LP0 requested, but missing lp0_vec
[    0.361479] Disabling LP0
[    0.363367] kworker/u:0 used greatest stack depth: 6044 bytes left
[    0.367503] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
[    0.367515] hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step.
[    0.367537] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.368081] tegra_iovmm_register: added iovmm-gart
[    0.459288] PCI: bus0: Fast back to back transfers disabled
[    0.459630] PCI: bus1: Fast back to back transfers disabled
[    0.460346] pci 0000:00:00.0: BAR 9: assigned [mem 0xa0000000-0xa00fffff pref]
[    0.460362] pci 0000:00:00.0: BAR 7: assigned [io  0x1000-0x1fff]
[    0.460390] pci 0000:01:00.0: BAR 6: assigned [mem 0xa0000000-0xa001ffff pref]
[    0.460406] pci 0000:01:00.0: BAR 4: assigned [mem 0xa0020000-0xa0023fff 64bit pref]
[    0.460427] pci 0000:01:00.0: BAR 4: set to [mem 0xa0020000-0xa0023fff 64bit pref] (PCI address [0xa0020000-0xa0023fff])
[    0.460443] pci 0000:01:00.0: BAR 2: assigned [mem 0xa0024000-0xa0024fff 64bit pref]
[    0.460463] pci 0000:01:00.0: BAR 2: set to [mem 0xa0024000-0xa0024fff 64bit pref] (PCI address [0xa0024000-0xa0024fff])
[    0.460490] pci 0000:01:00.0: BAR 0: assigned [io  0x1000-0x10ff]
[    0.460507] pci 0000:01:00.0: BAR 0: set to [io  0x1000-0x10ff] (PCI address [0x1000-0x10ff])
[    0.460520] pci 0000:00:00.0: PCI bridge to [bus 01-01]
[    0.460531] pci 0000:00:00.0:   bridge window [io  0x1000-0x1fff]
[    0.460544] pci 0000:00:00.0:   bridge window [mem disabled]
[    0.460556] pci 0000:00:00.0:   bridge window [mem 0xa0000000-0xa00fffff pref]
[    0.479820] bio: create slab  at 0
[    0.481114] vgaarb: loaded
[    0.481302] i2c-core: driver [tps6586x] using legacy suspend method
[    0.481314] i2c-core: driver [tps6586x] using legacy resume method
[    0.481948] SCSI subsystem initialized
[    0.482306] usbcore: registered new interface driver usbfs
[    0.482505] usbcore: registered new interface driver hub
[    0.482708] usbcore: registered new device driver usb
[    0.485497] Advanced Linux Sound Architecture Driver Version 1.0.23.
[    0.486422] NetLabel: Initializing
[    0.486432] NetLabel:  domain hash size = 128
[    0.486440] NetLabel:  protocols = UNLABELED CIPSOv4
[    0.486495] NetLabel:  unlabeled traffic allowed by default
[    0.486531] Switching to clocksource timer_us
[    0.486586] Switched to NOHz mode on CPU #0
[    0.486640] Switched to NOHz mode on CPU #1
[    0.499400] tegra-nvmap tegra-nvmap: created carveout iram (256KiB)
[    0.499512] tegra-nvmap tegra-nvmap: created carveout generic-0 (118784KiB)
[    0.520889] NET: Registered protocol family 2
[    0.521184] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.522226] TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.524378] TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
[    0.525565] TCP: Hash tables configured (established 131072 bind 65536)
[    0.525578] TCP reno registered
[    0.525594] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.525632] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.526112] NET: Registered protocol family 1
[    0.526825] RPC: Registered udp transport module.
[    0.526835] RPC: Registered tcp transport module.
[    0.526844] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.527444] PMU: registered new PMU device of type 0
[    0.529134] audit: initializing netlink socket (disabled)
[    0.529181] type=2000 audit(27.631:1): initialized
[    0.594922] highmem bounce pool size: 64 pages
[    0.612617] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.614221] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.614238] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[    0.615086] msgmni has been set to 1189
[    0.617322] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[    0.617340] io scheduler noop registered
[    0.617350] io scheduler deadline registered
[    0.617438] io scheduler cfq registered (default)
[    0.620407] tegra_grhost tegra_grhost: initialized
[    0.620966] host1x: tegradc tegradc
[    0.621779] tegradc tegradc.0: probed
[    0.622191] tegradc tegradc.0: probed
[    0.622552] tegradc tegradc.0: error reading edid
[    0.622568] host1x: tegradc tegradc
[    0.623358] nvhdcp: using "always on" policy.
[    0.624156] tegradc tegradc.1: probed
[    0.624666] tegradc tegradc.1: probed
[    0.625557] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.886946] serial8250.0: ttyS0 at MMIO 0x70006000 (irq = 68) is a XScale
[    1.651793] console [ttyS0] enabled
[    1.727419] brd: module loaded
[    1.735782] loop: module loaded
[    1.740761] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
[    1.746385] PCI: enabling device 0000:01:00.0 (0140 -> 0143)
[    1.752123] r8169 0000:01:00.0: no MSI. Back to INTx.
[    1.758581] r8169 0000:01:00.0: eth0: RTL8168d/8111d at 0xef01e000, 00:01:c0:0b:d7:b2, XID 081000c0 IRQ 130
[    1.786803] console [netcon0] enabled
[    1.790462] netconsole: network logging started
[    1.794987] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.805175] tegra-ehci tegra-ehci.2: Tegra EHCI Host Controller
[    1.811195] tegra-ehci tegra-ehci.2: new USB bus registered, assigned bus number 1
[    1.876615] tegra-ehci tegra-ehci.2: irq 129, io mem 0xc5008000
[    1.896591] tegra-ehci tegra-ehci.2: USB 2.0 started, EHCI 1.00
[    1.902591] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.909387] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.916610] usb usb1: Product: Tegra EHCI Host Controller
[    1.922002] usb usb1: Manufacturer: Linux 2.6.38.3-trimslice-1.01-01637-gc2b2d3e ehci_hcd
[    1.930177] usb usb1: SerialNumber: tegra-ehci.2
[    1.935639] hub 1-0:1.0: USB hub found
[    1.939409] hub 1-0:1.0: 1 port detected
[    1.960679] ulpi_phy_power_on: ulpi write failed
[    1.965293] tegra-ehci tegra-ehci.1: Failed to power on the phy
[    1.971231] tegra-ehci: probe of tegra-ehci.1 failed with error -110
[    1.980171] tegra-ehci tegra-ehci.0: Tegra EHCI Host Controller
[    1.986118] tegra-ehci tegra-ehci.0: new USB bus registered, assigned bus number 2
[    2.046600] tegra-ehci tegra-ehci.0: irq 52, io mem 0xc5000000
[    2.066592] tegra-ehci tegra-ehci.0: USB 2.0 started, EHCI 1.00
[    2.072561] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[    2.079356] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.086580] usb usb2: Product: Tegra EHCI Host Controller
[    2.091970] usb usb2: Manufacturer: Linux 2.6.38.3-trimslice-1.01-01637-gc2b2d3e ehci_hcd
[    2.100149] usb usb2: SerialNumber: tegra-ehci.0
[    2.105536] hub 2-0:1.0: USB hub found
[    2.109308] hub 2-0:1.0: 1 port detected
[    2.113949] usbcore: registered new interface driver cdc_acm
[    2.119618] cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
[    2.128142] Initializing USB Mass Storage driver...
[    2.133212] usbcore: registered new interface driver usb-storage
[    2.139259] USB Mass Storage support registered.
[    2.144090] usbcore: registered new interface driver libusual
[    2.150149] mousedev: PS/2 mouse device common for all mice
[    2.156699] input: gpio-keys as /devices/platform/gpio-keys.0/input/input0
[    2.165034] rtc-em3027 2-0056: rtc core: registered rtc-em3027 as rtc0
[    2.171970] trpc_sema_init: registered misc dev 10:58
[    2.177257] trpc_node_register: Adding 'local' to node list
[    2.185167] trpc_node_register: Adding 'avp-remote' to node list
[    2.191671] tegra_avp_probe: driver registered, kernel 1ff00000(ef200000), msg area 2e2ec000/2e2ec110
[    2.202356] device-mapper: ioctl: 4.19.1-ioctl (2011-01-07) initialised: dm-devel@redhat.com
[    2.211144] device-mapper: verity: dm-verity registered
[    2.216367] device-mapper: verity-chromeos: dm-verity-chromeos registered
[    2.224042] cpuidle: using governor ladder
[    2.229236] cpuidle: using governor menu
[    2.233301] sdhci: Secure Digital Host Controller Interface driver
[    2.239489] sdhci: Copyright(c) Pierre Ossman
[    2.243928] mmc0: Invalid maximum block size, assuming 512 bytes
[    2.249957] mmc0: no vmmc regulator found
[    2.254496] mmc0: SDHCI controller on platform [sdhci-tegra.0] using ADMA
[    2.256654] usb 1-1: new high speed USB device using tegra-ehci and address 2
[    2.269593] mmc1: Invalid maximum block size, assuming 512 bytes
[    2.275607] mmc1: no vmmc regulator found
[    2.280237] mmc1: SDHCI controller on platform [sdhci-tegra.3] using ADMA
[    2.291143] usbcore: registered new interface driver usbhid
[    2.296761] usbhid: USB HID core driver
[    2.301778] kworker/u:1 used greatest stack depth: 5932 bytes left
[    2.311697] AIC23 Audio Codec 0.1
[    2.317371] asoc: tlv320aic23-hifi  tegra-i2s.0 mapping ok
[    2.324891] asoc: dit-hifi  tegra-spdif mapping ok
[    2.331022] ALSA device list:
[    2.334037]   #0: tegra-trimslice-analog
[    2.338036]   #1: tegra-trimslice-digital
[    2.342179] Netfilter messages via NETLINK v0.30.
[    2.346975] nf_conntrack version 0.5.0 (13998 buckets, 55992 max)
[    2.354229] ctnetlink v0.93: registering with nfnetlink.
[    2.361958] mmc0: host does not support reading read-only switch. assuming write-enable.
[    2.370572] ip_tables: (C) 2000-2006 Netfilter Core Team
[    2.376047] TCP cubic registered
[    2.380640] NET: Registered protocol family 10
[    2.385187] mmc0: new high speed SDHC card at address 0007
[    2.396000] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    2.401804] mmcblk0: mmc0:0007 SD08G 7.49 GiB
[    2.401941] IPv6 over IPv4 tunneling driver
[    2.405741] NET: Registered protocol family 17
[    2.405833] Registering the dns_resolver key type
[    2.405904] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 1
[    2.422854] usb 1-1: New USB device found, idVendor=0424, idProduct=2514
[    2.422865] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    2.424356] hub 1-1:1.0: USB hub found
[    2.424461] hub 1-1:1.0: 4 ports detected
[    2.424726]  mmcblk0: p1
[    2.451772] ThumbEE CPU extension supported.
[    2.456065] Registering SWP/SWPB emulation handler
[    2.467417] Disabling clocks left on by bootloader:
[    2.472287]    audio_2x
[    2.474731]    audio
[    2.476966]    disp1
[    2.479153]    2d
[    2.481074]    3d
[    2.482996]    uartd
[    2.485177]    dvc_i2c
[    2.487565]    nor
[    2.489577]    vde
[    2.491585]    bsev
[    2.493680]    bsea
[    2.495782]    spi
[    2.497810]    clk_d
[    2.499998]    pll_p_out4
[    2.502616]    pll_c_out1
[    2.506731] registered taskstats version 1
[    2.511366] rtc-em3027 2-0056: setting system clock to 2011-09-02 15:12:38 UTC (1314976358)
[    2.520221] Waiting for root device /dev/mmcblk1p1...
[    2.536079] mmc1: new high speed SDHC card at address b368
[    2.542028] mmcblk1: mmc1:b368 NCard 29.8 GiB
[    2.548416]  mmcblk1: p1
[    2.690853] EXT3-fs: barriers not enabled
[    2.696275] kjournald starting.  Commit interval 5 seconds
[    2.708967] EXT3-fs (mmcblk1p1): using internal journal
[    2.714195] EXT3-fs (mmcblk1p1): mounted filesystem with writeback data mode
[    2.721280] VFS: Mounted root (ext3 filesystem) on device 179:17.
[    2.730028] devtmpfs: mounted
[    2.733065] Freeing init memory: 292K
[    2.740415] Not activating Mandatory Access Control now since /sbin/tomoyo-init doesn't exist.
[    3.071490] hostname used greatest stack depth: 5068 bytes left
[    3.125809] hwclock used greatest stack depth: 4644 bytes left
[    3.137189] plymouthd used greatest stack depth: 4564 bytes left
 * Setting sensors limits                                                [ OK ]
[    9.181576] vgaarb: this pci device is not a vga device
[    9.214512] vgaarb: this pci device is not a vga device
speech-dispatcher disabled; edit /etc/default/speech-dispatcher
 * Starting bluetooth                                                    [ OK ]
 * PulseAudio configured for per-user sessions
saned disabled; edit /etc/default/saned
 * Enabling additional executable binary formats binfmt-support          [ OK ]

Last login: Sun Jul 17 10:48:01 IDT 2011 on ttyS0
Welcome to Ubuntu 11.04 (GNU/Linux 2.6.38.3-trimslice-1.01-01637-gc2b2d3e armv7l)

 * Documentation:  https://help.ubuntu.com/

root@trimslice:~# lspci
00:00.0 PCI bridge: nVidia Corporation Device 0bf0 (rev a0)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)

root@trimslice:~# lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

root@trimslice:~# cat /proc/cpuinfo
Processor       : ARMv7 Processor rev 0 (v7l)
processor       : 0
BogoMIPS        : 1992.29

processor       : 1
BogoMIPS        : 18.94

Features        : swp half thumb fastmult vfp edsp thumbee vfpv3 vfpv3d16
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x1
CPU part        : 0xc09
CPU revision    : 0

Hardware        : trimslice
Revision        : 0000
Serial          : 0000000000000000

おすすめ記事

記事・ニュース一覧