走进龙芯3A3000(四)安装XFCE4

我想要安装KDE

我想要qtwebengine的MIPS64实现。曾经读过千里孤坟的《KDE综览》,就深深喜欢上了KDE,当时的版本还是KDE3。后来KDE4发布,千里孤坟又写了《KDE 4.0.0构建依赖详解》。最新的(2018-08-10)KDE版本是KDE Plasma 5,分为KDE-Frameworks, KDE-Plasma和KDE-Apps,当然依赖最新的Qt5。Qt5有一个模块叫qtwebengine,是将chromium包装成一个webengine并提供面向对象的API。不幸的是,在qtwebengine-5.9.5中包含的chromium的sandbox_seccomp-bpf代码没有MIPS64实现。到了qtwebengine-5.11.1,chromium有了完全的MIPS64代码,但是qtwebengine本体还是缺乏MIPS64的实现,在mkspecs/features/platform.prf中是这样写的:

defineTest(isArchSupported) {
    contains(QT_ARCH, "i386")|contains(QT_ARCH, "x86_64"): return(true)
    contains(QT_ARCH, "arm")|contains(QT_ARCH, "arm64"): return(true)
    contains(QT_ARCH, "mips"): return(true)
#     contains(QT_ARCH, "mips64"): return(true)

    skipBuild("QtWebEngine can only be built for x86, x86-64, ARM, Aarch64, and MIPSel architectures.")
    return(false)
}

没有了qtwebengine,KDE也就搭建不起来了。百无聊赖,发现轻量的XFCE,先弄一个,慢慢等吧。

安装XFCE4

emerge -uDN --with-bdeps=y @world

# dev-util/meson
# vbox-gentoo 0.46.1
# 3A3000 0.47.1

# sys-devel/make
# 4.1-r1 4.2.1 4.2.1-r2 4.2.1-r3

# gettext mesa
# mesa wayland qtwayland

# vi /etc/portage/make.conf
# #MAKEOPT="-j4"
=======================================================

vi /etc/portage/package.use/xfce4.use
vi /etc/portage/package.keywords/xfce4.keywords
:g/^#\ /d

:%s/^>=//g
:%s/-[0-9.]*\ /\ /g
:%s/-[0-9.]*-r[0-9]\ /\ /g

# vi /usr/portage/profile/arch/mips/use.mask
vi /etc/portage/profile/use.mask
-video_cards_radeon
-video_cards_radeonsi
-video_cards_amdgpu
-pulseaudio
-gnome
-llvm

# wiki/Libinput
vi /etc/portage/make.conf
INPUT_DEVICES="libinput"

VIDEO_CARDS="radeon radeonsi amdgpu"

vi /etc/portage/package.use/default.use
sys-devel/llvm llvm_targets_AMDGPU llvm_targets_Mips

emerge -1a mesa

# 多编译几遍,成功了就行了,搞呗。

emerge -a xfce4-meta

# for HiDPI
设置 -> 外观 -> 设置 -> 窗口缩放 2x
设置 -> 窗口管理器 -> 样式 -> 标题字体 32

======== slim ============================================
vi /etc/portage/package.use/xfce4.use
x11-libs/gdk-pixbuf X
media-libs/mesa llvm

x11-misc/slim consolekit


emerge -a x11-misc/slim
vi /etc/conf.d/xdm
DISPLAYMANAGER="slim"

rc-update add consolekit default
rc-update add dbus default
rc-update add xdm default

for x in cdrom cdrw usb ; do gpasswd -a lophyxp $x ; done

echo XSESSION=\"Xfce4\" > /etc/env.d/90xsession
env-update && source /etc/profile
============================================================
# 提示:未能与设置服务器联系
# 换了lightdm、xdm 还是同样提示
# 所以不是slim的问题

# for dbus USE="X"
vi /etc/portage/make.conf
USE += "X"

emerge -uDN world
============================================================





============================================================

rc-update del net.enp6s0
vi /etc/NetworkManager/NetworkManager.conf
[main]
plugins=keyfile
hostname-mode=none
rc-update add NetworkManager default

vi /etc/conf.d/hostname
hostname="Loongson-3A3000"

vi /etc/fonts/local.conf

emerge --ask gvim fcitx-cloudpinyin
============================================================
emerge -a xfce4-terminal

我的配置文件

/etc/portage/make.conf

# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
CFLAGS="-O2 -march=mips64r2 -mplt -pipe"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="mips64el-unknown-linux-gnu"

USE="alsa pulseaudio networkmanager bash-completion X wayland"

MAKEOPT="-j4"

