Google OS実験室 ~Moonlight 明日香~

GoogleのAndroidで遊び始めて, すでに6年以上が経った. Androidは思った以上の発展を遂げている. この技術を使って, 新しいことにチャレンジだ!!

Ubuntu

Ubuntu 13.04上にAndroidビルド環境を構築する

Androidビルド環境を構築していたUbuntu 11.04(64bit) on VMware(R) Player が起動しなくなった.
原因は, 少し前にUSB起動のUbuntuを作成していて, 誤ってMBR(Master Boot Record)を破損したためのようだ.
修復は別途試みるとして, これを機会に Ubuntu 13.04 64bit版上にAndroidビルド環境を構築したのでまとめておく.

CPU  : Intel(R) Core(TM) i7-2600K@3.4GHz
OS : Windows 7 Ultimate(64bit) SP1
RAM : 8.0GB
Guest OS : Ubuntu 13.04(64bit) on VMware(R) Player 5.0.1

1. ビルド環境の構築[1]
1.1 必要なパッケージのインストール
下記のパッケージをインストールする.

 $ sudo apt-get install git gnupg flex bison gperf build-essential \
   zip curl libc6
-dev libncurses5-dev:i386 x11proto-core-dev \
   libx11
-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
   libgl1
-mesa-dev g++-multilib mingw32 tofrodos \
   python
-markdown libxml2-utils xsltproc zlib1g-dev:i386

 $ sudo ln
-s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

1.2 JDKのインストール
JDK6の最新版はOracleのページからダウンロードできるが, 最近はユーザ登録を要求される.
そこで,  今回はここからLinux 64bit版jdk-6u38をダウンロードし, 解凍する.

 $cd /usr/local/lib
 $chmod a+x ~/Downloads/jdk-6u38-ea-bin-b04-linux-amd64-31_oct_2012.bin
 $sudo -s ~/Downloads/jdk-6u38-ea-bin-b04-linux-amd64-31_oct_2012.bin


1.3 環境変数の設定
~/.bashrcに, 以下の環境変数を設定する.

 export JAVA_HOME=/usr/local/lib/jdk1.6.0_38
 export ANDROID_JAVA_HOME=$JAVA_HOME
 export PATH=$PATH:$JAVA_HOME/bin:~/tools:./

 $source ~/.bashrc

2. ビルド環境のテスト[2][3]
2.1 Repoのインストール
下記手順で, Repoをインストールする.

 $mkdir ~/tools
 $curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/tools/repo

 $chmod a+x ~/tools/repo

2.2 Source Treeのダウンロード
今回は, 作業ディレクトリ~/src/Android4.2にAndroid 4.2のSource Treeをダウンロードする.

 $mkdir ~/src/Android4.2
 $cd ~/src/Android4.2
 $repo init -u https:
//android.googlesource.com/platform/manifest -b android-4.2_r1
 $repo sync


待つこと数時間, ダウンロード完了!!

2.3 ビルド
 環境設定及びターゲットを決め, makeする.

 $source build/envsetup.sh
 $lunch full-
eng
 $make -j8


無事ビルド完了!! こちらも, 結構時間かかります.

結局, Ubuntu 12.04でのビルド環境構築と同じ手順でできるようだ. 

----
参照URL:
 [1] Installing required packages (Ubuntu 12.04)
 [2] Downloading the Source
 [3] Building the System

Ubuntu10.10にアップグレードしたが...

Androidの開発環境をUbuntu10.04(on VMplayer 3.1.3)からUbuntu10.10にアップグレードしたところ, 以下のようなエラーが発生しログインができなくなってしまった.

エラーメッセージ :
 インストールに問題があります!
 GNOME電源管理のデフォルト設定が正しくインストールされていないようです。
 システム管理者に問い合わせてください。
ubuntu01
幾つかトライしてみたが, 結局Ubuntu10.10を再インストールして解決した.
失敗例も含め, トライした内容をまとめておく.

