「 Linux 」一覧

USBメモリにLinuxを自動でセットアップするツール LinuxLive USB Creator

古くて使わなくなったノートPCに、Linuxでも入れたら延命できるかなとUSBメモリからブートするLinuxを作れるツールを探していたら見つけた。

LinuxLive USB Creator

メッセージも日本語だし、サポートしているLinuxがとても多く、知らないディストリビューションもたくさん。GPartedのようなディスク系ツールやレスキューディスクも作れるようだ。

Clipboard02

あとの特徴はUSBメモリにLinuxをインストールする際に、VirtualBoxをUSBメモリにインストールしWindows上でこのUSBメモリを差した時にVirtualBox経由でLinuxを起動可能にもできる点。いちいちリブートして切り替える必要が無い。

結局、目論んでいたノートPCはUSBメモリからのブートに対応していないというオチだった。


VirtualBoxにGentoo Linux(64bit)をインストール

Gentooも昔ほどの勢いが無くなっているけど、ほそぼそと続いているようだし、64bit環境でビルド流したら少しは速くなってるのかなぁとかいうのがあって、急に思い立ってVirtualBox上にインストールしてみた。

Gentooはまだ出始めのころにStage1から構築した32bit環境が残っているけど、ふだんLinuxを使うときはUbuntuなので実際は気が向いたらたまに起動してemergeしているくらいなんだけど。

chira-ura.info » Gentoo Linux x86_64 on VMware Player on Windows 7 構築メモ [その1]

Gentoo Linux Documentation -- Gentoo Linux AMD64 Handbook

やったことと言えば、この2つのサイトに書いてある通り。

ただ途中のKernelのコンパイルでconfigを変更しすぎて起動しないカーネルを何度も作ってしまい、かなりの時間ロス。素直にLiveDVDのconfigを流用することに。

また上記サイトの手順だと、

Bug 341943 – <=sys-kernel/genkernel-3.4.10.907 fails to build busybox 1.7.4 with sys-devel/make-3.82

このバグにひっかかって、genkernelでのKernelコンパイルに失敗する。なのでgenkernelだけは~amd64して最新版をemergeする必要があった。

chrootとかカーネルのビルドとか手動でmountとか、Ubuntu使ってるとほとんど必要ない作業だから触らないと忘れていくな。Gentooをメインで使うことは無いと思うけど、たまにリハビリ代わりに触るのも悪くないかも。


手のひらサイズの小型LinuxBox開発キット「玄柴」…でも完売

玄人志向、玄箱シリーズに手のひらサイズの小型LinuxBox開発キット「玄柴」 | パソコン | マイコミジャーナル

小型のLinuxデバイスが小さなブームになりそうね。日経Linux誌がけっこう頑張って特集組んでいたりするし。

まぁ、「玄柴」は限定50台で私がこのニュースを見たときにはすでに完売してたけど...。

Linuxが動くイコールAndroidも動くってことなので、Android移植していろいろ遊べそうな気がする。そのためにはこういうような筐体としてまとまってるデバイスは便利かもね。


買った本(SoftwareDesign12月号、英語リーディング教本)

こないだの日曜に書店に立ち寄って買ったもの。

Software Design (ソフトウェア デザイン) 2009年 12月号 [雑誌]
Software Design (ソフトウェア デザイン) 2009年 12月号 [雑誌]
技術評論社 2009-11-18
売り上げランキング :

Amazonで詳しく見る by G-Tools

特集がLinuxカーネル。ちょうどAndroidでも深い所をやるとLinuxに行き着くので、まずは大枠の理解にはよさそうな特集。

徹夜勤務の待ち時間に読もうかと会社に置いてるけどまだ読めてない。

英語リーディング教本―基本からわかる
英語リーディング教本―基本からわかる
研究社出版 2000-04
売り上げランキング : 341

おすすめ平均 star
star徹底的に文法という標識に従って読む、自分の想像で読んではいけない
star薬袋三部作 応用編
star非常にクセが強い

Amazonで詳しく見る by G-Tools

これは、はてダかどこかで紹介されてたもの。

中身はひたすら文法の解説書なので、ちょっと挫折するかもなぁと思いつつ購入。私の場合は英文は分かる単語をピックアップして前後の文脈も合わせて勘で訳して読むタイプ。単語力もぜんぜんだし、文法意識しても読まないし。

まぁでも現状のやりかただとレベルアップできないと思うので何か、単語力とか少しは強化したいところ。


Interface 2009年10月号は ARM9シミュレータで組み込みLinux体験ができるっぽい

何気なく書店で見つけてパラパラと見てたんだけど、ATMELのARM9のシミュレータ上で組み込みLinuxの動作を体験してみようみたいな特集なので思わず買い。

クロスコンパイル環境の構築から、実機への移植の手順、ドライバ作製の触りなどけっこうまんべんなく押さえた内容で、組み込みLinuxをやろうとしてる人には良い記事かも。

実機が無くてもシミュレータで試せるのはいいね。

2009年10月号 目次|Interface

Interface (インターフェース) 2009年 10月号 [雑誌]
Interface (インターフェース) 2009年 10月号 [雑誌]
CQ出版 2009-08-25
売り上げランキング :

Amazonで詳しく見る by G-Tools


Androidというプラットフォームに関わる開発者の一体感

仕事でやらないといけないことがどんどん積み上がっていく...。

技術調査にも時間を割きたいし、今まで調べた内容についてもメンバーに展開できるように資料を作りたいのだけど、設計も進めないといけないしって感じでまぁ時間が足りてない。