LINGUAS="zh zh_CN"
L10N="zh-CN"

INPUT_DEVICES="libinput"
VIDEO_CARDS="radeon radeonsi amdgpu"

GENTOO_MIRRORS="https://mirrors.163.com/gentoo/"

/etc/portage/package.keywords/default.keywords

x11-drivers/xf86-video-ati *
media-fonts/wqy-microhei *
dev-util/xdelta *

=sys-devel/llvm-6.0.1 **
=sys-devel/llvm-common-6.0.1 **
=sys-devel/clang-common-6.0.1 **
=sys-devel/clang-6.0.1 **
=sys-devel/clang-runtime-6.0.1 **
=sys-libs/compiler-rt-sanitizers-6.0.1 **
=sys-libs/compiler-rt-6.0.1 **

<x11-drivers/xf86-video-amdgpu-9999 **

<sys-auth/consolekit-9999 **

<www-client/firefox-9999 **
<app-editors/gvim-9999 **

<app-i18n/fcitx-cloudpinyin-4.9999 **
<app-i18n/fcitx-4.9999 **
<dev-lang/rust-9999 **
<net-libs/libasyncns-9999 **
<kde-frameworks/extra-cmake-modules-9999 **
<media-plugins/alsa-plugins-9999 **
<app-eselect/eselect-rust-9999 **

<www-client/chromium-9999 **
<net-libs/nodejs-9999 **
<dev-libs/re2-9999 **
<net-libs/http-parser-9999 **
<dev-lang/yasm-9999 **
<media-libs/openh264-9999 **

<app-misc/screenfetch-9999 **
<media-gfx/scrot-9999 **

<dev-libs/weston-9999 **

/etc/portage/package.keywords/kdebase-meta-5.keywords

