コンパイルサーバを利用する方法
あなたは
人目のお客様です.
本ページでは「12ステップで作る 組込みOS自作入門」の内容を実際に試してみる際に,
インターネット上のコンパイラサーバを利用することで,自前のPCに開発環境を構築
せずに開発を行う方法を説明します.
2011/10〜 サーバ移転により現時点で利用できません.ごめんなさい!
■ 概要
「12ステップ組込みOS自作入門」の一番の山場は実は1stステップの環境構築で,
ここでハマッてしまうかたも多いかと思います.そこで,ソースコードをメールで
送るとコンパイルして結果を返信してくれるwebサーバにUPしてくれるような
サーバを構築しました.
※ セキュリティ上の理由によりコンパイル結果をメールで返信するのでなく,
webサーバ上にUPするように動作を変更しました.(ウィルスメールと間違えられるのを
防ぐためです)
これにより,PCでの開発環境の構築いらずで開発を行うことができるように
なります.
- ソースコードをZIP圧縮してメール添付して送信すると,自動コンパイルして
メール返信してwebサーバにUPしてくれます.
- ブートローダー,OSの両方のソースコードをコンパイルできます.
■ 利用対象
以下のかたの利用を想定しています.開発環境の選択肢のひとつとして考えてみて
ください.
- 12ステップ本を始めてみたけど1stステップの環境構築ですでにハマッてしまって
いるひと.
- 12ステップ本の内容を面倒な準備作業無しでパッと試してみたいひと.
- 普段は開発用PCを利用しているが,出先などでも暇を見て開発したいひと.
- ネットブックなど,非力なPC環境でも開発したいひと.
■ 使いかた
非常に簡単です.まずはユーザ登録しますので,以下を坂井までメールください.
坂井のメールアドレスはこのページの一番下にあります.
- お名前(ハンドル名でもいいです),自己紹介など
- メールアドレス
- ニックネーム(webサーバUP時のファイル名の区別用)
※ 当初はサーバへの登録無しで動作させようかと思っていたのですが,メール送信の
踏台にされる可能性があるため登録制とします.このため返信用のメールアドレスを
必ずご連絡ください.返信用メールアドレスに対して坂井が返信し登録作業を行う
という,手作業認証システムです(^^).
→ メール返信でなくwebサーバへのUPに動作変更したため状況が変わりましたが,
最低限の認証はしたいということで,上記仕様はそのままとします.
登録後,折り返し返信します.返信時にパスワードを通知します.
パスワードはユーザごとに,こちらで適当に設定します.
一旦登録すれば,あとは以下の手順でサーバにメールを送るだけです.
- ブートローダーの場合は,bootload というフォルダにソースコード一式を格納し,
bootload フォルダ以下を bootload.zip というファイル名で圧縮してください.
(解凍したときに bootload というフォルダができてさらにそれ以下に *.c が
作成されるように,フォルダ本体を含む形で圧縮してください)
OSの場合は同様に,osというフォルダ名で os.zip というファイル名で圧縮して
ください.
- 圧縮したファイルをメール添付して build[アットマーク]kozos.jp に送信して
ください.
件名(Subject)にはパスワードをそのまま記述してください.
- コンパイル結果がhttp://kozos.jp/books/makeos/mailbuild/にUPされますので,ダウンロードしてください.
ファイル名は <ニックネーム>_bootload.zip, <ニックネーム>_os.zip
のようになります.古いファイルは上書きされます.
■ 免責
- 本サービスは利用者の責任の下で利用してください.本サービスの利用によって
問題や損害など発生したとしても,サービスの提供側は一切の責任を負いません.
- 本サービスは筆者の坂井が個人レベルで行っているものです.できる範囲で
サポートしていきたいとは思いますが,個別の要望に対応しきれなかったり,
予告無く利用不可になったり,不測の自体が発生するかもしれません.
また要望に必ずお応えするとも限りません.ご了承ください.
- 本サービスを本来の目的以外には利用しないでください.また通常の常識的な
利用を逸脱した利用はしないでください.(大量のリクエストを投げつけるなど)
■ 利用上の注意
以下に注意してください.
- 「build[アットマーク]kozos.jp」のアドレスをネット上で(ブログやtwitterなど
で)不用意に書くことは避けてください.とくに[アットマーク]を@に変更した
本来のメールアドレスで書くことは避けてください.
というのはそれでSPAMメールが来るようになると,いろいろ面倒でイヤだから
です.
ただしこのようなサービスがあることを紹介していただけるのは大歓迎ですので,
それは遠慮しなくて構いません.メールアドレスをそのまま書かないでね,という
ことです.
- メールサーバによっては ld.scr を実行ファイルと勘違いして,メールを通さない
という仕様のものがあるようです(拡張子がまずいのだと思われる).
この場合,「ld.scr」を「ldscr.txt」という名前に変更して利用してください.
(リンカスクリプトは上記どちらの名前でもビルドできるようにしてあります)
- コンパイル結果はwebサーバにUPという性質上,他の人もダウンロードできて
しまいます.ライセンス的に公開不可のファイルなどを含まないように注意して
ください.
- ビルド結果の公開用ディレクトリは,定期的に掃除します.
- セキュリティには注意してサービス作成していますが,
「これってまずいんじゃないの」的なものがあれば即サービス中止しますので
ご連絡ください.
- 以下のものは処理が行われません.(大量メール受信の対策です)
- 同一アドレスから短い時間内に連続でメールが来た場合
- 巨大メールの場合
- ToやSubjectの相違などのために処理が行われなかった場合,エラーメールの
返信などは行われません.(メール廃棄されるだけです)
- OSとブートローダーの両方が添付された場合,ブートローダーのみしかコンパイル
されません.
- Makefileは添付されたものは利用されません.このためMakefileを編集して
(たとえば最適化オプションなどを変更して)ビルドするようなことはできません.
これはユーザ側で勝手なコマンドを実行できるようにすることはセキュリティ上
問題があるからです.
- 将来的にSPAMがひどくなった場合には,メールアドレスの変更など,なんらかの
対策を行うかもしれません.その場合は本ページで告知します.
- 本来の用途と異なる利用をしていたり悪質な利用をしていた場合には,事前連絡
無く登録抹消など行うかもしれません.
■ フラッシュROMへの書き込みについて
フラッシュROMへの書き込みにはh8writeが必要ですので,そっちはPCにインストール
する必要があります.詳しくは12ステップ本の1stステップを参照してください.
なので,まったく環境構築せずに済むというわけではないです.
ですが,以下でコンパイル済みの実行形式が配布されています.(できることならば
ソースから自前でコンパイルしたものを利用したほうがいいとは思いますが)
またマイコンボードの添付CD-ROMにも,コンパイル済みの実行形式が添付されて
います.さらにFDTなどの別ツールを利用するという選択肢もあります.
フラッシュROMの書き込みにはこれらを利用して,ビルドにはコンパイルサーバを
利用するようにすれば,開発環境構築の手間はほとんどかからなくなります.
■ 最後にちょっと読んでね
本サービスはまあ基本的には自由に使っちゃって構いませんが,なるべくなら自前の
PCでの開発をおすすめします.
組込み開発のひとつの敷居というか難しさは,開発環境構築にあります.これは実務
でも問題になりがちです.
ふつうの書籍ではこのような土台作業の部分は「OS開発の本質ではない」として,
開発環境を限定したりインストールCDを添付することで隠してしまいます.しかし
12ステップ本では,このような土台作業こそ初心者に説明が必要という考えで,
あえて開発環境構築から,それも組込みでは一番オーソドックスでつぶしがきく
binutils+gccのクロスビルド方法から説明してあります.
そして,ユーザ側でいろいろな環境を選べるように説明しています.
なのでできることならば,やはり1stステップの手順で自前のPCに開発環境を構築
することをおすすめします.それもひとつの勉強だからです.
今回このようなサーバを構築したのは,それでも初心者の方が開発環境作りで
つまづいてしまったときに,結局そこから何も進められなくてモチベーションが
下がってしまうという状況をなんとか助けたいというのが目的です.
せっかく組込みOSに興味を持った入門者のかたが,それが原因になって入口で
引き返してしまうのはもったいないと思うからです.
なのでこれは「コンパイルサーバを使えば開発環境を構築しなくても済むよ.
だからみんな環境構築なんてせずに,サーバを使おうね」ということではなく,
初心者がつまずいたときの代替手段なのです.
なので初期のうちはサーバ利用でも構いませんが,なるべくならばひと段落したところ
でもう一度1stステップを読みかえして,自前PCでの環境構築に再挑戦することを
やはりおすすめします.
最近はクラウド上で開発できるような環境もあり便利でいいとは思いますが,便利な
ものを使うだけでなく,やはり土台となる作業を自分でやることは勉強としてとても
大切だと思います.
とはいっても,使うことを遠慮したりする必要はないです.ガンガン使っちゃって
ください.
メールは kozos(アットマーク)kozos.jp まで