由於deepin 沒有最新的arm 估計也不在維護最後更新看是15年故有此文章
首先構建debian stretch系統
mkdir $ROOTFS_DIR
cd $ROOTFS_DIR
debootstrap --foreign --arch armhf stretch . http://ftp.sjtu.edu.cn/debian/
cp /usr/bin/qemu-arm-static usr/bin/
LC_ALL=C LANGUAGE=C LANG=C chroot . /debootstrap/debootstrap --second-stage
LC_ALL=C LANGUAGE=C LANG=C chroot . dpkg --configure -a
該過程需要一些時間,到此爲止,Debian 基礎系統已經配置好了;現在可以把 $ROOTFS_DIR 保存爲一個
壓縮包,以備日後之用
cd $WORK_DIR
tar zcvf debian-rootfs-armhf-clean.tar.gz ./debian
安裝 locales 不然編譯的時候不停的報 設置語言 問題
chroot . apt-get install locales
echo "en_US.UTF-8 UTF-8" > etc/locale.gen
echo "zh_CN.UTF-8 UTF-8" >> etc/locale.gen
chroot . locale-gen
我們首先要安裝編譯dde-kwin
經查詢依賴deepin-desktop-base deepin-keyring gsettings-qt
dde-kwin 依賴
apt install \
debhelper qtbase5-dev qtbase5-private-dev \
libqt5x11extras5-dev libxcb1-dev \
libkf5globalaccel-dev \
libkf5windowsystem-dev \
libkf5coreaddons-dev \
kwin-dev \
libkf5config-dev \
libfontconfig1-dev \
libfreetype6-dev \
libglib2.0-dev \
libxrender-dev \
libmtdev-dev
libdtkcore-dev \ 自己編譯
libgsettings-qt-dev \ 自己編譯
---------------------------------
gsettings-qt
apt install \
debhelper \
libglib2.0-dev \
pkg-config \
pkg-kde-tools \
qml-module-qtquick2 \
qml-module-qttest \
qt5-qmake \
qtbase5-dev \
qtdeclarative5-dev \
qtdeclarative5-dev-tools \
xauth \
xvfb
dtkcore
debhelper (>= 9), pkg-config,
qttools5-dev-tools, qtbase5-private-dev,
libgsettings-qt-dev, deepin-desktop-base
編譯結果得到 deb
deepin-desktop-base-2019.06.19 libdtkcore2_2.0.14_armhf.deb
deepin-desktop-base_2019.06.19_all.deb libdtkcore2-dbgsym_2.0.14_armhf.deb
deepin-desktop-base_2019.06.19_armhf.buildinfo libdtkcore-bin_2.0.14_armhf.deb
deepin-desktop-base_2019.06.19_armhf.changes libdtkcore-bin-dbgsym_2.0.14_armhf.deb
deepin-keyring_2017.02.14_all.deb libdtkcore-dev_2.0.14_armhf.deb
deepin-keyring_2017.02.14_armhf.buildinfo libgsettings-qt1_0.1+17.10.20170824_armhf.deb
deepin-keyring_2017.02.14_armhf.changes libgsettings-qt1-dbgsym_0.1+17.10.20170824_armhf.deb
deepin-keyring-2019.01.09 libgsettings-qt-dev_0.1+17.10.20170824_armhf.deb
deepin-keyring-udeb_2017.02.14_all.udeb qml-module-gsettings1.0_0.1+17.10.20170824_armhf.deb
dtkcore-2.0.14 qml-module-gsettings1.0-dbgsym_0.1+17.10.20170824_armhf.deb
使用 dpkg -i ./*.deb 安裝 這是就可以編譯 dde-kwin 了
編譯之前提示缺少依賴
apt install libqt5x11extras5-dev libkf5globalaccel-dev libkf5windowsystem-dev libkf5coreaddons-dev kwin-dev libkf5config-dev libfontconfig1-dev libfreetype6-dev libxrender-dev libmtdev-dev
dpkg-buildpackage -b
安裝完成 現在安裝 編譯 startdde
分析
startdde--->(運行時)dde-daemon -------dde-polkit-agent(需要重新編譯安裝)--libdtkwidget2 (>= 2.0.10)----需要qt 編譯
(運行時)dde-kwin 需 qt新的 也就是編譯
dde-qt5integration ---libdtkwidget2 (>= 2.0.11)----qt5dxcb-plugin
dde-api-dev(>> 3.16.0+),----deepin-gettext-tools (使用 backport 源可以安裝)
首先編譯dde api
安裝 deepin-gettext-tools
添加源 deb http://ftp.sjtu.edu.cn/debian stretch-backports main
這裏依賴了 go 環境 使用 qemu 編譯不了 開始架設 真實的 arm 機器上進行編譯
大家如果有興趣 可以加入qq羣 68674740 一起研究