龙芯俱乐部开源技术社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 5595|回复: 2

龙芯3A3000笔记本玩机笔记

[复制链接]

57

主题

83

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10412
发表于 2019-8-23 16:46:06 | 显示全部楼层 |阅读模式
龙芯开发者商城,目前有一款龙芯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


=====================================
这是一条神奇的小尾巴~~~~~

28

主题

260

帖子

16万

积分

论坛元老

Rank: 8Rank: 8

积分
169484
发表于 2019-9-21 23:59:09 来自手机 | 显示全部楼层
感谢分享,好期待有一天自己也拥有一台龙芯笔记本电脑,好期待像你一样懂那么多

4

主题

24

帖子

764

积分

版主

Rank: 7Rank: 7Rank: 7

积分
764
发表于 2019-12-31 21:38:08 | 显示全部楼层
楼主厉害!能玩
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|龙芯俱乐部开源技术社区

GMT+8, 2024-4-19 13:15 , Processed in 0.134659 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表