以前のエントリ
MPC8349E-mITXに Linux 2.6.26.5 をインストール
MPC8349-mITXへLinux 2.6.26.5をインストールした記録です。
でインストールしたLinuxでRTCから時刻の取得ができていませんでした。
カーネルのログで
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
と言われていました。
環境
- host OS: Linux/i386 (Ubuntu Intrepid)
- host Kernel: 2.6.27-5
- Target Kernel: DENX 2.6.26.5
ターゲット用カーネルソースは
前回同様DENXのものです。
RTCが正常に動作するためにはカーネルのソースに対して以下のパッチを適用します。
diff -ur linux-2.6.26.5-denx.orig/arch/powerpc/boot/dts/mpc8349emitx.dts linux-2.6.26.5-denx/arch/powerpc/boot/dts/mpc8349emitx.dts
--- linux-2.6.26.5-denx/arch/powerpc/boot/dts/mpc8349emitx.dts 2008-09-09 19:54:43.000000000 +0900
+++ linux-2.6.26.5-denx/arch/powerpc/boot/dts/mpc8349emitx.dts 2008-10-07 11:49:43.000000000 +0900
@@ -82,6 +82,11 @@
interrupts = <15 0x8>;
interrupt-parent = <&ipic>;
dfsrr;
+
+ rtc@68 {
+ compatible = "dallas,ds1337";
+ reg = <0x68>;
+ };
};
spi@7000 {
$ cd linux-2.6.26.5-denx
$ make ARCH=powerpc CROSS_COMPILE=/usr/bin/powerpc-linux-gnu- menuconfig
Kernel options>High memory supportを有効にする <--1GB memoryを有効にするため
Device Drivers>DMA Engine support> Freescale MPC85xx/MPC83xx DMA supportを有効にする
Device Drivers>Serial ATA ... > ATA SFF support>Generic platform device PATA supportを無効にする
$ make ARCH=powerpc CROSS_COMPILE=/usr/bin/powerpc-linux-gnu- zImage
.
.
WRAP arch/powerpc/boot/uImage
Image Name: Linux-2.6.26.5
Created: Tue Oct 7 11:50:58 2008
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 1586305 Bytes = 1549.13 kB = 1.51 MB
Load Address: 00000000
Entry Point: 00000000
arch/powerpc/boot/dtc -O dtb -o arch/powerpc/boot/mpc8349emitx.dtb -b 0 /home/ono/archives/mpc8349e/linux-2.6.26.5-denx/arch/powerpc/boot/dts/mpc8349emitx.dts
DTC: dts->dtb on file "/home/ono/archives/mpc8349e/linux-2.6.26.5-denx/arch/powerpc/boot/dts/mpc8349emitx.dts"
WRAP arch/powerpc/boot/cuImage.mpc8349emitx
Image Name: Linux-2.6.26.5
Created: Tue Oct 7 11:51:00 2008
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 1609769 Bytes = 1572.04 kB = 1.54 MB
Load Address: 00400000
Entry Point: 0040059c
arch/powerpc/boot/dtc -O dtb -o arch/powerpc/boot/mpc8349emitxgp.dtb -b 0 /home/ono/archives/mpc8349e/linux-2.6.26.5-denx/arch/powerpc/boot/dts/mpc8349emitxgp.dts
DTC: dts->dtb on file "/home/ono/archives/mpc8349e/linux-2.6.26.5-denx/arch/powerpc/boot/dts/mpc8349emitxgp.dts"
WRAP arch/powerpc/boot/cuImage.mpc8349emitxgp
Image Name: Linux-2.6.26.5
Created: Tue Oct 7 11:51:01 2008
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 1610062 Bytes = 1572.33 kB = 1.54 MB
Load Address: 00400000
Entry Point: 0040059c
rm arch/powerpc/boot/mpc8349emitx.dtb arch/powerpc/boot/mpc8349emitxgp.dtb
Linuxを起動させるとRTCから日時を読めるようになりました。
rtc-ds1307 1-0068: setting system clock to 2008-10-07 12:52:01 UTC (1223383921)
ここまではよかったのですが、現状でLinuxの動作にはまだ以下の問題があります。おいおい調べようと思います。
- eth0, eth1の初期化が正常に行われないときがある
- nfs で マウントした/ ディレクトリに新規ファイルの作成はできるが、ファイル内容の変更ができない
前者の異常時のログはこんな感じです。
e0024520:1c not found
eth0: Could not attach to PHY
IP-Config: Failed to open eth0
0:01 not found
eth1: Could not attach to PHY
IP-Config: Failed to open eth1
IP-Config: No network devices available.
yellowback's blog 日時 : u-boot 2008.10をインストール
yellowback's blog 日時 : Ubuntu のnfs-user-serverは使わないほうが幸せ