如何在Chromebook上运行DragonflyBSD

dragonflyseallyhs 发布于 2015/07/09 17:21
阅读 479
收藏 1

DragonflyBSD官方微信:BSDchina 或 BSD操作系统 加关注  邮箱:seallyhs@gmail.com

DragonflyBSD目支持Acer C720和Acer C720p两款Chromebook笔记本。这次小编来给大家介绍下如何在Chromebook上运行DragonflyBSD。


首先按照Linux的方法来解锁Chromebook。网上搜索"install linux chromebook":
http://www.linux.com/learn/tutorials/764181-how-to-install-linux-on-an-acer-c720-chromebook
(Install Bodhi Linux那一段)
解锁后即可安装出了Chrome OS之外的操作系统了。

1)驱动加载。


如下驱动需要额外加载。将一下几行内容添加到/boot/loader.conf:
ig4_load="YES"
cyapa_load="YES"
atmel_mxt_load="YES"
if_ath_load="YES"
sound_load="YES"
snd_hda_load="YES"
修改完成后重启。


2)无线配置。


在/etc/rc.conf中添加如下几行:
wlans_ath0="wlan0"
ifconfig_wlan0="DHCP WPA"
将其他ath0相关的内容删除。


编辑/etc/wpa_supplicant.conf:
network={
    ssid="无线网络名称"
    psk="无线密码"
}
编辑完成后重启。


2.4Ghz和5Ghz应该都可以工作。


3)禁止电源按键。


电源按键是在右边的一个功能键,不小心就会按到。运行如下命令可以禁止电源按键:
sysctl hw.acpi.power_button_state=NONE
也可以将如下一行添加到/etc/sysctl.conf:
hw.acpi.power_button_state=NONE
下次重启后就不用运行上述sysctl了。


4)dbus配置(已不需要)


新版本的firefox不会自动启动dbus。可以在/etc/rc.conf中添加如下内容:
dbus_enable="YES"
系统重启后生效。如果不想重启系统的话,运行如下命令也可以:
dbus-daemon --system


5)声卡配置


C720/C720p有两个声卡,一个在Haswell的CPU里(用于HDMI的音频输出)。另外一个是Realtek的AC0283,用于内置喇叭和耳机输出。


在/dev下应该有dsp0和dsp1。如下命令的输出应该是1:
sysctl hw.snd.default_unit
你可以用mpg123来测试声卡。如果声卡不工作,请将如下命令的输出发送至users@dragonflybsd.org:
pciconf -lv


6)X11配置


DragonflyBSD支持Haswell内建图形显卡的硬件加速。如下软件包推荐安装:
pkg install xorg-apps
pkg install xorg-docs
pkg install xorg-fonts
pkg install xorg-libraries
pkg install xorg-macros
pkg install xorg-server
pkg install xdm
pkg install firefox


在上述过程中安装的intel X11驱动需要被替换成intel29 X11驱动。如果dports还没有被配置,那在/usr目录下运行make,并按提示继续。注意请在上述软件包安装完后再执行下述命令:
cd /usr/dports/x11-drivers/xf86-video-intel29
make
make reinstall


/etc/X11/xorg.conf配置文件如下:
Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      1  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Mouse1" "SendCoreEvents"
        InputDevice    "TouchScreen0" "SendCoreEvents"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection


# This may be needed to prevent X from ignoring keyboard
# and mouse devices in xorg.conf.
#
Section "ServerFlags"
        Option "AutoAddDevices" "False"
EndSection


Section "Files"
        ModulePath   "/usr/local/lib/xorg/modules"
        FontPath     "/usr/local/lib/X11/fonts/misc/"
        FontPath     "/usr/local/lib/X11/fonts/TTF/"
        FontPath     "/usr/local/lib/X11/fonts/OTF/"
        FontPath     "/usr/local/lib/X11/fonts/Type1/"
        FontPath     "/usr/local/lib/X11/fonts/100dpi/"
        FontPath     "/usr/local/lib/X11/fonts/75dpi/"
EndSection


Section "Module"
        Load  "dbe"
        Load  "dri"
        Load  "dri2"
        Load  "extmod"
        Load  "record"
        Load  "glx"