技術調査した内容を展開する作業を優先するほうが、周りのメンバーの手戻りが減る分、生産性には寄与しそうではあるな。なんとか時間を作ってメモ書きでも残すかなぁ。

AndrdoidのNative層の解析も進めたい。まだまだ描画周りを掘り起こしていって仕組みを解明していきたいのだけど。

未だにGDBでブレークポイントを設定しようとするとエラーになるので、仕方なくあちこちにログを埋める手法で動作を見ていくしか今のところ無さそう。GDB何でうまく動かないんだろう...。

今までクローズドな組込の仕事が長く続いていたので、オープンな環境のAndroidを触ることができるのはけっこう楽しい。まぁ資料が圧倒的になさ過ぎるのだけど、ネット上にいろいろ情報があったりして、世界の開発者が同じプラットフォームでいろいろ試行錯誤してるっていう、なんとなく同じベクトル向いてるなって感じられるのが良いね。

まぁこれはiPhoneだったり、Linuxだったり、新しいソフトや開発環境が出てきたときに起こることなんだけど、今回は自分がAndroidという波に乗れた感じがしてそれだけでちょっと楽しい。


64bit版Javaはスワップすると異常に遅くなる?

Androidのビルドがメモリ不足でスワップしすぎで終わらず - きままな日記帳

と、64bit版UbuntuでAndroidのソースビルドが終わらない件、32bit版Ubuntuをインストールしなおして試したみたらあっさりとビルドが終わった。

64bit版の時は、javaプロセスがメモリを90%以上掴んだままずっとスワップしてて終わらなかったので、64bit版javaが物理メモリを食い潰したときのスワップで異常に遅くなるんだろうと結論。メモリが十分にあったら64bitでも快適に動いたかもしれないし、そこは分からないけど。

DDR1のメモリを1GB×2枚にしようかと値段を見たら、DDR2の2倍くらいの値段なのね...。さすがに古いマシンをそこまでして延命するつもりもないし、32bit版Ubuntuで普通にビルドできるようになったので、とりあえず現状の環境で行くつもり。


ubuntuでeclipseはapt経由でインストールしない

apt経由で入れると、古いバージョン3.2がインストールされるのね。

eclipse本家サイトからtarを落としてきてホームディレクトリに解凍して使うのが一番手っ取り早い。

androidのプラグイン(ADT)がインストールでエラーになるからおかしいな...と思っていたら、バージョンが古かったという話。


android 1.5のソースのビルドが失敗する場合の回避策

ちょうど公式のビルドガイドGet source ‎(Android Open Source Project)‎を見ながら、VirtualBox上のUbuntu9.04でやってみたのだけど、ビルド途中でエラーになる...。

これは正式リリースされたばかりのv1.5で。

external/qemu/sockets.c: In function 'sock_address_init_resolve':
external/qemu/sockets.c:637: error: 'EAI_NODATA' undeclared (first use in this function)
external/qemu/sockets.c:637: error: (Each undeclared identifier is reported only once
external/qemu/sockets.c:637: error: for each function it appears in.)
make: *** [out/host/linux-x86/obj/EXECUTABLES/emulator_intermediates/sockets.o] エラー 1

正式リリースのcupcakeブランチでもエラーになるのでおかしい...と悩んでいたら、ちょうど昨日の日付でフォーラムに書き込みが。

android 1.5 build failure .. - android-platform | Google グループ

該当部分のコメントアウトで回避...みたいな話しになってる中、一番きちんとした解決法は以下のように修正することのようだ。

+#if defined(EAI_NODATA) && EAI_NODATA != EAI_NONAME
     case EAI_NODATA:
+#endif
     case EAI_NONAME:
            err = ENOENT;
            break;

android 1.5 build failure .. - android-platform | Google グループ

【そのほかビルド関係の参考資料】
Androidのコンパイル環境を整える方法 - Android情報-ブリリアントサービス


androidでJNIを使うケースを調べてみた

プライベート方面と、仕事方面でもandroidに絡むかもしれないことになったので、軽く調査。

androidはSDKのエミュレータを動かしたことしかないので、レイヤ構成とか開発のやり方とかを調査中。

大まかな感じをつかむには以下の記事あたりが良いかも。

[Think IT] 第1回:Androidと組み込み開発 (1/3)

DalvikVM上でのJavaによるアプリの作り方はあちこちに書かれているので良いとしても、今回一番知りたいのは、

  • いろんなハードへの移植(ARMベース)
    • 基本的にはハードに乗っているチップに対応したドライバを探すか書けば良いはず。
  • androidが標準でサポートしていないデバイスのサポート方法
    • ドライバはもちろん、ミドル層、そしてVM上のアプリからどうやって制御するのか?

ざっと調べた感じだと、新規のデバイスはアプリからはJNI経由でnativeで作ったライブラリを呼び出し、ライブラリからLinuxのデバイスファイルを叩く(ドライバは別途)という感じでいいんだろうか。

ただどこかで読んだけどアプリからのJNI経由での制御は、まだ非公式の制御ルートという噂も。

しかも、Androidアプリで高速描画チューニングをするコツ(1/3)-@ITを読むと、JNI経由だとnativeを呼び出す際のオーバーヘッドが馬鹿にならないとも。大量のデータ転送系のデバイスとか大丈夫なんだろうか...?

Android JNI

AndroidでJNIを使う方法 - Android情報-ブリリアントサービス

Androidの実機への移植の実際 Androidの実機への移植の実際

手を付け始めたばかりなので、まだまだ調べることがたくさん。

Linuxでのモジュール・ドライバの開発経験が無いのでその辺も知っておかないといけなさそうな気もするな...。


スポンサーリンク