モニターを買った
「NTTグループの安心オンラインストア」を名乗るだいたい頭おかしいことで評判の高い某オンラインストアで23.8インチのWQHDモニタを購入。今まで長いこと使っていたのが14インチのXGAモニタなので画面が大きくなった。というか画素数が従来比で約4.7倍とかワケわからんことに。
DPIが大きくなったことで今までの設定だと色々なものが小さすぎるようになってしまったので色々設定を調整。いまのところこんな感じ。
- .Xresources
Xft.dpi: 120 Xft.autohint: 0 Xft.lcdfilter: lcddefault Xft.hintstyle: hintfull Xft.hinting: 1 Xft.antialias: 1 Xft.rgba: rgb Emacs.font: Mgen+ 1mn 12
layout.css.devPixelsPerPx 1.25
等幅フォントはMyricaも試してみたけど微妙に細くて見づらかったのでMgen+ 12mnにした。ただこれも行幅を取りすぎている気がするのでまた変えるかも。
GPD WINにrEFIndを入れる
俺、この仕事が終わったらGR-PEACHにNetBSDを移植しようと思うんだ… #死亡フラグ
— とんぬら (@tristelo) 2018年1月20日
あの時移植やると言ったな、あれはまだ仕事が終わってないから冬休みの状態から1ミリも進んでないぞ。ウボァ−
てなわけでGR-PEACHは放置中なんだが、ふとGPD WINにrEFIndを入れてみたら動いたので忘れる前にメモっとく。
インストール手順は基本的に「Installing rEFInd Manually Using Windows」の通り。ただ最初試したときは手順10のdescription設定は行なわかなったんだけど、どうも設定がうまくいっていないようで電源ONしてもrEFIndではなく普通にWindowが立ち上がるという状態のままだった。そこで「Alternative Naming Options」の通りに試したり、もう一度インストール手順を(今度は手順10まで)やり直したりと色々やってたら電源ONでrEFIndが起動するようになった。Alternative Naming Optionsで変更したところを戻してもrEFIndが起動するので、たぶん最初のインストールでどこか失敗したんだと思うけど結局理由は不明。
rEFIndが起動するようになったら "refind.conf" にこんな設定をしておくと起動時にNetBSDが選択できるようになる。当然あらかじめどうにかして本体eMMCにNetBSDを入れておく必要があるんだが、やり方は忘れた(たしかUSBメモリにUEFIインストールイメージを突っ込んで起動させ、後は手動で展開したような)。なおアイコンはrEFIndに付属してたやつをそのまま使用している。ちなみに付属アイコンはWinにOS Xに主要LInuxディストリやFreeBSD、はてにはHaikuまで用意されているがOpenBSDは無い。何故だ。
menuentry "NetBSD" { loader /EFI/NetBSD/boot/bootx64.efi icon /EFI/refind/icons/os_netbsd.png }
んで起動したときのがこれ。旗を選ぶとちゃんとNetBSDが起動する。画面のローテーションはどうにかしたいがUEFIで何か方法あるのかな。
GPD WIN + rEFInd + NetBSD = pic.twitter.com/INnm0lNU9s
— とんぬら (@tristelo) 2018年2月11日
ただ、今GPD WINに入っている7.99.42だと問題なく起動するものの、8.99.12だと本体eMMCのmountに失敗する模様。currentだしそんなもんかなーということで時間を置いたらまた試すかも。
佐倉まで行ってきた
先週のことだけど、fabcross見てたら佐倉市立美術館で面白そうな催しをやってたんで行ってきた。
まー自転車についての催しだし普通は自転車で行くだろ、ってことで走ったのが上の地図。
- 左上のJR北柏駅から手賀沼の南側を東へ
- →道の駅しょうなん で手賀沼を外れて南東へ
- →神崎川に着いたらそのまま東南東へ川沿いに
- →新川に合流したら川沿いに南西へ
- →道の駅やちよ でメシ
- →来た道を戻り、そのまま新川沿いに東南東へ行って印旛沼へ
- →道中の風車を軽く見学
- →最後は京急佐倉駅から南に曲がって坂を登って到着
これで大体40kmで、寄り道や休憩も入れて4時間半くらい。ちょうど良いところに川があるおかげで経路の半分が川沿いのサイクリングロードという実に絶妙なルート。ちなみに帰りは自転車を袋に詰めて京成→東武アパ線。
印旛沼。しばらく眺めた感想『……まぁ手賀沼みたいなもんか(ぉぃ』
このときは単に景色の感想だったんだけど、後で調べたらひたすら埋め立てられてたり水質がアレなところも似てたらしい。なお面積は手賀沼の2倍で県内最大とか。
佐倉ふるさと広場にある揚水式風車「リーフデ」。模型とかではなく揚水として運用されている本物で、もちろん風車も回転する。…行ったときは無風だったので回っているところは見れなかったけど(午前中は回ってたとのこと)。
んでこれが佐倉市立美術館。ところで直前の上り坂とか走り疲れた身にはめっちゃキツいんだけど何なのあれ。
館内はフラッシュ禁止ではあるものの撮影・SMS等へのアップロードはOKだったのでテキトーに撮った写真がこちら。リキシャタンク(最後の写真)は初めて見た。
今日のGR-PEACH
ずっと『うーんinitarm()以降のシリアルが出ないなードライバ実装どっかバグってんのかなー』と思ってたけど、結局bus_space_map()したときに取得したhandlepを保存しておくのを忘れてたせいだった。それを直したらなんかダバダバ流れてきてデバッガに落ちた模様。
U-Boot 2015.01-00076-gc83df16e6b-dirty (Jul 06 2017 - 01:45:26) I2C: ready DRAM: 10 MiB Using default environment In: serial Out: serial Err: serial SPI Flash Memory Map ------------------------------------ Start Size SPI u-boot: 0x00000000 0x080000 0 env: 0x00080000 0x040000 0 DT: 0x000C0000 0x040000 0 Kernel: 0x00100000 0x050000 0 Rootfs: 0x00600000 0x0A0000 0 Net: sh_eth => bootp 192.168.0.6:netbsd.bin sh_eth Waiting for PHY auto negotiation to complete.. done sh_eth: 100Base/Full BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 192.168.0.4 (644 ms) Using sh_eth device TFTP from server 192.168.0.6; our IP address is 192.168.0.4 Filename 'netbsd.bin'. Load address: 0x20000000 Loading: ################################################################# ################################################################# ################################################################# #################################### 2.8 MiB/s done Bytes transferred = 3378964 (338f14 hex) => go 0x20000000 ## Starting application at 0x20000000 ... PC=0x20000024 SP=0x208afdb0 CPSR=0x600001d3 <cortex_init>@ABC12-</cortex_init> <mmu_init_table></mmu_init_table> <arm_cpuinit>FG01H1IJKLM</arm_cpuinit> jump to start() uboot arg = 0x1, 0x208b0e5c, 0x208b0e5c, 0x20000000 NetBSD/evbarm (EVBARM_BOARDTYPE) booting ... initarm: Configuring system, CLIDR=1110000003 CTR=0x83338003 arm32_bootmem_init: memstart=0x20000000, memsize=0x10000000, kernelstart=0x20000000 arm32_bootmem_init: kernelend=0x20356000 arm32_bootmem_init: adding 32341 free pages: [0x20356000..0x2fffffff] (VA 0x80356000) arm32_kernel_vm_init: 1 L2 pages are needed to map 0x38a000 kernel bytes arm32_kernel_vm_init: allocating page tables for kerneladd_pages: adding pv 0x8033964c (pa 0x20356000, va 0x80356000, 1 pages) at tail vmadd_pages: appending pv 0x8033a5d0 (0x20358000..0x2035bfff) to 0x20356000..0x20357fff add_pages: appending pv 0x80339824 (0x2035c000..0x2035dfff) to 0x20356000..0x2035bfff add_pages: appending pv 0x80339838 (0x2035e000..0x2035ffff) to 0x20356000..0x2035dfff add_pages: appending pv 0x8033984c (0x20360000..0x20361fff) to 0x20356000..0x2035ffff add_pages: appending pv 0x80339860 (0x20362000..0x20363fff) to 0x20356000..0x20361fff add_pages: appending pv 0x80339874 (0x20364000..0x20365fff) to 0x20356000..0x20363fff add_pages: appending pv 0x80339888 (0x20366000..0x20367fff) to 0x20356000..0x20365fff add_pages: appending pv 0x8033989c (0x20368000..0x20369fff) to 0x20356000..0x20367fff add_pages: appending pv 0x803398b0 (0x2036a000..0x2036bfff) to 0x20356000..0x20369fff arm32_kernel_vm_init: allocating stacks add_pages: appending pv 0x80339d44 (0x2036c000..0x2036dfff) to 0x20356000..0x2036bfff add_pages: appending pv 0x80339d30 (0x2036e000..0x2036ffff) to 0x20356000..0x2036dfff add_pages: appending pv 0x80339d1c (0x20370000..0x20371fff) to 0x20356000..0x2036ffff add_pages: appending pv 0x80339d08 (0x20372000..0x20373fff) to 0x20356000..0x20371fff add_pages: appending pv 0x80339cf4 (0x20374000..0x20375fff) to 0x20356000..0x20373fff add_pages: appending pv 0x80339d58 (0x20376000..0x20377fff) to 0x20356000..0x20375fff add_pages: appending pv 0x80339690 (0x20378000..0x2037bfff) to 0x20356000..0x20377fff Creating L1 page table at 0x20358000 arm32_kernel_vm_init: adding L2 pt (VA 0x80356000, PA 0x20356000) for VA 0x80000000 (kernel) arm32_kernel_vm_init: adding L2 pt (VA 0x8035c000, PA 0x2035c000) for VA 0xc0000000 (vm) arm32_kernel_vm_init: adding L2 pt (VA 0x8035e000, PA 0x2035e000) for VA 0xc0800000 (vm) arm32_kernel_vm_init: adding L2 pt (VA 0x80360000, PA 0x20360000) for VA 0xc1000000 (vm) arm32_kernel_vm_init: adding L2 pt (VA 0x80362000, PA 0x20362000) for VA 0xc1800000 (vm) arm32_kernel_vm_init: adding L2 pt (VA 0x80364000, PA 0x20364000) for VA 0xc2000000 (vm) arm32_kernel_vm_init: adding L2 pt (VA 0x80366000, PA 0x20366000) for VA 0xc2800000 (vm) arm32_kernel_vm_init: adding L2 pt (VA 0x80368000, PA 0x20368000) for VA 0xc3000000 (vm) arm32_kernel_vm_init: adding L2 pt (VA 0x8036a000, PA 0x2036a000) for VA 0xc3800000 (vm) Mapping kernel arm32_kernel_vm_init: adding chunk for kernel text 0x20000000..0x20267fff (VA 0x80000000) add_pages: adding pv 0x80339638 (pa 0x20000000, va 0x80000000, 308 pages) before pa 0x20356000 arm32_kernel_vm_init: adding chunk for kernel data/bss 0x20268000..0x20355fff (VA 0x80268000) add_pages: adding pv 0x80339624 (pa 0x20268000, va 0x80268000, 119 pages) before pa 0x20356000 Listing Chunks arm32_kernel_vm_init: pv 0x80339638: chunk VA 0x80000000..0x80267fff (PA 0x20000000, prot 7, cache 1) arm32_kernel_vm_init: pv 0x80339624: chunk VA 0x80268000..0x80355fff (PA 0x20268000, prot 3, cache 1) arm32_kernel_vm_init: pv 0x8033964c: chunk VA 0x80356000..0x8037bfff (PA 0x20356000, prot 3, cache 1) Mapping Chunks arm32_kernel_vm_init: mapping chunk VA 0x80000000..0x80267fff (PA 0x20000000, prot 7, cache 1) pmap_map_chunk: pa=0x20000000 va=0x80000000 size=0x268000 resid=0x268000 prot=0x7 cache=1 SSLLLLLLPPPP arm32_kernel_vm_init: mapping chunk VA 0x80268000..0x80355fff (PA 0x20268000, prot 3, cache 1) pmap_map_chunk: pa=0x20268000 va=0x80268000 size=0xee000 resid=0xee000 prot=0x3 cache=1 PPPPLLLLLLLLLLLLLLPPP arm32_kernel_vm_init: mapping last chunk VA 0x80356000..0x8037bfff (PA 0x20356000, prot 3, cache 1) pmap_map_chunk: pa=0x20356000 va=0x80356000 size=0x26000 resid=0x26000 prot=0x3 cache=1 PPPPPLPPPPPP devmap: 18000000 -> 1fffffff @ f7000000 pmap_map_chunk: pa=0x18000000 va=0xf7000000 size=0x8000000 resid=0x8000000 prot=0x3 cache=0 sSsSsSsSsSsSsSsS devmap: 3fe00000 -> 3fffffff @ ff000000 pmap_map_chunk: pa=0x3fe00000 va=0xff000000 size=0x200000 resid=0x200000 prot=0x3 cache=0 SS devmap: e8000000 -> e82fffff @ ff200000 pmap_map_chunk: pa=0xe8000000 va=0xff200000 size=0x300000 resid=0x300000 prot=0x3 cache=0 SSS devmap: fc000000 -> fc0fffff @ ff500000 pmap_map_chunk: pa=0xfc000000 va=0xff500000 size=0x100000 resid=0x100000 prot=0x3 cache=0 S devmap: fcf00000 -> fcffffff @ ff600000 pmap_map_chunk: pa=0xfcf00000 va=0xff600000 size=0x100000 resid=0x100000 prot=0x3 cache=0 S devmap: fff00000 -> ffffffff @ ff700000 pmap_map_chunk: pa=0xfff00000 va=0xff700000 size=0x100000 resid=0x100000 prot=0x3 cache=0 S devmap: f0000000 -> f00fffff @ ff800000 pmap_map_chunk: pa=0xf0000000 va=0xff800000 size=0x100000 resid=0x100000 prot=0x3 cache=0 S Physical Virtual Num Starting Ending Starting Ending Pages SDRAM: 0x20000000 0x2fffffff 0x80000000 0x8fffffff 32768 text section: 0x20000000 0x20267fff 0x80000000 0x80267fff 308 data section: 0x202c0000 0x20338f18 0x802c0000 0x80338f18 61 bss section: 0x20338f18 0x20354fe0 0x80338f18 0x80354fe0 15 L1 page directory: 0x20358000 0x2035bfff 0x80358000 0x8035bfff 2 ABT stack (CPU 0): 0x2036c000 0x2036dfff 0x8036c000 0x8036dfff 1 FIQ stack (CPU 0): 0x2036e000 0x2036ffff 0x8036e000 0x8036ffff 1 IRQ stack (CPU 0): 0x20370000 0x20371fff 0x80370000 0x80371fff 1 UND stack (CPU 0): 0x20372000 0x20373fff 0x80372000 0x80373fff 1 IDLE stack (CPU 0): 0x20374000 0x20375fff 0x80374000 0x80375fff 1 SVC stack: 0x20376000 0x20377fff 0x80376000 0x80377fff 1 Message Buffer: 0x20378000 0x2037bfff 0x80378000 0x8037bfff 2 Free Memory: 0x2037c000 0x2fffffff 32322 TTBR0=0x209fc05b TTBR1=0x209fc05b TTBCR=0x1 CONTEXTIDR=0 switching to new L1 page table @0x20358000... ttb (TTBCR=0x11 TTBR0=0x2035805b TTBR1=0x2035805b) OK nfreeblocks = 1, free_pages = 32322 (0x7e42) bootstrap done. vectors vbar=0x8000bf60 0x8000bf60 init subsystems: stacks vectors undefined page pmap_physload pmap kpm tlb0 locks l1pt cache(l1pt) specials pools [ Kernel symbol table missing! ] done. panic: pool_get: pcache: page empty Stopped in pid 0.1 (system) at 80005a80: bx r14 db>