top page > PC unix (2) > here

FreeBSD/amd64 10.3 on Endeavor ST180E


概要

Endeavor ST180E (EPSON) に FreeBSD/amd64 10.3 を install しました. ここでは主に以下の点に注目して,その記録を提示します.

  1. USB メモリーを用いた install 法.
  2. X Window System X.Org 7.7 と intel, vesa driver について.
  3. 旧 package system の導入とその動作.
  4. sound, network などについて.

目次

1. まえがき
2. install
3. X Window System
4. 旧 package system
5. sound
6. network
7. firefox
8. USB mouse

1. まえがき

Endeavor ST180E (EPSON) は CPU として intel i7-6700T を採用した小型の desk top PC です.
i7-6700T は 4 core と HT (Hyper-Threading) により,FreeBSD からは 8 CPU であると認識されます.

CPU: Intel(R) Core(TM) i7-6700T CPU @ 2.80GHz (2808.14-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0x506e3  Family=0x6  Model=0x5e  Stepping=3
(中略)
FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs
FreeBSD/SMP: 1 package(s) x 4 core(s) x 2 SMT threads

PS/2 コネクターは紫色のみで,これはキーボード専用です. (実際にマウスを繋げて試しました.) PS/2 マウスを接続するためには別売りの「PS/2 分配ケーブル」が必要です.

私は AT 互換機において,一つの HDD に異なる複数の OS を install したことはありません. 今回も pre install された Windows 10 を消して,その HDD すべてを使って FreeBSD を install しました.

2. install

先ず,先の頁の 2. BIOS Setup をお読み下さい.

install media として USB Memory だけ試しました. FreeBSD 9.3 の場合と異なり,問題なく導入できました.

bsdinstall の "Partitioning" は "Manual" を選択し,handbook の「伝統的なファイルシステムのパーティションを作成する。」を参考に以下のようにしました.

% gpart show
=>       34  976773101  ada0  GPT  (466G)
         34          6        - free -  (3.0K)
         40       1024     1  freebsd-boot  (512K)  開始セクタは 40 です.
       1064    4194304     2  freebsd-ufs  (2.0G)   ここは / です.
    4195368   33554432     3  freebsd-swap  (16G)
   37749800   16777216     4  freebsd-ufs  (8.0G)   ここは /var です.
   54527016    8388608     5  freebsd-ufs  (4.0G)   ここは /tmp です.
   62915624  913857510     6  freebsd-ufs  (436G)   ここは /usr です.

  976773134          1        - free -  (512B)
% df
Filesystem  1K-blocks     Used     Avail Capacity  Mounted on
/dev/ada0p2   2031132   545416   1323228    29%    /
devfs               1        1         0   100%    /dev
/dev/ada0p4   8106716    69404   7388776     1%    /var
/dev/ada0p5   4053308    32844   3696200     1%    /tmp
/dev/ada0p6 442577380 36363924 370807268     9%    /usr

% swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/ada0p3      16777216        0 16777216     0%

HDD は AFT なのですが,相変わらず sector size が 4096 = 4K になっておりません. (意味が解らないのですが,stripe size は非 ADT の HDD では 0 である一方,こちらでは 4K になっています.)

# diskinfo -v /dev/ada0
/dev/ada0
        512             # sectorsize
        500107862016    # mediasize in bytes (466G)
        976773168       # mediasize in sectors
        4096            # stripesize
        0               # stripeoffset
        969021          # Cylinders according to firmware.
        16              # Heads according to firmware.
        63              # Sectors according to firmware.
        RCF50ACE2XV9TN  # Disk ident.

3. X Window System

X Server は 1.17.4 が導入されます.

xf86-video-vesa (2.3.4) は動作します.

一方,xf86-video-intel (2.21.15) は動作せず,以下のようなエラーになります.

(EE) No devices detected

参考までに,OS の boot の際の log の関連部分は次のようになっています.

vgapci0: <VGA-compatible display> port 0xf000-0xf03f mem 0xde000000-0xdeffffff,0xc0000000-0xcfffffff irq 16 at device 2.0 on pci0
vgapci0: Boot video device
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0

これに関しては,FreeBSD-X11 Team にも Skylake : Not supported と書かれております. (それどころか Broadwell すら Not supported です.) ただ,その Roadmap には以下のようにも書かれています.

Project : update xf86-video-intel to pre 3.0 releases
Status : DONE
Blocks on : Needs xserver 1.18+
Notes : Version 2.99.917 (git snapshot) is in the xserver-next branch.

実際,Ubuntu Linux 16.04 では X Server 1.18.3,xf86-video-intel 2.99.917 なのですが,ST180E にて動作しております. ですから,もう少し待ちましょう.

(2017.4.9) 2017.3.28 付の ports においては X Server は 1.18.4, xf86-video-intel は 2.99.917.20170228 になりました.
  それにも関わらず,上記と同様に動作しません. これらの version の問題だけではないようです.
  git 版で動かしているという情報もありますが,そこまで追求しないで待つことにします.

4. 旧 package system

packages にしたがって旧 package system を導入します.

以下のように長い警告を受けますが,install はできています. (引用にあたり,適宜改行しました.)

# pkg_add ja-wnn7-server-1.00_1.tgz
Wnn7 Server ...pkg_add: You appear to be using the newer pkg(1) tool on this
system for package management, rather than the legacy package management
tools (pkg_*).  The legacy tools should no longer be used on this system.
warning: The jserver services appear to be present in /etc/services.

pkg_deletepkg_info も正常に動作しております.

以下は,Wnn 7 の CD-ROM の Install を実行した後の /var/db/pkg/ です. (この Install は shell script であり,pkg_add を使っています.) 新旧の package system は干渉せずに共存できるようです.

# ls -l /var/db/pkg/
total 19740
drwxr-xr-x  2 root  wheel       512 Jul  6 23:46 dpkey7-1.00_1/
drwxr-xr-x  2 root  wheel       512 Jul  6 23:46 ja-wnn7-elisp-1.00_1/
drwxr-xr-x  2 root  wheel       512 Jul  6 23:46 ja-wnn7-maindic-1.00_1/
drwxr-xr-x  2 root  wheel       512 Jul  6 23:46 ja-wnn7-optiondic-1.00_1/
drwxr-xr-x  2 root  wheel       512 Jul  6 23:46 ja-wnn7-server-1.00_1/
drwxr-xr-x  2 root  wheel       512 Jul  6 23:46 ja-wnn7-utils-1.00_1/
drwxr-xr-x  2 root  wheel       512 Jul  6 23:46 ja-wnn7-xclients-1.00_1/
-rw-r--r--  1 root  wheel  20141056 Jul  3 20:26 local.sqlite    ← これは新 package system 用のファイルです

Wnn 7 は FreeBSD 5.2 用に更新し,また最新の emacs かつ 64bit に対応するように修正しております. 少なくとも emacs の上では正常に動作しております. (これらの修正に関しては Wnn 7 を参照して下さい.)

5. sound

sound は hda driver にて利用することができます. ただし内蔵スピーカーはないので,ヘッドフォンや外部スピーカーが必要です.

OS の log に出力される sound に関連した部分は以下の通りです.

hdac0: <Intel (0xa170) HDA Controller> mem 0xdf040000-0xdf043fff,0xdf020000-0xdf02ffff irq 16 at device 31.3 on pci0
hdacc0: <Realtek ALC662 HDA CODEC> at cad 0 on hdac0
hdaa0: <Realtek ALC662 Audio Function Group> at nid 1 on hdacc0
pcm0: <Realtek ALC662 (Rear Analog)> at nid 20 and 24,26 on hdaa0
pcm1: <Realtek ALC662 (Front Analog)> at nid 27 and 25 on hdaa0
hdacc1: <Intel (0x2809) HDA CODEC> at cad 2 on hdac0
hdaa1: <Intel (0x2809) Audio Function Group> at nid 1 on hdacc1
pcm2: <Intel (0x2809) (HDMI/DP 8ch)> at nid 3 on hdaa1

/usr/src/sys/amd64/conf を見れば解るように,sound driver は既に kernel に組み込まれているので,/boot/loader.conf には以下の設定は必要ありません.

sound_load="YES"
snd_hda_load="YES"

出力先は三つあります.

# cat /dev/sndstat
Installed devices:
pcm0: <Realtek ALC662 (Rear Analog)> (play/rec) default
pcm1: <Realtek ALC662 (Front Analog)> (play/rec)
pcm2: <Intel (0x2809) (HDMI/DP 8ch)> (play)

すなわち,pcm0 背面の端子 (緑色),pcm1 は前面の端子 (緑色) です. default を pcm0 から pcm1 に切り換えるには,以下のように操作します.[1]

# sysctl hw.snd.default_unit=1

または /boot/loader.conf に以下のように記述します.[1][2]

hw.snd.default_unit=1

[1] このように設定しても,firefox の音は背面の端子から出ます. これは firefox 側の問題のようです.
  (2018.9.16) いつの時点で直ったのか分かりませんが,少なくとも firefox 60 以降は正常に動作しております.

[2] FreeBSD 11.2 では,こう設定するとエラーになります. /etc/sysctl.conf にて設定します. (FreeBSD 10.4 でもこれで設定することができます.)

6. network

network は em driver にて利用することができます.

em0: <Intel(R) PRO/1000 Network Connection 7.6.1-k> mem 0xdf000000-0xdf01ffff irq 16 at device 31.6 on pci0
em0: Using an MSI interrupt
em0: Ethernet address: 54:be:f7:8a:06:e7

7. firefox

firefoxdbus を起動しておかないと core dump します. /etc/rc.conf に以下のように記述します.

dbus_enable="YES"

8. USB mouse

新しい USB mouse を取りつけたら,挙動がおかしいです. dmesg で見ると,以下のように disconnect/reconnect を繰り返しています.

ugen0.3: <xxxxxx> at usbus0   ← connect
ums1: <xxxxxx xxxxxxxxx USB Optical Mouse, class 0/0, rev 1.10/1.00, addr 17> on usbus0
ums1: 3 buttons and [XYZ] coordinates ID=0
ugen0.3: <xxxxxx> at usbus0 (disconnected) ← disconnect
ums1: at uhub0, port 9, addr 17 (disconnected)
ugen0.3: <xxxxxx> at usbus0  ← reconnect
ums1: <xxxxxx xxxxxxxxx USB Optical Mouse, class 0/0, rev 1.10/1.00, addr 18> on usbus0
ums1: 3 buttons and [XYZ] coordinates ID=0

これは自作 AT 互換機や NP25S でも同様です. (どちらも OS は FreeBSD/i386 8.4) ですが,ST180E の方が頻度が高いです.

また,この現象が生じてから X server 起動させようとすると,少なくとも vesa はエラーになります. その場合,reboot しないと元に戻りません.

5 年以上前に買った同じメーカーの複数の USB mouse ではこういうことは起らないので,この mouse と FreeBSD の driver の相性,もしくは設定の問題だと考えます. FreeBSD に接続できることを確認したら,それをもう一個買っておくのが賢明かもしれません.

(2017.11.4) FreeBSD 10.4 に更新したら,この問題は生じなくなりました.
  /usr/src/sys/dev/usb/input/ums.c が更新されているので,おそらくこの変更が効いているのだと考えます.
  ただし,x11-drivers/xf86-input-mouse も 1.9.1 から 1.9.2 になっているので,それも影響しているのかもしれません.