パスワードを忘れた? アカウント作成
4911 story

iPodでLinux 38

ストーリー by yoosee
あらゆるデバイスにLinuxは進む 部門より

limbo曰く、"本家でも報じられているが、iPodにLinuxが移植された。現在のところ、フレームバッファ機能、オーディオ(44.1MHz、16ビットのリトルエンディアン)、ttyインターフェイス経由のボタンによる制御、HDDのサポート、FAT(とUMSDOS)ファイルシステムのサポートができる。将来的にはスクロールホイールによる入力、FireWireやバッテリ管理、HFS+のサポート実現を目指す。移植されたのはuClinuxで、これはMMUを持たない機器用のカーネルらしい。挑戦者を求む。開発者によれば、このプロジェクトの主な動機は「そこにあるから」だそうな。NetBSDの猛者たちも負けるな!"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 対応機種の多さを誇るNetBSDですが、あれはそもそも、MMUによる
    メモリ保護(プロテクトモード)のないCPUで動くようなものなんでしょうか。

    # というか、多分動かない(W
    # H8マイコンでも動かせるLinuxはあるが、NetBSDは無いでしょ。
    # SH-2 以下で動くNetBSDも聞いた事がない。

    μCLinuxってのは基本的にfork()(プロセス)じゃなくて、clone()(スレッド)だけで
    プログラムを並列動作させています。
    (だからサーバとかのプログラムは多くの場合、書き換え必須)

    プロセスを廃し、全部スレッドで扱うから、MMUがなくても大丈夫、
    全て共有メモリ空間で動くから問題ないというシロモノだったはず。
    要するに、アドレス変換&メモリ保護の機能がないので…。

    まぁ、無理すれば「MMUエミュレータをソフトウェアで載せる」という方法も考えられないことはないので、「何が何でも絶対不可能」とまでは言いませんけど、
    「μCLinuxは本家のLinuxともかなり動作が違っていて特殊である」
    ということぐらいは分かって欲しいと思いますね。
    • uClinux H8/300版をハックしてます。
      なんか誤解がある様なので。

      >μCLinuxってのは基本的にfork()(プロセス)じゃなくて、clone()(スレッド)だけで
      >プログラムを並列動作させています。
      >(だからサーバとかのプログラムは多くの場合、書き換え必須)
      >
      >プロセスを廃し、全部スレッドで扱うから、MMUがなくても大丈夫、
      >全て共有メモリ空間で動くから問題ないというシロモノだったはず。
      >要するに、アドレス変換&メモリ保護の機能がないので…。

      プロセスもちゃんとあります。
      親子が同じメモリ空間を共有する事は出来ないのでvforkしか実装されていませんが、
      プロセス管理の違いは、その一点だけです。
      forkして複数の要求を処理する事は不可能なので、そういったプログラムを動かそうと
      思ったら、修正が必要になります。

      >まぁ、無理すれば「MMUエミュレータをソフトウェアで載せる」という方法も考えられないことはないので、「何が何でも絶対
      >不可能」とまでは言いませんけど、
      >「μCLinuxは本家のLinuxともかなり動作が違っていて特殊である」
      >ということぐらいは分かって欲しいと思いますね。

      そこまでの違いはないと思っています。
      システムコールも、libcも普通のLinuxと大差ありません。
      親コメント
      • よく理解できていないので、教えてください。

        fork は MMU が無いと きちんと実現できない、
        vfork は fork が無くても、 clone を使って実現できる。

        だから

        > 「μCLinuxは本家のLinuxともかなり動作が違っていて特殊である」

        > forkして複数の要求を処理する事は不可能なので、そういったプログラムを動かそうと
        > 思ったら、修正が必要になります。

        という話になると思うのです。間違っていますか?

        # kernel/fork.c あたりを読めば解るんでしょうけど、時間が…
        親コメント
        • >kernel/fork.c あたりを読めば解るんでしょうけど、時間が…

          このへんの理解はマニュアルでもかなり得られますよ。
          man vfork してみて下さい。

          >vfork は fork が無くても、 clone を使って実現できる。

          vfork()ってのは、実行した親プロセスが子プロセスの終了まで
          停止するんです…。

          clone()の特殊な場合だと書かれていますが、要するに
          シングルタスクのMSDOSで、子プロセスを作ってるみたいな感じ。

          これは本来、fork()してすぐexec()するプログラムの
          パフォーマンスを上げるために用いていた手法です。

          Linuxのマニュアルを引けばわかりますが、
          この関数は「過去の亡霊」とまで言われています…。
          親コメント
        • cloneとvforkは関係ないでしょう。
          vforkにしても、メモリを共有している間親が止められる以外は、普通のforkと同じですし。
          (実装はほとんど共通だし)

          この違いだけで「かなり動作が違っていて特殊」と言うのはちょっと大げさでは…と思います。
          親コメント
        • by Anonymous Coward on 2003年02月05日 17時06分 (#251672)
          細工すれば、MMU がなくても fork できます。

          しかしながら、MMU がないマシンで fork しようと思うと、
          すべてのアドレスをリロケート可能な形で保持する必要があるので、
          コンパイラのサポートが必要になります。

          # データポインタが動的にリロケートされるので、
          # PIC 程度では足りません。
          # デマンドページングなんて贅沢なことは言わないので、
          # 原始的な MMU でもあれば違うんですけどね。
          # (セグメントレジスタ程度でよい)

          vfork の場合、子が execve するまでは親の動作がブロックするので、
          その隙に子がすぐに execve してしまえば、そこで新しいメモリマップが
          生成されるため、静的なリロケーションか PIC で十分です。

          ただ、vfork を用意するくらいなら、最初から spawn システムコールを
          用意したほうがよい、という話もあります。
          親コメント
    • by Anonymous Coward on 2003年02月05日 14時11分 (#251574)
      > 対応機種の多さを誇るNetBSDですが、あれはそもそも、MMUによる
      > メモリ保護(プロテクトモード)のないCPUで動くようなものなんでしょうか。

      いまのところ動きません。

      > 「μCLinuxは本家のLinuxともかなり動作が違っていて特殊である」
      > ということぐらいは分かって欲しいと思いますね。

      とはいえ、linux の VM まわりとその周辺だけを差し替える作りで、
      linux カーネルの本体はほとんどありのままの形で生かされてるので、
      ユーザランドからの見た目ほど内部は特殊でもないでしょう。

      NetBSD でも、おんなじ方法で UVM を stub に差し替えるだけで
      比較的簡単にできるとは思うし、実際この手の話題は向こうの ML で
      たまに見かけますが、いまだに実現はされてません。
      # Wasabi の連中いわく、「仕事がくればやる」そうで。
      親コメント
    • 残ったのは Linux という名前だけか。
  • よっしゃ (スコア:3, 参考になる)

    by oltio (3848) on 2003年02月05日 12時26分 (#251509) 日記
    /.で記事を見付けて、すぐにダウンロード、しようと思ったのだけど
    その前にuLinuxのクロス開発環境を整えるのが先決だと思ったので、
    ノート抱えて回線の太いところへ移動中。

    本家記事でも「何のために?」というコメントが多発しているが、
    そんな貴方はiPodを使った事が無いに違いない!!アルバムを選ぶと
    2曲目から再生する、電池残量表示はいい加減(ファームを1.2.1に
    したのに)、iTunesDBの形式はまだ謎が多いし、Windows版について
    くるMusicMatchは悪夢のようなインターフェース。これらを捨てて
    自分達でソフトウェアを作り直せるのならこんな素晴しい事はない!!

    ついでにいろいろとオマケアプリを作ってみたい気もする。
    あのダイヤルとボタンでPOBox使った日本語入力なんてどうですかね。
    #昔似たような閲覧専用端末に実装しようとしていた事もありましたね。
    • Re:よっしゃ (スコア:2, 参考になる)

      by Anonymous Coward on 2003年02月05日 13時06分 (#251542)
      選ぶときに揺らさないようにすると1曲目から再生されますよ。

      電池残量はかなりあいまいですね。
      一時期、数秒しか電池が持たなかったけど、リストアをしたら直って普通に使える。
      親コメント
    • by eligh (5028) on 2003年02月05日 15時46分 (#251625) 日記
      単にMP3転送ならK/Ki [asahi-net.or.jp]を使っています。
      作者さんが2chのiPod Utility Hacker's Thread [2ch.net]でユーザーの要望を聞きながら制作してくれていたので、MMに比べると非常に使い勝手が良く、MM捨てても問題なくiPod生活を堪能できています。
      環境によっては若干動作が不安定だったりしますが、自分の環境ではMP3転送やプレイリスト作成など問題なく行えています。

      個人的にはvCardの入力がiPodで出来るとさらに便利なツールになるんですが…。
      日本語入力は良いですね…誰かチャレンジャーはいないだろうか。
      親コメント
      • by oltio (3848) on 2003年02月05日 16時55分 (#251666) 日記
        私はおととい見付けたgtkpod [sourceforge.net]の
        バグ出しをやってます。0.41だと、私のiTunesDBではうまく動かず、とりあえず
        原因はわかったので、たった今作者にメール出したところです。

        他のコメントにも書いたNeuros [neurosaudio.com]は
        OSからオープンになるらしいのですが、やっぱりこういう方が有難い。
        親コメント
    • by gy0 (3393) on 2003年02月05日 15時24分 (#251609) 日記
      コレでogg vorbisに対応できないかな。
      --
      gy0
      親コメント
    • by posikov (10827) on 2003年02月05日 19時59分 (#251757) 日記
      同じくWin版を購入したものの,MMの使い勝手の悪さに腹を立て
      iBookをごにょごにょっと入手してOS XのiTunesを使って同期
      してます.iTunesの使い勝手はいいし,WindowsでもMac OS X
      でもハードディスクとして使えるし,これが最強の環境かもと
      悦に入っております.
      親コメント
    • by Anonymous Coward
      > 本家記事でも「何のために?」というコメントが多発しているが、
      > そんな貴方はiPodを使った事が無いに違いない!!アルバムを選ぶと

      Mac版はそんなことないと思うんですが、Win版だけなんでしょうか?
      • Re:よっしゃ (スコア:3, 参考になる)

        by oltio (3848) on 2003年02月05日 16時47分 (#251663) 日記
        Googleで調べたり周りのiPod持ちに聞いてみたりしているのですが、
        個体差が結構あるようです。Mac版でも困っている人がいるみたい。
        あと、リモコンの差し込み口が緩みやすくてすぐリモコンが使えなく
        なるとか、被覆が外れて中の線がむきだしになってしまったとか、
        ハードウェアよりの不満もあって、そろそろ他のデバイスにSwitch
        したいなーと思ってます。

        #はやくNeuros [neurosaudio.com]出ないかな…
        親コメント
        • by Anonymous Coward
          そんな所で電波を撒き散らさないで下さいっ!(笑

          #うちの旧10GB版iPodは元気ですよぉ。
        • by Anonymous Coward
          リモコンの端子は、基板にまともにハンダ付けされていません。
          差し込んだヘッドホンジャックが緩くグラグラしていたり、
          ジャックを動かすと音が途切れたりするようならば、疑いがあります。
          その場合でも、半田をつけ直せば、問題なく使えます。
  • by 5121 (13129) on 2003年02月05日 10時13分 (#251420)
    iPodの元のOS(Pixo社)の方が気になるなぁ。
    カーネルも独自のものに置き換えられるみたいだし…
    青二才ので無知なのですが、こういうOSって結構他にもあるんでしょうか?

    MacWIREの記事 [zdnet.co.jp]
  • by eah (11638) on 2003年02月05日 23時39分 (#251949) ホームページ 日記
    P/ECE [piece-me.com]に移植だ!

    #フラッシュRAMが512KBじゃ無理か・・・
  • by Anonymous Coward on 2003年02月05日 9時48分 (#251406)
    歩いている道があるので気にならないって感じ。
    Linux界の皆さん、末永くお幸せに。

    ところで、そこにあるから、という動機はハッキングの王道ですよね。
    まだまだこの世界も捨てたものではない、と思いました。
    • > 歩いている道があるので気にならないって感じ。
      これどういう意味?
      • 歩いている道が(別に)ある、ということでしょう。ようするに、それぞれやることがあるってことで。

        タレコミ者ですが、決してBSDとLinuxの優劣やらなにやらでフレームを煽っているつもりはありません。NetBSD云々は、移植といえばNetBSDという良くも悪くもステレオタイプな見方から冗談を言ったまでのこと。勝ち負けといっても、誰が判定するわけでもないのでシリアスに受け取らないでくださいな。

        シリアスに受け取ってハッキングに精を出すならいいんですが。
        親コメント
        • どうでもいいですが、最後の一行が相手をバカにしていて微妙に気に食わない。

          書き手がステレオタイプな冗談のつもりだからと言って別に無神経な発言が不快でなくなるわけではありませんが、こういった発言をシリアスに受け止めることも内部の者であれば当然のことです。

          変な言い訳しない方が潔かったな。
    • > 歩いている道があるので気にならないって感じ。

      まあまあ。タレこんだ人は皮肉のつもりではないのでしょう。

      私は no-MMU で NetBSD が動かないのは、
      uCLinux の存在とは関係なしに、
      昔からちょっとだけ悔しいと思ってるんだよなぁ。
      割と簡単にできるとは思うんだけど……。
      • by G7 (3009) on 2003年02月08日 13時42分 (#254169)
        >割と簡単にできるとは思うんだけど……。

        よだれを垂らして待ち焦がれても宜しいでしょうか?(^^;

        #MMU周りがHotSpot(改造されまくるだろうと想定して設計した個所)として想定されてるかどうかも知らない厨なのでG7
        親コメント
  • by Anonymous Coward on 2003年02月05日 12時14分 (#251504)
    dupe と言われているけれども、真実はどっちなの?
  • by Anonymous Coward on 2003年02月05日 16時31分 (#251650)
    タレコミ文の
       44.1Mhz/16bit、本当なら凄いほしい。。。。

    ソフトウエア無線機!(もうちょっとがんばれば6m)
    • by Anonymous Coward
      したのみと思われ。
      • by Anonymous Coward
        何のことかわからないで翻訳してそのまま投稿かい。
        それならBSD氏の日記の方が上かと思われ。
    • fs=44.1MHzだと人の耳には酷ですね...
      そうだ、きっとDSDの次世代フォーマットだ!(違

      #定理通り考えると21MHz帯より下になりますね。
      • by G7 (3009) on 2003年02月08日 13時53分 (#254178)
        >人の耳には酷

        あれ?サンプリング周波数そのものは、なんぼ高くても良いのでは?
        人間に意味のないほど(笑)音質が良くなるだけで。

        一方、サンプリング地のMHzな"音"は、フィルタする(あるいは自然にされる)から、どうせ聞こえないよね?

        ええと。こーゆーのもオーバーサンプリングっていうんでしたっけ?(^^;
        1000倍オーバーサンプリングですか…嫌だなー嫌だなー…
        親コメント
    • マイクロプロセッサのスペックじゃないの?
  • by Anonymous Coward on 2003年02月05日 17時38分 (#251691)
    iPod欲しくなるなぁ・・・。
typodupeerror

人生unstable -- あるハッカー

読み込み中...