Wiki Home > タグ > Linux

Linux

Android for x86 part.2

ここで2月中に暇だ、的な内容を書いた途端忙しくなりましたw
前回から随分見ていない間にcupcakeがmaster側へマージされたようでx86用のコードがmasterのブランチで利用できるようです。
さて、ようやくconsoleが表示されない原因を調べることが出来ました。
単純にカーネルビルド時に「Frame buffer Console Support」を有効にしていないのが原因でした。恥ずかしい。。。
ONにすると起動時にずらずらブートメッセージが出てきます。

ひとまずVMware向けベース環境の作り方はわかったので、手順のまとめ。

・ホスト(vmware)上でもう一つ新たに仮想ディスクを作って接続します(2GBくらい)
例えばIDE1:1に繋ぐと /dev/hdd に認識されるのでfdiskでパーティションを作ります。

・mkfs.ext3 /dev/hdd1 でフォーマットします
・/mnt にマウントしてルートシステムを作ります

mount /dev/hdd1 /mnt
sudo cp -fr cupcake/out/target/product/eee_701/root/* /mnt/
sudo cp -fr cupcake/out/target/product/eee_701/system /mnt/
sudo cp -fr cupcake/out/target/product/eee_701/data /mnt/
sudo chmod 666 /mnt/sysmte/usr/key*/*
sudo mkdir -p /mnt/boot/grub
sudo cp -f cupcake/kernel/arch/x86/boot/bzImage /mnt/boot/vmlinuz

・ITproのandroid記事を参考に/mnt/init.rcを修正
mountしている箇所をコメントアウト

・/mnt/boot/grub/menu.lstを作成

default 0
timeout 3
hidenmenu
title android-x86
root (hd0,0)
kernel /boot/vmlinuz root=/dev/sda1 init=/init rw vga=788 rootwait

・grubをインストール

echo "(hd0) /dev/hdd" > android-device.map
sudo grub --device-map=android-device.map
>setup (hd0)

・新規仮想PCを作成し、上記で作成したディスクをIDE0:0に接続
起動するはず…!

Android for x86 Running on VMware

随分放置していましたが、カーネルをビルドしてVMwareのディスクイメージを作成してみました。
とりあえず起動しましたがターミナルの起動の仕方がわかりません。
Alt + F1も効かないのでinittabを読み込めるようにしないとダメっぽい?

android-x86 startup

Android for x86

今更感満載ですが、Androidがx86で動くらしい、ということで環境を作ってみることにしました。
ビルド手順は Get source を参考に Debian lenny (x86) で行いました。
結構時間がかかったのでカーネルビルドはまた今度^^;

●ビルドに必要なソフトをインストール

% aptitude -y install git-core gnupg sun-java6-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.8-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind

●ビルド環境の準備

% mkdir ~/bin ~/cupcake
% curl http://android.git.kernel.org/repo >~/bin/repo
% chmod a+x ~/bin/repo
% echo “export PATH=$PATH:~/bin” >> ~/.bashrc
% echo “export JAVA_HOME=/usr/lib/jvm/java-6-sun-6″ >> ~/.bashrc

●リポジトリ(cupcake)を引っ張ってくる (1時間くらい)

% cd ~/cupcake
% repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake
% repo sync

●x86用の設定ファイルを引っ張ってくる

% vi ~/cupcake/.repo/local_manifest.xml
<manifest>
<project name=”platform/vendor/asus/eee_701″ path=”vendor/asus/eee_701″ />
</manifest>
% repo sync

●ビルド (2時間くらい @Core2 Duo T8300 2.4GHz)

% export PATH=$PATH:/sbin ※tune2fsを参照するため
% TARGET_ARCH=x86 TARGET_PRODUCT=eee_701 DISABLE_DEXPREOPT=true make -j 4 installer_img

●途中でエラーになるので下記コマンドで再開

% mkdir out/target/product/eee_701/data
% TARGET_ARCH=x86 TARGET_PRODUCT=eee_701 DISABLE_DEXPREOPT=true make -j 4 installer_img

Windowsインストーラが起動しないときの対処法

先週インストールしたUbuntuの領域を消してWindowsを入れようと思ったのですが
CDブート直後にフリーズして先に進めません。

