Linux

shebangの怪

LinuxとMac OS Xではshebangに書いたオプションの扱いが異なるらしい、という話。ちょっと実験してみました。 args.c => gcc -o args args.c でコンパイル #include <stdio.h> main(int argc, char *argv[]) { int i; for (i = 0; i < argc; i++) printf("argv[%d] = </stdio.h>…

SystemTap用のemacsメジャーモードを書いてみた

tokyo-emacsをustreamで眺めていてElispが書いてみたくなり、SystemTapスクリプトを編集&ついでに実行できるメジャーモードを書いてみました。 これを使うと、EmacsからホストのLinuxカーネルをHackして、いろんな情報をとったりできます。 書いたものは本…

ゆの in SystemTap - 応用

id:NeoCat:20080713:1215944362 のようなテクニックを使うと、どんな言語でもソースの読み込み時点で書き変えてしまうことにより、ゆの対応にできる? 例えば % cat yuno.rb puts "x / _ / x < 来週も見てくださいね!" % ruby yuno.rb <= 書き換えられた上で…

ゆの in SystemTap - 解説?

id:NeoCat:20080713:1215944362 の簡単な解説です。まずSystemTapとは、簡単なスクリプトでLinuxのカーネルの動きを解析するためのツールです。 詳しくはRedHatの解説in日本語とか本家サイトとか、man stapとかman stapexとかをどうぞ。 普通は情報をとるだ…

ゆの in SystemTap - ゆの対応カーネルですよ!

Fedora 9のLinuxカーネルをSystemTapでライブに改造して『ゆの』対応にしてみます。x / _ / x #「ゆの in language」の趣旨とは申し訳ないくらいに違うかもだけど。。 元ネタ: ゆの in Ruby - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - s…

ついでにAndroidでネイティブHelloWorld再び

ついでなので、昨日と同様、インストールしたツールチェーンで % cat test.c main(){puts("Hello,World!")} % arm-none-linux-gnueabi-gcc -static test.c -o hello1 として作ったhello1をandroidで動かしてみました。 # /sdcard/hello1 Hello,World! 普通に…

Android用にカーネルビルド

おとなしくLinux(Fedora 9) on Parallelsで。やり方は http://honeypod.blogspot.com/2007/12/compile-android-kernel-from-source.html と全く同じ。CodeSourceryからGNU/Linux用の IA32 GNU/Linux Installerをダウンロード。バージョンは2008q1-126を使い…

Android SDKで遊んでみた

Mac OS X 10.5な環境で試してみます。 とりあえずダウンロード&起動 Googleからダウンロードするといきなり動かせます。この簡単さは偉いなあ。1. http://code.google.com/android/index.html から右のDownload the SDKリンクをたどってダウンロード。 2. …

MacBook Pro + Linuxで3Dデスクトップ

こんな感じにしてみました。透明ターミナルの裏側はブラーまでかかってて妙に良い質感。しかもサクサク動く。さすがはGeForce 8600M。 iTunesやiPod touchのCoverFlowのようなアニメーションでウィンドウを切り替えられたりも。 必要なもの: ネイティブで動…

Fedoraで明るさ調整 for MacBook / MacBookPro

BootCamp環境でLinuxを起動すると、スクリーンが目一杯明るくなってしまうことがあり、眩しくて仕方がない。下のサイトにあるプログラムを使うと、明るさが調整できるようです。http://modular.math.washington.edu/macbook/ http://modular.math.washington…

Fedora9をParallelsで使う

Feodra 9をParallelsにインストールしてみました。 やり方は簡単…とは行かなかった。Xが立ち上がらず、テキストインストールになってしまいました。 同じようにXが立ち上がらないという人はたくさんいる模様。 まあとりあえず画面の指示に従って進めていき、…

ParallelsとBoot CampでのLinuxパーティション共用〜X自動設定編

id:NeoCat:20080421 のエントリで、MacのBoot CampとrEFItを使ってパーティション上にインストールしたLinuxを、Parallelsからも起動できるようにしましたが、ハードウェア構成が変化するため、そのままではXの起動に失敗してしまいます。 そこで、これを自…

Parallelsからトリプルブート環境のLinuxを起動

昨日(id:NeoCat:20080420) rEFItを使って構築したトリプルブート環境(Boot Camp)用のLinuxを、Parallelsから起動できるようにする方法を考えてみました。 Parallels内蔵のBIOSがHDDをうまく読めないため(?)、CD-ROMイメージを使ったhackが必要なようです。以…

Mac OS X + WIndows XP + Linux (Fedora 8)のトリプルブート環境に移行

Boot Campを使うとデュアルブート環境は比較的簡単に構築できますが、3種類以上のOSを同時にインストールする「トリプルブート」はサポートされていません。しかしサードパーティ製のブートローダ「rEFIt」というものが開発されており、これを使えばトリプル…

squidのビルド&インストール

