2013年7月2日火曜日

[OSX] "Google ドライブ"のフォルダ名を変更する方法

Outline

日本語環境のOSXにGoogle Driveアプリをインストールすると、
"~/Google ドライブ"という悲惨な名前のフォルダが作成され同期が始まってしまう。
Finderだけの利用ならば全然良いのだが、
terminalでの利用には適さないのでこれを英語化した。

手順

  1. 何もせずに"Google ドライブ"フォルダで同期
  2. Google Driveを一旦停止して、フォルダ名を変更(e.g. GoogleDrive)
  3. Google Driveを再起動
    ここで「フォルダがみつからない」というエラーが発生し、
    フォルダを選択する画面に移動できるようになる
  4. 先ほど作成したGoogleDriveを選択してOK
以上。
「インストール」or「Googleアカウントと同期」のタイミングで自由な名前が選択出来ればよいのだが現状出来なさそう。

2013年7月1日月曜日

[第一回] KOZOS勉強

Outline

組み込みを基本から勉強したいと思い、『組み込みOS自作入門』を購入した。
組み込みの勉強なんて今の時代を考えると流れに反していると自分でも感じるのだが、
仕組みを知りたいという思いの方が強く今年は下回りをじっくり勉強しようと決めた。

この本はH8/3069Fというマイコンを使って、12 ステップに分けてOSを作成するという内容である。そのため、秋月電子通商にてマイコンも購入した。

http://akizukidenshi.com/img/goods/C/K-01271.JPG

開発環境のセットアップ 

開発をするにあたりまずはUbuntuにて環境を構築した。
今日セットアップした内容は以下の項目。
  1. binutils
  2. gcc-h8300-hmc (クロスコンパイラ)
  3. h8write (ROM焼きツール)
1. binutils
 GNUからbinutils-2.19.1をダウンロードし、ビルド&インストール。
  $ ./configure --target=h8300-elf --disable-nls
  $ make
  $ sudo make install

2. クロスコンパイラ
 マイコンについてくるCD-Rにバイナリが用意されていたり、GCCをビルドして用意する
 と色々な方法がある。しかし、自分の環境ではどれも上手く行かなかった。
 色々調べた結果、apt-getで入れることが出来るようなので今回はそちらにした。
  $ sudo apt-get install gcc-h8300-hmc

3. h8write
 ここからソースコードをダウンロードしてビルド。
  $ gcc h8write.c -o h8write -Wall

まとめ

これで開発できる状態になったので、着々と進めていこう。

2013年6月25日火曜日

UbuntuとGoogle Driveを連携してみた

ことのほったん 

以前EC2にredmineを立てて技術系のtipsをそこで管理するという方法を紹介したが、
正直個人運用だとあまり使い勝手が宜しくなく全然利用せずに終わってしまった。

使い勝手が良くないと思った点は

 ・常時AWSを起動しておくとお金がかかる
 ・常時起動しておかないとメモる度に起動・終了を行わなければいけない

性格がまめでないので、1つのファイルにメモしたらどこででも見れるようにしたかった。

Evernote

そうなるとEvernoteが一番にぱっと思いつく。
そこでemacsとEvernoteを連携出来ないかググったところ、evernote-modeなるものを見つけた。
いざ入れてみたが、情報が古かったらしく今は使えないらしい。
正確に言えば、パッチを当ててくれている人がいてそれを当てれば使うことは出来る。
正直、面倒だったのでどうしようと色々悩んだ。

Google Drive

一番身近に使うクラウドサーバはGoogleDriveである。

「でもわざわざメモってアップロードしてってのは面倒臭いなー。」

(どうしようかなー、githubでも使って管理しちゃうかなー。)
(てっか、private repositoryってお金かかるの?駄目だ…)
(…暫く考える)
(…考える)
(…)
(!)

「あれ?そういえばGoogle DriveってWindows/Macで普通のフォルダとして見せることできたな。」
「Ubuntuでも同じことが出来たら、やりたいこと出来るじゃん!」
Ubuntuでもこれ出来れば、マウントしたフォルダの中でメモを取ればどこでも見ることが出来る。
そうすれば自分がやりたいと思っていたことを達成できる。

 Insync

そこで早速『ubuntu google drive』でググると、Insyncというのに行き着いた。
これを使うとUbuntuのフォルダの1つとしてGoogle Driveがマウントされる。
ダウンロードして早速インストールし、設定を終えるとホームディレクトリにInsyncというフォルダが出来ていた。
中身をみると自分のGmailのフォルダが出来ていて、中身にはDriveの内容が反映されていた。

まとめ

これはメモ以外も色々使えそう。
今までプライベートと仕事で開発をしていても、やっぱり設定ファイルや編集途中のものは共有しておきたいと思っていたので、ここを中心に考えれば今までの悩みも解決する。

すごい便利になった。

2013年6月19日水曜日

kernel $ make menuconfig の表示がおかしくなった

タイトルの通り、make menuconfigでconfigを弄ろうとしたら表示がおかしくなっていた。
具体的には、起動はするのだけれどもGUIではなく"@^@^@..." みたいのに囲まれていて、
文字は見えるけれど使い物にならない状態になってしまっていた。

ネットで調べても該当するような情報が得られず悩んでいたが、
一か八かでlibncurses5-devをアンインストールして再度インストールしなおしたら元に戻った。

よくわからないけど、良かった。