<dev-qt/designer-9999 **
<dev-qt/qdbus-9999 **
<dev-qt/qtconcurrent-9999 **
<dev-qt/qtcore-9999 **
<dev-qt/qtdbus-9999 **
<dev-qt/qtdeclarative-9999 **
<dev-qt/qtgraphicaleffects-9999 **
<dev-qt/qtgui-9999 **
<dev-qt/qtnetwork-9999 **
<dev-qt/qtpaths-9999 **
<dev-qt/qtprintsupport-9999 **
<dev-qt/qtquickcontrols-9999 **
<dev-qt/qtquickcontrols2-9999 **
<dev-qt/qtscript-9999 **
<dev-qt/qtsensors-9999 **
<dev-qt/qtsql-9999 **
<dev-qt/qtsvg-9999 **
<dev-qt/qttest-9999 **
<dev-qt/qtvirtualkeyboard-9999 **
<dev-qt/qtwayland-9999 **
<dev-qt/qtwebchannel-9999 **
<dev-qt/qtwebengine-9999 **
<dev-qt/qtwidgets-9999 **
<dev-qt/qtx11extras-9999 **
<dev-qt/qtxml-9999 **
<kde-apps/dolphin-9999 **
<kde-apps/kdebase-meta-9999 **
<kde-apps/kdecore-meta-9999 **
<kde-apps/kdialog-9999 **
<kde-apps/keditbookmarks-9999 **
<kde-apps/kfind-9999 **
<kde-apps/khelpcenter-9999 **
<kde-apps/kio-extras-9999 **
<kde-apps/konsole-9999 **
<kde-apps/kwrite-9999 **
<kde-frameworks/attica-9999 **
<kde-frameworks/baloo-9999 **
<kde-frameworks/breeze-icons-9999 **
<kde-frameworks/extra-cmake-modules-9999 **
<kde-frameworks/frameworkintegration-9999 **
<kde-frameworks/kactivities-9999 **
<kde-frameworks/kactivities-stats-9999 **
<kde-frameworks/karchive-9999 **
<kde-frameworks/kauth-9999 **
<kde-frameworks/kbookmarks-9999 **
<kde-frameworks/kcmutils-9999 **
<kde-frameworks/kcodecs-9999 **
<kde-frameworks/kcompletion-9999 **
<kde-frameworks/kconfig-9999 **
<kde-frameworks/kconfigwidgets-9999 **
<kde-frameworks/kcoreaddons-9999 **
<kde-frameworks/kcrash-9999 **
<kde-frameworks/kdbusaddons-9999 **
<kde-frameworks/kdeclarative-9999 **
<kde-frameworks/kded-9999 **
<kde-frameworks/kdelibs4support-9999 **
<kde-frameworks/kdesignerplugin-9999 **
<kde-frameworks/kdesu-9999 **
<kde-frameworks/kdoctools-9999 **
<kde-frameworks/kemoticons-9999 **
<kde-frameworks/kfilemetadata-9999 **
<kde-frameworks/kglobalaccel-9999 **
<kde-frameworks/kguiaddons-9999 **
<kde-frameworks/khtml-9999 **
<kde-frameworks/ki18n-9999 **
<kde-frameworks/kiconthemes-9999 **
<kde-frameworks/kidletime-9999 **
<kde-frameworks/kinit-9999 **
<kde-frameworks/kio-9999 **
<kde-frameworks/kirigami-9999 **
<kde-frameworks/kitemmodels-9999 **
<kde-frameworks/kitemviews-9999 **
<kde-frameworks/kjobwidgets-9999 **
<kde-frameworks/kjs-9999 **
<kde-frameworks/knewstuff-9999 **
<kde-frameworks/knotifications-9999 **
<kde-frameworks/knotifyconfig-9999 **
<kde-frameworks/kpackage-9999 **
<kde-frameworks/kparts-9999 **
<kde-frameworks/kpeople-9999 **
<kde-frameworks/kpty-9999 **
<kde-frameworks/kross-9999 **
<kde-frameworks/krunner-9999 **
<kde-frameworks/kservice-9999 **
<kde-frameworks/ktexteditor-9999 **
<kde-frameworks/ktextwidgets-9999 **
<kde-frameworks/kunitconversion-9999 **
<kde-frameworks/kwallet-9999 **
<kde-frameworks/kwidgetsaddons-9999 **
<kde-frameworks/kwindowsystem-9999 **
<kde-frameworks/kxmlgui-9999 **
<kde-frameworks/kxmlrpcclient-9999 **
<kde-frameworks/plasma-9999 **
<kde-frameworks/qqc2-desktop-style-9999 **
<kde-frameworks/solid-9999 **
<kde-frameworks/sonnet-9999 **
<kde-frameworks/syntax-highlighting-9999 **
<kde-frameworks/threadweaver-9999 **
<kde-plasma/breeze-9999 **
<kde-plasma/drkonqi-9999 **
<kde-plasma/kactivitymanagerd-9999 **
<kde-plasma/kde-cli-tools-9999 **
<kde-plasma/kdecoration-9999 **
<kde-plasma/kdeplasma-addons-9999 **
<kde-plasma/kgamma-9999 **
<kde-plasma/khotkeys-9999 **
<kde-plasma/kinfocenter-9999 **
<kde-plasma/kmenuedit-9999 **
<kde-plasma/kscreen-9999 **
<kde-plasma/kscreenlocker-9999 **
<kde-plasma/ksshaskpass-9999 **
<kde-plasma/ksysguard-9999 **
<kde-plasma/kwallet-pam-9999 **
<kde-plasma/kwayland-integration-9999 **
<kde-plasma/kwin-9999 **
<kde-plasma/kwrited-9999 **
<kde-plasma/libkscreen-9999 **
<kde-plasma/libksysguard-9999 **
<kde-plasma/milou-9999 **
<kde-plasma/oxygen-9999 **
<kde-plasma/plasma-browser-integration-9999 **
<kde-plasma/plasma-desktop-9999 **
<kde-plasma/plasma-integration-9999 **
<kde-plasma/plasma-meta-9999 **
<kde-plasma/plasma-pa-9999 **
<kde-plasma/plasma-vault-9999 **
<kde-plasma/plasma-workspace-9999 **
<kde-plasma/plasma-workspace-wallpapers-9999 **
<kde-plasma/polkit-kde-agent-9999 **
<kde-plasma/polkit-kde-agent-9999 **
<kde-plasma/powerdevil-9999 **
<kde-plasma/sddm-kcm-9999 **
<kde-plasma/systemsettings-9999 **
<kde-plasma/user-manager-9999 **
<media-libs/phonon-9999 **
<media-libs/phonon-vlc-9999 **
<media-sound/pulseaudio-9999 **
<www-client/falkon-9999 **
<x11-misc/sddm-9999 **

/etc/portage/package.use/default.use

# required by sys-kernel/genkernel-3.5.3.3::gentoo
# required by genkernel (argument)
>=sys-apps/util-linux-2.32-r3 static-libs

#x11-libs/libdrm video_cards_amdgpu
sys-devel/llvm llvm_targets_AMDGPU llvm_targets_Mips

dev-lang/python:2.7 sqlite

media-libs/libpng apng
dev-lang/rust extended llvm_targets_Mips

media-libs/harfbuzz icu

media-libs/imlib2 gif

dev-libs/efl svg sound drm egl gles

