keropoの備忘録

しらべたことをメモるブログ

ARMクロスコンパラUpdate(gcc-5.4.0)

以前作成したクロスコンパイラがちょっと古くなったのでUpdate ソース gcc-5.4.0 binutils-2.26 gmp-6.1.1 mpfr-3.1.4 mpc-1.0.3 eglibc-2_18 linux-4.6.4 事前 BISON バージョンが3.0以上だと、eglibcのビルドに失敗するので、2.7にバージョンダウン MAKE M…

Linuxデバイスドライバ基礎② procインタフェース

procインタフェースを利用してユーザランドからカーネル(ドライバ)と通信するサンプル procfs.c #include <linux/module.h> #include <linux/kernel.h> #include <linux/fs.h> #include <linux/proc_fs.h> #include <linux/stat.h> MODULE_LICENSE("GPL"); #define PROC_NAME "driver/example" static int proc_open(struct inode *node, </linux/stat.h></linux/proc_fs.h></linux/fs.h></linux/kernel.h></linux/module.h>…

Linuxデバイスドライバ基礎①

クロスコンパイラでデバイスドライバをビルドする時のサンプルMakefileとスケルトン まあ、簡単なので、特に説明なしです。 Makefile KERNEL_SRC=${カーネルソースフォルダ} obj-m := hogehoge.o CROSS_COMPILE=arm-unknown-gnueabi- ※クロスコンパイラのプ…

v8 engineのサンプルプログラム

せっかく、v8をコンパイルしたので、サンプルプログラムをオフィシャルサイト等々を参考に作成してみた。 APIの仕様だったり、クラスのメンバー関数の構造が変わったらしく、ネットでよく見かけるサンプルプログラムではコンパイルが通らなかった。 一応、試…

google v8 javascript engineをコンパイル

google v8 javascript engineをビルド手順メモ ソース取得 $svn checkout http://v8.googlecode.com/svn/trunk/ v8 $cd v8 $svn co http://gyp.googlecode.com/svn/trunk build/gyp $svn checkout --force https://src.chromium.org/chrome/trunk/deps/third…

Webkitgtk for ARMでブラウザ表示成功

仕事やら何やらで忙しく、全然更新していなかったけど、久しぶりに更新。 arm-qemu上でWebKitGtkを動かせはしたが、文字表示が変だったのと、URLにファイルシステムのパスを指定して事項すると、HTML表示できなかったが、一応、動くようになったので、メモ。…

WebKit on DirectFB をARM cross compileの続き。

WebKitの動作確認 前回(WebKit on DirectFB をARM cross compile - keropoの備忘録)コンパイルしたWebKitをarm-qemu上で動かしてみる。 ターゲットの設定 /etc/init.d/rcS 以下の環境変数を追加 $vi ${ターゲットルート}/etc/init.d/rcS export PANGO_RC_FIL…

WebKit on DirectFB をARM cross compile

目的 arm-qemu&DirectFB上で動くWebブラウザを構築しようと、WebKitをクロスコンパイルした際のめも。 ネットでいろいろ調べたけど、DirectFB向けのWebKitのコンパイル情報がなかなかない。あまり需要がないのかなぁ~? それにしてもWebKitをコンパイルす…

DirectFBでARM環境をグラフィカル表示~その②

サンプルプログラム DirectFBでARM環境をグラフィカル表示~その① - keropoの備忘録の続き。 ARMクロスコンパイルしたDirectFBのライブラリ群が完成したので、それを利用してqemuで動かす為のサンプルプログラムを作成する。 作成したのは赤・緑・青のタスキ…

STM32VLDとSTBee Miniのコンパイル環境

経緯 組込みLinuxをメインで調べていたけど、ちょっと脱線してSTM32というARMのワンチップマイコンについて調べていたので、その際のコンパイル方法のメモ。 ネットでしらべるとEclipseとCode Sourcery Liteで開発環境を構築するのが主流みたいだけど、せっ…

DirectFBでARM環境をグラフィカル表示~その①

はじめに DirectFBを利用して、QEMUでグラフィカルな画面を表示してみる。 今回は、DirectFBを動かす上で必要なライブラリをクロスコンパイルする手順をメモ。 DirectFBとは DirectFBは、Direct Frame Bufferという意味で、組込みLinuxでの利用を前提に開発…

qemuとbusyboxでhttpサーバ起動

qemu上にbusyboxのhttpdで、簡易HTTPサーバを立ち上げた際のメモ。 前準備 qemu上にHTTPサーバを起動し、ホストOS又は別PCからhttpアクセスさせるには、qemuがネットワークにアクセスできるようにする為にホストOS側でTUN/TAPデバイスの使用するための設定を…

qemuでjpegを表示

LinuxカーネルをARMでクロスコンパイルしてqemu上で動くまでいったが、とりあえずグラフィック表示してみないと面白くないということで、jpegのエンコード・デコードライブラリであるlibjpegをクロスコンパイルして、これまで構築した組込みLinuxカーネル上…

qemuで組込みLinuxを起動

BusyBoxのコンパイル - keropoの備忘録で作成したコマンドを使って、実際にルートファイルシステムを作成し、qemu上で実際にコマンドが打てる状態にするための手順。 カーネルはlinuxカーネルのコンパイル - keropoの備忘録で作成したものを使用。 ルートフ…

ARMクロスコンパイラ作成(追加)

下記の記事でクロスコンパイラ作成の手順をつらつら書いたが、いちいちコマンドを打って構築するのは面倒なので、コマンド一発で作成できるようにシェルスクリプトを作成してみた。 ARMクロスコンパイラ作成 バージョンを変えて実験してみたい場合も、変数を…

BusyBoxのコンパイル

ARMクロスコンパイラ作成で作成したクロスコンパイラを利用してBusyBoxをコンパイルする。BusyBoxは標準Linuxコマンドの機能を1実行ファイルで提供されるので、ディスク 容量を大幅な削減が期待できるため、組込みの世界ではよくお見かけするツール。 ソー…

linuxカーネルのコンパイル

構築したARMクロスコンパイラでカーネルをコンパイルしてみる。 もともとオリジナルの組込みLinuxOSを作成したいと思っているので、ここからが本番。 実行環境のインストール qemuでクロスコンパイルしたカーネルを実行するため、インストールする。 とりあ…

ARMクロスコンパイラ作成

ARM上での組込みLinuxをコンパイルする為のARMクロスコンパイラの構築方法メモ (eglibcのコンパイル時にソース修正が必要だったが、とりあえず構築できた) (2013.4.17 追記)eglibcとkernelに修正が必要なのは、kernelのバージョンが古すぎることが原因と分…

備忘録を開設

いろいろ調べたことを会社から参照したくて備忘録目的で開設。 不定期でいろいろアップしていく予定です。