Androidクラウドブック DynabookAZでLinuxを色々と遊んでみよう
１、自己紹介２、DynabookAZ概要
３、ARM Linuxの紹介
４、ARM Linuxインストールのメカニズムまとめ
・ARMブートローダー解説
・NVflash～U-bootまで
５、DynabookAZ OS載せ替えテスト
・UbuntuLinux・Android 4.X CyanobenMod(略:CM) Unofficial Port・メインラインKernelコンパイル・Ubuntu初期設定
・Ubuntu14.04サポートアウト問題
・オーバークロックカーネルテスト
６、パッケージソースのテスト
・Pkgsrc
講演資料は電子データと・Gentoo Prefix
紙面を配布しております。
詳しくはブースまで。
７、まとめOSC東京Fall

2014/10/19 15:15~ 3F 304教室

講演：Kapper自己紹介●

名前：Kapper●

Twitterアカウント：＠kapper1224●

趣味：Linux、モバイル好きなARMマニア●

好きな言葉：実験より記録重視。
出来た事、ダメだった事は貴重な財産で記録に残そう。

●●

最近の実験機：Netwalker(PC-Z1,T1)、Nokia N900、DynabookAZ、RaspberryPi
Nexus7(2012、2013)、Hercules eCAFE EX HD、Jetson TK-1、
OpenPandora、ARM Chromebook、ZTE OPEN C（FirefoxOS）
Chromecast他
最近気になる事：DynabookAZでUbuntuLinux14.04のテスト再開しました。
Androidの勉強と解析中です。
Jetson TK-1購入しました。テスト中です。

今回の趣旨「マニアックに遊ぶ」
●

●

●

●

DynabookAZを実例にAndroidに色々なLinuxディストリを入れて遊んでみる。
OSの構造を出来るだけ簡単に整理してみる。
ブート、KernelからOSまでスルーアウトで全て解析できる内容にしたい。
DnyabookAZ以外にもAndroid改造の参考例に。
ARMのディストリビュータをやってみたい人にも。
その場では分からなくても、後でゆっくり読み返すと何となく分かった感じがする内容にしたい。

●

Ubuntuの記録が多いのでUbuntuデータの追随が多くなったが、最新情報も追加してご報告何故DynabookAZなのか
●

●

●

●

●

●

Ubuntu13.10で公式サポートが終了し14.04はサポート対象外に。14.04の相談事が激増した事が切っ掛け。
Android機のOS載せ替えとして3年以上開発されており有名な機種。Ubuntuの公式開発ページもある。
海外で十分に解析されており、情報が十分ある
特にロシアで膨大な情報があり他機種より詳しい。
リカバリモードが発見され、ブートローダを書き換える事で様々なLinuxが使える様になった背景。
Linux Kernelがメインラインに採用され、ドライバ移植が不要になった。モバイルAndroid機種へOS移植の実験機としても最適。
デュアルコアTegra2はAndroid機として、Ubuntu機としてもそこそこの性能を持っている。

Dynabook AZ（AC100）概要
●

●

●

●

●

DynabookAZは2010年9月発売Android搭載のノートPC。
スペックはTegra2 1.0GHz（旧CoreDuo1.2GHz相当）
理論上では1.8GHzまでオーバークロック可能。実用1.5GHz相当で旧Core2Duo1.2GHz相当まで高速化が可能です。
2010年10月のUbuntu開発サミットでCanonicalのCEOマーク・シャトルワース氏がUbuntuを入れたDynabook AZのべた褒めしていました。
思えばこれが全ての始まりかもしれません。
Ubuntuの公式サポートとAndroid
CyanogenMod移植に伴い全世界的にサポートが続けられ生き残っています。
Marc氏によるmarvin24 Kernelポートが開発され様々なディストリに移植
Linux Kernel3.15.0-rc3からメインライン採用により移植が不要となりました。

DynabookAZ

ARM端末のディストリ対応状況
Psionから始まりiPaQ、玄箱～と組み込み機器から普及してきたARMのディストリ近況
ディストリ

UbuntuDebianFedora

OpenSuse GentooArch

ﾊﾞｰｼﾞｮﾝ

9.04～

2.2～

20～

12.2～

LinuxZaurus△◎？

Nokia N900◎◎◯Netwalker◎○△

DynabookAZ◎○◯Nexus7(chroot除く)◎？

RaspberryPi

?

◎◎◎◎◎

MK802
USBAndroid

◎

○○

◯

△

Samsung
Chromebook

◎◎◎◎

コメント

ﾘﾌｧﾚﾝｽﾓﾃﾞﾙ
限定

動作報告
多数

RasPi
ｻﾎﾟｰﾄ

RasPi
ｻﾎﾟｰﾄ

OpenCocon

Android NetBSD

v8～

1.5～

1.6～△

◎◯

◎

△

◎△？

◯△△○

◯◯△

◯

◎
◎

◎

◎

◎

○

◎?

○

◎△

?

動作報告
多数

RasPi
ｻﾎﾟｰﾄ

ｽﾏﾎ
ﾀﾌﾞﾚｯﾄ40機種以上ｻﾎﾟｰﾄ

ｼﾝｸﾗｲｱﾝﾄ

Kapperのネット独断調査（間違っていたらごめんなさい。修正します）◎：公式サポートあり、◯：公式HPに導入報告あり、△：ユーザー導入報告あり

ARM端末のベンチマークスコア
ARM Cortex-A ロードマップ

出展：A Walk Through the Cortex-A Mobile Roadmap
http://community.arm.com/groups/processors/blog/2013/11/19/a-walk-through-the-cortex-a-mobile-roadmap

ARM端末 BOINCベンチマーク
x86
比較用(2012)

出展：Kapperのブログ新館

DynabookAZ重要参考サイトご紹介
・The AC100 Wiki・Toshiba AC100 Wiki
Ubuntu移植の当初から公開されている ロシアAZ統合サイト。Android4.0CM情報サイト。UbuntuのHPからもリファレ ロードマップから各種ディストリまでンスとしてリンクされている。最近更新が 何でもある恐ろしいサイト。必読。ロシ少ない。
ア語なので読むのが大変。
http://ac100.grandou.net/
http://ac100.wikispaces.com/

・Ubuntu AC100 LaunchPad
UbuntuのAZ開発用LaunchPad。
Ubuntuは14.04でサポートアウトした様子であるが、まだパッチやMLは一応機能している。
https://launchpad.net/ac100

ここまでがARMのご紹介となります
じゃあAndroidとLinuxをカスタマイズして色々と遊んでみます。
ここからマニアックさを一気に加速させていきます。

Android機にLinuxディストリを入れる●

DynabookAZの事はUbuntuHPとAC100Wikiに記載あり●

AndroidにLinuxディストリを入れる為に重要な3つ
１、ARM用ブートローダーを入れる。
（Androidの場合、Unlockする）
２、Linux Kernel、ドライバをインストールする
３、Linuxのルートイメージ（～root.img）を入れる

ARM Linuxの分類

Bootloader
KernelAndroid
FirefoxOS

組み込み
LinuxLinux
ディストリ
ビューション
ChromeOSARMブートローダの仕組みとx86比較
ARMの場合、FlashROMからRAMにブートローダを転送し、Kernelとrootfsを読み込む構成です。ROMに書き込んでるブートローダは「ファームウェア」と呼ぶそうです。Androidの場合、Unlockが必要です。
種類
x86~
Linux

ROM

RAM

BIOS
デバイス認識ブートディスク選択

MBR(ディスク）GRUB
LILO他

KernelKernelドライバ

init

Daemon他

ログイン
CUI
Xorg特徴BIOSとDISKブートローダーで構成

ARM
Androidデバイス
ブートロー
KernelKernel初期化
DalvikKernelDaemonダーのドライバ
ドライバ
rootfs
仮想マシン
転送
RAM転送
読み込み rootfs起動 コンテキスト Android Unlockがマネージャ
重要GUI
MLO Android ブートローダー（ROM）
ZygoteARM

KernelKernel初期化
Kernelドライバ
ドライバ
rootfs
転送
RAM転送
読み込み rootfs起動
MLO Android ブートローダー（ROM）

FirefoxOS

ARM
Linux
ディストリ

Kernel初期化
KernelKernelドライバ
rootfs
転送
ドライバ
RAM転送
読み込み
MLO
ブートローダー（U-boot他）

デバイス
DaemonDaemon他

FIrefox
GUI
CUI
Xorg

AndroidとKernel、ドライバ
まで共通
ブートロー
ダー以降
はx８６と同じ

今回の重要な参考文献

AndroidのUnlock●AndroidにインストールするにはブートローダーをUnlockする必要があります。（機種毎で異なります）●

DynabookAZではNVFlashでroot対応しているのでUnlock不要です。

●

参考サイトRootzWikiなど

http://wiki.rootzwiki.com/Category:Devices

Nexus7でのUnlock例
●

●

●

●

●

●

●

AndroidのUnlockの一例としてNexus7で試してみます。
Nexus7はメーカーの規制が無い機種です。
個別の機種に関しては、難しい機種も沢山あります。今回は割愛します。
用意する物
Ubuntu12.04以降がインストールされたPC（Windowsでも可）MicroUSB-USBケーブル
Nexus 7 Tablet本体 (8GB, 16GB, or 32GB)
Android SDKのコマンド、fastbootのインストール
Nexus7の電源ボタン長押しで電源をOFFにします。
電源が切れましたら右上あたりにあります「電源ボタン」と「volume downボタン」を押しながら再起動します。
ドロイド君の起動画面が出てくるはずです。
Nexus7とUbuntuPCをMicroUSB-USBケーブルで繋ぎます。
PCからfastbootコマンドを実行
sudo fastboot oem unlock
Unlock Bootloaderの画面で「Yes」を選択し再起動

ARM関連のブートローダ比較
種類

対応MPU

対応OS

対応
ストレージ
HDD,floppy
USB,LAN
TFTP,Serial

対応フォーマット
全種類

ライセンス
起動モジュール
DISK他
GPLv3

GNU
GRUB

x８６

Linux
*BSD
MacOSX
MSDOS

LILO

x８６

Linux
*BSD
MSDOS

HDD,floppy
USB,LAN
TFTP,Serial

全種類

DISK他

BSD
LicenceeCosRedboot

ARM,x86,68k,
MIPS,Altera,PowerPC,SuperH他

Linux
*BSD
MacOSX
MSDOS

HDD,floppy
USB,LAN
TFTP,Serial

JFFS2、EXT2、E

ROM、
XT3、EXT4、FAT他 RAM

Mod
GPLv2+

Das
U-boot

ARM,x86,68k,
MIPS,Altera,PowerPC,SuperH他

Linux
*BSD
Android他

HDD,floppy
USB,LAN,Zip
TFTP,Serial
NFS

Cramfs、EXT2、EX ROM、T3、EXT4、FAT、F
RAM
DOS、JFFS2、Reis
erFS、UBIFS、YAF
FS2

GPLv2

AndroidLinux

Android
EXTx、FAT32、N
SecondaryROM TFS
USB

Multirom ARM

ROM、
RAM

GPLv3

Das U-Boot解説●

ARM他で良く使われている高性能ブートローダ●

2010年頃からRedbootの代替としてメジャーに

●

●

●

起動ディスクとして多数のフォーマット、ストレージに対応している強みあり。C言語で作成。CPUとメモリマップを直接指定、理解が必要。
Linuxの場合は、mkimageコマンドでKernelをuImage等に変換。フラッシュROM焼きしてROMから起動。
第一パーティションにMLOと/boot/を置く●

rootfsをext3などに置く●

Kernelから起動
CPU

リセット

ROM
MLO
実行 bootloader
Kernelrootfilesystem

リセット
メモリ
転送

ROMからメモリ転送可能

RAM
(メモリ）
Kernelrootfilesystem

ディスク
再転送可能
MBR
(ディスク）
Grub
Kernelrootfilesystembootloader

OS起動

デバイス認識（ドライバ）

参考
リセット U-Boot ユーザーズマニュアルU Boot or Universal Bootloader

Linuxディストリのインストール分類●

Linuxディストリのインストールには複数の方法があります。
１、標準インストーラーあり：Ubuntu
２、chroot環境でrootfsイメージを作りインストール：Debian他
３、ARM共通rootfs tarballでインストール（ただしブートローダとKernelとmoduleは手動）：OpenSuse、ArchLinux他
４、USBで繋いでU-Bootからインストール：CM1x

Nvflash～OS書き込み
NvflashとはNvidiaが提供しているROM書き込みアプリ。これを用いることでブートROMに書き込む事ができる。
● DynabookAZには「Ctrl」+「ESC」+電源ボタンでリカバリモードを起動することが出来、Nvflashを使ってブートローダーを上書きすることができる。
● 上書きされたブートローダーを使用してLinuxのrootfsを起動する事で様々なディストリを起動出来る。
●

Androidのストレージ構成●

インストールするには各パーティションの先頭に書き込んでU-Bootから選択して起動する方式
part # name size description
remarks/BCT 3 145 728 (3 MB)boot config table/PT524 288 (512 kB)
partition table/EBT 2 097 152 (2 MB)
bootloader/SOS 5 242 880 (5 MB)
recovery partition/LNX 8 388 608 (8 MB)
linux kernel and initrd kernel starts at0x800 initrd starts at 0x20E800/MBR 1 048 576 (1 MB)
master boot record/APP 314 572 800 (300 MB)
applications (/system)/CAC 419 430 400 (400 MB)
cache (/cache)/MSC 2 097 152 (2 MB)
misc (/misc)/EM1 524 288 (512 kB)/UBA 1 294 991 360 (1235 MB) user data (/data)/EM2 524 288 (512 kB)/UDB 5 950 144 512 (5674.5 MB) user data (/storage)

Ubuntuのインストールと起動●

インストール概要は下記の流れです。

●

用意するもの
１、Ubuntu LinuxをインストールしたPC
２、Mini-usb cable 1本
３、１GB以上のUSBﾒﾓﾘ、SDカード

1台●

NVFlashパッケージのインストール●

bootimgとルートイメージファイルをダウンロード。

●

●

●

AZをシャットダウンして電源を落としてから、Mini USBケーブルでx86のUbuntuPCと繋ぎ、CTRL + ESCを押しながら左上の電源ボタン長押し。起動。
ブートローダーを上書き
nvflash --bl /usr/lib/nvflash/fastboot.bin --download 6 ubuntu-11.10preinstalled-desktop-armel+ac100.bootimg
USBﾒﾓﾘ、SDカードの一番上のフォルダにubuntu-11.10-preinstalled-desktop-armel+ac100.tar.gzをコピー●

AZの電源を落としCTRL + ESCを押しながら左上の電源ボタン長押し。起動●

USBメモリ、SDカードから起動してインストーラー動作Android CM1xインストールと起動１○必要なファイル
ROM本体とリカバリイメージを落としてくる。
cm_ac100-ota-1x.x-xxxxxxxx- UNOFFICIAL.zipとrecovery-1x.x-xxxxxxxx.img
基本的に本体とリカバリは同じバージョンのものを使用◯sos-uboot-*.binとgappsをダウンロード
cm_ac100-ota-1x.x-xxxxxxxx-UNOFFICIAL.zip、recovery-1x.x-xxxxxxxx.img、
gapps-non-neon.zipの3つをVFAT/FAT32でフォーマットしたSDカードに入れる。
○母艦側の準備
母艦側に"nvflash"を入れておく。
まずロム本体、リカバリイメージ、gappsを入れたSDカードを挿しておく。
母艦にUSBケーブルで接続して、例によってCTRL+ESC+電源ボタンで起動する。
○作業開始
以下のコマンドでBootLoaderを起動する。
$ nvflash --bl ./sos-uboot.bin –go
BootLoaderが起動したら、"Boot Kernel"を選択してEnter"/ #"みたいなプロンプトが出てくるので、"./switch-to-uboot [ENTER]"でスクリプトを起動
スクリプトの質問に"yes"と答えると再びプロンプトが表示される。

●

●

●

●

Android CM1xインストールと起動2○必要なファイルの準備、パーティションを組み直す。
# parted /dev/mmcblk1 rm 7 rm 6 rm 5 rm 4 rm 3 rm 2 rm 1
# parted /dev/mmcblk1 mklabel gpt# parted /dev/mmcblk1 -s mkpart primary 7168s 132168s# parted /dev/mmcblk1 -s mkpart primary 132169s 257169s# parted /dev/mmcblk1 -s mkpart primary 257170s 1257170s# parted /dev/mmcblk1 -s mkpart primary 1257171s 2257171s# parted /dev/mmcblk1 -s mkpart primary 2257172s 2261078s# parted /dev/mmcblk1 -s mkpart primary 2261079s 15513695s# parted /dev/mmcblk1 -s name 1 SOS name 2 LNX name 3 APP name 4 CAC name 5 MSC name 6 UDA
各パーティションをフォーマットする。（mmcblk1p1~7まで同じ）# mkfs.ext2 /dev/mmcblk1p1# mkfs.ext2 /dev/mmcblk1p2# mkfs.ext4 /dev/mmcblk1p3～# mkfs.ext4 /dev/mmcblk1p7
p1にリカバリイメージを書き込む。
# mkdir /tmp/sd# mkdir /tmp/p1# mount /dev/mmcblk0p1 /tmp/sd# mount /dev/mmcblk1p1 /tmp/p1# mkdir /tmp/p1/boot# unzip /tmp/sd/recovery-10.1-xxxxxxxx.img -d /tmp/p1/boot/# sync# umount /tmp/sd# umount /tmp/p1
電源ボタン長押しで強制的に電源を落として再起動する。
起動メニューが出てくるので「Boot SOS CM-10.1」を選択し10.1のイメージとgappsを焼く。
システムを再起動すると、9.の時の起動メニューが出てくるので、今度は「Boot LNX CM-10.1」を選択する。

Ubuntuのインストーラー抜粋１：参考用●

MMCからのU-Bootでのブートスクリプト例
setenv devtype "mmc"
setenv devnum "1"←デバイスをMMCに

setenv kernel_addr_r "0x1000000"
setenv prefix ""setenv ramdisk_addr_r "0x2200000"
setenv filesize "1096F6A"
setenv fdt_addr_r "0x2000000"
setenv soc "tegra20"
setenv board "paz00"←RAMアドレスにKernelをロード←RAMアドレスにRAMDISKをロード←RAMアドレスにFDTをロード←SOCデバイスにtegra20を指定←Boardデバイスにpaz00を指定

setenv bootmenu_0 "Boot from Disk =source boot.scr-tegra-disk-serial"
setenv bootmenu_1 "Boot from NET =source boot.scr-tegra-dhcp-serial"
bootmenu 15

参考出展：http://ac100.wikispaces.com/Ubuntu

https://launchpadlibrarian.net/178176319/ac100.diff
5.1. ARM でのインストーラの起動
http://d-i.debian.org/manual/ja.armhf/ch05s01.html
http://www.denx.de/wiki/DULG/ManualUbuntuのインストーラー抜粋2：参考用●U-Bootでのブートスクリプト

bootscr.tegra20-paz00 のパッチ+++ b/bootscript/bootscr.tegra20-paz00@@ -0,0 +1,7 @@+setenv k ${prefix}/zImage←zImage指定+setenv i ${prefix}/uInitrd←initrd指定+setenv d ${prefix}/tegra20-paz00.dtb←dtbファイル:Kernel をコンフィグレーションする
DTB (Device Tree Blob)指定+load ${devtype} ${devnum} ${kernel_addr_r} ${k}+load ${devtype} ${devnum} ${ramdisk_addr_r} ${i}+load ${devtype} ${devnum} ${fdt_addr_r} ${d}←loadコマンド転送+bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}←bootzコマンド起動
参考出展：http://ac100.wikispaces.com/Ubuntu

https://launchpadlibrarian.net/178176319/ac100.diff
5.1. ARM でのインストーラの起動
http://d-i.debian.org/manual/ja.armhf/ch05s01.html
http://www.denx.de/wiki/DULG/ManualUbuntuインストーラーを使用して他のOSの起動方法：参考用
●

●

●

●

●

Ubuntuのインストーラーでは、下記の動作をしています。
１、tar.gzの名前とchecksumを確認
２、スクリプトで内部の最大のセクションを調査
３、rootfsを展開
４、chroot環境でupdate-initramfsスクリプトを実行
5、abootimgを使って新しいKernelが入ったパーティションを選択
６、リブートイメージファイルをメモリに展開、インストーラー修正
Android Boot Imageを操作するabootimgコマンドを使用。
abootimgコマンドはandroid boot imagesをread/write/updateする。
<bootimg>はソースファイル名
abootimg -x <bootimg> <bootimg.cfg> <kernel> <ramdisk>
RAMディスクを展開
mkdir ramdisk
cd ramdisk
gunzip -c ../your-ramdisk-file | cpio -iRAMディスクをファイルに圧縮しなおす
find. | Cpio -o -H newc | gzip> ../newramdisk.cpio.gz
ブートイメージを作成
abootimg --create <bootimg> -f <bootimg.cfg> -k <kernel> -r newramdisk.cpio.gz

AndroidとUbuntuのデュアルブート●●

リカバリモードでU-bootをインストール
パーティションの再構築。 ac100-u-boot-helpers.zipをSDカードに展開してAZ上でapply_partitions_config.shを実行●

ブートファイルをSDカードからeMMCにコピーする●

CM-1xをCWM recoveryでインストール●

UbuntuをSDカードからインストール

参考出展：http://ac100.wikispaces.com/uboot+installation

メインラインKernelのコンパイル１●●

クロスコンパイルする為にLinaroのToolchainをダウンロードしますwget http://releases.linaro.org/14.05/components/toolchain/binaries/gcclinaro-arm-linux-gnueabihf-4.9-2014.05_linux.tar.xz
ダウンロードしたら展開してPATHを設定
tar xvf gcc-linaro-arm-linux-gnueabihf-4.9-2014.05_linux.tar.xz
export PATH=$PATH:gcc-linaro-arm-linux-gnueabihf-4.9-2014.05_linux/bin/●

Kernelソースをgitでダウンロード、makeでコンパイル開始
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux
make tegra_defconfig ARCH=arm
make zImage modules dtbs INSTALL_MOD_PATH=/tmp
INSTALL_MOD_STRIP=1 ARCH=arm CROSS_COMPILE=arm-linuxgnueabihfmake modules_install INSTALL_MOD_PATH=/tmp
INSTALL_MOD_STRIP=1 ARCH=arm CROSS_COMPILE=arm-linuxgnueabihf-メインラインKernelのコンパイル2●

KernelをSDかUSBメモリなど必要なフォルダにコピーする
mkdir ~/linux-3.16-0
mv /tmp/lib/ ~/linux-3.16-0/
cp arch/arm/boot/zImage ~/linux-3.16-0/
cp arch/arm/boot/dts/tegra20-paz00.dtb ~/linux-3.16-0/●

rootfsイメージなどを設定して起動Ubuntuを起動した後の初期設定
●

●

●

●

●

●

ランチャー右端に無線LANのアイコンがない？nm-appletを起動する。
日本語化されてない？
日本語関連ファイルが入っていない事がある様です。
メニュー⇒設定⇒言語サポート
音を再生するaslamixerで設定するだけです。
sudo alsamixer
で左から10列目の「speaker0」を上キーを押してVmidからSpeakerに切り替える。
GPUにtegra2 GPU Driverを入れてみる
Tegra2Driverは~13.10まで対応。14.04は依存関係のxorg-video-abi-14が競合。
14.04はメインラインKernelとOpenTegraドライバを入れましょう。
スクリーンセーバ
自動的に画面が真っ暗になりまして実はXscreensaverが動いています。
画面表示が出来ない？「CTRL」+「ALT」＋「F5」でコンソールの画面を表示して「CTRL」+「ALT」＋「F7」で元の画面に戻します。
日本語キーボード設定
実はインストール直後はUSキーボード設定だそうです。日本語設定に変更しましょう。
sudo leafpad /etc/default/keyboardからpc105設定を下記に変更。Xmodmapを書き換え。

Ubuntu14.04サポートアウトの課題
●

●

●

●

●

●

UbuntuLinux14.04の開発版イメージ（14年2月）は修正されていない為、十分に動きません。要注意。LaunchPadのMLログ参照。
Wifiが使えません。レジューム掛かると元の画面に戻りません。
⇒Kernelモジュール関係だそうです。MarcのコメントではメインラインKernelをコンパイルして使ってほしいとの。
メモリ食いすぎでとっても重いです。
⇒Lubuntuは圧縮RAMのZRAMなどが裏で動作。
GPUのTegra2Driverが動作しません。
⇒依存関係のxorg-video-abi-14が競合して14.04では動作しません。
メインラインKernelとOpenTegraをコンパイルして入れるしかなさそうです。
FlashPlayerが動作しません。
⇒ArmelのFlashPlayerは11.10までで、それ励行はUbuntuがArmhfに移管した為、動作しません。gnashかPepperFlashPlayerをコンパイルして見てください。
Firefoxでファイルをダウンロードすると落ちます。
⇒ChromeBookのUbuntu14.04でも同様に落ちます。多分仕様です。

オーバークロックカーネルテスト●

２chにて公開。大変感謝。

●

1.0～1.5GHzのオーバークロックカーネル●

BOINCベンチマークで1.5GHzで2,051→3,069まで高速化。約1.5倍（Core2Duo U7600

●

●

●

ARM

1.2GHz、PentiumM2.0GHz相当）

LinuxはCPUクロックをソフト的にKernelで制御できる。

Tegraシリーズは標準クロック数はそれ程高くないが、オーバークロック耐性が高い
あえて標準クロックを落として省エネにしている？
理論的には1.7～2.0GHzまでオーバークロック出来るとの情報。
5,000
4,000

integer MIPS (Dhrystone) per CPU

571

3,166

2,473

2,051

2,000

0

3,487

3,069

3,000

1,000

4,664

floating point MIPS (Whetstone) per CPU

2,143

1,643683

826
DynabookAZ

970

DynabookAZ

DynabookAZ

ノーマルカーネル

オーバークロックカーネル オーバークロックカーネル オーバークロックカーネル

1.0GHz1.2GHz

1.5GHzDynabookAZ
1.7GHz ？

845

872

Pentium4
1,600MHz

Core2Duo
U7600
1.2GHzCore2Duo
E4500
2.2GHz

参考出展：https://dl.dropboxusercontent.com/u/61491808/tegra2-oc-common.patchパッケージツールも使用してみる
OSを載せ替えた後ですがパッケージツールも使ってみましょう。
● Linuxで使えるパッケージツールはいくつかあります
が、ARM環境に非依存で使えるソースベースのパッケージツールを二つ試しました。
● 特にNetBSDのパッケージツールpkgsrcは、特定のUNIX環境に依存しない優れもので、移植性が極めて優れています。
●

NetBSD pkgsrc導入
UbuntuLinux●

pkgsrcpkgsrcをUbuntuで使う方法。
1.危険性はまず無いですが一応リカバリできる様にリカバリディスク確保
2.apt-getとかでbuild-essential(gcc)、libncurses5などをインストールする
3.Ubuntu9.04の場合、10.04のcoreutils7.xのパッケージを入れてアップデートする。(ダウングレードする際はaptitudeを使ってください）
4.pkgsrc本家サイトよりpkgsrcファイルをダウンロードして展開する。
5.端末からbootstrapを実行してインストール
6.後はパッケージをガシガシコンパイルしてアプリを入れる。
7.USEフラグ、ライセンス許可などの指定追加。再度コンパイル。
8.アプリを実行して普通に使います。

Gentoo Prefix導入
UbuntuLinux●

Portage

Gentoo PrefixをUbuntuで使う方法。
1.危険性はまず無いですが一応リカバリできる様にリカバリディスク確保
2.apt-getとかでbzip2 build-essential bison libreadline-dev libncursesdev autoconf lzmaなどをインストールする
3.passを設定
4.bootstrapスクリプトをダウンロードして展開する。
5.端末からbootstrapを実行してインストール
6.Stage1、Stage2、Stage3を実行。
7.Emergeを実行。

emerge -e system

8.アプリをガシガシコンパイルして実行。

まとめ●DynabookAZをベースとして、ARMのAndroidとLinuxディストリの移植状況を調査しました。

ARMブートローダーやOSの全体像を整理してみました。詳しい仕組みは割愛します。専門の情報源にて各自で入手して下さい。
● Android機にLinuxディストリの移植をするには、KernelとU-bootの対応が移植のキーとなります。
FirefoxOSはAndroidのベースを使用している様子です。
● 中華PADへの移植はまだ調査していません。
是非、情報を教えてください。
●

KOF2014●

KOF2014にも出展予定です。

●

内容:Androidクラウドブック

DynabookAZでLinuxを色々と遊んでみよう●

場所：大阪南港ATC 10F●

11月8日(土) 10:00-18:00●

質問、ご要望はブースまで是非気軽にお聞き願います。技術的な話題や議論を含め何でも。
講演資料は会場でも配布しております。
楽しみにお待ちしております。