digital西行庵 wiki  Index  Search  Changes  PageRank  RSS  Login

digital西行庵 wiki - FreeBSD8 on SheevaPlug (Progress on the way) Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

!8/16 現在、kernelの実行まで
FreeBSD8 起動には至っていません。

!母艦を用意する
納戸の肥し、母艦Spec.
NEC VersaPro VA73H (PC-VA73HBHTH)
Mobile Celeron 733 Mhz
Memory:256 MB---> 320 MB
HDD:20 GB ---> 120 GB

!FreeBSD8 をインストールする
FreeBSD を触るのは、実に5年以上ぶり。確か君は、4.5くらいだったと思う。成長したもんだ。

クリーン&&フル・インストール。csupで最新版に。

インストーラは、昔と変わっていない。悪く言うと「旧態依然」。

!SheevaPlug用buildworld
http://wiki.freebsd.org/FreeBSDMarvell
を参考に。

make buildworld には -j 8 オプションが付いていたのだが、この非力なマシンでは、突然停止してしまう。-j オプションはなしってことで。

freebsd# cd /usr/src
freebsd# time make buildworld TARGET_ARCH=arm
:
--------------------------------------------------------------
>>> World build completed on Sun Aug 16 05:52:09 JST 2009
--------------------------------------------------------------
13927.595u 3784.733s 5:05:11.99 96.7%   274+-811k 55991+5861io 14039pf+0w
You have new mail.
freebsd#

freebsd# setenv DESTDIR /nfsroot/arm-8-le
freebsd# mkdir -p $DESTDIR
freebsd# time make installworld TARGET_ARCH=arm
:
119.744u 164.406s 7:31.05 62.9% 339+588k 10631+39452io 15759pf+0w
freebsd#
freebsd#
freebsd# time make distrib-dirs TARGET_ARCH=arm
:
0.418u 1.355s 0:03.11 56.5%     106+883k 232+108io 3pf+0w
freebsd#
freebsd# time make distribution TARGET_ARCH=arm
:
1.544u 1.185s 0:04.69 57.9%     416+576k 41+717io 288pf+0w
freebsd# echo 'sshd_enable="YES"' > $DESTDIR/etc/rc.conf
freebsd# echo 'rpcbind_enable="YES"' >> $DESTDIR/etc/rc.conf
freebsd# echo 'nfs_client_enable="YES"' >> $DESTDIR/etc/rc.conf
freebsd# echo 'rpc_lockd_enable="YES"' >> $DESTDIR/etc/rc.conf
freebsd# echo 'rpc_statd_enable="YES"' >> $DESTDIR/etc/rc.conf
freebsd# time make buildkernel TARGET_ARCH=arm KERNCONF=DB-88F6XXX
:
--------------------------------------------------------------
>>> Kernel build for DB-88F6XXX completed on Sun Aug 16 09:43:03 JST 2009
--------------------------------------------------------------
728.371u 107.246s 14:14.44 97.7%        5495+1671k 1625+493io 87pf+0w
freebsd#
freebsd# cp /usr/obj/arm/usr/src/sys/DB-88F6XXX/kernel.bin /tftpboot/mv6281/

make buildworld は、5時間かかっている。途中でエラーメッセージが出ていても知るもんか!っていうか、わかりません。

!tftp と nfs 環境を整えて、SheevaPlug を tftp boot
kernel を読み込んで固まる。

!パッチを発見!
http://lists.freebsd.org/pipermail/freebsd-arm/2009-August/001915.html
freebsd# fetch http://people.freebsd.org/~raj/patches/arm/sheevaplug.diff
sheevaplug.diff                               100% of   22 kB   72 kBps

