SH-3マイコン

 T-SH7706LSR

  Debian etchのインストール

プロキシの設定

apt-getやwgetのためにプロキシサーバを設定する。

# export http_proxy=http://proxy:8080

「起動途中でエラーや警告が表示されるが起動には問題ないので無視する」ようなことはしません

次の4点を行うと「起動途中でエラーや警告が表示される」のを解消することができる。

udevのアンインストール

udevはカーネルのバージョンが2.6.15以降でないと使えないようなのでアンインストールする。

# apt-get --purge remove udev

modules.depの作成

# cd /lib/modules/
# mkdir 2.6.12.6
# cd 2.6.12.6/
# touch modules.dep

カーネルをリビルドすることでも作成される。

tmpfsを有効にする

カーネルをリビルドすることで行う。

slram: not enough parameters.

カーネルのリビルドすることで出なくなる。

 kernelのセルフビルド

ソースの取得

# cd /usr/src
# wget http://www.ring.gr.jp/pub/linux/kernel.org/kernel/v2.6/linux-2.6.12.6.tar.bz2
# apt-get install bzip2
# tar jxf linux-2.6.12.6.tar.bz2

パッチの適用

# wget http://mes.sourceforge.jp/mes2/linux/lsr/linux-2.6.12.6-shmin-4.patch
# apt-get install patch
# patch linux-2.6.12.6-shmin-4.patch

# apt-get install dpkg-dev binutils gcc make libncurses5-dev
# apt-get install gcc-3.4

# make ARCH=sh CC=gcc-3.4 menuconfig
# make ARCH=sh CC=gcc-3.4
# make ARCH=sh CC=gcc-3.4 modules_install
# mount /dev/shmmc1 /boot
# cp -a vmlinux /boot

tmpfsを有効にする

起動

Linux boot loader 2009/4/11, build by Eclipse.
initrd loading..
vmlinux loading..................
Linux version 2.6.12.6 (root@ucat1) (gcc version 3.4.6 (Debian 3.4.6-5)) #8 Mon Feb 1 15:36:40 JST 2010
This is SH7706LAN board Ver 2.0
Built 1 zonelists
Kernel command line: mem=32M console=ttySC1,115200 root=/dev/shmmc2
PID hash table entries: 256 (order: 8, 4096 bytes)
CPU clock: 120.00MHz
Bus clock: 40.00MHz
Module clock: 40.00MHz
Interval = 100000
Console: colour dummy device 80x25
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 30304k/32768k available (1498k kernel code, 2400k reserved, 216k data, 68k init)
Mount-cache hash table entries: 512
CPU: SH7706
checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
Freeing initrd memory: 183k freed
NET: Registered protocol family 16
SCSI subsystem initialized
SH Virtual Bus initialized
Real Time Clock Driver v1.12
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
SuperH SCI(F) driver initialized
ttySC0 at MMIO 0xfffffe80 (irq = 25) is a sci
ttySC1 at MMIO 0xa4000150 (irq = 59) is a scif
io scheduler noop registered
io scheduler anticipatory registered
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: loaded (max 8 devices)
nbd: registered device at major 43
ne.c:v1.10 9/23/94 Donald Becker (becker@scyld.com)
Last modified Nov 1, 2000 by Paul Gortmaker
NE*000 ethercard probe at 0x300: 00 18 5f 00 09 2e
eth0: NE2000 found at 0x300, using IRQ 34.
slram: not enough parameters.
SH_MMC: MMC Reset OK.
SH_MMC: SDHC Card
shmmc: shmmc1 shmmc2
SH_MMC: 3911680Kbyte 1024 blocksize
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
RAMDISK: Compressed image found at block 0
EXT2-fs warning: checktime reached, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem).
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Trying to move old root to /initrd ... okay
Freeing unused kernel memory: 68k freed
INIT: version 2.86 booting
Activating swap...done.
Checking root file system...fsck 1.40-WIP (14-Nov-2006)
e2fsck 1.40-WIP (14-Nov-2006)
/dev/shmmc2: clean, 33059/483840 files, 170972/967680 blocks
done.
EXT3 FS on shmmc2, internal journal
Setting the system clock..
Cleaning up ifupdown....
Loading kernel modules...done.
Loading device-mapper support.
Checking file systems...fsck 1.40-WIP (14-Nov-2006)
done.
Setting kernel variables...done.
Mounting local filesystems...done.
Activating swapfile swap...done.
Setting up networking....
Configuring network interfaces...done.
INIT: Entering runlevel: 2
Starting system log daemon: syslogd.
Starting kernel log daemon: klogd.
Starting internet superserver: inetd.
Starting periodic command scheduler: crond.
Debian GNU/Linux 4.0 ucat1 ttySC1
ucat1 login: root
Last login: Mon Feb  1 15:10:02 2010 on ttySC1
Linux ucat1 2.6.12.6 #8 Mon Feb 1 15:36:40 JST 2010 sh?!
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
ucat1:~# free
             total       used       free     shared    buffers     cached
Mem:         30620      10232      20388          0       1712       5392
-/+ buffers/cache:       3128      27492
Swap:            0          0          0

時間が遅れる

カーネルビルド中に時間がずれているようで、とりあえずほとんど何もしない状態で一晩様子を見てみることにした。

システムクロックがずれているだけで、ハードウェアクロックはそれほどずれないようです。

TACから直接rev.2をホルダー+バッテリーのオプションも付けて購入したが遅れは解消せず。

オリジナルではtopコマンドを実行している間にもどんどん時間が遅れていく状態でしたがlinux-2.6.27.45の移植を行った方がおられて、そのカーネルに差し替えて一晩放置したところ数秒遅れる程度でした。

linux-2.6.27.45の移植

  • [Pythonでmmapの使い方について 質問と回答(Q&A) okyuu.com]

その他

トップ 新規 編集 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン