Qemu ネットワーク周りリンク集
- https://fedoraproject.org/wiki/Architectures/ARM/HowToQemu
- http://blog.hvishwanath.net/2013/10/setting-up-tuntap-networking-for-qemu.html
- http://en.wikibooks.org/wiki/QEMU/Networking
- http://wiki.qemu.org/Features/HelperNetworking
- https://wwwdantyo.wordpress.com/qemu%E3%81%A7arm%E7%92%B0%E5%A2%83%E3%82%92%E6%89%8B%E3%81%AB%E3%81%84%E3%82%8C%E3%82%8B/
- http://www.ne.jp/asahi/it/life/it/embedded/qemu_arm/debian_arm_qemu.html
- https://github.com/alexpark07/KISS/blob/master/Android/AArch64_on_qemu_with_ubuntu64.md
virtio-netを使ってインタフェースを生やす
AArch64関連のリンクまとめ
毎度毎度調べるのが面倒なので.
基礎
Openembeddedを ARMv8環境向けに構築する
Qemu + buildrootによる環境構築
Qemuで openembeddedのイメージを動かす方法
ARM Fast Model(armv8)で ARM KVMを動作させる方法
qemu + binfmt + chroot で AARCH64 環境を構築する 方法
- https://syoyo.wordpress.com/2013/12/17/qemu-binfmt-chroot-%E3%81%A7-aarch64-%E7%92%B0%E5%A2%83%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%99%E3%82%8B/
- http://d.hatena.ne.jp/embedded/20140427/p1
binfmtを使い, ARM向けバイナリを qemuユーザモードエミュレーションで実行する. Debian AArch64用の root file systemに対して chrootを行うことと組み合わせることで擬似的な ARM環境を構築する.
ARMv8シミュレータの使い方
その他
STDIN Pipe判定
https://github.com/monochromegane/the_platinum_searcher/pull/85
Windowsでは, STDINが pipeでないと, os.Stdin.Stat()がエラーを返すという
ことを知らずに, Emacsで the platinum searcherを動かすための PRをしたところ,
Windowsで動かなくなってしまい, その原因を調べました.
具体的には os.Stdin.Stat()の挙動は以下のようになります
% some_command arg1 # os.Stdin.Stat() エラー % some_command arg1 < Nul # os.Stdin.Stat() エラー % some_command < file # os.Stdin.Stat() エラーなし % other_command | some_command # os.Stdin.Stat() エラーなし
Windowsを考慮すると Stdin PIPE判定は以下のように書く必要があります.
package main import ( "fmt" "os" "runtime" ) func main() { fi, err := os.Stdin.Stat() if runtime.GOOS == "windows" { // error occurs if STDIN is not pipe // Ex: $ some_command arg1 // $ some_command < Nul if err == nil { fmt.Println("Stdin is pipe") } else { fmt.Println("Stdin is not pipe") } } else { if err != nil { fmt.Println(err) return } mode := fi.Mode() if mode&os.ModeNamedPipe != 0 || mode.IsRegular() { fmt.Println("Stdin is pipe") } else { fmt.Println("Stdin is not pipe") } } }
これで期待通り動作しましたが, もっと良い書き方などありましたら教えていただければと思います.
xdg-openで使われるデフォルトブラウザの変更
Google Chromeをインストールしたところ, xdg-openで使われるブラウザが
Chromeになってしまった.
デフォルトブラウザの変更
% sudo update-alternatives --config x-www-browser
update-alternativesコマンドで確認したところ, x-www-browserに Chromeが
設定されていたので Firefoxに変更.
おわりに
xfce4の "Preferred Application"の "Web Browser"は Firefoxのままだったんですが,
これは単に "Web Browser"アイコンをクリックしたときに起動するアプリケーションの指定っぽいです.
git-gutter.el supports live update experimentally
保存時等しか差分更新できないのはいけていないという意見をいただいたので,
保存しなくても差分情報を更新する機能を試験的に実装しました.
(本家 Sublime Text版や Vim版ではだいぶ前に実装されている機能です)
設定例
git-gutter:update-interval(単位: 秒)が 0より大きいとその周期で更新します.
(ただし現状は idle timerで更新しているので, ガンガン書いているとき等だと
何の更新も行われません)
(custom-set-variables '(git-gutter:update-interval 2))
実装
gitコマンドだけでなんとかできるかと思って調べてみたんですが,
調べた限りうまくいきませんでしたね.
実装方法は以下のとおりです
1. git-gutterが有効かつ, バッファが未保存状態かを確認. そうでないなら何もしない
2. 現在の編集中のバッファの内容のハッシュ値を取得. 前回取ったハッシュ値と比較し, 同じであれば何もしない.
3. `git show :ファイル名`で該当ファイルの最新版のソースを取得. テンポラリファイルに書き出し
4. 現在のバッファの内容をテンポラリファイルに書き出し
5. 3., 4.で取得したファイルの差分を取る(非同期実行)
6. 差分情報を更新.
gitコマンドだけでうまくいく方法があれば教えていただければと思います.
(kantou-emacs #x02)に参加します
(kantou-emacs #x02) #関東Emacs : ATND
発表予定は今のところありませんが, それまでにいろいろ作ったり,
既存のものを改良して紹介できればと考えています.
現在職探しも行っているので, 関東方面の情報を収集できればと思います.
よろしくお願いします.
Support highlighting match groups
Replace commands of anzu works like re-builder or visual-regexp now.