ARMマシンへのOSインストールをするための知識

このQ&Aのポイント
  • ARMマシンへのOSインストールについての基本的な知識や手法を学ぶ方法を教えてください。
  • 様々なARM系CPUを積んでるマシンにARM用のLinuxやFirefoxOSをインストールする方法について知りたいです。
  • クロスコンパイルや組み込み系の知識が必要なのか、どこから学べば良いのか具体的な情報が知りたいです。
回答を見る
  • ベストアンサー

ARMマシンへのOSインストールをするための知識

やりたいこととしては、様々なARM系CPUを積んでるマシン (スマートフォン~タブレットその他)にARM用のlinuxであるとかFirefoxOSであるとかを入れてみたいと言うのが内容です。 普通のPCに入れるのは問題なく、netwalkerやdynabookAZにも入れたりはしましたが、 記事など情報がある場合だけで、自分の力だけで入れるには程遠い状況です。 クロスコンパイルとか組み込み系の知識だとかなんとなくの感じは分かるのですが、 何をどう学べば良いのかという全体像が見えて来ません。 書籍かサイトでもいいので、どこを理解すればインストールしたり、もしくは 難しいとか判断できるようになるのでしょうか。 ちょっと漠然としてしまっているとは思うのですが、 方針だけでもいいので教えて下さい。

  • k_kota
  • お礼率79% (134/168)

質問者が選んだベストアンサー

  • ベストアンサー
  • vaidurya
  • ベストアンサー率45% (2714/5983)
回答No.3

私も、具体的なことは理解できませんが、おおむね、三つの要素があって 1.ストレージにOSを書き込む方法 2.ブートローダーの操作 3.起動に必要なデバイスドライバーの調達と組み込み 2は、自分でシステムディスクのイメージを作成するなら それなりに理解する必要があります。 NetWalkerへの、Ubuntu10.04LTS導入とか dynabookAZへのUbuntu12.10導入などは、公開されているイメージを書き込むことで 私も簡単に体験することができましたが、それ以上のことは私もわかりません。 ブートローダーやファームウェアに、デバッグモードなどのメンテナンス手段が提供されていて そのモードに切り替える方法が発見できれば 1の作業ができるし、そうでなければできないと考えていいでしょう。 NetWalkerにはリカバリー作業のための仕組みがあったので 標準のリカバリーイメージを解析した人が より新しいUbuntu用のリカバリーイメージを作ることができたと記憶しています。 これからは、ARM搭載のシステムに SATAのストレージを差し替えてOS入れ替えなんて場面は無いでしょうから そういった仕組みが見つからない機種、誰かが発見してくれなそうなマイナー機種では そうそう素人がいじれるものでは無いんだと思います。 Androidではu-bootを使ったものが多いか、あるいはすべてのようで 関連する情報は、そのへんから探す必要があるようです。 http://ja.wikipedia.org/wiki/Das_U-Boot 3は、既にドライバーが存在しているのに 自分が持っているAndroid端末に Ubuntu Phoneは導入できないのか?みたいな疑問は、私も持っています。 でも、クロスコンパイル環境を作るのがめんどうくさいし ソースさえ採ってくれば、必ずドライバーバイナリーが作れるわけでも無いでしょうし もともと、手軽で面倒くさいことが少ないからLinuxを使っているのに ARM化のために、そこまで手間をかける気分にはなれません。 まぁ、ステップとしては、この次はドライバーがあるけど、入っていないという状況への対応でしょう。 例えば、dynabookAZに、USB接続してもたぶんDisplayLinkのVGAアダプターは 動かないんじゃないかと思っています。 (HDMI付きモニターやTVも持っていないので、AZでマルチモニター運用は試したことがありません) だから、既存のディスクイメージを元に、DisplayLinkのドライバー入りのディスクイメージを作ったり 最新カーネル化を自分でやったりするところからじゃないかと思います。 すでに起動しているシステムなら、そこでmakeしてもいいんですけど あえて、クロスコンパイルでやるという体験で、経験値を稼ぐべきだと思います。 (でもAZ用Ubuntuイメージって、WacomとかUSB UVCとか、たいていのドライバーは入っています) それができるようになれば、次は、グラフィックドライバーやサウンドドライバーが カーネルツリーに組み込まれていないような機種を相手にしたり… ディスクイメージを書き込む手段が公表されていない機種を相手に その手段を模索したりなんてことになるんだと思います。 AZも、せめて1280x800液晶で、駆動時間がもっと長ければ実用的なんですけどね。 ARM+デスクトップLinuxという組み合わせで、一般人が理解し欲しくなるほど 画期的に魅力的なものは、未だ無いなぁと思っています。 なるほど、セキュアUEFIがゴリ押しされた理由はここにあったのかと orz まぁ、そういう開発を目的にしている集団を探して そこのMLなどに参加するといいんじゃないかと思います。 インターネットのコアな開発者は、ウェブ以前からインターネットを使ってきた人も多いから 掲示板などのWeb媒体ではなく、MLやNetNewsに巣食っているイメージがあります。 必然的に、英語力も必要になるとは思いますけどね。 注:「UUCPすげぇ」とか「WHIPももっと流行らないのかなぁ」とか言ってた年寄りの持つ偏見です