1. 失敗例:仮想ディスク圧縮
1.1 ディスク容量の確認
Ubuntu日本語フォーラム[1]を見ていると, ディスク容量の不足が原因との記載があったので, まずはディスク容量を確認する.
ログインできないので, 以下の手順でVMPlayerでLiveCDからUbuntuを起動し, ディスクをマウントしディスク容量を確認した.
1) Ubuntuをインストールしている xxx.vmxファイル内の以下の項目を修正する.
    (a) 起動時にbios設定を有効にする.
       bios.forceSetupOnce = "TRUE"
    (b) cdromにUbuntu10.10のLiveCDイメージを設定する.
       ide1:0.present = "TRUE"
       ide1:0.fileName = "C:\GuestOs\image\ubuntu-ja-10.10-desktop-i386.iso"
       ide1:0.deviceType = "cdrom-image"
    (c) cdromを起動時に有効にする.
       ide1:0.startConnected = "TRUE"
2) VMPlayerを起動するとBIOS設定画面が表示されるので, "Boot"タブで"CD-ROM Drive"を一番上にして, "Exit"タブで"Exit Saving Changes"で設定を保存する.
  起動デバイスの順位は, "+"/"-"キーで変えられる.
Ubuntu08
3) LiveCDが起動したら, "Ubuntuを試す"を選択する.
Ubunt04
4) ディスク容量を確認する.
   (a) Ubuntu10.10のインストールディスクを確認する.
         $ sudo -s
         # fdisk -l

         ディスク /dev/sda: 53.7 GB, 53687091200 バイト
         ヘッド 255, セクタ 63, シリンダ 6527
         Units = シリンダ数 of 16065 * 512 = 8225280 バイト
         セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
         I/O size (minimum/optimal): 512 bytes / 512 bytes
         ディスク識別子: 0x000ae8b9

     デバイス  ブート  始点    終点   ブロック   Id   システム
         /dev/sda1    *             1      6254    50235223+  83    Linux
         /dev/sda2              6255      6527      2192842     5    拡張領域
         /dev/sda5              6255      6527       2192841   82   Linux スワップ 
   (b) ディスクをマウントし, ディスク使用容量を確認する.
         # mount /dev/sda1 /mnt
         # df
   
  まだ13GB程度は使用可能であった.
1.2 VMPlayerによるコンパクト化
13GB程度利用可能であるので, ディスク容量の不足が原因とは考えにくいが, まずはVMPlayerで仮想ディスクのコンパクト化を行ってみた.
1) VMplayerを起動し, Ubuntuを選択し"仮想マシン設定の編集"する.
2) ハードディスを選択し, "ユーティリティ"→"コンパクト"を選択し実行する.
3) コンパクト化が完了したら, 再起動する.
しかし, 同様の症状でログインできなかった.
1.3 vmware-diskmanagerによるディスク圧縮[2]
vmware-diskmanager.exeなるツールで, 仮想ディスクの圧縮が行えるといった記載があったので試してみた.
1) vmware-diskmanager.exeをインストールする.
    (a) ここからVMware Serverをダウンロードする.
    (b) VMplayerがインストールされているとVMware Serverをインストールできないので, VMPlayerを一旦アンインストールする.
    (c) VMware Serverをインストールし, インストールディレクトリにあるvmware-diskmanager.exeをどこかに退避する.
    (d) VMware Serverをアンインストールし, 再度VMPlayerをインストールする.
2) ディスクを圧縮する.
    vmware-disknamager.exe -k Ubuntu.vmdk
3) ディスクの圧縮が完了したら, VMPlayerでUbuntuを起動する.
しかし, 苦労したにもかかわらず症状は改善せず.

2. 再ストール
ディスク容量はもともと13GB程度残っており, またディスク圧縮操作を試しても症状は改善しなかったので, 違う原因の可能が高い. やむを得ず再インストールすることにした.
再インストール自体はインストーラに従ってインストールすればそれほど問題ではないが, Androidの開発環境など各種パッケージのインストールをやり直すのは大変である.
いろいろとググっていると, インストール済みパッケージを簡単にインストールし直す方法[3]が見つかった.

2.1 インストール済みのパッケージ一覧取得
1) 1.1のディスク容量の確認と同様に, LiveCDを起動して"Ubuntuを試す"を実行する.
2) 以下の手順で, パッケージの一覧を取得する.
      $ sudo -s
      # mount /dev/sda1 /mnt
      # chroot /mnt
      # dpkg --get-selections > /home/package.lst