freebsd# patch <sheevaplug.diff
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: sys/arm/arm/pmap.c
|===================================================================
|--- sys/arm/arm/pmap.c (wersja 196089)
|+++ sys/arm/arm/pmap.c (kopia robocza)
--------------------------
Patching file sys/arm/arm/pmap.c using Plan A...
Reversed (or previously applied) patch detected!  Assume -R? [y]
Hunk #1 succeeded at 1212.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: sys/arm/mv/mvvar.h
|===================================================================
|--- sys/arm/mv/mvvar.h (wersja 196089)
|+++ sys/arm/mv/mvvar.h (kopia robocza)
--------------------------
Patching file sys/arm/mv/mvvar.h using Plan A...
Hunk #1 succeeded at 41.
Hunk #2 succeeded at 108.
Hunk #3 succeeded at 136.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: sys/arm/mv/mv_machdep.c
|===================================================================
|--- sys/arm/mv/mv_machdep.c    (wersja 196089)
|+++ sys/arm/mv/mv_machdep.c    (kopia robocza)
--------------------------
Patching file sys/arm/mv/mv_machdep.c using Plan A...
Hunk #1 succeeded at 86.
Hunk #2 succeeded at 134.
Hunk #3 succeeded at 426.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: sys/arm/mv/kirkwood/std.db88f6xxx
|===================================================================
|--- sys/arm/mv/kirkwood/std.db88f6xxx  (wersja 196089)
|+++ sys/arm/mv/kirkwood/std.db88f6xxx  (kopia robocza)
--------------------------
Patching file sys/arm/mv/kirkwood/std.db88f6xxx using Plan A...
Hunk #1 succeeded at 1 with fuzz 1.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: sys/arm/mv/kirkwood/std.kirkwood
|===================================================================
|--- sys/arm/mv/kirkwood/std.kirkwood   (wersja 0)
|+++ sys/arm/mv/kirkwood/std.kirkwood   (wersja 0)
--------------------------
(Creating file sys/arm/mv/kirkwood/std.kirkwood...)
Patching file sys/arm/mv/kirkwood/std.kirkwood using Plan A...
Hunk #1 succeeded at 1.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|
|Zmiany atrybutw dla: sys/arm/mv/kirkwood/std.kirkwood
|___________________________________________________________________
|Dodane: svn:mime-type
|   + text/plain
|Dodane: svn:keywords
|   + FreeBSD=%H
|Dodane: svn:eol-style
|   + native
|
|Index: sys/arm/mv/kirkwood/files.sheevaplug
|===================================================================
|--- sys/arm/mv/kirkwood/files.sheevaplug       (wersja 0)
|+++ sys/arm/mv/kirkwood/files.sheevaplug       (wersja 0)
--------------------------
(Creating file sys/arm/mv/kirkwood/files.sheevaplug...)
Patching file sys/arm/mv/kirkwood/files.sheevaplug using Plan A...
Hunk #1 succeeded at 1.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|
|Zmiany atrybutw dla: sys/arm/mv/kirkwood/files.sheevaplug
|___________________________________________________________________
|Dodane: svn:mime-type
|   + text/plain
|Dodane: svn:keywords
|   + FreeBSD=%H
|Dodane: svn:eol-style
|   + native
|
|Index: sys/arm/mv/kirkwood/sheevaplug.c
|===================================================================
|--- sys/arm/mv/kirkwood/sheevaplug.c   (wersja 0)
|+++ sys/arm/mv/kirkwood/sheevaplug.c   (wersja 0)
--------------------------
(Creating file sys/arm/mv/kirkwood/sheevaplug.c...)
Patching file sys/arm/mv/kirkwood/sheevaplug.c using Plan A...
Hunk #1 succeeded at 1.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|
|Zmiany atrybutw dla: sys/arm/mv/kirkwood/sheevaplug.c
|___________________________________________________________________
|Dodane: svn:mime-type
|   + text/plain
|Dodane: svn:keywords
|   + FreeBSD=%H
|Dodane: svn:eol-style
|   + native
|
|Index: sys/arm/mv/kirkwood/files.db88f6xxx
|===================================================================
|--- sys/arm/mv/kirkwood/files.db88f6xxx        (wersja 196089)
|+++ sys/arm/mv/kirkwood/files.db88f6xxx        (kopia robocza)
--------------------------
Patching file sys/arm/mv/kirkwood/files.db88f6xxx using Plan A...
Hunk #1 succeeded at 1 with fuzz 1.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: sys/arm/mv/kirkwood/files.kirkwood
|===================================================================
|--- sys/arm/mv/kirkwood/files.kirkwood (wersja 0)
|+++ sys/arm/mv/kirkwood/files.kirkwood (wersja 0)
--------------------------
(Creating file sys/arm/mv/kirkwood/files.kirkwood...)
Patching file sys/arm/mv/kirkwood/files.kirkwood using Plan A...
Hunk #1 succeeded at 1.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|
|Zmiany atrybutw dla: sys/arm/mv/kirkwood/files.kirkwood
|___________________________________________________________________
|Dodane: svn:mime-type
|   + text/plain
|Dodane: svn:keywords
|   + FreeBSD=%H
|Dodane: svn:eol-style
|   + native
|
|Index: sys/arm/mv/kirkwood/std.sheevaplug
|===================================================================
|--- sys/arm/mv/kirkwood/std.sheevaplug (wersja 0)
|+++ sys/arm/mv/kirkwood/std.sheevaplug (wersja 0)
--------------------------
(Creating file sys/arm/mv/kirkwood/std.sheevaplug...)
Patching file sys/arm/mv/kirkwood/std.sheevaplug using Plan A...
Hunk #1 succeeded at 1.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|
|Zmiany atrybutw dla: sys/arm/mv/kirkwood/std.sheevaplug
|___________________________________________________________________
|Dodane: svn:mime-type
|   + text/plain
|Dodane: svn:keywords
|   + FreeBSD=%H
|Dodane: svn:eol-style
|   + native
|
|Index: sys/arm/mv/mvreg.h
|===================================================================
|--- sys/arm/mv/mvreg.h (wersja 196089)
|+++ sys/arm/mv/mvreg.h (kopia robocza)
--------------------------
Patching file sys/arm/mv/mvreg.h using Plan A...
Hunk #1 succeeded at 218.
Hunk #2 succeeded at 235.
Hunk #3 succeeded at 262.
Hunk #4 succeeded at 436.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: sys/arm/mv/common.c
|===================================================================
|--- sys/arm/mv/common.c        (wersja 196089)
|+++ sys/arm/mv/common.c        (kopia robocza)
--------------------------
Patching file sys/arm/mv/common.c using Plan A...
Hunk #1 succeeded at 32 with fuzz 2.
Hunk #2 succeeded at 65.
Hunk #3 succeeded at 176.
Hunk #4 succeeded at 225.
Hunk #5 succeeded at 279.
Hunk #6 succeeded at 746.
Hunk #7 succeeded at 837.
Hunk #8 succeeded at 1010.
Hunk #9 succeeded at 1304.
Hunk #10 succeeded at 1499.
Hunk #11 succeeded at 1570.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: sys/arm/conf/SHEEVAPLUG
|===================================================================
|--- sys/arm/conf/SHEEVAPLUG    (wersja 0)
|+++ sys/arm/conf/SHEEVAPLUG    (wersja 0)
--------------------------
(Creating file sys/arm/conf/SHEEVAPLUG...)
Patching file sys/arm/conf/SHEEVAPLUG using Plan A...
Hunk #1 succeeded at 1.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: sys/conf/options.arm
|===================================================================
|--- sys/conf/options.arm       (wersja 196089)
|+++ sys/conf/options.arm       (kopia robocza)
--------------------------
Patching file sys/conf/options.arm using Plan A...
Hunk #1 succeeded at 24.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: sys/dev/mge/if_mge.c
|===================================================================
|--- sys/dev/mge/if_mge.c       (wersja 196089)
|+++ sys/dev/mge/if_mge.c       (kopia robocza)
--------------------------
Patching file sys/dev/mge/if_mge.c using Plan A...
Hunk #1 succeeded at 69.
Hunk #2 succeeded at 1266.
Hunk #3 succeeded at 1295.
done
freebsd# time make buildkernel TARGET_ARCH=arm KERNCONF=SHEEVAPLUG
:
--------------------------------------------------------------
>>> Kernel build for SHEEVAPLUG completed on Sun Aug 16 10:08:41 JST 2009
--------------------------------------------------------------
676.288u 99.377s 13:10.28 98.1% 5500+1677k 24+433io 1pf+0w
freebsd#
freebsd# mkdir -p /tftpboot/sheevaplug
freebsd# cp /usr/obj/arm/usr/src/sys/SHEEVAPLUG/kernel.bin /tftpboot/sheevaplug/