EndSection


Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
EndSection


Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option          "Protocol" "imps/2"
        Option          "Device" "/dev/cyapa0-67"
EndSection


Section "InputDevice"
        Identifier  "Mouse1"
        Driver      "mouse"
        Option          "Protocol" "auto"
        Option          "Device" "/dev/sysmouse"
        Option          "ZAxisMapping" "4 5"
EndSection


Section "InputDevice"
        Identifier  "TouchScreen0"
        Driver      "elographics"
        Option          "Device" "/dev/atmel1-4a"
#   Option      "ZAxisMapping" "4 5 6 7"
EndSection


Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection


Section "Device"
        #Option     "NoAccel" "true"                # [<bool>]
        #Option     "AccelMethod"           # <str>
        #Option     "Backlight"             # <str>
        #Option     "DRI"                   # <str>
        Identifier  "Card0"
        Driver      "intel"
        #Option     "ReprobeOutputs" "true"
        #BusID      "PCI:0:2:0"
EndSection


Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Depth     1
        EndSubSection
        SubSection "Display"
                Depth     4
        EndSubSection
        SubSection "Display"
                Depth     8
        EndSubSection
        SubSection "Display"
                Depth     15
        EndSubSection
        SubSection "Display"
                Depth     16
        EndSubSection
        SubSection "Display"
                Depth     24
        EndSubSection
EndSection




如果要使用触摸屏的话,需要安装xf86-input-elographics:
pkg install xf86-input-elographics


以下URL有如何配置触摸板的虚拟按键和虚拟鼠标滚轮的具体信息:
http://lists.dragonflybsd.org/pipermail/commits/2014-January/198982.html
http://lists.dragonflybsd.org/pipermail/commits/2014-January/198985.html
http://lists.dragonflybsd.org/pipermail/commits/2014-January/198994.html
http://lists.dragonflybsd.org/pipermail/commits/2014-January/198995.html


7)鼠标的进一步配置


我们推荐使用系统中的moused。将下面一行添加到/etc/rc.conf:
moused_enable="YES"


如果上述做法不工作,那将下面一行添加到/etc/rc.conf中:
moused_enable="NO"
并将如下两行添加到/etc/rc.local中:
moused -p /dev/ums0
moused -p /dev/ums1


8)触摸屏和触摸板可能出现的问题


有些用户在使用时发现触摸屏和触摸板会有跳跃的现象(在Chrome OS中也会出现)。我们不清楚问题的根源在哪里,但是如果该系列的笔记本放在塑料桌子上并且连接了电源的话,这个问题最容易出现。有的时候,多碰几下触摸屏或触摸板就可以缓解这个问题,拔除电源或者把笔记本放在其他地方也可以缓解这个问题。
如果这个问题频繁发生,你可以禁止触摸屏和触摸板。


触摸屏的使用有时会导致X11的刷新有问题,如果出现,你可以禁止触摸屏。


9)音量和屏幕背光调整


将下面内容存成~/mute.csh:
#!/bin/csh
#
# mute script


set curvol = "`mixer -f /dev/mixer1 -s vol`"


if ( -f ~/.savemute ) then
        set lastvol = "`cat ~/.savemute`"
else
        set lastvol = ""
endif


if ( "$curvol" == "vol 0:0" ) then
        if ( "$lastvol" != "" ) then
                eval mixer -f /dev/mixer1 $lastvol
        endif
else
        if ( "$lastvol" != "$curvol" ) then
                echo "$curvol" > ~/.savemute
        endif
        mixer -f /dev/mixer1 vol 0
endif




将下面内容存成~/backlight.csh:
#!/bin/csh
#
# backlight script


set level = `sysctl -n hw.backlight_level`
@ level = $level + $argv
sysctl hw.backlight_level=${level}




将以下几行添加到~/.xbindkeysrc:
# Volume
#
"~/mute.csh"
  F8


"mixer -f /dev/mixer1 vol -5"
  F9


"mixer -f /dev/mixer1 vol +5"
  F10


# Screen
#
"~/backlight.csh -20"
  F6


"~/backlight.csh 20"
  F7






将xbindkeys添加到~/.xinitrc中。