2.2 再インストール
1) LiveCDを起動して"Ubuntuをインストール"を選択する.
2) インストーラの手順に沿ってインストールする.
    (a) "ディスク領域の割り当て"で"手動でパーティションを設定する"を選択する.
    (b) "ディスク領域の割り当て"で/dev/sda1を選択し, ”変更"をクリックする.
          利用方法 : ext4ジャーナリングファイルシステム
          マウントポイント : /
          注) パーティションの初期化にチェックを入れると, /homeなどが初期化されてしまうので注意!!
    (c) インストールをクリックし, インストールを実行する.
2.3 パッケージのインストール
1) Ubuntu10.10を起動する.
2) 以下の手順で以前インストールしていたパッケージをインストールする.
     $ sudo -s
     # dpkg --set-selections < /home/package.lst
     # apt-get dselect-upgrade
意外と簡単にほぼ元の環境に戻すことができた.
2.4 sun-java6-jdkインストール
Android-x86のビルド環境が正常か試すために, eclair-x86をビルドしてみたところ, "jar コマンドが見つかりません"と途中でエラーが発生した.
少し調べたところ, 2.3のパッケージのインストールでsun-java6-jdkがインストールできなかったようだ.
そこで, Ubuntu10.10 自宅サーバ構築手順:Java実行環境(sun-java-jdk6)インストール[4]の手順に沿って, sun-java6-jdkをインストールした.

やっと, Ubuntu10.04から10.10にアップグレードが完了!!

----
参考URL:
 [1]
Ubuntu日本語フォーラム / ubuntu 9.10の「GNOME電源管理」に関連する起動不可について
 [2] 分割仮想ディスクを結合する(by vmware-vdiskmanager) 常水商会::よしなしごと
 [3] Synapticでインストール済みのパッケージ一覧取得&クリーンインストール時にリストからまとめてインストール
 [4] Ubuntu10.10 自宅サーバ構築手順:Java実行環境(sun-java-jdk6)インストール

Ubuntu10.10とWindows 7のデュアルブート

Windows 7のDell PCにUbuntu10.10をインストールし, デュアルブートにした.
しかし, 何度か使用しているうちに再起動できなくなってしまった.
いろいろと試したところ, 一応対策することができたのでまとめておく.

PC : Dell Inspiron 15R
CPU/RAM : Core i5-460M / 4GB
HDD : 640GB
OS : Windows 7 Home Premium (64bit) / Ubuntu10.10

1. デュアルブート化とエラー
ここからUbuntu10.10 DesktopのCDイメージをダウンロードし, インストーラの手順に沿ってインストールした.
インストール終了後, 何度かUbuntuの起動/終了を行ったが特に問題なかった.
しかし, Windows 7を起動/終了した後再起動すると,
"no module name found Aborted. Press any key to exit."
というエラーが発生し, これ以降PCを起動できなくなってしまった.
どうも, Windows 7を使用したことで, MBR(Master Boot Record)の何らかの情報を壊してしまったようである.

2. エラー対策
2.1 grub2の再インストール[1]
まずは, PCが起動できるようにMBRを修復する.
LiveCDの"Ubuntuを試す"からUbuntu10.10を起動し, 以下の手順でgrub2をインストールする.
1) root権限になる.
  $ sudo -s
2) Ubuntuがインストールされているパーティションを確認する.
  # fdisk -l
  以下では, /dev/sda5にインストールされているとする.
3) Ubuntuがインストールされているパーティションをマウントする.
  # mount /dev/sda5 /mnt
4) grub2をインストールする.
  # grub-install --root-directory=/mnt /dev/sda
5) 再起動する.
  # reboot
  無事ハードディスクから起動し, grub画面が表示された. 
 ここで, Ubuntu10.10を選択し起動する.
 6) grubをupdateする.
  $ sudo update-grub

2.2 grub2をgrubに変更[2][3]
再発を防ぐために, 以下の手順でgrub2をgrubに変更する.
1) root権限になる.
  $ sudo -s
