Raspberry Pi で NetBSD/evbarmをブートさせる(手抜き版)
Linuxが起動するSDカードを用意しておく。
Raspberry Pi用のkernelを作るか入手する。
今回は20120820なソースからビルドしたものを使った。
kernelをbinary形式に変換。
FreeBSD Developer's Notebookで紹介されている
U-Bootをダウンロード、展開しておき、MS-DOSパーティションにあるファイルを全部入れ替える。
ついでに先ほど作ったnetbsd.binもコピーしておく。
Raspberyy PiにSDカードを入れて起動する。もちろん、シリアルコンソールが使える状態で。
fatloadコマンドで0x00008000にkernelをロードさせて、goコマンドでジャンプ。
Raspberry Pi用のkernelを作るか入手する。
今回は20120820なソースからビルドしたものを使った。
kernelをbinary形式に変換。
# objcopy -O srec netbsd netbsd.srec # objcopy -I srec -O binary netbsd.srec netbsd.binLinuxが起動するSDカードのMS-DOSパーティションをマウント。
FreeBSD Developer's Notebookで紹介されている
U-Bootをダウンロード、展開しておき、MS-DOSパーティションにあるファイルを全部入れ替える。
ついでに先ほど作ったnetbsd.binもコピーしておく。
Raspberyy PiにSDカードを入れて起動する。もちろん、シリアルコンソールが使える状態で。
fatloadコマンドで0x00008000にkernelをロードさせて、goコマンドでジャンプ。
U-Boot> fatload mmc 0 00008000 netbsd.bin U-Boot> go 00008000 ## Starting application at 0x00008000 ... NetBSD/evbarm (rpi) booting ... initarm: Configuring system ... physmemory: 32768 pages at 0x00000000 -> 0x07ffffff Allocating page tables Creating L1 page table at 0x002e0000 Mapping kernel pmap_map_chunk: pa=0x0 va=0xc0000000 size=0x23b000 resid=0x23b000 prot=0x3 cache=1 SSLLLPPPPPPPPPPP pmap_map_chunk: pa=0x23b000 va=0xc023b000 size=0xa2000 resid=0xa2000 prot=0x3 cache=1 PPPPPLLLLLLLLLPPPPPPPPPPPPP Constructing L2 page tables pmap_map_chunk: pa=0x2eb000 va=0xc02eb000 size=0x1000 resid=0x1000 prot=0x3 cache=1 P pmap_map_chunk: pa=0x2ec000 va=0xc02ec000 size=0x1000 resid=0x1000 prot=0x3 cache=1 P pmap_map_chunk: pa=0x2ed000 va=0xc02ed000 size=0x1000 resid=0x1000 prot=0x3 cache=1 P pmap_map_chunk: pa=0x2ee000 va=0xc02ee000 size=0x1000 resid=0x1000 prot=0x3 cache=1 P pmap_map_chunk: pa=0x2ef000 va=0xc02ef000 size=0x2000 resid=0x2000 prot=0x3 cache=1 PP pmap_map_chunk: pa=0x2e0000 va=0xc02e0000 size=0x4000 resid=0x4000 prot=0x3 cache=2 PPPP pmap_map_chunk: pa=0x2dd000 va=0xc02dd000 size=0x1000 resid=0x1000 prot=0x3 cache=2 P pmap_map_chunk: pa=0x2de000 va=0xc02de000 size=0x1000 resid=0x1000 prot=0x3 cache=2 P pmap_map_chunk: pa=0x2df000 va=0xc02df000 size=0x1000 resid=0x1000 prot=0x3 cache=2 P pmap_map_chunk: pa=0x2e4000 va=0xc02e4000 size=0x1000 resid=0x1000 prot=0x3 cache=2 P pmap_map_chunk: pa=0x2e5000 va=0xc02e5000 size=0x1000 resid=0x1000 prot=0x3 cache=2 P pmap_map_chunk: pa=0x2e6000 va=0xc02e6000 size=0x1000 resid=0x1000 prot=0x3 cache=2 P pmap_map_chunk: pa=0x2e7000 va=0xc02e7000 size=0x1000 resid=0x1000 prot=0x3 cache=2 P pmap_map_chunk: pa=0x2e8000 va=0xc02e8000 size=0x1000 resid=0x1000 prot=0x3 cache=2 P pmap_map_chunk: pa=0x2e9000 va=0xc02e9000 size=0x1000 resid=0x1000 prot=0x3 cache=2 P devmap: 20000000 -> 20ffffff @ f2000000 pmap_map_chunk: pa=0x20000000 va=0xf2000000 size=0x1000000 resid=0x1000000 prot=0x3 cache=0 SSSSSSSSSSSSSSSS Physical Virtual Num Starting Ending Starting Ending Pages SDRAM: 0x00000000 0x07ffffff 0xc0000000 0xc7ffffff 32768 text section: 0x00000000 0x0023ab37 0xc0000000 0xc023ab37 571 data section: 0x00240000 0x002c3a00 0xc0240000 0xc02c3a00 132 bss section: 0x002c3a00 0x002dc5a0 0xc02c3a00 0xc02dc5a0 26 L1 page directory: 0x002e0000 0x002e3fff 0xc02e0000 0xc02e3fff 4 Exception Vectors: 0x002ea000 0x002eafff 0xffff0000 0xffff0fff 1 FIQ stack: 0x002eb000 0x002ebfff 0xc02eb000 0xc02ebfff 1 IRQ stack: 0x002ec000 0x002ecfff 0xc02ec000 0xc02ecfff 1 ABT stack: 0x002ed000 0x002edfff 0xc02ed000 0xc02edfff 1 UND stack: 0x002ee000 0x002eefff 0xc02ee000 0xc02eefff 1 SVC stack: 0x002ef000 0x002f0fff 0xc02ef000 0xc02f0fff 2 Message Buffer: 0x002f1000 0x002f1fff 1 Free Memory: 0x002f2000 0x07ffffff 0xc02f2000 0xc7ffffff 32014 switching to new L1 page table @0x2e0000...OK. freestart = 0x002f2000, free_pages = 32014 (0x00007d0e) bootstrap done. init subsystems: stacks vectors undefined page pmap done. Loaded initial symtab at 0xc024451c, strtab at 0xc0269dd8, # entries 9534 pmap_postinit: Allocated 35 static L1 descriptor tables Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The NetBSD Foundation, Inc. All rights reserved. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. NetBSD 6.99.10 (RPI) #0: Fri Aug 24 10:18:39 UTC 2012 root@.localdomain:/export/o/20120820/evbarm/sys/arch/evbarm/compile/RPI total memory = 128 MB avail memory = 122 MB cprng kernel: WARNING insufficient entropy at creation. mainbus0 (root) cpu0 at mainbus0: ARM1176JZ-S r0p7 (ARM11J core) cpu0: DC enabled IC enabled WB enabled LABT cpu0: 16KB/32B 4-way Instruction cache cpu0: 16KB/32B 4-way write-back-locking-C Data cache vfp0 at cpu0: VFP11 obio0 at mainbus0 bcmicu0 at obio0 bcmmbox0 at obio0: VC mailbox bcmtmr0 at obio0 intr 3: VC System Timer bcmpm0 at obio0: Power management, Reset and Watchdog controller plcom0 at obio0 intr 57 plcom0: txfifo disabled plcom0: console sdhc0 at obio0 intr 62: SDHC controller sdhc0: interrupting on intr 62 sdhc0: SD Host Specification 3.0, rev.153 sdmmc0 at sdhc0 slot 0 ld0 at sdmmc0: <SD > ld0: 15740 MB, 7994 cyl, 64 head, 63 sec, 512 bytes/sect x 32235520 sectors ld0: 4-bit width, bus clock 25.000 MHz cprng sysctl: WARNING insufficient entropy at creation. boot device: <unknown> root on ld0a dumps on ld0b vfs_mountroot: can't open root device cannot mount root, error = 6 root device (default ld0a):
コメント(0件)
- TB-URL http://www.tokuda.net/diary/0791/tb/