iPodでLinux 38
ストーリー by yoosee
あらゆるデバイスにLinuxは進む 部門より
あらゆるデバイスにLinuxは進む 部門より
limbo曰く、"本家でも報じられているが、iPodにLinuxが移植された。現在のところ、フレームバッファ機能、オーディオ(44.1MHz、16ビットのリトルエンディアン)、ttyインターフェイス経由のボタンによる制御、HDDのサポート、FAT(とUMSDOS)ファイルシステムのサポートができる。将来的にはスクロールホイールによる入力、FireWireやバッテリ管理、HFS+のサポート実現を目指す。移植されたのはuClinuxで、これはMMUを持たない機器用のカーネルらしい。挑戦者を求む。開発者によれば、このプロジェクトの主な動機は「そこにあるから」だそうな。NetBSDの猛者たちも負けるな!"
NetBSDって…移植できるのか? (スコア:4, 興味深い)
メモリ保護(プロテクトモード)のないCPUで動くようなものなんでしょうか。
# というか、多分動かない(W
# H8マイコンでも動かせるLinuxはあるが、NetBSDは無いでしょ。
# SH-2 以下で動くNetBSDも聞いた事がない。
μCLinuxってのは基本的にfork()(プロセス)じゃなくて、clone()(スレッド)だけで
プログラムを並列動作させています。
(だからサーバとかのプログラムは多くの場合、書き換え必須)
プロセスを廃し、全部スレッドで扱うから、MMUがなくても大丈夫、
全て共有メモリ空間で動くから問題ないというシロモノだったはず。
要するに、アドレス変換&メモリ保護の機能がないので…。
まぁ、無理すれば「MMUエミュレータをソフトウェアで載せる」という方法も考えられないことはないので、「何が何でも絶対不可能」とまでは言いませんけど、
「μCLinuxは本家のLinuxともかなり動作が違っていて特殊である」
ということぐらいは分かって欲しいと思いますね。
Re:NetBSDって…移植できるのか? (スコア:5, 参考になる)
なんか誤解がある様なので。
>μCLinuxってのは基本的にfork()(プロセス)じゃなくて、clone()(スレッド)だけで
>プログラムを並列動作させています。
>(だからサーバとかのプログラムは多くの場合、書き換え必須)
>
>プロセスを廃し、全部スレッドで扱うから、MMUがなくても大丈夫、
>全て共有メモリ空間で動くから問題ないというシロモノだったはず。
>要するに、アドレス変換&メモリ保護の機能がないので…。
プロセスもちゃんとあります。
親子が同じメモリ空間を共有する事は出来ないのでvforkしか実装されていませんが、
プロセス管理の違いは、その一点だけです。
forkして複数の要求を処理する事は不可能なので、そういったプログラムを動かそうと
思ったら、修正が必要になります。
>まぁ、無理すれば「MMUエミュレータをソフトウェアで載せる」という方法も考えられないことはないので、「何が何でも絶対
>不可能」とまでは言いませんけど、
>「μCLinuxは本家のLinuxともかなり動作が違っていて特殊である」
>ということぐらいは分かって欲しいと思いますね。
そこまでの違いはないと思っています。
システムコールも、libcも普通のLinuxと大差ありません。
Re:NetBSDって…移植できるのか? (スコア:1)
fork は MMU が無いと きちんと実現できない、
vfork は fork が無くても、 clone を使って実現できる。
だから
> 「μCLinuxは本家のLinuxともかなり動作が違っていて特殊である」
> forkして複数の要求を処理する事は不可能なので、そういったプログラムを動かそうと
> 思ったら、修正が必要になります。
という話になると思うのです。間違っていますか?
# kernel/fork.c あたりを読めば解るんでしょうけど、時間が…
Re:NetBSDって…移植できるのか? (スコア:2, 興味深い)
このへんの理解はマニュアルでもかなり得られますよ。
man vfork してみて下さい。
>vfork は fork が無くても、 clone を使って実現できる。
vfork()ってのは、実行した親プロセスが子プロセスの終了まで
停止するんです…。
clone()の特殊な場合だと書かれていますが、要するに
シングルタスクのMSDOSで、子プロセスを作ってるみたいな感じ。
これは本来、fork()してすぐexec()するプログラムの
パフォーマンスを上げるために用いていた手法です。
Linuxのマニュアルを引けばわかりますが、
この関数は「過去の亡霊」とまで言われています…。
Re:NetBSDって…移植できるのか? (スコア:1)
vforkにしても、メモリを共有している間親が止められる以外は、普通のforkと同じですし。
(実装はほとんど共通だし)
この違いだけで「かなり動作が違っていて特殊」と言うのはちょっと大げさでは…と思います。
Re:NetBSDって…移植できるのか? (スコア:1, 参考になる)
戻ったと考えるのが適当ですな。
# NetBSD の vfork もパフォーマンス上の理由で先祖返りしてますけど。
Re:NetBSDって…移植できるのか? (スコア:1, 参考になる)
しかしながら、MMU がないマシンで fork しようと思うと、
すべてのアドレスをリロケート可能な形で保持する必要があるので、
コンパイラのサポートが必要になります。
# データポインタが動的にリロケートされるので、
# PIC 程度では足りません。
# デマンドページングなんて贅沢なことは言わないので、
# 原始的な MMU でもあれば違うんですけどね。
# (セグメントレジスタ程度でよい)
vfork の場合、子が execve するまでは親の動作がブロックするので、
その隙に子がすぐに execve してしまえば、そこで新しいメモリマップが
生成されるため、静的なリロケーションか PIC で十分です。
ただ、vfork を用意するくらいなら、最初から spawn システムコールを
用意したほうがよい、という話もあります。
Re:NetBSDって…移植できるのか? (スコア:2, 興味深い)
> メモリ保護(プロテクトモード)のないCPUで動くようなものなんでしょうか。
いまのところ動きません。
> 「μCLinuxは本家のLinuxともかなり動作が違っていて特殊である」
> ということぐらいは分かって欲しいと思いますね。
とはいえ、linux の VM まわりとその周辺だけを差し替える作りで、
linux カーネルの本体はほとんどありのままの形で生かされてるので、
ユーザランドからの見た目ほど内部は特殊でもないでしょう。
NetBSD でも、おんなじ方法で UVM を stub に差し替えるだけで
比較的簡単にできるとは思うし、実際この手の話題は向こうの ML で
たまに見かけますが、いまだに実現はされてません。
# Wasabi の連中いわく、「仕事がくればやる」そうで。
Re:NetBSDって…移植できるのか? (スコア:1)
それはユーザランドから見れば特殊だという意味ですね。やっぱり 名前だけか。
Re:NetBSDって…移植できるのか? (スコア:0, オフトピック)
よっしゃ (スコア:3, 参考になる)
その前にuLinuxのクロス開発環境を整えるのが先決だと思ったので、
ノート抱えて回線の太いところへ移動中。
本家記事でも「何のために?」というコメントが多発しているが、
そんな貴方はiPodを使った事が無いに違いない!!アルバムを選ぶと
2曲目から再生する、電池残量表示はいい加減(ファームを1.2.1に
したのに)、iTunesDBの形式はまだ謎が多いし、Windows版について
くるMusicMatchは悪夢のようなインターフェース。これらを捨てて
自分達でソフトウェアを作り直せるのならこんな素晴しい事はない!!
ついでにいろいろとオマケアプリを作ってみたい気もする。
あのダイヤルとボタンでPOBox使った日本語入力なんてどうですかね。
#昔似たような閲覧専用端末に実装しようとしていた事もありましたね。
Re:よっしゃ (スコア:2, 参考になる)
電池残量はかなりあいまいですね。
一時期、数秒しか電池が持たなかったけど、リストアをしたら直って普通に使える。
同じくWindows版ユーザーですが (スコア:2, 参考になる)
作者さんが2chのiPod Utility Hacker's Thread [2ch.net]でユーザーの要望を聞きながら制作してくれていたので、MMに比べると非常に使い勝手が良く、MM捨てても問題なくiPod生活を堪能できています。
環境によっては若干動作が不安定だったりしますが、自分の環境ではMP3転送やプレイリスト作成など問題なく行えています。
個人的にはvCardの入力がiPodで出来るとさらに便利なツールになるんですが…。
日本語入力は良いですね…誰かチャレンジャーはいないだろうか。
Re:同じくWindows版ユーザーですが (スコア:3, 参考になる)
バグ出しをやってます。0.41だと、私のiTunesDBではうまく動かず、とりあえず
原因はわかったので、たった今作者にメール出したところです。
他のコメントにも書いたNeuros [neurosaudio.com]は
OSからオープンになるらしいのですが、やっぱりこういう方が有難い。
ipod買う気はしないが (スコア:1)
gy0
Re:よっしゃ (スコア:1)
iBookをごにょごにょっと入手してOS XのiTunesを使って同期
してます.iTunesの使い勝手はいいし,WindowsでもMac OS X
でもハードディスクとして使えるし,これが最強の環境かもと
悦に入っております.
Re:よっしゃ (スコア:0)
> そんな貴方はiPodを使った事が無いに違いない!!アルバムを選ぶと
Mac版はそんなことないと思うんですが、Win版だけなんでしょうか?
Re:よっしゃ (スコア:3, 参考になる)
個体差が結構あるようです。Mac版でも困っている人がいるみたい。
あと、リモコンの差し込み口が緩みやすくてすぐリモコンが使えなく
なるとか、被覆が外れて中の線がむきだしになってしまったとか、
ハードウェアよりの不満もあって、そろそろ他のデバイスにSwitch
したいなーと思ってます。
#はやくNeuros [neurosaudio.com]出ないかな…
Re:よっしゃ (スコア:0)
#うちの旧10GB版iPodは元気ですよぉ。
リモコン不具合 (スコア:0)
差し込んだヘッドホンジャックが緩くグラグラしていたり、
ジャックを動かすと音が途切れたりするようならば、疑いがあります。
その場合でも、半田をつけ直せば、問題なく使えます。
僕はどちらかというと (スコア:1)
カーネルも独自のものに置き換えられるみたいだし…
青二才ので無知なのですが、こういうOSって結構他にもあるんでしょうか?
MacWIREの記事 [zdnet.co.jp]
じゃぁ次は (スコア:1)
#フラッシュRAMが512KBじゃ無理か・・・
負けるなっていうか・・・ (スコア:0)
Linux界の皆さん、末永くお幸せに。
ところで、そこにあるから、という動機はハッキングの王道ですよね。
まだまだこの世界も捨てたものではない、と思いました。
Re:負けるなっていうか・・・ (スコア:0)
これどういう意味?
Re:負けるなっていうか・・・ (スコア:1)
タレコミ者ですが、決してBSDとLinuxの優劣やらなにやらでフレームを煽っているつもりはありません。NetBSD云々は、移植といえばNetBSDという良くも悪くもステレオタイプな見方から冗談を言ったまでのこと。勝ち負けといっても、誰が判定するわけでもないのでシリアスに受け取らないでくださいな。
シリアスに受け取ってハッキングに精を出すならいいんですが。
Re:負けるなっていうか・・・ (スコア:0)
書き手がステレオタイプな冗談のつもりだからと言って別に無神経な発言が不快でなくなるわけではありませんが、こういった発言をシリアスに受け止めることも内部の者であれば当然のことです。
変な言い訳しない方が潔かったな。
Re:負けるなっていうか・・・ (スコア:0)
まあまあ。タレこんだ人は皮肉のつもりではないのでしょう。
私は no-MMU で NetBSD が動かないのは、
uCLinux の存在とは関係なしに、
昔からちょっとだけ悔しいと思ってるんだよなぁ。
割と簡単にできるとは思うんだけど……。
Re:負けるなっていうか・・・ (スコア:1)
よだれを垂らして待ち焦がれても宜しいでしょうか?(^^;
#MMU周りがHotSpot(改造されまくるだろうと想定して設計した個所)として想定されてるかどうかも知らない厨なのでG7
本家じゃ (スコア:0)
Re:本家じゃ (スコア:1)
duplicateの方であれば、少なくとも./Jでは初出です。
Re:本家じゃ (スコア:1)
タイプミスだと思うけど (スコア:0)
44.1Mhz/16bit、本当なら凄いほしい。。。。
ソフトウエア無線機!(もうちょっとがんばれば6m)
ソースを転載 (スコア:0)
Re:ソースを転載 (スコア:0)
それならBSD氏の日記の方が上かと思われ。
Re:タイプミスだと思うけど (スコア:0)
そうだ、きっとDSDの次世代フォーマットだ!(違
#定理通り考えると21MHz帯より下になりますね。
Re:タイプミスだと思うけど (スコア:1)
あれ?サンプリング周波数そのものは、なんぼ高くても良いのでは?
人間に意味のないほど(笑)音質が良くなるだけで。
一方、サンプリング地のMHzな"音"は、フィルタする(あるいは自然にされる)から、どうせ聞こえないよね?
ええと。こーゆーのもオーバーサンプリングっていうんでしたっけ?(^^;
1000倍オーバーサンプリングですか…嫌だなー嫌だなー…
リトルエンディアンだし (スコア:0)
こんなの見ると (スコア:0)