2) /boot/grubをバックアップしておく.
  # mv /boot/grub /boot/grub2
3) grub2をアンインストールする.
  # apt-get remove grub-pc
4) grubパッケージをインストールする.
  # mkdir /boot/grub
  # apt-get install grub
  # update-grub
5) grubをインストールする.
  # grub-install /dev/sda
6) Windows 7をgrubのメニューに追加する.
   /boot/grub/menu.lstをエディタで開き, Windows 7を追加する.
   [追記内容]
      title        Microsoft Windows 7 Home Premium (64bit)
      root        (hd0, 4)
      savedefault
      makeactive
      chainloader       +1
7) grubをupdateする.
  # update-grub

ブートローダをgrubにしたことで, Windows 7を起動しても不具合は発生しなくなった.

------
参照URL :
 [1] grub2 の再インストール ある町医者の診療日記
 [2] Windows7・Ubuntu10.4デュアルブート MAxUraの落書き帳 ~ Scrawl Note ~
 [3] (旧)Ubuntu 作成&作品紹介 Ubuntu grub2→grub


Ubuntu 10.04 LTSにアップグレード

4月29日にUbuntu 10.04 LTS版がリリースされたので, 早速9.10からアップグレードしてみました.

アップデート前:
 VMPlayer 3.0.1
 Ubuntu 9.10


1. アップグレード方法
Ubuntu 9.10からのアップグレードはとても簡単でしたが, 以下に手順をまとめておきます.
(1) Ubuntu 9.10の画面から「システム>システム管理>アップデート・マネージャ」を起動する.
(2) 「再チェック」ボタンをクリックして新しいアップデートを確認する.
(3) インストールすべきアップデートがあれば[アップデートをインストールする]ボタンを使ってパッケージをアップデートすると, 「Ubuntuの新しいリリース10.04 LTSが利用可能です」というメッセージが現れる.
(4) [アップグレード]ボタンをクリックし, 画面に表示される手順にしたがっていくと, アップグレードが完了する.
もし, 分かりにくいようでしたら「Ubuntu Tips>インストール>Ubuntu 10.04 LTSへアップグレードを行うには[1]」を参照ください.

2. 不具合と対策
2.1 ログインパスワードが入力できない.
Ubuntu 10.04 LTSを起動したところ, 「ログイン画面でキーボードからパスワードを入力しても入力できない」という不具合に見舞われてしまった. ( ̄▽ ̄;)!!
[対策方法]
(1) 画面右下側の「ユニバーサル・アクセス」ボタンをクリックし, 「ユニーサル・アクセスの設定」を選択すると, 設定ダイアログが表示される.
login_01
(2) 設定ダイアログで, 「オンスクリーン・キーボードを使う(K)」をチェックすると, ソフトウェアキーボード(onboard)が表示される.
login_02
(3) 設定ダイアログを閉じて, onboardでパスワードを入力し, ログインする.
(4) [システム>設定>キーボード」を選択すると, 「キーボードの設定」ダイアログが表示されるので, 「レイアウト」を選択する.
login_03
(5) 「キーボードのレイアウト」に「日本」がない場合, 「追加(A)」ボタンで「日本」を追加する. 
(6) 「キーボードの型式」が未定の場合, 適切な「ベンダー」及び「型式」を選択する.
私の場合, ベンダーにSONYがないために, キーボードの型式が未定となっており, キー入力を受け付けなかったもよう.
そこで, 日本のベンダー(NEC)を選択し, 適当な型式を選択した.
(7) 「システム全体に適応」ボタンをクリックすると完了.
(8) Ubuntuを再起動し, 「ユニバーサル・アクセスの設定」で 「オンスクリーン・キーボードを使う(K)」のチェックをはずし, onboardを消す.

私の場合, これでキーボードからパスワード入力できるようになった.

Ubuntu 10.04にアップグレードにより, とりあえず直面した不具合はこれだけですが, 使っていてまた不具合があったら続きを書いていきます.

------
参照URL:
 [1] https://wiki.ubuntulinux.jp/UbuntuTips/Install/UpgradeLucid

livedoor プロフィール
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

記事検索



  • ライブドアブログ