2013年5月9日木曜日

FirefoxOSにおけるInput

PandaboardでFirefoxOSを動作させてから暫くたってしまったが、未だにマウスカーソルの表示は出来ていない。
実現するにあたり色々調べたので、下記にまとめる。

 1. kernelは対応しているのか?

どこから対応しているかを区別したかったので、まずはここから調査した。
結論から言うとgitで取れるkernelは勿論HIDに対応していた。
確認方法はPandaboardにマウスを挿して、adbで下記を打つ

 $ getevent -lp /dev/input/event* (*は環境によって違うので適宜読み替えて下さい)

これはb2gが扱えるinput deviceの情報を出力してくれるコマンドである。

【出力確認部】
 EL (0002): REL_X REL_Y REL_HWHEEL REL_WHEEL

2. Input Dispatcher探し

上記のことから、input eventを受けている箇所があるはずなので探してみる。
gecko/widget/gonk/libui/InputDispatcher.cpp とそれらしいファイルを見つけた。
理想としては、inputから上がってくるx座標、y座標の情報を得たいだけなのだが、複雑そうなので一旦断念した。

3. nsAppShell

MDNでFirefoxOSのplatformアーキテクチャを眺めていたら、
めっちゃ該当箇所が書いてあったのでログを仕込んでみた。
gecko/widget/gonk/nsAppShell.cppのnsMouseEvent()内にx, yという引数があるのでこれを出力してみた。
結果、確かにマウスの動きに合わせて座標が変化していた。(1680x1280の範囲で動いていた。)
この情報をみれば、なんとか操作できないことは無いがやはり不便。

調査した内容は以上、widgetから描画に接続するのはどうしたらいいんだろう。
その辺りがわかれば、問題は解決するはず。

2013年4月26日金曜日

Galaxy NexusにFirefoxOSを入れてみた

Galaxy Nexusを買った目的の1つである『FirefoxOSのおさわり』を実践してみた。
今回はソースコードのダウンロードから、ビルドして焼くまでの一連の作業にトライしてみた。
MDNに書いてある手順通りに進めて、問題なく起動できた。
以下、備忘録。

 環境

  1. PC Ubuntu 12.04
  2. ビルドに必要なtoolchain
  3. Android SDK

手順

1. コードのダウンロード

$ git clone git://github.com/mozzila-b2g/B2G.git

2. ビルド

$ cd B2G
$ ./config.sh galaxy-nexus
$ ./build.sh

3. Flashに焼く

Galaxy Nexusの電源を一旦落とし、Volume Up/Donwを押下しながら電源を入れ、fastbootモードで立ち上げる。
PCとUSBで接続し、下記を実行。

$ flash.sh

以上で完了。
自分の環境は既にbootloaderをunlockしていたが、していなくても上手く行く。
予想以上にあっさりと終わってしまった。
起動してみると、ホームアプリの画面サイズがおかしいようで微妙な感じになっている笑
また、Galaxy Nexus物理キーのHomeボタンがなく、かつFirefoxOS自体もHome用のソフトキーが用意されていないので、一度アプリを立ち上げるとホームに戻れないという。。。
一応動作する、という程度の印象。色々ログを仕込んで挙動を見てみよ。



2013年4月24日水曜日

Xperia SolaでClockWorkModを使ってバックアップ

前回、Galaxy NexusでClockWorkModを使ってバックアップを取ったので、今回はXperia Solaでバックアップを取った。
※ Xperia Solaはbootloaderがunlock状態になっていることが条件です。

1. Xperia Sola用ClockWorkModの入手

ClockWorkModの本家ではXperia Sola用のものはなく、xdaに落ちているものを取得してくる
ファイル名のせいでちょっと「大丈夫か?」と疑ってしまったが、
試してみたら問題なかったので安心して使って大丈夫です。笑

2. Xperia Sola用標準kernelの入手

Galaxy Nexusの時は焼くことなく、一時的にClockWorkModを起動できたが、
Xperia Solaでは一度ROMに焼かなければいけないようなので、
元の状態に戻せるように標準のkernelをここからダウンロードしておく

3. ClockWorkModをXperia Solaに焼く

Xperia Solaをfastbootモードにする。
# 電源を落とした状態のXpeira SolaのVolume Upを押下しながら、USBを接続する。
$ fastboot boot flash "1でダウンロードファイル"

4. ClockWorkModの起動

Xperia Solaを再起動した後に出る、"SONY"ロゴの画面でVolume Downを押し続ける。
本体が振動した後、ClockWorkModが起動する。

5. バックアップをとる

ClockWorkModで起動した後の手順は、通常のClockWorkModと同じなので割愛。
分からない方は、Galaxy Nexusの回の "4. ClockWorkModでバックアップ"を読んで頂けるとバックアップが取れると思います。


 


6. 標準kernelに戻す

バックアップ完了後、電源ボタン長押して本体の電源を一旦落とす。
fastbootモードでPCと接続してから、2でダウンロードしたファイルを展開した中にあるkernel.sinを焼く。

$ fastboot boot flash kernel.sin

7. バックアップした内容をPCに移す

6完了後に本体を再起動すると、通常通りandroidで起動する。
この状態で、USB接続してadbでバックアップした内容をPCに転送する。

$ adb pull /sdcard/clockworkmod/backup/"バックアップした日時"

以上で、Xperia Solaのバックアップが完了。