RaspberryPi 2b 在我家做了 2 年多的媒体中心,随着时间的推移,它百兆网口和 GPU(不支持硬解 H265) 的缺陷越来越明显了。终于在 PDD 寻了一台 Phicomm N1 (千光网口与硬解 H265),到手就刷了官改 ROM,顺利替代了 RaspberryPi 并且提升了家庭的幸福指数。
刷机主要流程
- 将 N1/T1 的
boot 分区降级, 开启 线刷功能。 - 将 N1/T1 的 ROM 降级 至官改。
- 准备 USB,将第三方 ROM 写至 usb 上。如:Armbian (linux), openwrt (小钢炮)
- 插入 USB 运行第三方 ROM,正常使用
- 也可以运行第三方 ROM 中所提供的脚本,将系统写至 EMMC 上,从而无须 USB 启动第三方 ROM
工具
下载地址: 本文工具合集 - 189 分流 20190630, 访问码:2674
斐讯 T1/N1 降级以恢复线刷功能
N1 boot 分区镜像文件是 V2.19 版本,实测 V2.27、V2.28 降级后即可正常线刷
T1 boot 分区镜像文件是 1.3T33 版本,实测 1.5T52 、1.6T57 降级后即可正常线刷
斐讯 N1/T1 降级关键分区恢复线刷功能
N1 三个分区镜像文件是 V2.19 版本,实测 V2.27、V2.28 降级后即可正常线刷
T1 三个分区镜像文件是 1.3T33 版本,实测 1.5T52 、1.6T57 降级后即可正常线刷
刷机工具
- Usb_Burning_Tool_v2.1.6.zip 里。
- ADB 工具
- Linux
apt-get update apt-get install adb - Windows, Webpad 的包里自带
ROM
- webpad 的 N1 官改 2.2 ROM
此 ROM 是基于官方 V2.32 的,所以仅需使用将 boot 分区降级就行。
如果刷的第三方 ROM 是基于官方 v2.19 版本的,则需要对boot, bootloader, recovery三个分区进行降级。 - webpad 的 T1 官改 v3.5 线刷包
- CoreELEC
一、N1 降级 boot 分区恢复线刷功能
- 将 N1 官方 V2.22~V2.32 的
boot分区降级至 V2.19 ,T1 官方 1.4T51 ~ 1.6T57 的boot分区降级至 V1.3T33 - 然后用 adb 脚本进入线刷模式,从而烧录官改线刷包。
此降级仅针对 boot 分区,所以系统版本号不会变化
ADB 的网络方式刷机
- 将
盒子/PC的网线插路由器上,记下盒子获得的内网 IP 地址。 - 盒子连接显示器并开机,N1 开启
adb调试(主界面使用鼠标点击四次固件版本号打开 adb)- 如果盒子开机后直接进入桌面,则在设置里将盒子恢复出厂设置
N1 界面
- 如果盒子开机后直接进入桌面,则在设置里将盒子恢复出厂设置
- 在 PC 端解压斐讯 N1T1 官方系统降级工具.zip ;
- PC 端开始对盒子的 boot 分区进行降级
- windows 下运行 onekey 子目录下的
run.bat,按提示操作即可。
run. bat - Linux 下
!#/bin/sh true=0 false=1 get_root_permission(){ adb shell setprop service.phiadb.root 1 adb shell setprop service.adb.root 1 adb kill-server } adb_connect(){ # $1--->phicomm's ip if [ -z "$1" ]; then return $false; fi adb kill-server adb connect "$1" if [ \`adb devices -l | grep "p230" | wc -l\` -eq 1 ]; then # N1 return $true elif [ \`adb devices -l | grep "q201" | wc -l\` -eq 1 ]; then # T1 return $true fi return $false } while [ $true -eq 0 ]; do read -p "input phicomm's ip: " _ip echo connect phicomm on network adb_connect "$_ip" if [ $? -eq $true ]; then echo "get root permission of disk" get_root_permission adb_connect "$_ip" break fi done while [ $true -eq 0 ]; do read -p "input the path of [boot.img]: " _file_path if [ -f "$_file_path" ]; then read -p "The [boot.img]'s path is --- [$_file_path] ?[y/N]" _result read -p "The [boot.img]'s md5 is --- \`md5 \"$_file_path\"\` ?[y/N]" _md5_result _result=\`echo $_result | tr A-Z a-z\` _md5_result=\`echo $_md5_result | tr A-Z a-z\` if [ "x$_result" = "xy" -a "x$_md5_result" = "xy" ]; then adb push "$_file_path" /sdcard/boot.img adb shell dd if=/sdcard/boot.img of=/dev/block/boot adb shell rm -f /sdcard/boot.img break fi fi done echo "如要要刷机,请切换系统至windows下,使用phicomm专用刷机工具对flash进行更新" echo "进入线刷模式,请手动执行[adb reboot update]" exit 0
- windows 下运行 onekey 子目录下的
注意事项
- 无法进入线刷模式:用双公头 usb 将 n1 和电脑连接,重启 n1 后若电脑没有检测到 n1 这个硬件设备(可以在设备管理器中看到),直观上的表现是是否有电脑检查到新硬件的那种提示音,没有则未进入线刷模式,此时可以检查是否是线的问题。盒子进入线刷模式后一段时间无动作可能会自动退出此模式,因此进入到线刷模式后应该尽快进行烧录。
- 烧录进度条不动:我遇到过这个问题,如果按照 webpad 的教程步骤出现了这个问题,可以试试我这种方法:n1 重启后,电脑检测到了 n1,然后再马上点击开始,此时成功进行烧录。
二、刷 webpad 的官改 2.2 ROM
ROM 说明
- 基于斐讯官方 V2.32 系统制作,斐讯设置主界面去除账号中心、儿童锁、版本升级,改为蓝牙遥控配对、更多设置(安卓设置)、设置主桌面。
- 首次启动开机向导,可自动配对山寨小米蓝牙遥控器、天猫魔盒蓝牙语音遥控器,不影响斐讯 T1 原厂遥控器配对;
- 第三方遥控
- 短按电源键出现电源选择界面,确认键执行第一项关机或自动倒数计时关机,无关机动画 (快速关机);
- 关机后按遥控器任意键唤醒开机,斐讯原厂遥控也可快速关机;
- 快速关机 bug:若开机进入桌面后立即执行快速关机,大概率变成重启;
- 第三方遥控在电源选择界面再次按电源键或直接长按电源键,盒子会重启;
- 斐讯 T1 原厂遥控器
- 短按电源键出现电源选择界面后再按一次电源键或长按电源键,出现关机动画后盒子关闭;
- 按电源键唤醒开机。
- 电源选择界面中
休眠改成线刷:预先用 USB 双公头线连接盒子和电脑,执行该功能后盒子进入线刷模式, 若未接线,盒子会进入recovery 界面, 也可通过该功能引导 U 盘第三方系统,如 Armbian Linux 、CoreELEC、Sx05RE 等等。 - 斐讯挖矿、CDN、下载等预置应用已去除;
- 内置当贝桌面、Lighthome 、TV Launcher ,也可自行安装其它桌面应用;
- HDP optware 、谷歌框架、油管、Xposed 框架、kodi 等扩展功能,采用 adb 脚本包形式选择安装,
- 为保证推送速度,请用网线连接盒子和路由器,在电脑上解压 N1 选装功能一键工具 20180922.7z ,运行 run. bat 。
静默 root授权、telnet服务端口2323,adb shell直接为 root 权限;
线刷方法、注意事项这些不再重复,请参考网盘文档或历史帖子。
开始刷机
- 在 windows 下,安装 USB_Burning_Tool_v2.1.6.zip
- 解压 ROM 并验证 md5 值
- 打开
burning_tool.exe并载入 ROM- 去除
flash fastboot和erase sdcard - 点击
run
- 去除
- 盒子断电,用 USB 线连接盒子与 PC
- 插入盒子电源
- 等
burning_tool.exe显示为 100% 且进度条转为绿色,点击[停止] - 拨掉 USB 线,断电重启盒子,进入后先将盒子恢复一次出厂,此后就可以正常使用了
注意事项
- 第一次进入桌面后,首先恢复出厂
- 若用其它桌面,需要关闭当贝桌面霸道的 <开机启动>。开机启动>
- 桌面切换方法:
斐讯设置->设置主桌面->主屏幕应用, 需要用鼠标操作。 - 默认 root 无密码。默认 busybox 不含 passwd, 安装新版的 busybox,包含 passwd。
- telnet 关闭或加密码?修改
/system/bin/webpadinit.sh# close telnet sed -i 's/\(\/system\/xbin\/busybox telnetd -p 2323\)/#\1/' /system/bin/webpadinit.sh
开机脚本
webpadini. sh
#!/system/bin/sh
# powered by Rush, mod by webpad
# supolicy权限功能
/system/xbin/supolicy --live --sdk=25
#/system/xbin/supolicy --live "permissive init;permissive kernel;permissive untrusted_app;permissive toolbox;permissive shell;permissive priv_app;"
/system/xbin/supolicy --live "permissive init;permissive kernel;permissive shell;"
# 永久root
mount -o remount,rw /system
chmod 0755 /system/xbin/su
chown root:shell /system/xbin/su
#fail-safe功能
sleep 10
/system/bin/ip addr add 192.168.100.107/26 broadcast 192.168.100.127 label eth0 dev eth0
# enable telnet service on startup
#/system/xbin/busybox telnetd -p 2323 -l /system/bin/sh&
# optware files extract operation
optware_success=0
MARK=/data/.installed_of_optware
DATAMARK=/data/opt/
OPTWAREMARK=/system/opt.tar.gz
if [ ! -e $MARK ]; then
if [ -e $OPTWAREMARK ]; then
if [ ! -d $DATAMARK ]; then
busybox mkdir -p $DATAMARK;
fi
until [ $optware_success -eq 1 ]
do
tar xzf $OPTWAREMARK -C $DATAMARK;
if [ $? -eq 0 ]; then
optware_success=1
touch $MARK
else
optware_success=0
fi
sleep 1
done
fi
fi
# other
stop smbd
killall smbd
mount -o remount,rw /
chmod 0000 /sbin/smbd
svc power stayon true
# optware init
sleep 1
if [ -e /data/opt/optware-init.sh ]; then
/data/opt/optware-init.sh&
fi
exit 0
三、救砖
小白的斐讯 N1 半砖救砖历程
斐讯天天链 N1 官改 v2.0 线刷包,补丁 patch1
References:
