yanhy的学习记录匣 - 教程 https://yanhy.top/index.php/search/教程/ zh-CN 探索知识的宝箱,记录成长的脚步。欢迎来访Yanhy的博客站,在这里,每一页都是对知识无尽好奇的见证,每个故事都是学习旅程中的珍贵篇章,一起激发灵感,分享进步 Sun, 30 Mar 2025 17:12:00 +0800 Sun, 30 Mar 2025 17:12:00 +0800 海信HiSense A2Pro 刷国际版系统 刷入面具root https://yanhy.top/index.php/archives/437/ https://yanhy.top/index.php/archives/437/ Sun, 30 Mar 2025 17:12:00 +0800 yanhy2000 前段时间折腾墨水屏,最后发现还不如直接买个成品当阅读器来的快,于是在小黄鱼发现了这个玩意...

整机参数

百度百科图片

  • 系统:Vision 5
  • 安卓版本:Android 7.1.2
  • 存储配置:LPDDR3 4+64GB
  • 屏幕:5.5英寸(AMOLED 1920x1080) + 5.2英寸(墨水屏 960x540)
  • 电池:约3000mah
  • CPU:高通骁龙625
  • 特性:支持侧边指纹、NFC、红外、双频WIFI、3G/4G移动网络

工具资源

通过网盘分享的文件:海信A2Pro
链接: https://pan.baidu.com/s/1mqOTiOcziVDVPRBFGtoIiA?pwd=afuu 提取码: afuu
--来自百度网盘超级会员v5的分享

工具资源列表:

  • [原始]boot.img
  • [修补]magisk_patched-28100_psVzP.img
  • [刷机软件]QPST.2.7.438.zip
  • [国际版]LA8627E1-Hisense-A2T-A2M_GMS_L1413.6.07.04.GMS_MultiDownload_201804102357_user.zip
  • [Fastboot解锁工具]windows-x86.zip
  • [ADB原版工具]platform-tools-latest-windows.zip
  • [9008驱动]Win10_Qualcomm.rar
  • Magisk-v28.1.apk

其他工具(见文章末尾):

  • 国行卡刷包
  • 提取软件
  • [解包Bin2Img工具]sdat2img-master
  • [提取system.img工具]ext2explore-2.2.71

工具资源列表
简单介绍:

  1. 教程均在Windows系统上运行,理论支持win7\8\10\11
  2. 刷机包为全量国际版刷机包,这个版本内没有人脸解锁,但包含谷歌全家桶。
  3. [Fastboot解锁工具]windows-x86.zip 这个工具来自hisense-a9/unlockbootloader,经过测试,发现A2Pro(A2T)也可以解锁,无需联网验证、登陆账号等任何操作,只需要一条指令即可。
  4. Magisk-v28.1.apk软件来自GitHub项目Magisk
  5. [原始]boot.img[修补]magisk_patched-28100_psVzP.img 为原版国际版包中的boot和面具修补过的boot,面具版本为 Magisk-v28.1.apk,解锁后可直接刷入修改后的boot以获取root,或者自行修补boot。
  6. [刷机软件]QPST.2.7.438.zip 建议使用文章提供的版本,由于网上教程和刷机包都是很多年前的,我自己没试过新版能不能刷入,因此建议和文章的版本一样。

刷机与解锁

我自己的尝试是先刷入国际版系统,然后解锁BootLoader,最后刷入修补后的boot以实现root,因此该教程按我自己尝试路线进行。
刷机包提供的是国际版固件全量刷机包,如想刷其他国行固件,解锁等教程理论上都适用。
国际版系统我认为的几个好处:广告少,预置乱七八糟软件少,安装器很精简没有杀毒等,低耗电等。

一. 刷机

1. 环境部署

  • 安装软件 [刷机软件]QPST.2.7.438.zip
  • 解压刷机包 [国际版]LA8627E1-Hisense-A2T-A2M_GMS_L1413.6.07.04.GMS_MultiDownload_201804102357_user.zipA2T 文件夹
  • 安装驱动 [9008驱动]Win10_Qualcomm.rar
  • 解压工具 [ADB原版工具]platform-tools-latest-windows.zip[Fastboot解锁工具]windows-x86.zip

2. 连接手机

注意:如果手机A2P是二手购买且恢复过出厂设置的,务必在恢复出厂设置后插入一次正常的SIM卡以激活USB(不消耗流量,可以不开数据流量),海信A2Pro手机有USB防护,必须插入一次SIM激活才能连接电脑传数据,否则只支持充电,无法用数据传输、安装驱动、USB调试等功能。
  • 将手机USB连接到电脑(确保USB线材是可以传输数据的,而非仅充电线)
  • 选择连接方式:安装光盘 ,此时电脑出现新的盘,打开后安装驱动(可选是否重启,如后面无法识别手机可以重启)
  • 开启开发者选项,开启USB调试
  • 打开手机拨号,输入 *1973461# ,会跳出一个系统信息(界面),点击调试设置,勾选自动加载USB设备。
    工程模式截图1
    工程模式截图2

3.配置刷机

  • 重新插入手机,选择仅充电,下面确保打开USB调试开关
  • 打开解压后[ADB原版工具]platform-tools-latest-windows 文件夹,在上方地址栏输入cmd并回车
    ADB工具文件夹
  • 在cmd窗口内输入指令确保已经识别到设备 以重启手机到刷机模式(BootLoader Mode)

    adb devices

    查看ADB设备
    如果显示未信任并且手机有弹窗选择是否信任计算机,需勾选信任并确认,然后再次执行指令和上图差不多

  • 在cmd窗口内输入指令以重启手机到9008刷机模式(EDL Mode)

    adb reboot edl
  • 打开软件QFIL(一般安装QPST后会在开始菜单内出现图标,或者在开始菜单-QPST文件夹内)
    QPST文件夹
  • 选择端口,打开软件后一般会自动识别到9008端口,如果未显示可手动点击按钮 SelectPort 来选择端口。
  • 在第一栏 Select Build Type 中选择 Flat Build
  • 在第二栏 Select Programmer 点击按钮 Browse ,选择前面解压刷机包文件夹内的prog_emmc_firehose_8953_ddr_000460e1.mbn
  • 在第四栏 Download 点击按钮 LoadXML ,第一次弹窗选择刷机包文件夹内的rawprogram_000460e1.xml,第二次弹窗选择patch0.xml
  • 注意:在选择配置完成后,拔掉手机的SIM卡与TF卡,断开电脑的互联网连接(如拔掉网线、从路由器那边禁用设备外网等)
  • 点击蓝色的Download按钮,即可开始下载固件。几分钟后下载完成后显示success字样,并确保进度条走满后断开usb,手动长按电源键重启。(按理来说会自动重启,但是刷机时未能重启)

QFIL完整配置

  • 重启后进入国际版系统,可自行选择删除预置软件。

二. 解锁与Root

在开机状态下,打开开发者选项,勾选USB调试,勾选OEM解锁

如果想自己根据刷机包的boot来修补以root可以看下面这段,如果用文章内修补后的boot可跳过这段直接到刷入部分

1. 修补boot

  • 连接手机USB到电脑,选择文件传输,将 Magisk-v28.1.apk[原始]boot.img(或刷机包内的boot.img)复制到手机内,在手机文件管理内安装面具
  • 打开面具,点击Magisk一栏的安装按钮,点击下一步,方式栏点击 选择并修补一个文件 ,使用文件管理器选择boot.img文件,开始修补
  • 修补后的文件会在Downloads文件夹内,使用数据线传到电脑上

2.解锁BootLoader

  • 打开解压后[ADB原版工具]platform-tools-latest-windows 文件夹,在上方地址栏输入cmd并回车
  • 在cmd窗口内输入指令以重启手机到BL模式(BootLoader Mode)(备注:经踩坑测试,发现重启到fastboot会正常开机,只有BootLoader下可以刷机,也就是不存在fastboot)

    adb reboot bootloader
    # 刷机后仍需要插入SIM卡来激活USB,并且需要重新在弹窗勾选信任计算机
    # 等待两秒后,输入指令查看手机是否进入了BootLoader模式
    fastboot devices
    # 如果列表中有设备则为正常

    Fastboot设备列表

  • 打开解压后的文件夹[Fastboot解锁工具]windows-x86 ,进入文件夹\windows-x86\bin,在上方地址栏输入cmd并回车打开
  • 在新的cmd窗口输入指令以解锁手机

    fastboot Hisense unlock
  • 出现OKEY字样即为解锁成功,可关闭该cmd窗口。

3.刷入修补后的Boot

回到之前的CMD窗口,输入指令来刷入修补后的boot镜像

fastboot flash boot <敲空格后将boot镜像文件直接拖入>

刷入Boot镜像

如显示OKEY且没有错误信息,则刷入成功,输入指令重启

fastboot reboot

4.开机验证

开机后,打开Magisk软件,即可看到安装成功的版本信息

面具软件内信息

可正常授权root权限
面具授权MT管理器
MT管理员可正常调用SU权限
DevCheck检测出Root

关于该手机其他资料补充

连接USB到电脑没反应

海信的手机(不确定是不是都这样)在恢复出厂设置后需要 插入一次正常的SIM卡以激活USB (不消耗流量,可以不开数据流量),海信A2Pro手机有USB防护,必须插入一次SIM激活才能连接电脑传数据,否则只支持充电,无法用数据传输、安装驱动、USB调试等功能。

不小心卸载一些软件如何找回

在内置的应用商店-应用恢复可以安装找回
如果为了精简系统禁用了应用商店或者单纯不想使用,可以在拨号盘输入 *#*#20019994#*#* 打开预置应用找回设置

刷了国际版没有天气小工具

刷机后发现墨水屏的天气一栏和主屏幕的时间与天气小组件,无法获取天气,说是要安装,但是安装总会失败,是因为国际版固件没有天气APP,只有Google提供的新闻与天气。在本文提供的资料文件里面已经从国行版固件提取出天气APP了,Chinaweather.apk,直接安装后即可使用,小组件也可以正常获取天气。