!SheevaPlug tftp boot 再挑戦
Marvell>> set ipaddr 192.168.1.222
Marvell>> set serverip 192.168.1.225
Marvell>> set rootpath '/nfsroot/arm-8-le'
Marvell>> set image_name sheevaplug/kernel.bin
Marvell>> set console
Marvell>> set bootargs
Marvell>> saveenv
Marvell>> set console 'console=ttyS0,115200 mtdparts=nand_mtd:0x100000@0x000000(u-boot),0x400000@0x100000(uImage),0x1f800000@0x500000(rootfs)rw'
Marvell>> saveenv
Marvell>> set bootargs_root 'root=/dev/nfs rw'
Marvell>> set bootcmd 'tftpboot 0x900000 $(image_name);setenv bootargs $(console) $(bootargs_root) nfsroot=$(serverip):$(rootpath) ip=$(ipaddr):$(serverip)$(bootargs_end); bootm 0x900000'
Marvell>> saveenv
Marvell>> tftpboot 900000 sheevaplug/kernel.bin
Using egiga0 device
TFTP from server 192.168.1.225; our IP address is 192.168.1.222
Filename 'sheevaplug/kernel.bin'.
Load address: 0x900000
Loading: #################################################################
          #################################################################
          #################################################################
          #################################################################
          #################################################################
          #################################################################
          #################################################################
          #################################################################
          #############
done
Bytes transferred = 2728948 (29a3f4 hex)
Marvell>> go 900000
## Starting application at 0x00900000 ...
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2009 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
         The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.0-BETA2 #0: Sun Aug 16 10:08:22 JST 2009
     root@freebsd.saigyo.net:/usr/obj/arm/usr/src/sys/SHEEVAPLUG
Preloaded elf kernel "elf kernel" at 0xc0bb3dc4.
CPU: Feroceon 88FR131 rev 1 (write-through core)
   WB enabled EABT branch prediction enabled
   16KB/32B 4-way Instruction cache
   16KB/32B 4-way write-back-locking-C Data cache