そんな時の対処法。fdiskを使ってLinuxパーテーションを解放してやります。

  1. Linuxを起動させます。
  2. コンソール端末(Xの場合)でfdisk /dev/???を実行します。(???はlinuxをインストールしたHDD)
  3. コマンド「p」を入力してパーティションの状態を確認します。
  4. コマンド「d」を入力して確認したパーティションをすべて解放します。
  5. コマンド「w」を入力して反映します。(これを実行するとlinuxが起動できなくなります)
  6. rebootで再起動します。

以上の作業を行うとWindowsのCDブートでインストーラが起動します。

どうしてこのようなことが起こるでしょうね。
ヒントはGRUBのエラーメッセージにありました。よーく見ているとLoading errorとか
表示されていました。Ubuntuはそれでも起動していたのであまり気にしていませんでしたが
パーティションテーブルが壊れていたのかなぁ。

wine 1.0 使ってみた

少し前にインストールしたUbuntu上にwine 1.0を入れて使ってみました。
IEやOfficeは他の人が試しているので違うものを試しました。
(ライセンスに余裕がないから、という理由もありますが)

  • 秀丸エディタ: × (描画関数→Xへの繋ぎでエラー?)
  • 東方妖々夢: ◎ (要DirectX)
  • 東方永夜抄: ◎ (要DirectX)
  • 東方風神録: ◎ (要DirectX)
  • ひぐらしデイブレイク: × (devenum.dllのロードエラー)

動画再生があるとダメ。またdirectshowあたりを使うアプリは全滅っぽい。
秀丸が動作しないのが意外。ぐぐってみると起動するらしいのですが・・・
予想外だったのは東方が動作したこと。少し遊んでみましたが特にフレーム落ち
することはありませんでした。

wineの主な需要はOffice、マルチメディア、ゲームだと思いますが、
ゲームは意外に動くようです。マルチメディアは現状Linuxネイティブを
使った方がよいでしょう。(ライセンス的にグレーなものもありますが~)

ubuntuのインストール

wineで遊ぶためにLinuxをインストールすることに。
VMwareでも良かったんですが、手元にWindows XP SP3 RC2を入れたままのPCがあったので
SP3のクリーンインストールついでにUbuntuを入れました。

自分はDebian信者なので他のディストリビューションにはあまり興味がないのですが、
Debianはデスクトップ環境の整備がやや面倒なので自動でなんでもやってくれるらしい
Ubuntuを使ってみることにしました。

さて、肝心のインストールですがあっさりとはいきませんでした。
インストール自体はウィザードに従って次へ次への連打で終了したのですが
再起動後、ブートローダでこけます。(error 17)
どうも読みに行くパーティションが間違っているようです。
ちなみにインストール前の環境は次の通りでSATAを破棄して全体をUbuntuで
自動パーティションさせました。

  • SATA(0) – 0: NTFS (C: WinXP) 1: NTFS (D:)
  • IDE(0) – DVDドライブ
  • 拡張ボード IDE(0) – 0: NTFS
  • 拡張ボード IDE(2) – 0: NTFS

とりあえずgrubをインストールし直そうとUbuntuをCDブートで起動させて
grub-installを実行してみましたが怒られてしまいます(何故…)
knoppixからもトライしましたが今度はあるはずのパーティションが見えませんでした。
fdiskで調べるとサイズが違う?という警告が出ていました。インストーラのパーティションツールに
問題があるのかな?ということで再度インストールすることに。
今度は手動で切って待つこと数分…正しく設定できたようでデスクトップまで表示されました。

まだほとんど触っていませんがベタ褒めする人が多いだけあって設定が楽ちんです。
サーバーなのにXを入れる人は何を考えているのかと思っていましたが少し気持ちがわかりました^^;
せっかくなのでしばらくこのPCはUbuntuでいこうと思います。

Wine 1.0

Wine (Windows API エミュレータ)が1.0になったようです。
かなりWineから遠ざかっている(5年くらい?)のでよくわからないですが
スクリーンショットを見た感じだとだいぶ動くようになっているのでしょうか。

週末あたりにどの程度動くのか試してみようかと思います。

debianで脆弱性

debianすきーには残念なニュースです。opensslのパッケージに脆弱性があったみたいです。
対象はetch以降。CA、https、ssh認証など関係するものすべてが影響を受けます。鍵はアップデート後に再生成する必要があるようです。私は鍵の生成をPuTTYgenで行っていたので大きな影響はありませんでしたが、CAをやっているところは今頃大変なことになっているんだろうなぁ。
該当する人はすぐに対処しましょう。

DSA-1576-1:openssh — 予測可能な乱数生成器

Wiki Home > Tags > Linux

Search
Feeds
Meta

Return to page top