在X11启动时恢复屏幕背光:你也可以将下面一行添加到~/.xinitrc中:
sysctl hw.backlight_level=370


10)Home,End,Delete按键模拟


使用Alt为修饰键:
Insert = Alt + \
Delete = Alt + Backspace
Home = Alt + Left
End = Alt + Right
PageUp = Alt + Up
PageDown = Alt + Down


运行如下命令来创建目录存放配置文件:
mkdir -p ~/.config/xkb/types ~/.config/xkb/symbols


将如下内容存为~/.config/xkb/types/c720:
xkb_types "c720" {
    virtual_modifiers Alt;
    type "ARROW" {
        modifiers    = Shift+Alt;
        map[Shift]  = Level2;
        map[Alt]    = Level3;
        map[Alt+Shift]    = Level3;
        level_name[Level1] = "Base";
        level_name[Level2] = "Caps";
        level_name[Level3] = "Alt";
    };
};




将如下内容存为~/.config/xkb/symbols/c720:
xkb_symbols "c720" {
    key <BKSL> {
        type="ARROW",
        repeat=yes,
        symbol[Group1] = [backslash, bar, Insert],
        symbol[Group2] = [backslash, slash, Insert],
        actions[Group1] = [
            NoAction(),
            NoAction(),
            RedirectKey(key=<INS>, clearmods=Alt)
        ],
        actions[Group2] = [
            NoAction(),
            NoAction(),
            RedirectKey(key=<INS>, clearmods=Alt)
        ]
    };
    key <BKSP> {
        type="ARROW",
        repeat=yes,
        [BackSpace, BackSpace, Delete],
        actions[Group1] = [
            NoAction(),
            NoAction(),
            RedirectKey(key=<DELE>, clearmods=Alt)
        ]
    };
    key <LEFT> {
        type="ARROW",
        [Left, Left, Home],
        actions[Group1] = [
            NoAction(),
            NoAction(),
            RedirectKey(key=<HOME>, clearmods=Alt)
        ]
    };
    key <RGHT> {
        type="ARROW",
        repeat=yes,
        [Right, Right, End],
        actions[Group1] = [
            NoAction(),
            NoAction(),
            RedirectKey(key=<END>, clearmods=Alt)
        ]
    };
    key <UP> {
        type="ARROW",
        repeat=yes,
        [Up, Up, Prior],
        actions[Group1] = [
            NoAction(),
            NoAction(),
            RedirectKey(key=<PGUP>, clearmods=Alt)
        ]
    };
    key <DOWN> {
        type="ARROW",
        [Down, Down, Next],
        actions[Group1] = [
            NoAction(),
            NoAction(),
            RedirectKey(key=<PGDN>, clearmods=Alt)
        ]
    };
};




将下面这一行加到~/.xinitrc中:
setxkbmap -layout "us+c720" -types "complete+c720" -print|xkbcomp -I"$HOME/.config/xkb" - "${DISPLAY%%.*}"


安装完毕


如果大家想按装Freebsd,可以找下第三方的patch,直接安装FreeBSD在驱动方面可能会出现问题。


加载中
0
夜听风雨
New packages to be INSTALLED:
wget: 1.16.3
libidn: 1.31


The process will require 3 MiB more space.
708 KiB to be downloaded.


Proceed with this action? [y/N]: y

pkg: http://mirror-master.dragonflybsd.org/dports/dragonfly:4.4:x86:64/LATEST/All/wget-1.16.3.txz: No address record

请问在虚拟机上安装报这个问题是什么原因。

0
dragonflyseallyhs
dragonflyseallyhs

引用来自“夜听风雨”的评论

New packages to be INSTALLED:
wget: 1.16.3
libidn: 1.31


The process will require 3 MiB more space.
708 KiB to be downloaded.


Proceed with this action? [y/N]: y

pkg: http://mirror-master.dragonflybsd.org/dports/dragonfly:4.4:x86:64/LATEST/All/wget-1.16.3.txz: No address record

请问在虚拟机上安装报这个问题是什么原因。

试试这个:
echo "nameserver 114.114.114.114" > /etc/resolv.conf

再运行pkg install
0
夜听风雨
非常感谢!
返回顶部
顶部