|
龙芯开发者商城,目前有一款龙芯3A3000处理器、AMD独显的笔记本。我有幸在哥们的帮助下弄到了一台。巧合的是近日Debian 10 (buster)也已经正是发布。于是就有了这一篇龙芯3A3000、AMD OLAND和Debian 10 buster的激情碰撞。
型号:L39 品牌 :龙芯
CPU :3A3000 15.5W 1.2GHz
系统内存:SO DIMM DDR3 4G
显存:动态显存分配技术
屏幕:14.0" 16:9 1366*768 pixels 或 1920*1080(option) LVDS 或 eDP 接口(Option)
显卡:独显: AMD R5 340 2G (Option)
键盘:US
读卡器:支持 4 in1(SD,SDHC, SDXC, MMC)
储存: M.2(Single Side) SATA2.0 120G
无线网络:WIFI b/g/n with M.2 Interface
电源:AC 100~240V, DC 19V @90W
电池:聚合物电池, 15.2V 77.8Wh
尺寸:约 340*232*19.9mm
重量:约 1.9kg(含电池)
操作系统:预装深度、中标麒麟、普华(默认未激活,激活可补价)
赠品:送《龙芯应用开发标准教程》
debian buster on Loongson 3A3000 卓宜恒通 L39 laptop
一、镜像站点
查询https://www.debian.org/mirror
点击“包含debian/仓库的Debian镜像列表
选择ftp.cn.debian.org/debian
或者ftp2.cn.debian.org/debian
完整的debian镜像站点才会包含MIPS64el架构的软件包。龙芯使用debian的MIPS64el架构的软件包,不能使用AMD64架构的软件包。请一定注意这个区别。
二、安装Loongnix
去http://www.loongnix.org/index.php/Loongnix
下载loongnix-yyyymmdd.iso
然后准备一个8G容量的U盘,用dd命令把iso镜像刻录到U盘上。
dd if=loongnix-yyyymmdd.iso of=/dev/sdb bs=8M
插入U盘,用U盘启动3A3000笔记本,安装Loongnix。
三、制作Debian Install启动U盘
在镜像站点的debian/dists/buster/main/installer-mips64el/current/images/loongson-3/netboot/目录下,下载boot.cfg和initrd.gz两个文件。那个vmlinux-4.16.0-2-loongson-3不要。
使用Loongnix的内核、模块替换Debian Installer原有的内核、模块。原有内核、模块不能启动3A3000。
解压缩initrd.gz更换lib/modules为Loongnix的,并加入lib/firmware。和loongnix的内核vmlinux-<version>-1.fc21.loongson.2.mips64el一起做成Debian Installer U盘。
gunzip initrd.gz
mkdir initrd.debian
cd initrd.debian
cpio -idvm < ../initrd
cd lib/modules
rm * -rf
cp /lib/modules/<version>.fc21.loongson.2.mips64el . -r
cd ..
mkdir firmware
cd firmware
cp /lib/firmware/radeon . -r
cp /lib/firmware/iwlwifi-* . -r
cd ../..
find . | cpio -c -o > ../initrd
cd ..
gzip initrd
挂载一个U盘,比如/dev/sdb,分区出/dev/sdb1,格式化为ext2格式,挂载到/media/usb
cp initrd.gz /media/usb
cp boot.cfg /media/usb
cp /boot/vmlinuz-<version>-1.fc21.loongson.2.mips64el /media/usb/vmlinux-4.16.0-2-loongson-3
四、安装Debian
用制作好的U盘启动笔记本,安装Debian。
安装好后,重启进入Loongnix,编辑/boot/boot.cfg
添加:
title 'Debian 10'
kernel (wd0,0)/vmlinuz-4.19.5-1.fc28.lemote.1.mips64el
initrd (wd0,0)/initramfs-4.19.5-1.fc28.lemote.1.mips64el.img
args root=/dev/mapper/vg-slash--debian
挂载debian的root到/media,编辑/media/etc/fstab,如下:
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/sda1 /boot ext2 defaults 0 2
/dev/mapper/vg-slash--debian / ext4 errors=remount-ro 0 1
/dev/mapper/vg-home--debian /home ext4 defaults 0 2
/dev/mapper/vg-swap none swap sw 0 0
并将Loongnix的/lib/modules/* 复制到Debian的/lib/modules/目录下。
五、降级firefox和thunderbird软件
cd /var/cache/apt/archives
sudo apt install ./firefox-esr_52.9.0esr-1_mips64el.deb
sudo apt install ./firefox-esr-l10n-zh-cn_52.9.0esr-1_all.deb
就是进入/var/cache/apt/archives
直接安装低版本的软件,就降级了。
apt install <package>-<version> #网友博客这样说
六、标志firefox和thunderbird不升级
echo "firefox-esr hold" | sudo dpkg --set-selections
echo "thunderbird hold" | sudo dpkg --set-selections
查询当前系统内所有软件包状态:
sudo dpkg --get-selections
查询当前系统内被锁定不更新的软件包(hold):
sudo dpkg --get-selections | grep hold
七、安装KDE Plasma 5桌面环境
终于在debian buster上安装上KDE Plasma 5了。感谢@FlyGoat !是他提醒我,MIPS64el没有qtwebengine,有qtwebkit可以使用。
于是一搜索,发现debian buster mips64el有编译好的KDE Plasma 5包,直接安装就可以了。
sudo apt install aptitude tasksel
sudo aptitude install ~t^desktop$ ~t^kde-desktop$
sudo apt autoremove xfce4 xfce4-goodies
sudo apt install kazam goldendict telegram-desktop vim vim-gtk3
八、从fedora28中安装火狐的flash插件
sudo mount /dev/vg/slash-fedora /media
cd /media/usr/lib64/
ls libavcodec.so.56* libavformat.so.56* libavutil.so.54* libswresample.so.1* libvo-amrwbenc.so.0* libschroedinger-1.0.so.0* libopenjpeg.so.1*
cd /media/usr/lib64 && sudo cp -a libavcodec.so.56* libavformat.so.56* libavutil.so.54* libswresample.so.1* libvo-amrwbenc.so.0* libschroedinger-1.0.so.0* libopenjpeg.so.1* /usr/lib/mips64el-linux-gnuabi64/
cd /media/usr/lib64/mozilla/plugins && sudo cp libflashplayer.so /usr/lib/mozilla/plugins/
九、无声
貌似对ALC269VC芯片的支持有问题。等以后的开发吧。Loongnix上也有爆音的。
可以先用支持蓝牙立体声的蓝牙耳机先听着。效果很好。
apt install pulseaudio-module-bluetooth
pulseaudio-module-bluetooth估计已经替代了bluez-btsco的sco驱动和bluetooth-alsa的a2d驱动。这是个好趋势,以前是:声音程序 -> pulseaudio -> alsa -> a2d -> bluez -> A2DP bluetooth Device。现在是:声音程序 -> pulseaudio -> pulseaudio-module-bluetooth -> bluez -> A2DP bluetooth Device。
我用的蓝牙立体声耳机是科正A6L。
十、KDE的桌面特效
系统设置 -> 窗口管理 -> 任务切换器 -> 可视化 -> 封面切换
系统设置 -> 桌面行为 -> 桌面特效 -> 外观 -> 魔灯 / 焦点 -> 滑出 / 虚拟桌面切换动画 -> 桌面立方动画
系统设置 -> 桌面行为 -> 虚拟桌面 -> 桌面 -> 桌面数量=4 / 行数=2
十一、编译aqemu
确保/etc/apt/source.list包含以下行:
deb-src http://ftp.cn.debian.org/debian/ buster main
deb-src http://ftp.cn.debian.org/debian/ buster-updates main
创建一个临时目录
cd ~/下载
mkdir aqemu
cd aqemu
下载源代码
apt-get source aqemu
安装编译依赖包
apt-get build-dep aqemu
修改编译参数,并重新编译
cd aqemu-*/debian
vi control
Architecture: mips64el
:wq
cd ..
dpkg-buildpackage -us -uc
sudo vi /etc/network/interfaces.d/br0
auto br0
iface br0 inet dhcp
bridge_ports enp6s0
十二、录屏
sudo apt install kazam
十三、WPS
中标麒麟 源 @ baidu.com
http://download.cs2c.com.cn/neok ... thsn-1.mips64el.rpm
http://mirror.lemote.com:8000/fe ... ibpng/libpng12.so.0
sudo apt install rpm2cpio
cd /
rpm2cpio ~/下载/wps/wps-office-10.8.0.6682.professional.preload.sw.withsn-1.mips64el.rpm | sudo cpio -idvm
sudo cp libpng12.so.0 /opt/kingsoft/wps-office/office6/
sudo mount /dev/vg/slash-fedora /media/
sudo cp -a /media/usr/lib64/libssl.so.1* /opt/kingsoft/wps-office/office6/
sudo cp -a /media/usr/lib64/libcrypto.so.1* /opt/kingsoft/wps-office/office6/
十四、fcitx
im-config -a
确定
是
启用小企鹅输入法(Fcitx)! 确定
注销重登录
sudo apt install kde-config-fcitx
十五、自行编译kernel
配置initramfs包含必要radeon iwlwifi-8265 firmware
vi /usr/share/initramfs-tools/hooks/firmware_radeon_iwlwifi-8265
#!/bin/sh
PREREQ="udev"
prereqs()
{
echo "$PREREQ"
}
case $1 in
prereqs)
prereqs
exit 0
;;
esac
. /usr/share/initramfs-tools/hook-functions
copy_exec /lib/udev/firmware.agent /lib/udev/
mkdir -p $DESTDIR/usr/lib/firmware
cp /lib/firmware/iwlwifi-8265* $DESTDIR/usr/lib/firmware/
cp /lib/firmware/radeon $DESTDIR/usr/lib/firmware/ -r
chmod a+x /usr/share/initramfs-tools/hooks/firmware_radeon_iwlwifi-8265
update-initramfs -c -k 4.20.13-gentoo-n64
下载
http://mirrors.163.com/kernel/v5.x/linux-5.0.tar.xz
tar xJvf linux-5.0.tar.xz
cp /boot/config-3.10.84-20.fc21.loongson.3.mips64el linux-5.0/.config
apt build-dep linux-image-4.19.0-2-loongson-3
cd linux-5.0/
make menuconfig
make deb-pkg LOCALVERSION=-lophyxp KDEB_PKGVERSION=$(make kernelversion)-1 -j5
update-initramfs -c -k 5.0.0-lophyxp
十六、RTS5139
https://github.com/asymingt/rts5139
与3.15.10相比除了缩进样式的改变以外,没有修改。
wget -c http://mirrors.163.com/kernel/v3.x/linux-3.15.10.tar.xz
tar xJvf linux-3.15.10.tar.xz
cd linux-3.15.10/drivers/staging
cp rts5139 ../../../linux-5.0/drivers/staging
cd ../../../linux-5.0/drivers/staging
vi Kconfig
f rts5208
O
source "drivers/staging/rts5139/Kconfig"
vi Makefile
f RTS5208
O
obj-$(CONFIG_RTS5139) += rts5139/
cd ../../
make deb-pkg LOCALVERSION=-lophyxp-3 KDEB_PKGVERSION=$(make kernelversion)-3 -j5
update-initramfs -c -k 5.0.0-lophyxp-3
In file included from drivers/staging/rts5139/rts51x_transport.c:36:
drivers/staging/rts5139/rts51x.h: In function ‘get_current_time’:
drivers/staging/rts5139/rts51x.h:125:2: error: implicit declaration of function ‘do_gettimeofday’; did you mean ‘do_settimeofday64’? [-Werror=implicit-function-declaration]
do_gettimeofday(&tv);
^~~~~~~~~~~~~~~
do_settimeofday64
十七、即时通讯
apt install telegram-desktop
十八、设置hostname
su
hostname set-hostname loongson-L39
vi /etc/hostname
loongson-L39
vi /etc/hosts
127.0.0.1 loongson-L39
十九、blacklist radeon and enable vulkan
sudo vi /etc/modprobe.d/blacklist-radeon.conf
blacklist radeon
options amdgpu si_support=1
options amdgpu cik_support=0
options radeon si_support=0
options radeon cik_support=0
:w !sudo tree %
sudo vi /etc/apt/sources.list
%s/main/main\ non-free/g
:wq
sudo apt update
sudo apt install firmware-amd-graphics
sudo vi /etc/apt/sources.list
%s/non-free//g
:wq
sudo apt update
sudo vi /usr/share/initramfs-tools/hooks/firmware_radeon_iwlwifi-8265
#!/bin/sh
PREREQ="udev"
AMD_FIRMWARE_STRING="/lib/firmware/radeon/oland_ce.bin /lib/firmware/radeon/oland_mc.bin /lib/firmware/radeon/oland_me.bin /lib/firmware/radeon/oland_pfp.bin /lib/firmware/radeon/oland_rlc.bin /lib/firmware/radeon/oland_smc.bin /lib/firmware/radeon/TAHITI_uvd.bin"
prereqs()
{
echo "$PREREQ"
}
case $1 in
prereqs)
prereqs
exit 0
;;
esac
. /usr/share/initramfs-tools/hook-functions
copy_exec /lib/udev/firmware.agent /lib/udev/
mkdir -p $DESTDIR/usr/lib/firmware
mkdir -p $DESTDIR/usr/lib/firmware/radeon
cp /lib/firmware/iwlwifi-8265* $DESTDIR/usr/lib/firmware/
cp $AMD_FIRMWARE_STRING $DESTDIR/usr/lib/firmware/radeon/
chmod a+x /usr/share/initramfs-tools/hooks/firmware_radeon_iwlwifi-8265
update-initramfs -c -k 5.0.0-lophyxp
sudo apt install mesa-vulkan-drivers libvulkan-dev
sudo apt install plasma-workspace-wayland libwayland-egl1-mesa qml-module-qtwayland-compositor libgles2-mesa kwin-wayland-backend-drm kwin-wayland-backend-wayland
二十、百度云盘
https://github.com/XuShaohua/bcloud
https://github.com/XuShaohua/bcloud-packages
<TODO://>
二十一、PyKDE
#PyKDE4
https://github.com/topics/pykde
https://github.com/sigoa/pykde4
https://github.com/KDE/pykde4
https://sigoa.github.io/pykde4/html/
#PyKDE5
https://cgit.kde.org/pykde5.git/
<TODO://>
二十二、Plymouth
# wiki.debian.org/plymouth
# Installation
sudo apt install plymouth plymouth-themes
# Configuation
sudo vi /etc/initramfs-tools/modules
#KMS
drm
#radeon modeset=1
# Themes
sudo plymouth-set-default-theme -l
sudo plymouth-set-default-theme -R moonlight #will auto update initramfs
# BootLoader
sudo vi /boot/boot.cfg
args root=/dev/mapper/vg-slash--debian quiet splash
二十三、{www,repo,forums}.debiancn.org
二十四、D-i
# `mr` is in the `myrepos` package
sudo apt install myrepos
git clone https://salsa.debian.org/installer-team/d-i.git
# almost 201MB transform on 230Kbps speed
cd d-i
./scripts/git-setup
mr -p checkout
apt-cache -n search debian-installer
二十五、更换9260网卡
sudo vi /usr/share/initramfs-tools/hooks/firmware_radeon_iwlwifi
#!/bin/sh
PREREQ="udev"
AMD_FIRMWARE_STRING="/lib/firmware/radeon/oland_ce.bin /lib/firmware/radeon/oland_mc.bin /lib/firmware/radeon/oland_me.bin /lib/firmware/radeon/oland_pfp.bin /lib/firmware/radeon/oland_rlc.bin /lib/firmware/radeon/oland_smc.bin /lib/firmware/radeon/TAHITI_uvd.bin"
prereqs()
{
echo "$PREREQ"
}
case $1 in
prereqs)
prereqs
exit 0
;;
esac
. /usr/share/initramfs-tools/hook-functions
copy_exec /lib/udev/firmware.agent /lib/udev/
mkdir -p $DESTDIR/usr/lib/firmware
mkdir -p $DESTDIR/usr/lib/firmware/radeon
mkdir -p $DESTDIR/usr/lib/firmware/amdgpu
# cp /lib/firmware/iwlwifi-8265* $DESTDIR/usr/lib/firmware/
cp /lib/firmware/iwlwifi-9260* $DESTDIR/usr/lib/firmware/
cp $AMD_FIRMWARE_STRING $DESTDIR/usr/lib/firmware/radeon/
cp $AMD_FIRMWARE_STRING $DESTDIR/usr/lib/firmware/amdgpu/
二十六、插入鼠标禁用触摸板
sudo apt install xserver-xorg-input-synaptics
二十七、wayland
sudo apt install plasma-workspace-wayland
# plasma-workspace-wayland kwin-wayland-backend-drm kwin-wayland
# kwin_wayland --xwayland --libinput --exit-with-session=/usr/lib/mips64el-linux-gnuabi64/libexec/startplasma
# startplasma: Starting up...
# QSockeNotifier: Invalid socket 13 and type 'Read', disabling...
# EE failed to read Wayland events: Broken pipe
# 可能:其实只是拷贝数据时有时出错了。
# https://bbs.csdn.net/topics/390985190
新鲜的Debian 10 (buster) 3A3000 AMD oland tarball镜像
https://pan.baidu.com/s/1TGDCm6xJyASwpjDBDDeM0Q
提取码:plt9
欢迎试用。
有意见请保留,不要报告到lophyxpAT163DOTcom
关于AMD oland参看:AMDGPU - Gentoo Wiki
|
|