2016年07月30日

ラズパイのベアメタル開発 (2):Maccasoft のカーネルをビルドする

(「クロスコンパイラをビルドする」から続く)

 ラズパイのベアメタルカーネルを Marco Maccaferi さん (Maccasoft) が公開されている。フレームバッファ、USBキーボード、オーディオなどがサポートされている。SDL (Simple DirectMedia Layer) もリンクできるようになっているが、どこまで実装されているかは未確認。フルセットで使えるんだったら相当すごいのではないかと思われるが。

 ビルドは簡単で、Maccasoft さんの上記サイトから zip アーカイブをダウンロードして展開し、make && sudo make install でよい。ただし、Mac OS X 上でビルドする場合、以下の変更が必要。

diff -aur raspberry-pi-master/SDL2/Makefile raspberry-pi-master-TN2/SDL2/Makefile
--- raspberry-pi-master/SDL2/Makefile	2014-12-22 01:32:24.000000000 +0900
+++ raspberry-pi-master-TN2/SDL2/Makefile	2016-07-30 18:34:13.000000000 +0900
@@ -18,7 +18,8 @@
 
 all: libSDL2.a
 
-OBJS = $(shell find . -name *.c -print | sed -r 's/\.c+/\.o/g')
+# OBJS = $(shell find . -name *.c -print | sed -r 's/\.c+/\.o/g')
+OBJS = $(shell find . -name *.c -print | sed -E 's/\.c+/\.o/g')  #  For OS X
 
 -include $(shell find $(DEPDIR) -name *.Po -print)
 

 また、クロスコンパイラにパスを通しておくのを忘れずに。

$ PATH=/usr/local/cross-pi/bin:$PATH

 /opt/raspberry-pi にインストールされるが、このディレクトリごと別の場所に移動しても動作するようだ。うちでは、/usr/local/cross-pi/maccasoft 以下に移して使っている。

タグ:Raspberry Pi
Posted at 2016年07月30日 22:42:23
email.png