steletoの日記 このページをアンテナに追加 RSSフィード

2014-11-20

[][] コンパイラェ… 01:12  コンパイラェ… - steletoの日記 を含むブックマーク  コンパイラェ… - steletoの日記 のブックマークコメント

気がつけば3ヶ月も空いてた。寒くなってきたので春になるまで家に引き込もってだらだら過ごしたい今日この頃。

それはさておき、ようやく玄箱HGNetBSD 6.1.5にアップデートしたのでpkgsrcも作りなおしているところ。で、audio/musicpdがgcc4.6を求めてくるようになっていたのでlang/gcc4.6をビルドするもエラーになる。

  • lang/gcc46
Makefile:2365: recipe for target 'build/genpreds.o' failed
gmake[3]: *** [build/genpreds.o] Error 1

まぁ要求されているのは4.6「以上」だからまぁいいか、ということで1つ上げて4.7で。

  • lang/gcc47
Makefile:3850: recipe for target 'build/genflags.o' failed
gmake[3]: *** [build/genflags.o] Error 1

ま、まだ4.8もあるから大丈夫。

  • lang/gcc48
Makefile:3844: recipe for target 'build/genflags.o' failed
gmake[3]: *** [build/genflags.o] Error 1

なんか同じところでコケた? ならば最新の4.9だ。

  • lang/gcc49
Makefile:2365: recipe for target 'build/genpreds.o' failed
gmake[3]: *** [build/genpreds.o] Error 1