提取方法

国行更新包目前只有卡刷OTA包,我找到一个相对全的Full包 A2T_L1467.6.07.01.00_full.zip,里面有Boot.img与更新的system.new.dat(或许也可以通过这个包9008刷入后,通过修补boot来实现国行固件root)。因此需要两个工具,[解包Bin2Img工具]sdat2img-master.zip该工具可以将更新文件合并到system.img,使用方法:

python sdat2img.py system.transfer.list system.new.dat system.img

转换为system.img后,使用工具[提取system.img工具]ext2explore-2.2.71,加载该文件,即可看到内部全部文件。右键文件点击save,可将文件提取到外面。

其他有用的记录

*#*#4636#*#* ——服务菜单
*1973460# - FTMode
*1973461#或*#*#3647#*#* - 系统信息
*1973462# -操作员测试
*#0000# ——系统信息
*#06# -IMEI

参考资料

本文参考资料:

]]>
0 https://yanhy.top/index.php/archives/437/#comments https://yanhy.top/index.php/feed/search/教程/
文章历史分割线 https://yanhy.top/index.php/archives/348/ https://yanhy.top/index.php/archives/348/ Sat, 27 Jan 2024 19:12:00 +0800 yanhy2000 三番五次更换了博客程序,最后确定留在typecho了~

如题,在此文章之前的都是从wordpress迁移到typecho再迁移到wordpress再迁移回来typecho的情况,因此不仅是非Markdown编写,而且一些格式还错乱了(悲

从该文章之后开始认真起来了,博客之所以停更了这么久,一方面是毕业了,现在找到了一份还算过得去的工作,后面可能只有零零散散的文章了,不过还是准备继续写下去的,毕竟自己写的东西都是自己的经验,自己的知识。

这次重新迁移,也整理了一下分类等,大部分属于linux的经验都扔服务器运维里面了;删了技术杂谈等分类;然后修改教程分享为教程经验,在这个分类里面将会出现各种领域的自己总结的教程和经验,当然这些并不算标准答案,我自己发现有问题也会变更。

本文就这样了,算是做个公告,或许没有多少人来访,但是哪怕留给以后的自己看,也是不错的选择~

]]>
1 https://yanhy.top/index.php/archives/348/#comments https://yanhy.top/index.php/feed/search/教程/
随身wifi折腾入门(番外)-- debian优化使用 https://yanhy.top/index.php/archives/336/ https://yanhy.top/index.php/archives/336/ Tue, 18 Apr 2023 12:33:00 +0800 yanhy2000

注意:ipv6部分未完篇,但方法可行,如有建议可评论区留言,后面随缘更新...

本来这篇文章是为了ipv6热点而写的教程,后面发现方法很多但是争议也多,因此干脆作为日常使用及优化的记录篇,在本篇可以看到使用sim卡、切卡、网桥、led控制、更改usb模式等多个玩法,可按需学习使用...

环境与工具

本文使用 酷安@jsbsbxjxh66 大佬的ufi001b-debian超频版1.2Ghz Debian进行修改

使用esim卡环境(如使用实体卡可跳过切esim卡步骤)

使用电脑进行连接(需打开cmd进行adb操作,以及ssh工具)

制作网桥

本节修改内容:
网关:192.168.2.1
选卡:esim
网桥:br0

新建网桥br0

先使用 adb shell 删除全部的连接,如 nmcli c del wifi usb

使用ssh或者adb shell连接后,使用指令新建个网桥,并新建两个从机,为usb与wifi,执行指令:

nmcli c add type bridge ifname br0 con-name br0 ipv4.method manual ipv4.addresses 192.168.2.1/24 ipv4.gateway '' ipv4.dns '223.5.5.5'
nmcli c add type ethernet ifname usb0 con-name usb-share
nmcli c add type bridge-slave ifname usb-share con-name usb-share master br0

修改默认网关

修改 /etc/dnsmasq.conf 最后两行

listen-address=192.168.2.1
dhcp-range=192.168.2.10,192.168.2.254,12h

执行重启 adb reboot ,重启后再次输入 adb shell 进入终端,此时usb是无IPV4分配的,执行指令

systemctl enable dnsmasq.service
systemctl start dnsmasq.service

再次重启后,即可分配到usb的ipv4,可以通过ssh连接

添加wifi网络

通过ssh连接debian后,执行 nmtui ,选择 编辑连接 ,选择网桥br0点进去,手动添加一个wifi连接。

常用修正

接下来的内容按需采取,ipv6部分存在争议,可自行尝试

替换 HT40 驱动(可选)

将驱动文件上传到root目录,执行指令覆盖原驱动即可

mv wcn36xx.ko /lib/modules/5.15.0-handsomekernel+/kernel/drivers/net/wireless/ath/wcn36xx/

替换基带文件

使用sftp连接至debian,将之前全分区备份中的 NON-HLOS.bin 文件使用7z打开或者软碟通打开,将里面的IMAGE拖出来,并通过sftp上传到debina root目录

执行指令,替换 /lib/firmware 内的驱动文件

