ほぼ雑記的メモ
起動して何かしようとすると、
VirtualBox cannnot talk to klauncher Not connected to D-Bus server. FreeBSD
のようなエラーが出て動かないという。まさかファイルのダイアログが開けなくて動かないとか・・・うーん。
で、検索してみると、このあたりがズバリそれのようです。
[Solved] DBus running but not working - The FreeBSD Forums
上のリンクを読んでみると分かる通り解決方法はdbusのダウングレード。何か負けてるような気もしますが、詳細を追ってる時間がないのでオイラもそれに習いダウングレードで解決を目指すことにしました。負け犬。
ダウングレードは古いソースをもってきて自分でmakeしてinstallすればいいんですけど、どうせならportsで管理しておきたいところ。そこで、 portdowngadeとportmasterでダウングレードすることにしました。portdowngradeは /usr/ports/ports-mgmt/portdowngrade/にあるのであらかじめ installしておきます。
ちなみにこのブログ書いてる時点でdbusのバージョンは 1.6.12 です。このバージョンがinstallされていると仮定します。
# portdowngrade devel/dbus
とやるとdbusの更新履歴がずらずらと出てきます。見ると
r312209
が 1.4系の最終バージョンのようなので、このときのportsのディレクトリをチェックアウトしてきます。
# cd /home/hoge # portdowngrade devel/dbus 312209
このチェックアウトは/usr/portsの下とかでやらないほうがよいでしょう。自分のホームディレクトリとかでやります。するとdbusというディレクトリにr281729のportsのdbusのディレクトリが現れます。
その後
# portmaster -w -o <dbusを展開したディレクトリ> /var/db/pkg/dbus-1.6.12
とやります。これでdbusを再起動したら大体動いているようです。もっとも他のdbusを使うpkgはdbusのバージョンが1.6.12だと思ってるから何か予期せぬ問題が発生するやもしれませんけどね・・・まぁそんときはそんときということで。とりあえず今は何事もなく動いているようです。
新しいPCにFreeBSDを環境を構築しているのですが、acroread8が以下のようなメッセージを吐いて動かないという・・・
Freebsd linux NIS getpwuid_r(): failed due to unknown user id XXXX
LinuxエミュがNIS引いてないのが原因。
/compat/linux/etc/nsswitch.conf
をNISを見るように修正で対処。古いPCではちゃんと対処してたんですがね・・・ すっかりそういう対処をしたというのを忘れていたようで。 あるいは妖精さんが対処してくれてたのかなぁ?
/usr/obj/arm.armv6/PATH/tmp/usr/bin (PATHはコンパイルしたソースのパスが入るので適宜修正)
MRuby::CrossBuild.new('armv6') do |conf| toolchain :gcc conf.cc do |cc| cc.command = "/usr/obj/arm.armv6/PATH/tmp/usr/bin/cc" end conf.linker do |linker| linker.command = "/usr/obj/arm.armv6/PATH/tmp/usr/bin/cc" end conf.archiver do |archiver| archiver.command = "/usr/obj/arm.armv6/PATH/tmp/usr/bin/gnu-ar" end end
setenv TARGET arm setenv TARGET_ARCH armv6
export TARGET=arm export TARGET_ARCH=armv6
make MALLOC_PRODUCTION=yes buildworld make WITH_FDT=yes KERNCONF=RPI-B buildkernel
MAKEOBJDIRPREFIX
# mount /dev/da2s2a /mnt
make DESTDIR=/mnt KERNCONF=RPI-B-issei installkernel make DESTDIR=/mnt installworld
auditdistd:*:78:77::0:0:Auditdistd unprivileged user:/var/empty:/usr/sbin/nologin
make DESTDIR=/mnt distribution
# make buildkernel KERNCONF=RPI-B-hoge WITH_FDT=yes # make installkernel KERNCONF=RPI-B-hoge
root@raspberry-pi:~ # dmesg Copyright (c) 1992-2012 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 10.0-CURRENT #1 r243778: Sat Dec 1 12:29:02 PST 2012 root@bsdbox:/src/FreeBSD/obj/arm.armv6/src/FreeBSD/head/sys/RPI-B arm CPU: Sheeva 88SV581x rev 7 (Marvell core) Supported features: ARM_ISA THUMB2 JAZELLE ARMv4 Security_Ext WB enabled LABT branch prediction enabled 16KB/32B 4-way instruction cache 16KB/32B 4-way write-back-locking-C data cache real memory = 536870912 (512 MB) avail memory = 386371584 (368 MB) kbd0 at kbdmux0 simplebus0: mem 0xf2000000-0xf2ffffff on fdtbus0 intc0: mem 0xf200b200-0xf200b3ff on simplebus0 systimer0: mem 0xf2003000-0xf2003fff irq 8,9,10,11 on simplebus0 Event timer "BCM2835 Event Timer 3" frequency 1000000 Hz quality 1000 Timecounter "BCM2835 Timecounter" frequency 1000000 Hz quality 1000 sdhci_bcm0: mem 0xf2300000-0xf23000ff irq 70 on simplebus0 bcmwd0: mem 0xf210001c-0xf2100027 on simplebus0 gpio0: mem 0xf2200000-0xf22000af irq 57,59,58,60 on simplebus0 gpio0: read-only pins: 46,47,48,49,50,51,52,53. gpio0: reserved pins: 48,49,50,51,52,53. gpioc0: on gpio0 gpiobus0: on gpio0 uart0: mem 0xf2201000-0xf2201fff irq 65 on simplebus0 dwcotg0: mem 0xf2980000-0xf299ffff irq 17 on simplebus0 usbus0 on dwcotg0 fb0: on fdtbus0 sc0: Unknown <16 virtual consoles, flags=0x300> Timecounters tick every 10.000 msec usbus0: 480Mbps High Speed USB v2.0 ugen0.1: at usbus0 uhub0: on usbus0 uhub0: 1 port with 1 removable, self powered mmcsd0: 14GB at mmc0 25.0MHz/4bit/65535-block fb0: 1280x1024(0x0@0,0) 16bpp fb0: pitch 2560, base 0x59385000, screen_size 2621440 Root mount waiting for: usbus0 ugen0.2: at usbus0 uhub1: on usbus0 uhub1: MTT enabled Root mount waiting for: usbus0 uhub1: 3 ports with 2 removable, self powered Root mount waiting for: usbus0 ugen0.3: at usbus0 smsc0: on usbus0 Trying to mount root from ufs:/dev/mmcsd0s2a [rw,noatime]... smsc0: chip 0xec00, rev. 0002 warning: no time-of-day clock registered, system time will not be set accurately miibus0: on smsc0 ukphy0: PHY 1 on miibus0 ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ue0: on smsc0 ue0: Ethernet address: b8:27:eb:8b:37:6a smsc0: chip 0xec00, rev. 0002
# dd if=/dev/zero of=/dev/da0 bs=1m count=1 # gpart create -s gpt da0 # gpart add -s 64K -t freebsd-boot da0 # gpart add -t freebsd-ufs -l freebsd da0 # gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 da0 # newfs /dev/da0p2 # mount /dev/da0p2 /mnt # cd /mnt # tar xvfzp /usr/freebsd-dist/base.txz # tar xvfzp /usr/freebsd-dist/kernel.txz # echo '/dev/da0p2 / ufs rw,noatime 0 0' > /mnt/etc/fstab