('・ω・`)


こうなったらもうバイナリパッケージでもいいかと ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/sandpoint/ を見てきたけど、どのクォーターのにもgcc4系のパッケージがない。ってーことは、玄箱に特有の問題というわけではなくpowerpc系共通の問題(しかも放置)ということ?

いやまてそういえばCコンパイラということはgccがダメでもclangがあるじゃないか。

GCC_REQD+= 4.7

アッ (察し

いやまてよさっきのバイナリパッケージでclang-3.4nb1があったからそれをインストールすれば。

結果
インストールできたけどコンパイル時にcore dumpしてhello worldすら出せない

('・ω・`)…


(';ω;`)ブワッ



f:id:steleto:20141121010325p:image *1

*1炎上ジェネレーター https://enjo-generator.herokuapp.com/ で作成しました

2013-12-31

[][]玄箱JukeBox計画 14:27 玄箱JukeBox計画 - steletoの日記 を含むブックマーク 玄箱JukeBox計画 - steletoの日記 のブックマークコメント

この前のおまけUSB Audioを認識できたので、次はMusic Player Daemonを入れる。つーてもpkgsrcにaudio/musicpdとして登録されているので特筆するようなこともなくサックリとインストール完了。

あとはPCにaudio/gmpcを入れて完了。

f:id:steleto:20131231121109p:image

ちなみに曲データは今のところ全部FLACエンコードしてある。貧相なオーディオ環境なのでOgg Vorbisとかの非可逆圧縮でも区別つかないんじゃなかろーかという気がするが、ディスクの容量も余っているしまぁ何となくということで。

2013-12-09

[][]binary upgrade 01:37 binary upgrade - steletoの日記 を含むブックマーク binary upgrade - steletoの日記 のブックマークコメント

玄箱HGを今ごろになって6.1.2に更新したので作業手順をメモ。


まずは/netbsdを更新。一応現状のカーネルをバックアップしておく。

# cp /netbsd /netbsd.bak
# tar xzpvf kern-KUROBOX.tgz -C /

この状態で一度再起動。

# reboot

正常に起動できたらetc以外を展開。X関係は入れていないので省略。

# for i in base comp games man misc modules tests text; do tar xzpvf $i.tgz -C /; done

/tmp/tmprootにetc.tgzを展開。

# mkdir /tmp/tmproot
# tar xzpvf etc.tgz -C /tmp/tmproot

postinstall実行。

# postinstall -s /tmp/tmproot check
...(略)...
postinstall checks passed: bluetooth ddbonpanic defaults dhcpcd envsys fontconfig gid gpio hosts iscsi motd named pam periodic pf pwd_mkdb rc ssh wscons x11 xkb uid varrwho tcpdumpchroot atf catpages obsolete ptyfsoldnodes
postinstall checks failed: makedev mtree
To fix, run:
    sh /usr/sbin/postinstall -s '/tmp/tmproot' -d / fix makedev mtree
Note that this may overwrite local changes.

修正するならコレ実行しやがれということなので。

# sh /usr/sbin/postinstall -s '/tmp/tmproot' -d / fix makedev mtree
...(略)...
postinstall fixes passed: makedev mtree
postinstall fixes failed:

etcupdate実行。

# etcupdate -s /tmp/tmproot
...(差異があるファイルを更新していいか確認してくるので適宜答える)...
*** All done

再起動。

# shutdown -r now

完。

[][]おまけ 01:51 おまけ - steletoの日記 を含むブックマーク おまけ - steletoの日記 のブックマークコメント

sys/arch/sandpoint/conf/KUROBOXにこんなん足しておいた。

@@ -12,4 +12,10 @@
 satmgr0 at eumb? unit 0			# satmgr at 0x4500
 
 no nhpow0
 no gpio*
+
+# USB audio
+uaudio* at uhub? port ? configuration ?
+
+# Audio support
+audio*	at audiobus?

結果。

uaudio0: ONKYO Corporation USB Digital Audio Processor, rev 1.00/1.00, addr 2
uaudio0: ignored setting with precision 20
uaudio0: ignored setting with precision 20
uaudio0: ignored setting with precision 20
uaudio0: ignored setting with precision 20
uaudio0: audio rev 1.00
audio0 at uaudio0: full duplex, playback, capture, independent

なんかignoreゆーとるがとりあえず認識できたっぽい。

2013-06-23

[][] 玄箱HG Update (4) 23:53  玄箱HG Update (4) - steletoの日記 を含むブックマーク  玄箱HG Update (4) - steletoの日記 のブックマークコメント

NetBSD/sandpointのインストールが完了したらFlashの0xFFFE0000アドレスにaltboot.binを書き込む。

=> protect off fffe0000 +20000
Un-Protected 9 sectors
=> erase fffe0000 +20000

Flash erase: first = 62 @ 0xfffe0000
             last  = 70 @ 0xffffe000
Flash erase: Done
Erased 9 sectors
=> mw.b 1000000 ff 20000
=> tftp 1000000 altboot.bin
Using RTL8169#0 device
TFTP from server 192.168.0.25; our IP address is 192.168.0.254
Filename 'altboot.bin'.
Load address: 0x1000000
Loading: ###############
done
Bytes transferred = 75924 (12894 hex)
=> cp.b 1000000 fffe0000 20000
Copy to Flash... done
=> cmp.b 1000000 fffe0000 20000
Total of 131072 bytes were the same
=> protect on fffe0000 +20000
Protected 9 sectors
=> reset

ハードディスクから起動するように環境変数を設定。

=> setenv bootcmd cp.b fffe0000 1000000 20000\; go 1000000 wd0:netbsd           
=> setenv bootdelay 3                                                           
=> saveenv

再起動させて自動的にハードディスクからNetBSD/sandpointが起動すればインストール完了。

[][] 玄箱HG Update (3) 22:50  玄箱HG Update (3) - steletoの日記 を含むブックマーク  玄箱HG Update (3) - steletoの日記 のブックマークコメント

まずは母艦側の下準備。

/etc/inetd.confを編集してtftpとbootpを有効にする。

(ちなみにはじめてのネットワークブートだったこともありbootpでたいぶハマった)

--- /etc/inetd.conf.orig	2013-06-23 21:38:37.000000000 +0900
+++ /etc/inetd.conf	2013-06-23 21:38:46.000000000 +0900
@@ -20,7 +20,7 @@
 #finger		stream	tcp6	nowait	nobody	/usr/libexec/fingerd	fingerd -lsmu
 #ident		stream	tcp	nowait	nobody	/usr/libexec/identd	identd -l -o OTHER -e -N
 #ident		stream	tcp6	nowait	nobody	/usr/libexec/identd	identd -l -o OTHER -e -N
-#tftp		dgram	udp	wait	root	/usr/libexec/tftpd	tftpd -l -s /tftpboot
+tftp		dgram	udp	wait	root	/usr/libexec/tftpd	tftpd -l -s /tftpboot
 #tftp		dgram	udp6	wait	root	/usr/libexec/tftpd	tftpd -l -s /tftpboot
 #comsat		dgram	udp	wait	root	/usr/libexec/comsat	comsat
 #comsat		dgram	udp6	wait	root	/usr/libexec/comsat	comsat
 #ntalk		dgram	udp	wait	nobody:tty	/usr/libexec/ntalkd	ntalkd
-#bootps		dgram	udp	wait	root	/usr/sbin/bootpd	bootpd
+bootps		dgram	udp	wait	root	/usr/sbin/bootpd	bootpd
 #
 #	Games
 #

続いてbootp用の設定を/etc/bootptabに設定。

kurobox:ht=ethernet:ha=000d0bxxxxxx:ip=192.168.0.254:sa=192.168.0.25:

/tftpbootディレクトリに「altboot.bin」と「netbsd-INSTALL_KURO」を用意し、inetdを再起動。

# /etc/rc.d/inetd restart
Stopping inetd.
Waiting for PIDS: 443.
Starting inetd.

玄箱HGに戻ってきて、まずは自身とTFTPサーバのIPアドレスを設定する。

=> setenv ipaddr 192.168.0.254
=> setenv serverip 192.168.0.25
=> saveenv
Saving Environment to Flash...
Un-Protected 1 sectors
Erasing Flash...
Flash erase: first = 54 @ 0xfff60000
             last  = 54 @ 0xfff60000
Flash erase: Done
Erased 1 sectors
Writing to Flash... done
Protected 1 sectors

altboot.binを0x01000000へ読み込む。

=> tftpboot 01000000 altboot.bin
Using RTL8169#0 device
TFTP from server 192.168.0.25; our IP address is 192.168.0.254
Filename 'altboot.bin'.
Load address: 0x1000000
Loading: ###############
done
Bytes transferred = 75924 (12894 hex)

Go。

=> go 1000000 tftp:netbsd-INSTALL_KURO
## Starting application at 0x01000000 ...

>> NetBSD/sandpoint altboot, revision 1.9
>> KuroBox, cpu 262 MHz, bus 131 MHz, 128MB SDRAM
channel 0 present
wd0: <Hitachi HTS545050B9A300> DMA LBA LBA48 476940 MB
wd0: no disklabel
MAC address 00:0d:0b:xx:xx:xx
10Mbps
Hit any key to enter interactive mode: 0
loading "netbsd-INSTALL_KURO" 5370872+134200=0x5404b8
entry=0x90000, ssym=0x5d0030, esym=0x5d04b8
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.1 (INSTALL_KURO)
Model: kurobox
total memory = 128 MB
avail memory = 118 MB
... snip ...

なんか聞いてきたので答える。

Terminal type? [vt100]                                                          
Erase is backspace.                                                             
(I)nstall, (S)hell or (H)alt ? i

f:id:steleto:20130623224750p:image

いつものインストール画面に到達。

[][] 玄箱HG Update (2) 17:10  玄箱HG Update (2) - steletoの日記 を含むブックマーク  玄箱HG Update (2) - steletoの日記 のブックマークコメント

基本的に本家ドキュメント「LinkStation Installation」の通り。

シリアル出力改造は既に済ませてあるので、シリアル接続して玄箱HGの電源をON。

******* Product Information *******
---------------------------------- 
Product Name: KURO-BOX/HG(IESHIGE)
          VER: 1.00               
         Date: 2004/10/19 17:18:54
----------------------------------
Firmware check:done.              
                    
>>root=/dev/hda1
Now Loading...done.
Now Booting        
Memory BAT mapping: BAT2=128Mb, BAT3=0Mb, residual: 0Mb
Linux version 2.4.17_mvl21 (root@toda_dev.melcoinc.co.jp) (gcc version 2.95.3 20010315 (release/MontaVista)) #24 2004&#254; 10&#249; 19 &#254;&#254;&#254; 17:17:03 JST
KURO-BOX (C) 2004 KUROUTO-SHIKOU.
... snip ...
hda: Hitachi HTS545050B9A300, ATA DISK drive
... snip ...
Kuroutoshikou KURO-BOX/HG (IESHIGE)

KURO-BOX-EM login:

きちんとHDDを認識できているのを確認して「root/kuroadmin」でログイン。Linuxバージョン表記の列で日付と思わしきものが化けたが知らん。(ぉ

続いて母艦からu-bootイメージを転送。

$ ftp ftp://root:kuroadmin@192.168.0.3/
Connected to 192.168.0.3.
220 KURO-BOX-EM FTP server (Version 6.4/OpenBSD/Linux-ftpd-0.17) ready.
331 Password required for root.
230- Linux 2.4.17 ppc unknown
230 User root logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
200 Type set to I.
ftp> put u-boot-hg.flash.bin 
local: u-boot-hg.flash.bin remote: u-boot-hg.flash.bin
227 Entering Passive Mode (192,168,0,3,4,1)
150 Opening BINARY mode data connection for 'u-boot-hg.flash.bin'.
100% |***********************************|   170 KiB  428.62 KiB/s    00:00 ETA
226 Transfer complete.
174668 bytes sent in 00:00 (350.27 KiB/s)
ftp> bye
221 Goodbye.

どこに転送されたのかと思ってたら/rootだったので、そこに移動して/dev/fl2に(一応バックアップを取ってから)catで流し込む。

# cd /root
# ls -l
-rw-r-----    1 root     root       174668 Jun 24 02:30 u-boot-hg.flash.bin
# cat /dev/fl2 > fl2.old.bin
# cat u-boot-hg.flash.bin > /dev/fl2

書き込みが終わったらもう一度/dev/fl2を読み込んでバイナリが一致しているか比較する。

# cat /dev/fl2 > fl2.bin
# cmp -l fl2.bin u-boot-hg.flash.bin
cmp: No such file or directory

おおっとEMモードだとcmpが無いのか。しからば母艦に転送させて比較。

cmp: EOF on u-boot-hg.flash.bin: char 174669, line 862

u-boot-hg.flash.binファイルは174668バイトなのでこれでOK。

では玄箱HGを再起動。

U-Boot 1.1.4 LiSt 2.1.0 (Sep 21 2006 - 00:14:53) LinkStation HG / KuroBox HG

CPU:   MPC8245 Revision 1.4 at 262.144 MHz: 16 kB I-Cache 16 kB D-Cache
DRAM:  128 MB
FLASH:  4 MB
*** Warning - bad CRC, using default environment

        00  0b  10ec  8169  0200  ff
        00  0c  1095  0680  0101  ff
        00  0e  1033  0035  0c03  ff
        00  0e  1033  0035  0c03  ff
        00  0e  1033  00e0  0c03  ff
Net:   RTL8169#0

初期値がnetcatとかいうものらしく、ここで20秒ほど待ち状態になる。このまま放置してタイムアウトさせると次に進む。

next_cons_choice: Unexpected code: 0x33
stdin :   serial
stdout:   serial
stderr:   serial
IDE:   Bus 0: OK
  Device 0: Model: Hitachi HTS545050B9A300 Firm: PB4OC64G Ser#: 110112PBN400171E
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 476940.0 MB = 465.7 GB (976773168 x 512)
Boot in 02 seconds ('s' to stop)...

ここまできたら「s」で停止させ、環境変数を変更して起動時にシリアルモードに落ちるように設定。

=> run ser          
=> setenv bootcmd
=> setenv bootdelay -1
=> saveenv 
Saving Environment to Flash...
Un-Protected 1 sectors
Erasing Flash...
Flash erase: first = 54 @ 0xfff60000
             last  = 54 @ 0xfff60000
Flash erase: Done
Erased 1 sectors        
Writing to Flash... done
Protected 1 sectors

完。

2013-06-20

[][] 玄箱HG Update (1) 02:11  玄箱HG Update (1) - steletoの日記 を含むブックマーク  玄箱HG Update (1) - steletoの日記 のブックマークコメント

f:id:steleto:20130621020138j:image

まずはSSD(64MB)を外して旧PCで使用していたHDD(500GB)に換装するところまで。ちなみに固定はマジックテープ。