海外の出張先でネットワークの調子が悪く、Webがまともに使えないと言う事態に遭遇しています。orz 何かホテルのtransparent proxy側でDNSが引けてない模様でGoogleさえ「The requested URL could not be retrieved」といわれてしまいます。既にWebは一つの…

Linuxでリアルタイム・プロセスを作るには…?

Linuxにはリアルタイム・プロセスという、他のプロセスよりも優先してCPUスケジューリングを割り当てるプロセスを設定することができます。 詳しくは、このへんとかMANPAGEを見て頂くとして…。お手軽に任意のコマンドをリアルタイム・プロセスにするような方…

emacsのタブキーの挙動

Fedoraを7か8に上げたあたりから、emacsのバージョンアップに伴って、Fundamentalモードでのタブキーの動作が変わってしまいました。タブを押すと、前行の空白位置に合うまで進むようになったんですよね。Text-modeとかならともかく、Fundamentalでやられる…

MediaTombをLS-GLにインストール

LS-GLにMediaTombを入れて、DLNAサーバ化してみました。これでPlayStation3から、いつでもメディアにアクセス可能になります。 関連ライブラリがたくさんありますが、順番に片付けていきます。時間がかかるので、なるべくクロスビルドしますが、うまく行かな…

distccでクロスコンパイル

これまでに母艦のMac、LS-GL本体の環境にコンパイル環境は作ったのですが、やはり母艦の方が速いので、なるべく母艦側でコンパイルを流したいのですが、一方でクロスコンパイルに対応していないソースコードも多くあります。 こんなとき、distccを使って、co…

LS-GLにopensslをインストール

opensslを使った開発に必要なヘッダファイル・ライブラリをLS-GLに入れておきます。 といってもソースCDにバイナリ込みで入っているので、以下のように展開してインストールするだけです。

LS-GLにncursesのインストール

というわけで、ncursesのクロスコンパイル&インストールに再挑戦します。実は最初にzshを入れたときにも、ncursesでハマっていたのでした。 ソースはLS-GLのソースコードCDのsrpmをを使用。手順は次の通り。

LS-GLにmakeをインストール

引き続き、makeをインストール。 せっかくセルフコンパイラを入れたので、セルフで作りたくなりますが、makeをビルドするにはmakeが必要なので、まだクロスコンパイルしかできません。 以下、やり方。

LS-GL用セルフコンパイル環境(gcc)を構築

以前(id:NeoCat:20070819)構築した、LS-GL用のクロスコンパイル環境を使って、LS-GL本体で動作するセルフコンパイル環境を作りました。やはりネイティブ環境でしかビルドできないソフトもあるので。 やり方は以下の通り。

LS-GL向けにscreenをコンパイル

シリアルを付けてちょっとカスタマイズを加えたLS-GL上で、perlで書いたデーモンを常駐させています。 が、このデーモンが、たまに落ちているようなので、エラーメッセージなどがコンソールに出ていないか記録するためにscreenをLS-GLに導入します。 やり方…

gnuplotのクロスコンパイル for LS-GL

シリアルをつけ、クロスコンパイル環境を作ったLS-GL(id:NeoCat:20070808, id:NeoCat:20070819あたりを参照)ですが、引き続きいくつかソフトをクロスコンパイルしました。というわけで、クロスコンパイルmemo、gnuplot編。ちなみに、導入の目的はとあるセ…

Brainf*ck 小さなインタプリタ〜アセンブラバージョン

書かないと言っていたのに書いてしまいました。へたれなのでNASMじゃなくgasです。i386。

小さなBrainf*ckインタプリタに挑戦

Brainf*ck(何となく伏せ字)という言語があるそうな。たった8つの命令しかないのに、(理論上)あらゆるプログラムが書ける(というかチューリング完全な)言語です。詳しくは Wikipediaの記事などを。8つしか命令がない、引数もないので、コンパイラやイン…

LS-GL向けにzshをクロスコンパイル

テスト&クロスコンパイルの練習がてら、zshをコンパイルしてLS-GLにインストールしてみます。 4. zshのビルド zsh-4.2.6のソースをゲット&ダウンロード ncursesのコンパイルがうまく行かないので、本体の/usr/lib を/usr/local/arm/arm-none-linux-gnueabi…

LS-GL向けのクロスコンパイル環境を構築

id:NeoCat:20070808でシリアルコンソールを付けてhack可能にしたLS-GLですが、せっかく常時稼働しているので監視やロギング用途に使えるようにしようかと考えています。そんなわけで、クロスコンパイル環境を整えて、必要なソフトを組み込んでみることに。 …

LS-GLのhackに挑戦

Baffaloのネットワーク対応ディスクLS-GLを購入しました。BUFFALO LS-400GL ギガビット LAN接続HDD LinkStation出版社/メーカー: バッファロー発売日: 2006/07/10メディア: Personal Computers クリック: 9回この商品を含むブログ (4件) を見るSATAディスク…