real memory  = 536870912 (512 MB)
Physical memory chunk(s):
00000000 - 0x8fffff, 9437184 bytes (2304 pages)
0xca7000 - 0x1f64bfff, 513429504 bytes (125349 pages)
avail memory = 520634368 (496 MB)
SOC: (0x6281:0x02) Marvell 88F6281 rev A0, TClock 200MHz
   Instruction cache prefetch enabled, data cache prefetch enabled
   256KB 4-way set-associative write-through unified L2 cache
null: <null device, zero device>
random: <entropy source, Software, Yarrow>
nfslock: pseudo-device
mem: <memory>
mbus0: <Marvell Internal Bus (Mbus)> on motherboard
ic0: <Marvell Integrated Interrupt Controller> at mem 0xf1020200-0xf102023b on mbus0
timer0: <Marvell CPU Timer> at mem 0xf1020300-0xf102032f irq 1 on mbus0
timer0: [FILTER]
rtc0: <Marvell Integrated RTC> at mem 0xf1010300-0xf1010307 on mbus0
rtc0: registered as a time-of-day clock (resolution 1000000us)
gpio0: <Marvell Integrated GPIO Controller> at mem 0xf1010100-0xf101011f irq 35,36,37,38,39,40,41 on mbus0
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
gpio0: [FILTER]
uart0: <16550 or compatible> at mem 0xf1012000-0xf101201f irq 33 on mbus0
uart0: [FILTER]
uart0: fast interrupt
uart0: console (115740,n,8,1)
uart1: <16550 or compatible> at mem 0xf1012100-0xf101211f irq 34 on mbus0
uart1: [FILTER]
uart1: fast interrupt
ehci0: <Marvell Integrated USB 2.0 controller> at mem 0xf1050000-0xf1050fff irq 48,19 on mbus0
ehci0: [FILTER]
ehci0: [MPSAFE]
ehci0: [ITHREAD]
ehci0: 5.24 GL USB-2 workaround enabled
usbus0: EHCI version 1.0
usbus0: set host controller mode
usbus0: <Marvell Integrated USB 2.0 controller> on ehci0
mge0: <Marvell Gigabit Ethernet controller> at mem 0xf1072000-0xf1073fff irq 12,13,14,11,46 on mbus0
mge0: bpf attached
mge0: Ethernet address: 00:50:43:01:ca:bb
miibus0: <MII bus> on mge0
e1000phy0: <Marvell 88E1116R Gigabit PHY> PHY 0 on miibus0
e1000phy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
mge0: [MPSAFE]
mge0: [ITHREAD]
mge0: [MPSAFE]
mge0: [ITHREAD]
Timecounter "CPU Timer" frequency 200000000 Hz quality 1000
Timecounters tick every 1.000 msec
vlan: initialized, using hash tables with chaining
lo0: bpf attached
usbus0: 480Mbps High Speed USB v2.0
bootpc_init: wired to interface 'mge0'
Sending DHCP Discover packet from interface mge0 (00:50:43:01:ca:bb)
ugen0.1: <Marvell> at usbus0
uhub0: <Marvell EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
Received DHCP Offer packet on mge0 from 0.0.0.0 (accepted) (no root path)
uhub0: 1 port with 1 removable, self powered
mge0: link state changed to UP
Sending DHCP Request packet from interface mge0 (00:50:43:01:ca:bb)
Received DHCP Ack packet on mge0 from 0.0.0.0 (accepted) (no root path)
Received DHCP Ack packet on mge0 from 0.0.0.0 (accepted) (no root path)
Received DHCP Ack packet on mge0 from 0.0.0.0 (accepted) (no root path)
Received DHCP Ack packet on mge0 from 0.0.0.0 (accepted) (no root path)
DHCP/BOOTP timeout for server 255.255.255.255
Received DHCP Ack packet on mge0 from 0.0.0.0 (accepted) (no root path)
DHCP/BOOTP timeout for server 255.255.255.255
Received DHCP Ack packet on mge0 from 0.0.0.0 (accepted) (no root path)
DHCP/BOOTP timeout for server 255.255.255.255
Received DHCP Ack packet on mge0 from 0.0.0.0 (accepted) (no root path)
kernel は動いている。DHCPごにょごにょまでで、nfs root が起動しない。

FreeBSD8 の nfs はうまくつながらない云々との情報があったので、データをそっくりdebian(squeeze) に移して同様にやってみたが、やはりこの近辺でごにょごにょする。

FreeBSD 8 も、debian(squeeze) も、テスト版だしなぁ。SheevaPlug用のpatchも怪しいしなぁ。まいったなぁ。というわけで、お盆の4連休は暮れてゆくのであった。つづく。