mv IMAGE/* /lib/firmware/

切换esim卡

sim:sel 为esim卡的位置,如果要切换到sim卡槽,一般为 sim:sel2 ,可以用指令看一下列表内是否有sim:sel2

ls /sys/class/leds/

如果没有 sim:sel2 则默认外置卡槽,可按需切换esim

输入指令 mmcli -m 0 ,如果显示有内容但显示 sim-missing ,此时则为卡槽模式,可插入自己的卡。

切换esim卡可直接修改 /etc/rc.local 文件,使开机自动修改

!/bin/sh -e
echo 255 > /sys/class/leds/sim\:sel/brightness
modprobe -r qcom-q6v5-mss
sleep 1
modprobe qcom-q6v5-mss
sleep 1
systemctl restart rmtfs
sleep 1
systemctl restart ModemManager
exit 

保存后输入 reboot 重启系统,重启后输入 mmcli -m 0 ,如出现 state: connected 即为连接正常。

同时在重启后检查wifi是否以及开启,执行 nmcli 后是否出现modem连接信息,如果出现连接ip等信息即为一切顺利(如下图)。如果前面不顺利,后面设置ipv6转发会出问题。

重启sim卡

如果出现输入 mmcli -m 0 后,显示卡未连接disconnect或者未发现卡,可以使用sim卡重启大法尝试一下。如果多次出现,可以试试看加入到开机启动脚本中 rc.local(自行添加sleep 1延时)

systemctl stop ModemManager
qmicli -d /dev/wwan0qmi0 --uim-sim-power-off=1
qmicli -d /dev/wwan0qmi0 --uim-sim-power-on=1
systemctl start ModemManager

查看emmc芯片寿命

棒子debian系统可通过执行指令查看emmc寿命,数值仅参考,也有部分型号查看为0x00的,为芯片未定义,0x01为最佳寿命,同理数值越大寿命越低,该值仅供参考

cat /sys/class/mmc_host/mmc0/mmc0\:0001/life_time

切换为USB模式

执行指令可断开棒子usb共享,更改为host主机模式,可用于棒子专用拓展坞使用

echo host > /sys/kernel/debug/usb/ci_hdrc.0/role

相反的,也可以切换回网络共享模式

echo gadget > /sys/kernel/debug/usb/ci_hdrc.0/role

快速开启一个wifi

如果棒子无wifi或者误删,可以用这个指令在adb shell内快速创建一个wifi热点,名字为4G-wifi,密码为123456789

nmcli d wifi hotspot ifname wlan0 con-name wifi ssid 4G-wifi band bg channel 11 password 123456789

关闭全部led指示灯

如果觉得led灯太闪(没壳的会显得很亮),可以执行指令关闭led,同时可以放rc.local开机启动自动关闭led灯

echo none > /sys/class/leds/red\:os/trigger
echo none > /sys/class/leds/blue\:wifi/trigger
echo none > /sys/class/leds/green\:internet/trigger

AP启用ipv6共享(待补充)

输入指令启用ipv6转发,执行过程中可能会掉线ssh,建议在 adb shell 内执行

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf 
echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf 
echo "net.ipv6.conf.all.proxy_ndp=1" >> /etc/sysctl.conf 
echo "net.ipv6.conf.all.accept_ra=2" >> /etc/sysctl.conf 
sysctl -p 
nmcli connection up br0
systemctl restart dnsmasq.service
nmcli connection up usb

安装依赖

apt install radvd ndppd dhcpcd5

编写配置文件

br0为要监听的网络

/etc/radvd.conf.demo
interface br0 {
    AdvSendAdvert on;
    MinRtrAdvInterval 3;
    MaxRtrAdvInterval 10;
    AdvManagedFlag off;
    AdvOtherConfigFlag off;
    prefix REPLACEIPV6 {
        AdvOnLink on;
        AdvAutonomous on;
        AdvRouterAddr off;
    };
};
/etc/ndppd.conf.demo
route-ttl 30000
proxy wlan0 {
    router yes
    timeout 500
    rule REPLACEIPV6  {
        auto
    }
}
/etc/dhcpcd.conf
interface br0
    ipv6
    ipv6rs
    ipv6ra_other_information

启动服务

systemctl restart radvd
systemctl restart ndppd
systemctl restart dhcpcd

理论上v6部分就结束了,但是试过不同设备有几率并不能分发地址,还存在争议,也可以参考这位大佬的文章开启v6共享:https://zyyme.com/msm8916-wifi.html

本篇暂时完结,不研究debian了,后续随缘更新...

]]>
0 https://yanhy.top/index.php/archives/336/#comments https://yanhy.top/index.php/feed/search/教程/
随身wifi折腾入门(2)-- 编译&amp;刷入系统 https://yanhy.top/index.php/archives/333/ https://yanhy.top/index.php/archives/333/ Wed, 05 Apr 2023 19:06:00 +0800 yanhy2000

(需更新)

社区已经有很多编译的系统可玩了,但是为了追求彻底,我还是想自己编译一个系统用用看,顺便试着调整内核进行超频...
本文参照多个文章整理后编写
编译UFI设备的Debian固件
编译410随身wifi_Debian超频版教程&经验
关于 OpenStick

如果只想刷入社区的系统镜像,可看第5节 系统刷入

系统与环境

编译需要在主机为Linux系统下进行,因此本次选择vmware虚拟机进行

系统镜像: Ubuntu2210_Desktop_amd64

编译过程中全程以普通用户进行,不能进入root用户编译,仅使用sudo提权

系统安装完成后打开终端开始换源,如果不换源后续安装软件会较慢:

sudo vi /etc/apt/sources.list

注释全部内容,更换为:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic-backports main restricted universe multiverse

# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic-security main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic-security main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu/ kinetic-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ kinetic-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ kinetic-proposed main restricted universe multiverse

工具准备

输入指令安装软件包:

sudo apt install binfmt-support qemu-user-static gcc-10-aarch64-linux-gnu kernel-package fakeroot simg2img img2simg mkbootimg bison flex gcc-aarch64-linux-gnu pkg-config libncurses-dev libssl-dev unzip git

克隆仓库代码:

git clone https://github.com/OpenStick/linux.git --depth=1

内核超频

此时不急着去编译源码,为了获得更佳的性能,先对其进行超频修改

进入目录 linux/drivers/clk/qcom 找到 a53-pll.c文件,进行修改

打开文件后,可根据下图为参考,21-27行内,第一块为运行频率,第二块则为供电电压。根据前面的规律,大致可以判断为每提升200Mhz增加10电压值,但是由于再往后就超出了芯片设计频率,同时要考虑功耗与发热,因此往后提升时要略增加一些电压值,如 { 1841600000, 96, 0x0, 0x1, 0 }

static const struct pll_freq_tbl a53pll_freq[] = {
    {  998400000, 52, 0x0, 0x1, 0 },
    { 1094400000, 57, 0x0, 0x1, 0 },
    { 1152000000, 62, 0x0, 0x1, 0 },
    { 1209600000, 63, 0x0, 0x1, 0 },
    { 1248000000, 65, 0x0, 0x1, 0 },
    { 1363200000, 71, 0x0, 0x1, 0 },
    { 1401600000, 73, 0x0, 0x1, 0 },
    { 1621600000, 84, 0x0, 0x1, 0 },
    { 1841600000, 96, 0x0, 0x1, 0 },
    { 1951600000, 103, 0x0, 0x1, 0 },
    { }
};

找到第二个目录 linux/arch/arm64/boot/dts/qcom 修改其中的 msm8916.dtsi 文件,在220行左右出现默认频率,在此之后进行增加,增加的频率需要在前一个文件内添加好

                opp-1363200000 {
            opp-hz = /bits/ 64 <1363200000>;
        };
        opp-1401600000 {
            opp-hz = /bits/ 64 <1401600000>;
        };
        opp-1621600000 {
            opp-hz = /bits/ 64 <1621600000>;
        };
        opp-1841600000 {
            opp-hz = /bits/ 64 <1841600000>;
        };
        opp-1951600000 {
            opp-hz = /bits/ 64 <1951600000>;
        };

内核编译

编译配置

回到刚刚git拉取的终端,开始执行编译前的配置

cd linux
export CROSS_COMPILE=aarch64-linux-gnu-
export ARCH=arm64
make msm8916_defconfig
make menuconfig

具体的make配置可以参考网上公共教程,也可以直接使用默认配置进行下一步

开始编译

这里的 -j4 请根据自己CPU的核心数或虚拟机分配核心数来修改

make -j4

生成软件包

生成debian格式的deb软件包:

fakeroot make-kpkg  --initrd --cross-compile aarch64-linux-gnu- --arch arm64  kernel_image kernel_headers

生成结束后,输入 ls ../ 即可查看生成的deb文件包

保留文件

在上一级目录创建bak文件夹,将必要的文件提取出来备用

路径:arch/arm64/boot/Image.gz

设备树dtb路径:arch/arm64/boot/dts/qcom/msm8916-handsome-openstick-xxxxxx 这里要根据设备型号选择,本文使用001B设备

也可以一次性打包多个设备版本,如再拉取一个 003 的棒子的设备树(与001c通用)

mkdir ../bak
cp arch/arm64/boot/Image.gz ../bak/

cp arch/arm64/boot/dts/qcom/msm8916-handsome-openstick-ufi001b.dtb ../bak/
cp arch/arm64/boot/dts/qcom/msm8916-handsome-openstick-ufi001c.dtb ../bak/

下载底包

下载debian底包,并将解压后的rootfs.img放到bak目录内

cd ../bak
wget https://github.com/OpenStick/OpenStick/releases/download/v1/debian.zip && unzip debian.zip
mv ./debian/rootfs.img ./

解包挂载

simg2img rootfs.img root.img
sudo mount root.img /mnt
sudo mount --bind /proc /mnt/proc 
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /sys /mnt/sys

将前面生成的deb软件包复制到 /mnt 目录

sudo cp ../linux-*.deb /mnt

使用 chroot 进入挂载的系统,移除系统内原有的linux-image包,并安装刚刚生成的deb软件包,安装后删除deb文件

sudo  chroot /mnt
dpkg -l | grep -E "linux-headers|linux-image" |awk '{print $2}'|xargs dpkg -P
dpkg -i *.deb
rm linux-*.deb 

系统优化

与正常debian系统一样进行换源等常规优化操作

换源:

cat>/etc/apt/sources.list<<EOF
deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free
# deb-src http://mirrors.ustc.edu.cn/debian stable main contrib non-free
deb http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free
# deb-src http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free
EOF

安装常用软件并调整时区 区域:6 Asia 时区:70 Shanghai

apt install locales usbutils curl wget fdisk net-tools nano
dpkg-reconfigure locales
dpkg-reconfigure tzdata

启用Root并默认自动登录,并修改root密码(本文设置为123123)

sed -i '/PermitRootLogin /c PermitRootLogin yes' /etc/ssh/sshd_config
sed -i '/PasswordAuthentication /c PasswordAuthentication yes' /etc/ssh/sshd_config
passwd root

创建 rc.local 开机启动脚本

cat>>/etc/systemd/system/rc-local.service<<EOF
[Unit]
Description=/etc/rc.local
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target
EOF
cat <<EOF >/etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#

exit 0
EOF

systemctl daemon-reload && systemctl enable rc-local
history -c

配置结束,输入 exit 可退出

/mnt/boot/initrd**.img 取出到 bak 文件夹内备用

cp /mnt/boot/initrd.img-* ./

取消挂载并打包

取消刚刚的boot.img的挂载

sudo umount /mnt/proc 
sudo umount /mnt/dev/pts
sudo umount /mnt/dev
sudo umount /mnt/sys
sudo umount /mnt

将 boot.img 转为刷机用的 rootfs.img 格式

img2simg root.img rootfs.img

将Image和dtb合并(由于前面拉了两个设备树,这里合并两次)

cat Image.gz msm8916-handsome-openstick-ufi001b.dtb>ufi001b-kernel-dtb
cat Image.gz msm8916-handsome-openstick-ufi001c.dtb>ufi001c-kernel-dtb

将前面提取出来的 initrd**.img 改名为 initrd.img

mv initrd.img-* initrd.img

生成镜像

生成001b的镜像

mkbootimg --base 0x80000000 --kernel_offset 0x00080000 --ramdisk_offset 0x02000000 --tags_offset 0x01e00000 --pagesize 2048 --second_offset 0x00f00000 --ramdisk initrd.img --cmdline "earlycon root=PARTUUID=a7ab80e8-e9d1-e8cd-f157-93f69b1d141e console=ttyMSM0,115200 no_framebuffer=true rw" --kernel ufi001b-kernel-dtb -o ufi001b-boot.img

生成001c/003的镜像

mkbootimg --base 0x80000000 --kernel_offset 0x00080000 --ramdisk_offset 0x02000000 --tags_offset 0x01e00000 --pagesize 2048 --second_offset 0x00f00000 --ramdisk initrd.img --cmdline "earlycon root=PARTUUID=a7ab80e8-e9d1-e8cd-f157-93f69b1d141e console=ttyMSM0,115200 no_framebuffer=true rw" --kernel ufi001c-kernel-dtb -o ufi001c-boot.img

整理文件,将boot与rootfs.img整理出来(可选)

mkdir ufi_debian
mv ufi001*.img ./ufi_debian/
mv rootfs.img ./ufi_debian/

最后,将这些文件从虚拟机复制到主机,接入棒子,准备下一个环节:开始刷机

刷入系统

要想把Debian刷入到棒子内,需要在棒子的fastboot模式下刷入。如果棒子是刚做完第一章的备份工作后,只需要跳过第0节继续往下跟着做即可;如果棒子已经刷入过openwrt或者Debian等linux系统,请备份好必要资料后,看下面第0节进入fastboot模式。除了esim,务必不要插入sim卡的时候刷机,否则可能会无法检测到卡,出现这种情况重新刷入就可以了(除非刷机包有要求插卡刷入)

第0节

已刷机的棒子进fastboot

如果你的棒子是新买的并且已经做完备份工作了,可以直接跳过该小节,直接使用adb重启至fastboot

备份好必要文件后,拔下棒子

按板子上的RST按钮,并插入到电脑,此时电脑会识别到9008设备

使用第一章的软件 Qualcomm Premium Tool V2.4 ,打开后扫描分区,按下图所示格式化boot分区

格式化完成后,拔掉棒子,重新插入,即可自动进入fastboot模式

打开第一章的adb工具包 tools 文件夹,在文件夹上方地址栏输入cmd,打开cmd窗口

输入指令 fastboot devices 即可查看是否有设备连接

如果连接成功,即可开始跳转到第2节

第1节

进入到fastboot模式,如果是从第0节完成,则可以跳过这一节往下看;如果棒子刚买回来且做了备份工作后,可以看这一节进入fastboot

正常插入棒子,等待其开机,设备管理器显示adb即可

如果显示如下图,同时出现adb与9091设备,代表设备还没有完全开机,稍等片刻即可

打开第一章内的adb工具包 tools 文件夹,在文件夹上方地址栏输入cmd,打开cmd窗口

输入指令 adb devices ,查看是否有adb设备连接,如有,可继续执行指令 adb reboot bootloader

此时电脑会提示新设备接入,输入指令 fastboot devices 即可查看是否有设备连接

此时棒子成功进入fastboot模式,可以进行刷机

第2节

准备Debian\linux\openwrt刷入工具包,优先刷入ufi003(001c)

如果使用社区提供的刷机镜像压缩包,里面一般有全部分区文件和 flash.bat 刷机脚本,可以直接使用包里面的 flash.bat 一键刷入;如果只准备了rootfs.img 与 boot.img 和本文一样,那就需要下载基础包,将这俩文件放基础包内,并把 *-boot.img 改名为 boot.img 即可

基础包链接:https://www.123pan.com/s/Dpq0Vv-p9UHd.html 提取码:dkdF (本文采用这一个)

源链接:https://github.com/OpenStick/OpenStick/releases/tag/v1 (建议使用前面链接,本文有改动刷入脚本,可自动刷入lk2nd与rootfs、boot)

源链接配合源教程食用更佳:https://www.kancloud.cn/handsomehacker/openstick/2636506

将基础包下载后解压,可得到一个base文件夹。将前面生成的 rootfs.imgufi001c-boot.img 复制到该文件夹内,并将 ufi001c-boot.img 改名为 boot.img ,然后运行 flash.bat 即可开始刷入,不会超过3分钟(如果rootfs包较大,耗时也会久,如果长时间不跑进度可以尝试重新刷入,进入fastboot方法看第0节)

等显示 All done!! 之后棒子会自动重启,并尝试开机

如果在电脑里面找不到设备,可以参考文章:https://www.kancloud.cn/handsomehacker/openstick/2636506

本文结束,后续折腾请等待更新

]]>
1 https://yanhy.top/index.php/archives/333/#comments https://yanhy.top/index.php/feed/search/教程/
随身wifi折腾入门(1)-- 开箱&amp;备份 https://yanhy.top/index.php/archives/332/ https://yanhy.top/index.php/archives/332/ Sat, 01 Apr 2023 19:22:00 +0800 yanhy2000

所以还是决定自己做个教程,顺便留下工具,以后说不定还能回来看看...
(该文章参考酷安各个大佬教程总结而来,其中本篇主要目标为001B,003\001C通用)

开箱

针不戳,这次买到两个棒子,查看板号都是001B,据说这个板号支持的频段最全面,同时也是骁龙410的芯片,可以用来折腾了;拆开后发现板载卡座,甚至不需要自己加焊了,运气不错。

工具清单

准备好软件硬件,开始刷机。先从安卓开始,再到Debian、openwrt,最后再自己编译一个系统慢慢折腾...

  • [驱动]vivo9008drivers
  • [依赖库]微软常用运行库包(可选)
  • [ADB&Fastboot工具]platform-tools
  • [9008分区操作工具]Qualcomm Premium Tool V2.4
  • [9008全量备份工具]MiKo_Loder Pro
  • [安卓apk]面具等
  • [远程工具]ARDC(B2016)
  • [高通工具]QPST_2.7.496

下载链接:https://www.123pan.com/s/Dpq0Vv-XAUHd.html提取码:V23y

环境安装

0、建议关闭杀毒软件,否则多个工具可能会被杀毒拦截

1、安装 [驱动]vivo9008drivers 驱动,这个驱动是为了识别棒子9008;安装 [高通工具]QPST,后续备份QCN用(可选)

2、如果电脑是网吧电脑或者新系统、win7等,建议安装[依赖库]微软常用运行库包 ,有些软件依赖一部分的微软运行库,否则无法正常打开

3、解压 9008分区操作工具、9008全量备份工具 ,并打开 MiKo_Loder Pro/miko.exe 安装 9008全量备份工具 ,安装完成后将 Loader.exe 替换到安装目录中以完成破解,之后每次使用打开 Loader.exe 即可

4、9008分区操作工具 仅需解压即可,解压后的文件夹需要删除中文部分(部分系统会因为中英文报错),解压出文件夹 Qualcomm Premium Tool V2.4 ,无需安装

5、解压 [ADB&Fastboot工具]platform-tools 内的文件到文件夹 tools ,自行新建并重命名为tools,后续adb等操作将以这个为准

6、打开调试工具:进入tools文件夹,并在这个文件夹的上方地址栏,单击编辑,删除全部内容,输入 cmd 并回车,会打开cmd命令行窗口。输入指令 adb 并回车,查看是否会输出帮助日志,如有即正常

进入9008

方法一:

1、按住棒子上的RST按钮再插入电脑,即可自动进入9008模式

方法二:

1、正常插入棒子到电脑等待一两分钟

2、待完全开机后,电脑会出提示网络设备接入,同时可以在设备管理器看到adb设备

3、回到cmd控制台,输入指令 adb devices 即可查看棒子是否连接正常

4、输入指令 adb reboot edl,棒子会自动重启到9008模式,再次查看设备管理器,即可在端口处发现9008设备

系统备份

刷机第一步务必要先备份,哪怕网上有很多别人的备份,还是建议自己保留一份全量备份,其中就包含基带等文件。

预计要备份的内容:全量备份全分区备份QCN备份,由于QCN备份需要开放901D端口,需要Root后才能进行,因此先折腾安卓系统,将面具刷入后再备份QCN

全量备份

进入9008后,打开前面安装好并破解完成的 miko,也就是 Loader.exe ,可以新建一个桌面快捷方式,下面统一称为miko

打开miko后,按照下面的顺序进行操作,可进行备份全量包与查看存储信息

既然有备份流程,当然也有恢复流程,如下图

至此,全量备份结束,关闭Miko即可,如果需要进行下面的备份,需要拔掉棒子重新进9008模式。

分区备份

本部分备份仅需备份modem分区等小分区,用于刷debian或者openwrt时替换基带驱动等,无需备份userdata等大分区

简单备份(推荐)

如果有备份全量分区,并且只需要更换系统后插卡使用,仅需要备份Modem分区即可

进入文件夹 Qualcomm Premium Tool V2.4,开始进行破解操作

(音量调小)进入文件夹后,打开 CMD_KEYGEN_CRACKED_by_FACEBOOK破解器,点击GenerateKey生成一个key文件,放到一个位置并记下来。生成完毕后可关闭破解器。

打开 Qualcomm Premium Tool 软件,点左上角Help->Activate ,并选择刚刚生成的key文件,即可激活

激活完成后,按下图顺序执行部分分区备份。如显示Fail无法读取分区,可拔下棒子重新进入9008模式

重复第5、6、7步,将Modem、fsg、modemst1、modemst2分区备份下来即可。

备份完成后,出现这四个文件即为备份完成

modem文件可通过7z解压提取其中文件,也可以用 UltraISO 这个软件直接双击打开,把里面IMAGE文件夹拖出来可作为备用

在刷入其他系统时,如果需要插卡使用,将这个文件夹上传到root目录,并将文件夹内的全部文件移动到/lib/firmware文件夹重启后即可使用基带驱动(可见我博客其他文章 debian openwrt

全分区备份

进入文件夹 Qualcomm Premium Tool V2.4,开始进行破解操作

(音量调小)进入文件夹后,打开 CMD_KEYGEN_CRACKED_by_FACEBOOK破解器,点击GenerateKey生成一个key文件,放到一个位置并记下来。生成完毕后可关闭破解器。

打开 Qualcomm Premium Tool 软件,点左上角Help->Activate ,并选择刚刚生成的key文件,即可激活

激活完成后,按下图顺序执行全分区备份。如显示Fail无法读取分区,可拔下棒子重新进入9008模式

最后一步选择好备份文件夹后,即可开始备份,预计耗时3-5分钟左右,直到左下角显示backup finish后即可结束,关闭工具

有备份就有恢复,可以按下图恢复所需的分区

备份QCN(可选)

注:如果有全量备份和备份modem分区后,该部分可以不用备份

开启远程ARDC获取root

因为在第二个备份中,我们备份了Boot.img文件,而刷入面具只需要修补这个boot镜像即可获取root,因此我们先想办法让面具安装到棒子内。

在环境准备期间,ARDC已经被解压出来,在打开ARDC之前,先打开任务管理器列表是否有 adb.exe 进程存在,如果有,右键停止运行,否则会与ARDC冲突。

重新插入棒子,连接为ADB模式,同时打开ARDC,稍等片刻即可看到棒子的安卓界面。

此时需要解压 安卓apk 压缩包,将 launcher.apk 拖入,即可进行安装。等待几秒后,按鼠标右键也就是返回键,就可以选择默认桌面了,选择刚刚安装好的launcher桌面

可以看出,该系统为安卓4.x的样式,实则确实为安卓4.4.4

接着继续安装es文件管理器与magisk,并将备份好的boot.img分区镜像拖入ARDC窗口。使用es文件管理器可以看到,在Downloads文件夹内存放boot.img

打开magisk,选择安装,安装方式为修补一个文件,并使用es文件管理器的选择器选择boot.img,开始修补。修补完成后,重新打开es文件管理器,找到修补后的boot,由于面具会随机命名后缀,所以手动重命名为 magiskboot.img (可直接使用键盘输入)。点击ARDC软件上方的 ">>",打开拓展功能,在CMD的输入框内,输入指令 adb pull /sdcard/Download/magiskboot.img ./ 并回车,即可将文件输出到ARDC软件根目录。将该文件手动放到 tools 文件夹内后续刷入使用。

此时,还是在CMD输入框内,重新输入指令 adb reboot bootloader 并回车进入fastboot模式。

回到一开始进9008时的CMD窗口,输入 fastboot devices 查看设备是否连接成功,如下图

输入指令,将修补后的boot刷入进去 fastboot flash boot magiskboot.img ,待刷入完成后执行重启 fastboot reboot

执行重启后,回到ARDC软件查看,待显示界面后,右键返回回到launcher桌面,打开面具查看是否安装成功,如下图即为安装成功

备份QCN

在右侧CMD输入框内,输入指令获取su权限:adb shell su ,并在左侧允许shell获取权限

通过权限申请后,开始正式备份QCN。圈子内较多采用星海SVIP软件,但是因为该软件易语言编写,使用卡顿且报毒严重,我这边还是采取QPST备份QCN方式

回到一开始的CMD窗口,执行指令

adb shell su 
setprop sys.usb.config diag,adb

即可打开901D端口,同时设备管理器也会出现这个端口名。

在开始菜单找到QFIL并打开

选择901D端口打开

选择上方的Tools->QCN Backup Restore,进入QCB备份恢复的工具。同时在需要备份的位置新建txt文件,更改后缀为 .qcn ,再去工具内选择该文件即可。如需要恢复qcn,需要选择之前备份的qcn文件,点击恢复即可

备份完成后预计文件大小有500KB上下。备份结束后,可以关闭这些软件和cmd窗口,之后就可以尽情的折腾了。

之后刷机等会依次更新,欢迎关注本博客~

]]>
0 https://yanhy.top/index.php/archives/332/#comments https://yanhy.top/index.php/feed/search/教程/
Win11 安装WSA (含Magisk/root/GApps) - Local构建方案 https://yanhy.top/index.php/archives/281/ https://yanhy.top/index.php/archives/281/ Sun, 20 Nov 2022 23:26:00 +0800 yanhy2000

终于想升级到win11了,结果是因为眼馋WSLg这个功能,不过既然都到Win11了,顺手也安装一下WSA吧,既然有特性就算不用也得要装(

本篇学习自:https://www.tjsky.net/tutorial/384

前景

由于很晚才升级win11,以至于想用Magisk+GApps的WSA时,却发现Github的项目页面一个醒目的提醒:This repository has been disabled.

查了一下,原来是因为太多人用Github的Action流导致项目被封禁了,看样子云端编译是没辙了。所幸LSposed团队又出了一个项目 MagiskOnWSALocal ,我们可以使用这个项目进行本地编译,只需要有WSL子系统环境或者虚拟机Linux系统都可以编译运行。正好网上也有大佬做了博客,我就根据自己的经验二次整理了一下。


环境配置

系统环境:

  • Win系统版本:Win11 >=22000.x
  • 主板支持UEFI虚拟化(能安装WSA或者WSL就可以)
  • 微软商店:>=22110.1402.6.0
  • 运行内存:>=8G

编译环境:

  • WSL (Ubuntu20Debian10)及更高版本 或 虚拟机Ubuntu等系统


准备工作

  • 卸载现有的WSA并清除数据(可以尝试保留数据,但可能会出问题)
  • Win-设置-应用程序-可选功能--更多Windows功能-打开Hyper-v虚拟机平台 (其他虚拟机组件不影响)
  • 1.png
  • 2.png
  • 安装虚拟机(可网上自行查找教程,推荐Vmware+Ubuntu21+桌面环境+最小化安装+Vmware Tools)
  • 3.png

构建WSA安装包

不想自己构建可以去下面的“安装”章节下载本篇文章构建好的

0、 (可选) 打开Github,前往作者团队的项目MagiskOnWSALocal(https://github.com/LSPosed/MagiskOnWSALocal) 并Star,支持作者团队

1、打开虚拟机,打开终端,输入指令sudo apt update来更新软件源,稍后我们要安装几个软件包(保持网络畅通)

2、切换到Home目录,然后安装Git工具并克隆项目,如果网络不好可能会很慢,耐心等待

cd ~
sudo apt install git -y
git clone https://github.com/LSPosed/MagiskOnWSALocal.git

4.png

3、等克隆完毕且没有明显报错(报错可能就是网络不好无法继续克隆)后,切换目录到项目内

cd MagiskOnWSALocal

4、开始运行一键脚本,自动安装与配置环境

sudo ./scripts/run.sh

5.png

5、经过大概20分钟的等待,终端内会显示选项,此时开始自定义安装;如果中途有选择错误,强制退出再重新执行脚本即可

接下来的小标题格式为:菜单选项 | 大致意思 | 推荐选择

5-1、Build Arch | 编译架构 | 默认
用键盘方向键选择X64 (个人电脑一般都是Intel或者AMD,大多数为X64架构,可能也有部分Arm设备,可以自行编译试试看)

6.png

5-2、WSA release type | WSA发行类型 | 默认
一般选择retail,零售版,也解释为稳定版;如果想体验预览版,可选择Beta或者Dev通道的版本

8.png

5-3、Magisk version | 面具版本通道 | 默认
顾名思义是面具的更新通道,一般来说稳定就好,和手机上刷root用的面具玩法一样

7.png

5-4、Install GApps | 安装GApps | 是
如果没有一个好的网络环境也可以不安装,可以使用第三方安装器安装软件

9.png

5-5、Which GApps do you want to install? | 安装哪种版本的GApps | OpenGApps
推荐使用OpenGapps,体验过就明白了

10.png

5-6(略过)、Variants of gapps | 选择安装什么体积的GApps | 无
此选择目前略过,因为GApps没跟上WSA安卓版本(12)的更新,目前只有Pico量级的能用,默认跳过

5-7、 Remove Amazon Appstore | 移除亚马逊市场 | 否
憨憨亚马逊市场,app真的少,大部分游戏还都是益智游戏,建议选否,不保留

11.png

5-8、Root solution | Root解决方案 | Magisk
嗯,就一个面具,就选它,或者你不想root可以选none,这样就可以构建个无root但有GApps的WSA了

12.png

5-9、Compress output | 压缩构建包 | 是
如果你是老电脑,建议选否,压缩是一件很吃cpu的事情,虚拟机推荐压缩,方便导出文件,咱这边要分享到社区,所以选择压缩

13.png

5-10、Compress format | 压缩格式 | zip
同上述,压缩很吃cpu,7z更吃,tar.xz会好一些,但是在win下需要压缩软件支持,zip适合大众需求,空格选择,回车即确定

14.png

6、选择完成后,即可开始构建WSA安装包(会下载一些软件包,需要保持好的网络环境)

15.png

7、等待十几分钟,即可构建完毕(包体大概八百多MB)

16.png

17.png


安装WSA构建包

此处为第一次安装WSA,如果之前有WSA请先卸载再安装,如果之前也是MagiskOnWSA,需要更新的话看下文,本篇文章构建包分享:https://www.123pan.com/s/Dpq0Vv-ORuHd提取码:CcO3

1、将上一步中构建完成的包(或是本文分享的构建包)解压到D盘/WSA文件夹中,文件夹可自行创建,但解压后不可删除,解压路径即为运行路径,我给解压到了D:/Users/xxxx
(一开始没改名,改名时检测被占用,一看果然这个文件夹是WSA的本体,悲,只能等下次更新的时候找机会换掉)

21.png

(和我上一次构建的版本一样,就是不知道里面小版本有没有改,本文会放出本次构建的共享链接)
(云盘校验没通过无法秒传,看样子里面小版本可能修改过,也可能只是文件属性变了)
18.png

2、进入文件夹,找到run.bat,运行即可(图中为我上一次构建的安装,稍后会讲到更新MagiskOnWSA,那时候再把我自己的包更新了)

19.png

3、等待安装完毕,会自动打开Magisk软件与Play商店,也可能只弹出一个,但是只要能运行即可代表安装完成。我参考的那篇教程里面说,Magisk默认是没开Zygisk,需要手动安装LSposed_Zygisk,但是在本文编写的时候,Zygisk就已经内置进Magisk内了

20.png


更新MagiskOnWSA

首先,请勿在微软商店内更新WSA,并且记得关掉微软商店的自动更新
更新方法:删除上一次git克隆文件夹,重新拉取代码并重新构建,得到压缩完的构建包后,先关闭WSA(用适用于Androidtm的windows子系统设置),再解压替换文件夹,并再次运行run.bat,用户数据会被保留

(确实会保留,我那小米12的Win11WSA还在(doge))
22.png

卸载MagiskOnWSA

此处摘抄原文教程(链接在顶部)

  • 打开开始菜单
  • 点击适用于Android™ 的 windows子系统设置
  • 切换到系统窗口,找到关闭适用于Android™ 的 windows子系统,点击【关闭】按钮
  • 点击重置为默认值的【重置】按钮
  • 关闭这个字窗口,重新打开开始菜单
  • 找到适用于Android™ 的 windows子系统设置在上边右键,选择【卸载】
  • 如果你要备份应用数据,可以备份
    %LOCALAPPDATA%PackagesMicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbweLocalCacheuserdata.vhdx

安装WSAHelper(https://github.com/LSPosed/WSAHelper/releases/tag/v1.0),重新恢复开始菜单里的APP图标。

]]>
3 https://yanhy.top/index.php/archives/281/#comments https://yanhy.top/index.php/feed/search/教程/
服务器上部署小游戏之《人生重开模拟器》(附screen使用方法) https://yanhy.top/index.php/archives/118/ https://yanhy.top/index.php/archives/118/ Mon, 11 Oct 2021 00:12:00 +0800 yanhy2000

偶然发现个开源的js项目,部署到服务器上玩玩~

简介

该项目名为 lifeRestart ,开源在github,源码主要为JS编写,可同时运行在本地控制台、网页上。

以下为控制台截图:
QQ图片20211010161706.png


步骤

环境安装

由于本项目为js项目,依赖于Node运行,因此先在服务器安装上NodeJS与npm:

sudo apt install nodejs
sudo apt install npm

如果报错找不到该软件包,请先执行sudo apt updatesudo apt upgrade
安装完后输入node -v即可查看安装版本,验证是否安装成功

如果出现的版本号为14版本以下的旧版本,可能运行不了项目,请输入sudo apt autoremove nodejs来卸载旧版本node,然后跟着下面的教程安装最新版node:

node官网 找到最新版后,选择Linux 二进制文件 (x64) 或者选择自己平台的下载,复制下载链接,然后进入ssh。

先新建文件夹为node(个人习惯,不想把目录搞的很乱),再使用wget将node下载下来并解压,下载链接与安装包名不一定一致,自行变通:

mkdir node
cd node
wget https://npm.taobao.org/mirrors/node/v16.10.0/node-v16.10.0-linux-x64.tar.xz
tar –xvf node-v16.10.0-linux-x64.tar.xz

再将解压后的重命名,然后移动到要长期存放的地方,个人推荐在usr文件夹下创建,以下教程就是在usr下创建个soft,防止目录管理起来乱:

mv node-v16.10.0-linux-x64 node
mkdir /usr/soft
mv node /usr/soft/node

最后一步,将node添加到系统环境变量:

sudo nano /etc/profile
在文档最下面回车一行,并添加:
export NODE_HOME=/usr/soft/node  (此处填Node所在路径)(注释不要复制!)
export PATH=$NODE_HOME/bin:$PATH

3.png

然后输入source /etc/profile刷新环境变量,再输入node -v确认版本
如果是用上述链接下载,应该是显示 v16.10.0

4.png

至此,node算是安装完成(如果在其他地方输入node -v没有反应,可以重新输入source /etc/profile来刷新,或者重启后也可以全局刷新)

运行环境安装完成后,还需要有个能在服务器上持续运行该项目的环境,否则ssh连接一旦断开项目将会被终止。如果服务器已经安装了VNC或者Xrdp,可无视下面的安装,直接远程连接后到部署项目步骤即可。


为了让项目在服务器持续运行且不需要值守,只需要使用Screen软件包即可:

sudo apt install screen

安装后可输入screen -v查看版本来验证是否安装成功。


附:Screen使用方法简要总结(指令区分大小写!)

  • screen -ls 列出所有创建的窗口
  • screen -S xxxx 新建一个名字为xxxx的新窗口并进入
  • screen -r xxxx 进入一个名字为xxxx的窗口,如果没有这个名字的窗口会显示There is no screen to be resumed matching xxxx.
  • screen -R xxxx 进入一个名字为xxxx的窗口,如果没有这个窗口会自动创建新窗口且名字为xxxx
  • 关闭screen : 进入一个窗口,然后关闭当前的项目,再输入exit,即可退出窗口并从列表中移除
  • Ctrl + a + d 暂离当前窗口(进入一个窗口后,先按ctrl+a,保持ctrl键再按d即可离开该窗口,不影响运行的项目)
  • screen -wipe 列出全部窗口并自动移除无效的窗口
  • 出现名字相同的多个窗口时,进入窗口时需要输入id而不是窗口名,如:列表中有114514.test 1919810.test,进入窗口时需要输入screen -r 114514
  • kill 9 id号 强制杀死窗口进程(id号为23333.Name中的23333,如 kill 9 23333,不能输入窗口名)


项目部署

1、先创建一个窗口用于专门跑项目:

screen -S lifeRestart

2、根据github文档,首先需要下载项目包:

git clone https://github.com/VickScarlet/lifeRestart.git lifeRestart
cd lifeRestart

1.png

3、进入文件夹后,先安装依赖(如果服务器是第一次安装node环境,可能会安装久一些):

npm install

2.png

4、启动本地服务器:

npm run dev

5.png

5、开放端口8080

各服务商开放端口的方法自行百度,如果是使用宝塔面板的,可以在宝塔后台-安全-添加放行端口,手动添加8080即可(暂时没找到哪里可以改端口,待我琢磨一下...)

6、连接网页

在浏览器输入

http://服务器ip地址:8080/view/index.html

本文到此结束,感谢支持!

]]>
0 https://yanhy.top/index.php/archives/118/#comments https://yanhy.top/index.php/feed/search/教程/
Termux——安卓终端快速入门 https://yanhy.top/index.php/archives/98/ https://yanhy.top/index.php/archives/98/ Mon, 13 Sep 2021 19:59:00 +0800 yanhy2000

为了学习linux,很多时候都是选择装个虚拟机,或者买个服务器来练习linux操作。除了使用wsl或者虚拟机之外,还有一个更便携的linux终端,那便是安卓上的Termux...

95556-ijn6vp91y9f.png


软件介绍

Termux这个软件,可以说是安卓上的linux虚拟机,又不完全是个虚拟机。据官方文档介绍:

Termux is an Android terminal emulator and Linux environment app that works directly with no rooting or setup required. A minimal base system is installed automatically - additional packages are available using the APT package manager.”
“Termux 是一个Android 终端模拟器和 Linux 环境应用程序,无需 root 或设置即可直接运行。自动安装最小的基本系统 - 使用 APT 包管理器可以使用其他包。”

在安卓系统本身环境下,Termux得到了很好的运行优势,无需额外虚拟化操作即可使用linux操作界面。
在使用过程中,只需要像Debian系一样操作即可,你可以使用pkg安装软件包,也可以更换为apt软件包管理器等等。它可以运行很多Arm及Arm64的项目,比如nodejs、python、java等等。
Termux可以用来运行脚本、编译小型项目、学习linux系统操作而不会轻易影响主系统等。


准备工具

  • 一部安卓手机(性能、配置不限,储存大于4g,有root权限最好)
  • Google Play应用商店
  • 科学上网工具


开始安装

下载termux

首先启用科学上网环境,打开Google Play应用商店搜索Termux(该版本较低,可以去F-Droid或者gothub下载),下载安装,安装后打开(期间保持科学网络环境)
也可以去github下载:https://github.com/termux/termux-app/actions/
找到最新构建的版本,选择对应版本下载

打开后会加载几秒钟,随后会进入初始界面(如下图),此时可以关闭科学上网环境

28934-bjwrxl8f6c5.png

使用前非常重要的一步:给Termux换源,并更新软件包。步骤如下:

  • 在较新版本中,官方提供了图形化界面换源方式,可以快速更换,缺点是源站固定无法修改,日常足够使用
    图形化换源界面如图所示

19495-ig76bq3uk6c.png

在Termux中输入指令 termux-change-repo 并回车,将会进入需要更换的。库列表
一般换源只需要更换主仓库(Main repository)即可,空格可以选择取消选择要更换的仓库,默认主仓库是被选择状态
选择后直接回车,进入选择镜像源列表。使用“↓”移动并用空格选择到BFSU源,然后回车即可更换并触发update。这个是国内的北京外国语大学开源软件镜像站,在软件更新、安装时速度会快上不少。
在运行update时可能会报错,因为部分软件包可能未收录原因,但也可以正常使用。如果有特殊需要或者强迫症等,可以参考下面的手动换源到其他源。

  • 也可以手动修改文件来替换源站
推荐清华源(复制执行):
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list
sed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.list
sed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.list

清华源手动修改文件:
执行 apt edit-sources
将文件内第二行deb及后面文件删除
粘贴 deb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main

中科大源:
sed -i 's@packages.termux.org@mirrors.ustc.edu.cn/termux@' $PREFIX/etc/apt/sources.list

手动更换源后可以输入 pkg up 或者 apt update && apt upgrade来更新软件包,有时候会提示是否安装更新(y/n),推荐选择默认选项,如下图默认选项为N,如果有需要的话可以自行决定。更新过程较长且耗费较多流量,建议wifi下更新

85912-m8ovvan2jun.png


常用软件安装

到了这一步,Termux本身已经配置完成了,你可以在termux上练习使用linux操作,也可以在上面安装相关环境来部署一些小项目。

如果手机有root,可以执行sudo权限,需要先安装sudo包:pkg install tsu

脚本编程环境软件包:nodejs、python,推荐使用独立配置环境方法,当然如果没有特殊需求也可以直接使用apt install python或者apt install node,执行后输入y即可安装。经测试,从apt安装的版本中,nodejs版本为14.15.4;python版本为3.9.7

也可以在终端里面安装java环境,可以参考我之前博客写的树莓派安装java教程,同为arm架构,安装过程大同小异。

如果喜欢折腾,甚至可以在termux安装xfce4桌面,然后通过配置vnc来远程连接termux的可视化桌面

当然,也可以在termux配置静态博客hexo,一方面可以当做本地服务器,浏览器访问127.0.0.1即可访问自己的网站;另一方面,也可以在本地折腾好后打包到服务器。

termux可以直接ssh连接到安装linux系统的服务器。连接方式:ssh root@10.111.111.111 其中,root@表示使用root用户连接到服务器。


优化termux使用

termux我个人认为并非是独立的虚拟机,还是基于安卓系统操作。因此如果需要termux与系统进行文件交互,并非是难事,创建个软连接即可。(有root权限的用户还可以直接去根目录找termux内系统的/目录)

首先开启termux访问手机存储的权限termux-setup-storage,然后手机会弹窗是否授权termux访问储存权限,点击确认
软链接相对于文件夹的快捷方式,创建在termux的home目录,便于访问,同时也可以用文件管理器去修改文件夹内容。先用文件管理器在储存主目录创建文件夹为share(可自行修改),然后打开终端,输入ln -s /storage/emulated/0/share share即可在home目录创建share文件夹,指向主目录的share文件夹。
同时,授权了储存访问权限后会在home目录生成 storage 文件夹,可以通过这个文件夹访问到几个基本文件夹,如download等

67603-mnxknrrv8vb.png

在termux启动时会显示welcome to Termux! 欢迎信息,可以手动编辑nano $PREFIX/etc/motd来修改启动信息

可以使用Termux-ohmyzsh来美化终端,安装sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)" 由于github访问速度不定,可能下载较慢
第一次打开脚本时会列出可调整的颜色、字体,可以随意选择一个,后续要更改颜色与字体,可以输入~/.termux/colors.sh修改颜色或者~/.termux/fonts.sh修改字体
41862-a7wn858fanv.png

其他美化脚本推荐:bash <(curl -L gitee.com/mo2/linux/raw/2/2)


示例演示 - 部署本地hexo静态博客

hexo静态博客特点是无需数据库,只需要在本地使用markdown编写文章后使用hexo框架配合精美的模板即可生成美观的博客页面,适合部署到github等代码托管站。如果有需要,我后续将会出个专门博客的教程。例如下图中,我同学搭建的个人博客站
16589-a51ql1u8737.png

30612-d45qidov5kl.png

工具:nodejs软件包、hexo本体、git软件包

安装:

apt install nodejs
apt install git
npm install hexo-cli -g
npm install hexo-deployer-git --save
apt install openssh

接下来初始化hexo:

hexo init blog
cd blog
hexo g
hexo s

当输入完hexo s后,显示如下图,即可证明hexo框架启动成功,此时可以去打开手机浏览器,输入localhost:4000即可访问自己搭建的第一个网站——hexo博客初始页(如果发现后台很多报错,一方面可能是缺失模块,另一方面可能因为arm架构的设备不能完美支持,只能在本地搭建提供测试等)
90520-hhfibhbnu8e.png

38910-shzn2vh8ne.png

如果需要关闭博客,键入Ctrl+c即可停止


示例演示 - 安装VNC远程控制

vnc用于linux的远程桌面控制比较多。这里简单讲述一下如何对termux进行vnc控制

工具:x11-repo、tigervnc、xfce桌面

安装:

apt install x11-repo
apt install tigervnc
apt install xfce
vncserver

输入完vncserver后会提示设置密码,然后确认密码,接着会提问是否要设置只读的密码(其他功能用),一般选择N即可

引入vnc全局变量:export DISPLAY=":1"
先退出vnc进程:vncserver -kill :1
修改配置文件nano .vnc/xstartup在最后一行加入startxfce4,添加后先ctrl+o保存,在回车确认,在ctrl+x退出编辑

启动vnc指令:vncserver
结束vnc指令:vncserver -kill :1

手机下载一个VNCviewer,添加新连接,ip为localhost:5901,名字随意,点击连接即可(如果报警告可以直接无视,继续连接即可)
连接过程会提示输入密码,密码为刚刚设置的vnc密码,连接成功后如下图
52380-zsnwm92wy3k.png

如果想要每次启动终端自动启动vnc的话,可以输入nano ~/.bashrc,在最后一行添加vncserver即可

vnc可能会中文显示异常等等,需要手动下载字体之类的,本文不再拓展太多


示例演示 - 安装宝塔面板模拟建站(仅root的手机)

宝塔面板,这个让网站运营人员耳熟能详的网站管理面板,功能强大,操作简单易管理,还可以一键部署环境,很多人都使用这个管理网站...在termux中安装宝塔面板,性能较低,仅供参考与学习,不适用于正式生存环境
21252-k61ibrth4qr.png

工具:wget软件包,tsu指令软件包,宝塔安装脚本,浏览器,较长时间

执行指令
apt install wget
apt install tsu
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
如果手机已经root并授权,将会一路执行;如果没有root或者未授权,会显示“are you rooted?”
安装过程较长,由于我手机没有root,所以分享一下在树莓派安装的经验:
执行第三个长指令后,会快速加载安装环境,需要手动输入y才能继续安装。之后要等待很久,安装完会在最后几行显示http://127.0.0.1:8888/xxxx ,其中xxx显示宝塔面板的安全入口,需要把整条网站复制到浏览器才能进入面板;同时会在网址下方显示默认用户名和密码,可以用这个登陆到管理面板
宝塔面板会保持每次打开终端自启动,如果需要更改入口限制开关、账号密码等,可以输入sudo bt(每次只能更改一个东西,再修改需要重新输入指令),然后如下图所示:
60151-mdj9s4u0awf.png

一般我个人喜好输入11关闭入口限制,输入8更改默认端口,输入5更改密码,输入6更改用户名,其他保持默认

第一次登陆宝塔网页,会提示要安装环境。推荐使用LNMP环境(L:linux;N:Nginx;M:mysql/MariaDB;P:PHP),也是大部分网站框架常用环境。如果是在正常服务器安装,推荐使用编译安装,但如果在termux内,使用快速安装即可,编译安装会占用大量系统性能、资源,而且termux安装的宝塔并不适合投入正常使用环境中。至于安装版本,一切默认即可,反正后面也可以手动更换版本,而且termux也用不到太多。

Termux安装Ubuntu

在安卓终端里面体验一把真正的Ubuntu系统!(sudo仍需要root权限)

工具:proot-distro软件包(管理子系统)

安装:

apt update
apt install proot-distro 

安装完后输入proot-distro list可以查看这个软件包支持安装的系统列表
67375-6cyd4z3wk2g.png

这里我们安装Ubuntu系统,可以自行选择更改系统,指令如下:
proot-distro install ubuntu
等显示出Now run xxxxxxx时便为安装成功,安装时间很短,因为都是同一个内核,无需重新下载完整版Ubuntu(也可以多次下载不同的系统,每次下载或者启动只需要输入列表中系统名称即可)

启动Ubuntu时,只需要输入proot-distro login ubuntu即可启动(如果下载多系统,也可以把Ubuntu替换成其他名字来启动)
在Ubuntu内输入exit即可退回默认操作系统

每次启动系统都需要很长一段指令,因此这里提供一种简化指令方法:
在home目录指令nano ubuntu.sh,然后在里面输入proot-distro login ubuntu,接着ctrl+o保存,ctrl+x退出编辑,再修改文件读写权限chmod -R 777 ./ubuntu.sh,之后就可以通过执行脚本./ubuntu.sh快速进入了!

本文到此结束,感谢支持!

部分插图内容来自我同学的个人博客:https://jmzdd-jjly.website/ 欢迎大家前往访问!

]]>
0 https://yanhy.top/index.php/archives/98/#comments https://yanhy.top/index.php/feed/search/教程/
联想小新pad通过9008刷国际版\国行系统 https://yanhy.top/index.php/archives/76/ https://yanhy.top/index.php/archives/76/ Sun, 15 Aug 2021 07:37:00 +0800 yanhy2000 之前6月份入手了一个小新pad普通版,骁龙662的性能,6+128内存组合够日常使用了,但是由于没有买书写笔,只能当做个大屏手机用,也正好拿来先折腾一番...

主观体验

作为一个11.5寸的大屏幕设备,快要和我电脑屏幕差不多大了,刚开始我重度使用这个pad刷视频、刷酷安等,后面也是使用spacedesk软件来进行电脑屏幕拓展。
在我看来这个设备的主要优势就是屏幕大,用起来观感很爽,其他感知性不强。小新pad的国行系统并没有和其他平板ui一样有很好的平板体验,和大屏手机的ui相差无几,且生态并不好,QQHD版经常未响应卡顿等。
后来将其刷到了国际版,自带谷歌全家桶,基本上是没有对ui深入定制,当大屏手机用还是挺舒服的。直到后面我打算买支笔拿来办公用,才想着把这玩意刷会国行,可能对办公等支持更好一点。


平板参数

  • CPU:高通 骁龙662(2.0Ghz A734+1.8Ghz A534)
  • 内存组合:6GB+128GB
  • GPU:Adreno 610
  • 屏幕:LCD 2000x1200 60fps
  • 特色功能:2D人脸识别,ZUI学习模式,Lenovo One智能互联,IP52防水防尘 ,四立体声扬声器
  • 电池:7700mah 20w快充
  • 网络:支持802.11ac无线协议wifi 蓝牙5.0

准备材料

如以下资料文件丢失,可在本人发布的帖子下(如酷安)或者本博客内留言,会及时处理

由于资料过久,网盘曾经清理过,因此下面部分链接失效,补一下nas里面备份过的文件: https://pan.baidu.com/s/1VCXuR_9HN0Cosk-e-5tI1Q?pwd=x48x 提取码: x48x
暂时只补档镜像包相关,其他刷机工具是通用的,可以网上搜索其他工具或者看博客内其他刷机文章,工具可以直接拿来用(毕竟都是高通那些事)

由于本文章是教刷回国行版,所以主要提供国行版刷机包
12.5.057(安卓11)链接:https://pan.baidu.com/s/1cqOjLNQTxtm_Gn_PhaxHUA 提取码:x88j (此版本系统包只能通过下面刷入安卓10后去系统更新app手动升级上去,无法9008)

12.0.341(安卓10)链接:https://pan.baidu.com/s/1su_eCOLC3BIhEcaWe77LkQ 提取码:942r (本教程所用版本,可以9008刷入)

高通usb驱动:链接:https://pan.baidu.com/s/10oanVfv19NoIBaPQJcvTVQ 提取码:5v2o
QPST工具:链接:https://pan.baidu.com/s/1BP1Jm_Eld5OYoHUzqslflA 提取码:h0zc

国际版包也给一个吧,刷入方法相同
安卓10:链接: https://pan.baidu.com/s/1a3cHhYzZzcxORn_sXxCvPA 提取码: r83r(可以9008刷入,方式同本教程)

其他资源:

USB3.0数据线一条
win10电脑(其他系统未测试)
小新pad(电量充足、备份完成)


步骤

下载好工具、驱动、系统包后,接入数据线到电脑准备开始刷机。

1、解压QUD.WIN.1.1 Installer-10037.3后打开setup.exe开始安装驱动,安装过程全部默认即可
76270-f7ducko85om.png

2、解压qpst.win.2.7_installer_00488.1后,打开文件夹内的QPST.2.7.488.1.exe安装器,安装完后可以在开始菜单内找到QFIL应用程序,这是QPST高通9008刷机工具(此工具仅英文版且不要误操作,小心变砖)
87167-gklr2f6udhv.png

63377-mpkzqq6war.png

3、解压系统包TB-J606F_CN_WIFI_USER_Q00016.0_Q_ZUI_12.0.341_ST_201102_qpst(安卓10)

12814-lmztcxxljk.png

4、解压后将平板关机,电脑打开设备管理器,然后展开 端口 分支(如果没有先不展开),插上usb数据线后按住音量+键,直到看到Qualcomm HS-USB QDLoader 9008的设备出现为止

52405-7d5jxqypoee.png

5、回到QPST软件,打开后如下图,先点击顶栏的Configuration,再点击FireHose Configuration

70742-xqi3wp2p8im.png

6、修改,确保和下图红框一模一样(其他地方不需要修改也不要乱改),修改完点击 OK
变砖警告:注意,一定不能选择 Erase All Before Download!否则你平板的主板底层可能会被清空,导致变砖,只能走售后换主板!无法救砖!

32940-869p0ieqbgt.png

7、回到软件主页面,Select Build Type 选项修改为 Meta Build
再点击Select Meta Build 选项里面靠右侧的Load Context...按钮

03918-zl2llhh5pus.png

8、路径选择正确后会显示下图的文件,选中点击打开即可,同时主界面会变成下图二

64595-41qykuekoff.png

07780-6v49h1z09qf.png

9、最后点击右上角的 Select Port 选择端口(如果电脑只连接了pad,应该会只有一个端口显示,端口号无需相同)

82472-occ3dgrq6r.png

10、最后确认一遍信息,参考下图(除了端口号、路径不一样,其他应该一样)

96989-t9mqbd9n87.png

11、点击右侧Download Content即可下载固件到pad中(时间较长,如果看到进度条不动了,不是卡住,这软件的进度条就是这样,慢慢等就好)看到 finish Download就是下载成功,平板会自动重启开机

46996-co3nygafk56.png

开机完成

13154-a4d1gwdsg9.png

**此方法同样适用于国际版(安卓10),或者其他系统版本,需要支持qpst刷入(如果支持一般文件名后缀会标识)
如果想升级到最新版本系统,可以手动下载安装包或者手动更新版本**


文章参考资料

]]>
0 https://yanhy.top/index.php/archives/76/#comments https://yanhy.top/index.php/feed/search/教程/
树莓派搭建个私人的NAS网盘(双场景) https://yanhy.top/index.php/archives/55/ https://yanhy.top/index.php/archives/55/ Tue, 27 Apr 2021 09:03:00 +0800 yanhy2000

前几期已经成功对树莓派做足了当服务器的准备,是时候用树莓派做出一些实用的事情了...


前言

树莓派4B版本的网口与USB相比之前有了较大提升,尤其是网口提升到了千兆的速率,这样一来树莓派更加适合做一些小型网络服务器,正如今天所搭建的私人NAS网盘...

经过前几期的准备,我们的树莓派已经可以实现软件上内网穿透,硬件上自动温控保护,目前的环境已经稳定下来,可以去搭建小型服务器了。本文中将会使用树莓派接入外置硬盘,通过有线网络实现搭建NAS网盘,且提供两种不同思路,给不同场景使用。


准备工作

1、Frp内网穿透(参考:用云服务器搭建自己的Frp服务
2、硬件温度保护(参考:为树莓派制作个简单温控系统
3、软件源更换(参考:树莓派4b上手“装机必备” - 2


场景:自用、云同步、个人NAS网盘

使用网盘平台:samba

步骤:

1、安装Samba服务:sudo apt install samba -y

2、编辑Samba配置文件:sudo nano /etc/samba/smb.conf

3、在文件末尾添加如下内容并保存(文件目录根据实际调整):
其中,path(共享路径)此处填写的为接下来要映射外置硬盘的文件夹,如果使用的是u盘或者外置固态硬盘则可以忽略,如果使用的是外置机械硬盘(推荐使用带自动休眠功能的硬盘盒),推荐直接修改为/home/pi,否则每次当windows资源管理器加载网络储存时都会导致机械硬盘启动,从而会加大损耗硬盘寿命(尽可能使用带自动休眠的硬盘盒,仅sata转换器无法达成自动休眠硬盘效果,还需安装相关软件)。缺点是无法在windows网络硬盘中看到外置硬盘容量,好处是更方便的传输文件到/home/pi目录。

[share]
   path = /home/pi/share
   valid users = pi
   browseable = yes
   writable = yes

注:如需将samba用户名pi修改为其他用户名,需要添加一个新的系统账户。因该账户仅用于samba分享服务,因此可以将其设置为无登陆权限的账户,如下过程即可:

//添加用户组samba,设置id为2000(id和名字可随意)
sudo groupadd samba -g 2000
//添加用户yanhy,用户id为2000,并将其添加进id为2000的用户组
sudo useradd yanhy -u 2000 -g 2000 -s /sbin/nologin -d /dev/null
//授予访问权限
sudo chown -R yanhy:samba /home/ubuntu/
//同时再给自己一边权限
sudo chown -R ubuntu:ubuntu /home/ubuntu/
//添加samba用户密码
sudo smbpasswd -a yanhy

4、根据以下内容将外部硬盘连接到共享文件夹:

--接入外置硬盘(3.5寸机械硬盘需要额外供电,如果2.5寸机械硬盘太多也需要额外供电)
--ssh连接树莓派,使用 sudo fdisk -l 查看储存信息,看容量识别硬盘,一般是/dev/sda1
--创建个目录用来挂载硬盘 sudo mkdir /home/pi/nas
--改权限 sudo chmod 777 /home/pi/nas
--将硬盘通过mount挂载到该文件夹 sudo mount /dev/sda1  /home/pi/nas

--(此条方法可能有问题,新版本系统谨慎尝试,如果卡开机了请取出sd卡,手动修改/etc/fstab中的内容)写入硬盘启动信息,下次重启后自动挂载数据盘 echo "/dev/sdb1 /home/pi/nas/ ext4 defaults 0 0" >> /etc/fstab
--使用 df -h 查看硬盘状态,如果第一列有显示/dev/sda1且后面目录为/home/pi/nas说明挂载成功

5、配置完后重启Samba服务:sudo systemctl restart smbd

6、设置访问用户:sudo smbpasswd -a pi(如根据第三步新建用户,可以跳过这步)

7、电脑输入smb://树莓派ip 即可访问到共享文件夹,或者打开 网络 ,开启局域网共享,也可以发现树莓派设备并连接(老版本教程)

8、兼容ntfs
树莓派不支持写入ntfs文件系统,如果硬盘已经有文件不想格式化,可以安装软件包来兼容:sudo apt install ntfs-3g -y ,更新内核模块:sudo modprobe fuse , 重启系统:sudo reboot


场景:多人使用网盘、协作、小型下载站、图床

使用网盘平台:Cloudreve

步骤:

1、手动访问 https://github.com/cloudreve/Cloudreve/releases 选择cloudreve_x.x.x_linux_arm64.tar.gz右键复制下载链接
31598-1047l7nmrd3.png

2、ssh连接树莓派,创建一个文件夹 mkdir nas 并进入 cd nas ,并使用 wget 复制的链接 下载软件包

3、下载完后使用 tar -zxvf cloudreve_x.x.x_linux_arm64.tar.gz 解压,得到 cloudreve 文件(无后缀)

4、如果树莓派上有安装防火墙,需要使用 sudo ufw allow 5212 手动放行cloudreve的端口

5、输入 ./cloudreve 启动程序,接下来会自动显示出账号与密码,需要记下来,第一次登陆需要(后期可以修改),如果忘记了生成的账号密码,删除当前目录的db数据库文件后再次启动程序即可

6、如果此时在内网环境中,在本地浏览器输入树莓派ip加端口即可访问cloudreve了,如192.168.31.73:5212(由于我已经安装过,直接演示进入浏览器界面)

52800-2t88q9nsqj6.png

10436-r2lrfanky1g.png

7、登陆后点击右上角头像,即可进入管理面板,里面可以修改是否允许用户注册等功能,其他功能暂不详细叙述

55056-ucm80jnagn.png

8、给树莓派挂载硬盘并使该网盘使用外置硬盘来储存:

ssh部分

--接入外置硬盘(3.5寸机械硬盘需要额外供电,如果2.5寸机械硬盘太多也需要额外供电)
--ssh连接树莓派,使用 sudo fdisk -l 查看储存信息,看容量识别硬盘,一般是/dev/sda1
--创建个目录用来挂载硬盘 sudo mkdir /home/pi/nas/sda1
--将硬盘通过mount挂载到该文件夹 sudo mount /dev/sda1 /home/pi/nas/sda1
--写入硬盘启动信息,下次重启后自动挂载数据盘 echo "/dev/sdb1 /home/pi/nas/sda1 ext4 defaults 0 0" >> /etc/fstab
--使用 df -h 查看硬盘状态,如果第一列有显示/dev/sda1且后面目录为/home/pi/nas/sda1说明挂载成功

网页管理面板部分

--进入管理面板,打开 存储策略 标签页
--修改默认策略,使用 向导模式编辑
--在路径处可以看到当前使用的路径,将其改成 /home/pi/nas/sda1/{uid}/{path} 即可在硬盘内创建文件
--路径内{uid}/{path}无需修改,分别为用户id和用户文件路径,如:管理员uid为1,在网盘内上传了a.MP4文件,路径则为/home/pi/nas/sda1/1/a.MP4,不同用户之间文件不相通,管理员在管理面板可以管理全部文件
--如果需要用图床功能,需要在第二步开启永久直链功能,其他选项根据个人使用去修改


其他软件如openmediavault(omv)等也可以实现局域网共享,本文不再细说
本文参考链接:
树莓派挂载移动硬盘
挂载 机械硬盘_利用树莓派和闲置硬盘,搭建起家中的个人网盘
树莓派使用cloudreve搭建nas和离线下载

本篇文章到此结束,需要更多内容请持续关注本博客!

]]>
0 https://yanhy.top/index.php/archives/55/#comments https://yanhy.top/index.php/feed/search/教程/