從零構建deepin armhf系統(一)

由於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 一起研究

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章