k_kota
質問者

お礼

いろいろ情報ありがとうございます。 動くイメージがあるものについても自分でコンパイルからやるのはよいかもしれませんね。 ブートのところとデバイスドライバあたりがやらないと行けないところでしょうかね。

その他の回答 (2)

回答No.2

まずは、ドライバを自分で開発できるようにならないとね。 自分で入れたい端末用の各種ドライバで無いものを自前で開発できるようにならないとね。

k_kota
質問者

お礼

ドライバですか、確かにそこら辺は必要になりそうですのでまずやるのにはよいかもしれませんね。 その次は何になりますでしょうか。

  • wormhole
  • ベストアンサー率28% (1619/5654)
回答No.1

直接的な回答ではないと思いますが http://jp.rs-online.com/web/generalDisplay.html?id=raspberrypi この辺をいじって勉強してみるのはどうでしょうか。

k_kota
質問者

お礼

回答ありがとうございます。 実は既に購入済でして、SDカード待ちの状態です。 どういじるといいでしょうかね。

関連するQ&A

  • arm-linux-gdbをMeadowで使う方法ありますか?

    Cを書くのに、GDB + Meadowを使い始めました。 今回、arm-linux-gccで、組込み用のプログラムをクロスコンパイルしています。そこで、M-x gdbのような感じで、arm-linux-gdbをMeadow上で使うことはできますでしょうか?(例えば、M-x arm-linux-gdb みたいな)やり方、もしくは、参考になるサイトがあればお教えください。 ちなみに、現段階では、gdbserverをターゲットに置いて、arm-linux-gdbをCygwin上から直接起動してデバッグすることには成功しております。Cygwin暦はそれなりにあるのですが、emacs関連の知識は最近始めたばかりで、ほぼ初心者レベルです。よろしくお願いいたします。

  • AMD APUマシンへのインストールで画面がブラン

    新しくマシンを購入しまして、LINUXを入れようとしましたがうまく行っていません。 状態としては ・インストールメディアはある ・正常に読み込んでインストールを開始するか選択する画面も出る ・インストールする画面を選択するとディスプレイへの信号が止まる と言う状態です。 おそらくドライバ関連かと思うのですが、対策の基本方針が分かりません。 入れられるLINUX、もしくは入れる方法、対処方法のヒントが欲しいです。 その他の情報です。 CPU AMD A4-3300 M/B F1A55-M メモリ 8G ノーブランドでは無くmemtestも問題無し BIOSとかmemtestでは画面は問題無し。 インストールしようとしたのはlinux mintとarchlinuxです。 とりあえずUbuntuで切り分けする方がよいのでしょうか。 ちなみに別で持っているPC(core2)については普通に動きます。 自分でも引き続き調べてみますが、何かあれば教えてください。

  • 組み込みLinuxのmakeについて

    現在、組み込みlinuxの開発をいるのですが 今までWindowsアプリケーションしかやっていなかった為 勉強しながら作業をしております。 質問なのですが クロス環境で実行ファイルを作成する場合、コンパイル・リンクオプションで どの様な指定が必要なのでしょうか? お手数をおかけしますが、アドバイスを頂けないでしょうか。 評価ボード :NTNP425B (Intel IXP425) 開発マシンOS:RedHatLinux 9 ------ 私が指定したのは以下のオプションですが これをターゲット上で実行すると「segmentation fault」が発生します。 arm-linux-gcc -t -I/usr/local/arm-linux/include -mcpu=xscale -mtune=xscale -mbig-endian -I/usr/local/arm-linux/include -c sample.c arm-linux-ld -EB -nostdlib -o sample sample.o arm-linux-ld: warning: cannot find entry symbol _start; defaulting to 00008074 ※至急回答がほしい為、マルチポストをしていますがお許し下さい。

  • SunのWorkshop5.0でコンパイルしたソースはWorkshop6.0でコンパイルしたマシンで動作しますか。

    SunのWorkshop5.0でコンパイルしたソースはWorkshop6.0でコンパイルしたマシンで動作しますか。 どなたかSunのWorkshop5.0 とWorkshop6.0のコンパイラの差異を教えてください。 Web上で調べてみた結果あまり大差がないように思えたのですが。。 Workshop6.0で作成したシステムがあるのですが、Workshop6.0のライセンスを紛失してしまいました。Workshop5.0はライセンス・メディア共にあるので、新しく作ったソースはWorkshop5.0でコンパイルしようと考えているのですが、うまく動作するかわかりません。もし、Workshop5.0でコンパイルしたソースがWorkshop6.0で動作しない場合、最悪、Workshop5.0でシステム全体をmake allしなくてはならないのかと考えていますが、かなりの作業ボリュームになるためできるだけ避けたいと思っています。 月曜日までに方針を決めなければならないので、どなたかご存知の方ご教示いただけませんか。 よろしくお願いします。

  • ARM Macより安定したWindowsが安心?

    MacのCPUアーキテクチャが変わる件で質問です。 ・ARM Macより安定したWindows選ぶべきでしょうか? ・最後のIntel Macは貴重になる等価値が高くなるもので、買っておくべきでしょうか? 以下、認識や前提条件などについて参考まで。 最後に2点質問があります。 Appleは収益力の大きいiPhone、iPad等に力を入れ、収益への貢献度が下がっているMacOSは今後積極的に攻めない又は改悪が続くと思っています。 長期的には、どうしてもMacOSでないと出来ないことをしたい場合以外は、Windowsをメイン環境にするのが良いと考えています。 これまでのWindowsの強みである「互換性を守る方針」に守られ、 頻繁なCPUアーキテクチャ変更ごとに有料ソフト買い直しもなく、 開発者であれば開発環境を安定して保持できると思います。 ただ、MSも収益の柱がクラウドのAzure等OSの外に移ってきているように思い、Windowsへの投資を減らしていく方向にないか心配はあります。 一部ではWSLにはじまり、Linuxとの融合が進んでいく見方もあるようです。 1.この状況で、今後あなたがWeb系のフルスタック開発を行う方針の場合、末長く安定して開発(Apple関連の開発はしないものとする)ができるOSを選ぶとしたらメイン環境としてはどのOSを選択しますか? 2.今の成熟しきったIntel Macは、PC買い替えを検討していて上記条件に当てはまる場合「買い」と思いますか?(今後のARM版Mac新製品で多少の混乱を想定した場合) ・今の環境で事足りてる場合、たとえ買いであっても手を出さず、新型を様子見で問題ないと思いますが、見解に相違ありましたらご意見お聞かせください。

    • 締切済み
    • Mac
  • BerryLinuxのインストール

    BerryLinuxはなかなかかわいいデザインで気に入りました。しかし問題がいくつかあります。まず全体的な動作が遅いです。CDから起動してるからしょうがないでしょうけど・・・。あとPCカードの無線LANが使えなくてネットができません。この無線LANカードとプリンターのドライバはともにウィンドウズ用なのですが使えるでしょうか?あとこのBerryLinuxをもうCD起動からじゃなくてHDから起動にしたいのですがどうすればできるでしょうか? プリンターや無線LAN使えるならLinuxマシンにしたいです。できないなら98とLinuxどっちも入れたいです。←はとても難しいと聞きました。これについては書いてあるサイトでも教えていただければよいのですが・・・・・。 このパソコンのスペックでBerryLinuxは大丈夫でしょうか? OS:ウィンドウズ98 CPU:セレロン433Mhz メモリ:192MB NECのラヴィNXです。

  • cygwinでクロスコンパイル環境の構築

    最新のcygwinをインストールしました、 (basicとgccを選択しインストールしました)。 CPUがARM9のクロスコンパイル環境を作成したいのですが、どなたかコンパイル方法を教えていただけないでしょうか? ARM7のコンパイル方法は以下のURLにあります http://www.tobysoft.net/wiki/index.php?Cygwin%2F%A5%AF%A5%ED%A5%B9%A5%B3%A5%F3%A5%D1%A5%A4%A5%EB%B4%C4%B6%AD%A4%CE%B9%BD%C3%DB#w4ed454e

  • Docker技術だと特定アプリに複数アクセス可能?

    LinuxのDockerという技術の全体像がよくわかりません。 たとえば、Linuxサーバー上のWebブラウザに複数ユーザーがそれぞれ独立してアクセスできるということでしょうか? サーバー上にある特定のプログラム(実際にはWebブラウザです)だけ複数ユーザーで使いたい場合に仮想マシンをその数だけ用意する必要がない方法を探しています。

  • windows上のlinux環境の比較

    私は仕事でサーバー上で動作するlinuxのソフトを開発している者ですが、サーバー上でコンパイル、実行するまえに自分のPCでテストをすることがあります。自分のPCはWindowsでして、これまで cygwin を使ってテストしていました。しかし、cygwinはかなりlinuxと違うところがあり、今、colinuxとか、仮想マシンで動くlinuxを考えております。この種のソフトの長所、短所を比較した記事は無いでしょうか? あるいは体験談をお聞かせ願えればうれしいです。

  • 玄箱PRO用gdbのクロスコンパイル

    現在、玄箱PROを使って勉強をしています。 なお、勉強するにあたって Debian化によるコンパイル環境は玄箱に入れない(組み込み開発の勉強をしているので) としています。 gdbを玄箱にインストールしようと思っているのですが、途中でエラーが出てしまいます。 エラーを解消するために調べてみたのですが、解消のための方法をまねしてもうまくいきませんでした。 クロスコンパイルの知識のある方、経験のある方どなたか御教示願えませんでしょうか? やった手順と環境です。 【環境】 コンパイル環境:CentOS 5.5 動作環境:玄箱PRO(Linux2.6) 【手順】 (1)http://www.codesourcery.com/sgpp/portal/datasheet?target_arch=ARM&target_os=EABI からARM用EABIコンパイラをダウンロードし、コンパイル環境に展開 (2)玄箱PROの付属CDからgdb-2005q3-2.tar.gzを展開 (3)2で展開されたgdb-2005q3-2.tar.bz2をさらに展開 (4)3で展開されたgdb-2005q3ディレクトリ内に移動 (5)環境変数を設定 export PATH="<1で展開したコンパイラのパス>/libexec/gcc/arm-none-linux-gnueabi/3.4.4" export PATH="<1で展開したコンパイラのパス>/bin" export CROSS_PREFIX="<任意のパス>" (6)CCの環境変数を設定 export CC="<1で展開したコンパイラのパス>/bin/arm-none-linux-gnueabi-gcc" (6)configure実行 ./configure --host="arm-none-linux-gnueabi" --target="arm-none-linux-gnueabi" --build="i686-pc-linux-gnueabi" --prefix=${CROSS_PREFIX} (7)make実行 エラーの内容は以下でした。 =================================================== ・ ・ ・ make[2]: *** [install-recursive] エラー 1 ・ ・ ・ make[1]: *** [install-bfd] エラー 2 =================================================== 【補足】 make installするとinclude、share、libのディレクトリはできている。 gdbとは別にgcc-2005q3-2のコンパイルは成功している。 以上