DebianでのARMクロスコンパイル環境構築が成功しました。
ここの「クロスコンパイル環境を構築したい 」「2. squeeze 以降の場合:」のところで一部修正がいる。
この部分は
--------
deb http://www.emdebian.org/debian/ unstable main
deb-src http://www.emdebian.org/debian/ unstable main
--------
こうなる。unstable -> squeeze
--------
deb http://www.emdebian.org/debian/ squeeze main
deb-src http://www.emdebian.org/debian/ squeeze main
--------
※/etc/apt/sources.list.d/emdebian.sources.list
続いて
apt-get update
apt-get upgrade
これでエラーが出ていたところ、
apt-get install gcc-4.4-arm-linux-gnueabi
でうまくいく。(armel用)
unstableだったからバージョンが合わず依存ファイルエラーが出ていたんだな。
lennyと変わっている理由は、squeezeのライブラリを見るとそれぞれ別になっているのがわかる。
http://packages.debian.org/squeeze/utils/
emdebian-toolsでも出来るかもしれないけれど試してない。
コンパイラは
arm-linux-gnueabi-gcc
ね。
#arm-linux-gnueabi-gcc test.c
という形でコンパイルする。
実際試してみる。(armgccにシンボリックリンクしてる)
こっちがDebian側。ARM用バイナリなので実行できない。
Pogoplugに移して実行。
無事"Hello World!"と表示される。
簡易ではあるが10何年ぶりか久しぶりにCプログラミングしたよw
でもLinuxソフト開発するわけではなくて、既存のソースをコンパイルするだけです。
他にもライブラリとか必要かもしれない。
あとDebian<-->Pogoplug間のファイルのやり取りはWin7を介してます。
Windows7とLinux(VMwarePlayer上も同じ)とのファイルのやり取りについては問題があって、Win7でフォルダを共有設定してもそのままだとLinuxからはフォルダが見えない。
レジストリの変更が必要。
http://www.whowants.net/wp/2009/11/dc-mcnp1%E3%81%8B%E3%82%89windows7%E5%85%B1%E6%9C%89%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E4%B8%8D%E5%8F%AF/
上記サイトより。
1.Windowsのスタートメニューで、「プログラムとファイルの検索」へregeditと入れて、レジストリエディタを起動
2.セキュリティ警告が出ます(出ない場合もある)がそのまま続行
3.HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\を選択
4.右側にeveryoneincludesanonymousがあるので、その数値を0から1へ
5.NoLmHash を1から0へ
6.次に、HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parametersを開く
7.restrictnullsessaccessを1から0へ
8.レジストリエディタを終了する
9.PCを再起動
【改訂新版】 Linuxコマンド ポケットリファレンス (Pocket Reference)/沓名 亮典
¥2,394
Amazon.co.jp
図解でわかるLinux環境設定のすべて/西村 めぐみ
¥2,625
Amazon.co.jp
UNIXシェルスクリプトコマンドブック 第2版/山下 哲典
¥2,310
Amazon.co.jp
ここの「クロスコンパイル環境を構築したい 」「2. squeeze 以降の場合:」のところで一部修正がいる。
この部分は
--------
deb http://www.emdebian.org/debian/ unstable main
deb-src http://www.emdebian.org/debian/ unstable main
--------
こうなる。unstable -> squeeze
--------
deb http://www.emdebian.org/debian/ squeeze main
deb-src http://www.emdebian.org/debian/ squeeze main
--------
※/etc/apt/sources.list.d/emdebian.sources.list
続いて
apt-get update
apt-get upgrade
これでエラーが出ていたところ、
apt-get install gcc-4.4-arm-linux-gnueabi
でうまくいく。(armel用)
unstableだったからバージョンが合わず依存ファイルエラーが出ていたんだな。
lennyと変わっている理由は、squeezeのライブラリを見るとそれぞれ別になっているのがわかる。
http://packages.debian.org/squeeze/utils/
emdebian-toolsでも出来るかもしれないけれど試してない。
コンパイラは
arm-linux-gnueabi-gcc
ね。
#arm-linux-gnueabi-gcc test.c
という形でコンパイルする。
実際試してみる。(armgccにシンボリックリンクしてる)
こっちがDebian側。ARM用バイナリなので実行できない。
Pogoplugに移して実行。
無事"Hello World!"と表示される。
簡易ではあるが10何年ぶりか久しぶりにCプログラミングしたよw
でもLinuxソフト開発するわけではなくて、既存のソースをコンパイルするだけです。
他にもライブラリとか必要かもしれない。
あとDebian<-->Pogoplug間のファイルのやり取りはWin7を介してます。
Windows7とLinux(VMwarePlayer上も同じ)とのファイルのやり取りについては問題があって、Win7でフォルダを共有設定してもそのままだとLinuxからはフォルダが見えない。
レジストリの変更が必要。
http://www.whowants.net/wp/2009/11/dc-mcnp1%E3%81%8B%E3%82%89windows7%E5%85%B1%E6%9C%89%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E4%B8%8D%E5%8F%AF/
上記サイトより。
1.Windowsのスタートメニューで、「プログラムとファイルの検索」へregeditと入れて、レジストリエディタを起動
2.セキュリティ警告が出ます(出ない場合もある)がそのまま続行
3.HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\を選択
4.右側にeveryoneincludesanonymousがあるので、その数値を0から1へ
5.NoLmHash を1から0へ
6.次に、HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parametersを開く
7.restrictnullsessaccessを1から0へ
8.レジストリエディタを終了する
9.PCを再起動
【改訂新版】 Linuxコマンド ポケットリファレンス (Pocket Reference)/沓名 亮典
¥2,394
Amazon.co.jp
図解でわかるLinux環境設定のすべて/西村 めぐみ
¥2,625
Amazon.co.jp
UNIXシェルスクリプトコマンドブック 第2版/山下 哲典
¥2,310
Amazon.co.jp