media-libs/mesa gles2

dev-libs/weston wayland-compositor

/etc/portage/package.use/kdebase-meta-5.use

app-text/xmlto text
dev-libs/glib dbus
dev-libs/libpcre2 pcre16
dev-libs/libxml2 icu
dev-qt/qtcore icu
dev-qt/qtgui dbus egl jpeg
dev-qt/qtwebchannel qml
dev-qt/qtwebengine widgets
dev-ruby/did_you_mean ruby_targets_ruby25
dev-ruby/json ruby_targets_ruby25
dev-ruby/kpeg ruby_targets_ruby25
dev-ruby/minitest ruby_targets_ruby25
dev-ruby/net-telnet ruby_targets_ruby25
dev-ruby/power_assert ruby_targets_ruby25
dev-ruby/racc ruby_targets_ruby25
dev-ruby/rake ruby_targets_ruby25
dev-ruby/rdoc ruby_targets_ruby25
dev-ruby/rubygems ruby_targets_ruby25
dev-ruby/test-unit ruby_targets_ruby25
dev-ruby/xmlrpc ruby_targets_ruby25
kde-frameworks/kdelibs4support X
kde-frameworks/kwindowsystem X
media-libs/libvpx svc
media-libs/mesa wayland
media-sound/pulseaudio gnome
media-video/vlc dbus vorbis ogg
net-misc/networkmanager consolekit
net-wireless/wpa_supplicant dbus
sys-auth/consolekit policykit
sys-libs/zlib minizip
virtual/rubygems ruby_targets_ruby25
x11-libs/libxcb xkb
x11-libs/libxkbcommon X
x11-libs/cairo X

/etc/portage/package.use/xfce4.use

x11-libs/gdk-pixbuf X
media-libs/mesa llvm

x11-misc/slim consolekit

x11-apps/xdm consolekit

/etc/portage/profile/use.mask

-video_cards_radeon
-video_cards_radeonsi
-video_cards_amdgpu
-llvm
-pulseaudio
-gnome
-extended
cargo

/etc/portage/bashrc

pre_src_prepare() {
    [[ ${EAPI:-0} == [012345] ]] || return
    if ! type estack_push > /dev/null 2>&1; then
        local estack_names="eshopts_push eshopts_pop evar_push evar_push_set evar_pop estack_push estack_pop"
        source <(awk "/^# @(FUNCTION|VARIABLE): / { p = 0 } /^# @(FUNCTION|VARIABLE): (${estack_names// /|})\$/ { p = 1 } p { print }" ${PORTDIR}/eclass/estack.eclass)
    fi
    if ! type epatch_user > /dev/null 2>&1; then
        local epatch_names="EPATCH_SOURCE EPATCH_USER_SOURCE epatch_user_death_notice epatch_user epatch"
        source <(awk "/^# @(FUNCTION|VARIABLE): / { p = 0 } /^# @(FUNCTION|VARIABLE): (${epatch_names// /|})\$/ { p = 1 } p { print }" ${PORTDIR}/eclass/epatch.eclass)
    fi

    epatch_user

    for name in $epatch_names; do
        unset $name
    done
    for name in $estack_names; do
        unset $name
    done

}

/etc/portage/patches/sys-kernel/genkernel/genkernel-default-ld-arch-mips64el-20180809.patch

--- a/arch/mips/config.sh	2018-08-09 12:04:20.835098252 +0800
+++ b/arch/mips/config.sh	2018-08-09 12:05:05.835311954 +0800
@@ -16,4 +16,5 @@
 
 # genkernel on mips is only used for LiveCDs && netboots.  Catalyst
 # will know where to get the kernels at.
-CMD_INSTALL=0
+CMD_INSTALL=1
+DEFAULT_UTILS_LD=gcc

/var/lib/portage/world

app-admin/sysklogd
app-editors/gvim
app-editors/vim
app-i18n/fcitx-cloudpinyin
app-misc/screen
app-misc/screenfetch
app-portage/eix
app-portage/gentoolkit
app-portage/layman
app-shells/bash-completion
dev-libs/weston
media-fonts/terminus-font
media-fonts/wqy-microhei
net-misc/dhcpcd
net-misc/netifrc
sys-apps/mlocate
sys-fs/lvm2
sys-kernel/dracut
sys-kernel/genkernel
sys-kernel/gentoo-sources
sys-process/cronie
x11-base/xorg-server
x11-misc/slim
x11-terms/xfce4-terminal
xfce-base/xfce4-meta

猜你喜欢

转载自blog.csdn.net/lophyxp/article/details/81563413