硬件配置

N1和T1使用的是晶晨Amlogic方案的芯片, 配置明细分别如下, 都是现在盒子的主流配置

N1
CPU: Amlogic S905, ARM Cortex-A53 四核 up to 2.0GHz
GPU: ARM Mali™-450, 5core
ETH: RTL8211F 100/1000M
WLAN: Broadcom CYW43455 2.4GHz + 5GHz + BT4.1
ROM: Samsung KLM8G1GEME or FORESEE NCEMAM6G-08G,eMMC5.1 MLC = 8GB
RAM: Samsung K4B4G1646E-BYMA, 4Gb(512MB) DDR3-1866MHz * 4 = 2GB

T1
CPU: Amlogic S912, ARM Cortex-A53 八核 1.5GHz up to 2.0GHz
GPU: ARM Mali-T820MP3 up to 750MHz
ROM: 三星KLMAG1JENB 16GB eMMC5.1 MLC闪存颗粒
RAM: 三星K4B4G1646E 4Gb(512MB) DDR3-1866MHz, 正反4颗, 总内存2GB
WLAN: AW-CM256SM
BT: RTL8726A, ARM Cortex M0、256KB eFlash、80KB RAM

工具准备

硬件上, 需要准备一根双公头的USB连接线

软件上, 目前晶晨的烧录工具, 在Linux下只支持Ubuntu14和16, 对18.04还不支持, 安装时会直接提示在18.04下未验证, 所以未能尝试在Ubuntu下烧录. 除此以外其他的工具adb, fastboot在Ubuntu18.04下都是可以正常使用的.

在Win7下需要使用的工具有 adb, fastboot, 这两个是Android的标准调试工具, USB Burning Tool 这个是晶晨的烧录工具

另外需要准备的是用于给N1和T1降级使用的引导区固件, boot.img, bootloader.img 和 recovery.img

以上需要的软件, 都可以从这里下载 https://pan.baidu.com/s/14i4HcbfyqyYVXYo-a0PZLg 提取码: 1hjy

以及用于烧录的系统固件 -- 这个比较大, 500~700MB, 需要提前下载

系统降级

N1: 在运行界面的版本号上点击4次, 至出现"打开adb", 这个状态重启后会保持
T1: 在配置中, 开启"远程调试"

记下IP地址, 然后在命令行使用adb连接

adb connect 192.168.1.170

显示连接成功后, 这一步是要使设备启动到fastboot模式以便于写入那三个img, 执行命令后将usb连接到电脑

adb shell reboot fastboot

这时候系统会显示找到新硬件, 待其自动安装驱动, 直至完成. 如果完成后显示硬件有问题(黄色感叹号), 重启电脑, 然后再重复一遍上面的操作

硬件正常工作后, 可以在命令行通过fastboot devices看到连接的硬件

fastboot devices -l

这时候就可以通过fastboot flash 写入img了, 注意N1和T1的img是不同的, 不要搞混.

fastboot flash bootloader bootloader.img
fastboot flash boot boot.img
fastboot flash recovery recovery.img # 结束后重启设备
fastboot reboot

.

烧录过程

安装USB Burning Tool, 最后会弹出驱动安装, 一路继续安装

在系统设备管理中, 手动添加过时设备, 选取Install the hardware that I manually select from a list, 选取 libusb-win32 Usb Devices, 选取 WorldCup Device

这时候最好重启一下电脑, 以便驱动生效

N1的烧录

打开USB Burning Tool, 导入需要烧录的img, 去掉Erase flash 和 Erase bootloader 这两项的勾选

盒子断开USB, 断电, 然后加电(不需要连接USB), 待其进入系统获得IP地址后, 使用adb让其重启

adb connect 192.168.1.170
# 这一步执行时要先拿好USB插头
adb shell reboot update

在敲下最后这行命令回车时, 系统会立即重启, 这时候请立即将USB连上电脑, 并立即点击USB Burning Tool的Start按钮, 如果能看到进度条, N1就已经开始烧录了.

T1的烧录

有些固件需要预先将密匙放到USB Burning Tool安装目录 license 子文件夹下才能正常烧录, 如果子目录不存在则新建目录

盒子断电, 断开usb, 然后USB Burning Tool点击开始后, 立即加电, 同时连上USB, 这时候USB Burning Tool就会直接识别开始烧录

烧录结束后, 保险起见, 先点击Stop, 关闭USB Burning Tool程序, 然后再给N1或者T1断电.

运行Armbian Linux

准备好一个大于4G的U盘, 下载Armbian Linux的img.xz文件, 下载地址

https://yadi.sk/d/pHxaRAs-tZiei
国内的可以访问 https://share.weiyun.com/5eCvcvS (部分搬运)密码:mivmcn

在Ubuntu18.04下, 使用系统自带的Disk Image Writer (在img文件上右键菜单就能看到, 或者运行Disk, 选中TF卡盘, 在界面右上角的菜单里点Restore Disk Image), 这个速度较快.
不要用dd, 速度非常慢. usb3.0的读卡器写tf卡, Disk Image Writer能到18MB/s, 而dd只有1/5的速度.

从 https://github.com/yangxuan8282/phicomm-n1/releases 中找到对应n1的dtb文件, 下载.
路径是 https://github.com/yangxuan8282/phicomm-n1/releases/download/dtb/meson-gxl-s905d-phicomm-n1.dtb

将这个文件复制到U盘的boot分区的dtb文件夹, 并修改boot分区的uEnv.ini文件, 将其中的dtb文件改成这个文件, 同时修改extlinux 目录下的extlinux.conf, 把里面的dtb文件也改掉

关于使用U盘启动

有些教程说直接将U盘插入USB口后, 加电即可从U盘启动, 但是在我这里并不是这样, 加电后还是进入了自带的Android系统. 这时候需要断电把U盘拔下来.
检查一下N1此时的IP, 通过 adb connect IP 连接一下, 再执行 adb shell reboot update , 在执行这个命令让N1重启的同时, 将U盘插入, 这时候就会从U盘启动了. 而且这次启动之后, 再开关机都会从U盘启动. 即使N1自带存储已经写入了Armbian系统, 还会先从U盘启动

测试过的版本:
5.67 20181207
  Armbian_5.67_Aml-s9xxx_Debian_stretch_default_4.19.6_desktop_20181207.img.xz 图形界面正常
  Armbian_5.67_Aml-s9xxx_Ubuntu_bionic_default_4.19.6_desktop_20181207.img.xz 图形界面无法启动, 命令行正常
  Armbian_5.67_Aml-s9xxx_Ubuntu_bionic_default_4.19.6_20181207.img.xz 工作正常, WIFI工作正常

如果要写入N1, 以后从N1直接启动, 直接在/root/目录下执行 install.sh 就可以了. 看了命令明细, 就是把U盘里的文件往 /dev/mmcblk1p1 和 /dev/mmcblk1p2 这两个分区里写.

关于配置WiFi

建议通过执行自带的armbian-config, 在其界面总进行配置. 有时候连接会不太正常, 重试就好了. 重启系统后不会自动连接WiFi, 这个还不知道如何配置

Update 2019-11-15 执行 nmtui, 选择第二个Activate a connection,按提示选择并输入密码即可, 若Activate a connection中没有Wi-Fi选项卡则说明内核尚未开启wifi_dummy和dhd模块,执行如下指令

modprobe dhd && echo dhd >> /etc/modules
modprobe wifi_dummy && echo wifi_dummy >> /etc/modules

如何从Armbian Linux 刷回 Android TV

手里这个N1, 断电重启, umount /dev/mmcblk1p1 格式化后再重启, 都不会进入线刷状态. 看来是必须要通过类似于 reboot update 这样的命令才能实现了.

实现的途径是: 用U盘制作一份 CoreELEC 的系统, 将系统写入N1(启动后进入ssh, 在/flash目录下执行installtoemmc, 都选y), 再从N1中执行 root update 命令, 这时候就会进入线刷状态.

Update 2019-11-15: 4.18+的内核刷入eMMC后会改变分区, 无法再通过U盘重新覆盖安装回到3.14的版本, 也无法再直接刷回盒子的系统. 这个问题的解决方法两种,一种是通过ddbr恢复分区备份, 恢复至原版安卓系统,再刷入其他版本, 另一种是线刷

ddbr恢复

从U盘armbian系统启动, 注意系统尽量选择3.x内核的系统,4.x部分需要打dtb网络补丁也可能无法挂载eMMC, 首先记下系统的mac地址, 以便ddbr恢复后写回

ssh下执行ddbr指令, 首先输入b (backup), 在进度条开始后即可Ctrl+C取消, 这样可以获取到ddbr备份的文件的名称, 因为不同版本的Armbian备份出来的包名有不同

打开winscp用sftp加你的ssh登录信息登陆, 进入/ddbr目录, 可以看到一个*-emmc.img.gz文件, 将它用原版系统ddbr包替换掉(保持此文件名).

ssh下执行ddbr指令, 键入r (restore), 会询问是否使用了压缩 DID YOU USED COMPRESSION, 选择y即可

成功后直接键入 poweroff 拔电拔U盘重启

当然这个ddbr也可以备份你现有的armbian系统,装好了合适的系统ddbr一下把镜像留下, 留作以后崩了之后恢复

恢复后, 修改/etc/network/interfaces 文件。添加如下内容,改为之前保存的mac地址, 修改完保存重启
allow-hotplug wlan0
iface wlan0 inet dhcp
hwaddress ether 00:90:45:56:45:12

You can set a custom MAC address during start-up by editing /etc/network/interfaces or /etc/network/interfaces/eth0 and adding a line starting with hwaddress :
auto eth0
iface eth0 inet dhcp
hwaddress ether XX:XX:XX:XX:XX:XX

ddbr文件下载
#1 镜像状态: N1, 2.1x 版本,刷了rush的极限精简固件,没有装任何其他软件。可能在/dev/data区有上次安装Armbian的残留文件.
理论上,用TTL连接之后,通过dd命令,直接恢复到/dev/mmcblk0是有一定救砖能力的,尚未测试。试过用Armbian自带的ddbr脚本恢复,可用。
链接: https://pan.baidu.com/s/15aiLxlpB30dgrthpejZ38w 密码: cp7i

#2 https://cnone.lty.fun/home/%E5%B7%A5%E5%85%B7%E5%BA%93/N1/ddbr/ 原版Android, 已开启adb

线刷

1.先把USB对公线链接到电脑USB口与N1的第二个口(靠HDMI口),N1不要通电
2.打开USB_Burning_Tool,导入固件WEBPAD大的2.2的线刷包,验证通过后,出现开始字样
3.勾选擦除FLASH,不要勾选擦除bootloader,USB_Burning_Tool点击开始运行刷机,3秒钟内速度让N1通电。
4.USB_Burning_Tool开始正常识别N1线刷模式,刷机开始。
5.烧录完成后,拔电重启,N1恢复了原来的样子,可以正常ADB连接,进入线刷,重新安装ARMBIAN。

运行OpenWRT

参考

https://www.right.com.cn/forum/thread-665125-1-1.html

https://www.right.com.cn/forum/thread-673287-1-1.html

N1, T1刷机记录的更多相关文章

  1. 老三星手机i9001刷机记录

    家里的老的三星i9001,准备给我妈用,打算刷机,但又实在头疼那些复杂的刷机技术,昨天研究了一下,用比较简单的方法完成刷机,记录如下: 用卡刷比较简单,线刷不考虑 进入恢复模式的方法:1.电源+音量加 ...

  2. 台电X16pro刷机记录

    Android: 如果要刷安卓,需要使用win7系统电脑,且需要安装java环境,同时按住 音量减+电源键进入刷机模式(DNX BOOT MODE..),这时在PhoneFlashTool_5.3.2 ...

  3. 红米2A高配刷机记录

    2014816 机型:红米2A高配版 设备型号:2014816 CPU:高通 线刷:fastboot平台 http://192.168.7.118/MesReports/Reports/Cutting ...

  4. htc one x刷机记录

    这几天有些空余时间都用来刷htc one x,来说说刷机的艰难史吧. 首先是利用百度云rom刷机,本来一直用小米系统,突然发现百度云也能够搞个,所以心血来潮要刷个百度云,先利用软件解锁,哪知道没细致看 ...

  5. 三星I939D手机刷机记录

    三星I939D刷机经过 2017.10.21 ===================== 之前手机的Recovery已经升级过了. 由于一直没有找到原版的升级包,而网上的升级包几乎没有一个干净的,垃圾 ...

  6. Le x820 的刷机记录

    一定要卡刷,如果用线刷,那些线刷宝等会内置好多应用. 卡刷的ROM包,都属于“民间包”,而官方的recovery,是不允许刷第三方包的.所以我们要先刷recovery.(刷入第三方recovery,还 ...

  7. 刷机总结(阿里云os-->android4.2.2)注明:本文不是教程

    注明:本文不是教程 写这篇文章的目的:让准备刷机的人(无论你是小白还是老鸟,当然老鸟就不用看了)用最短的时间了解刷机过程 其实本来目的是准备将阿里云的2.3.7升级到3.0的,但是3.0没有针对基伍大 ...

  8. Redmi Note3 hennessy 刷机过程记录

    本文只是凭记忆,记录大致的步骤,提供线索. 准备 刷机包和supersu刷机包,到xiaomi.eu上下载, 如果是稳定版可能有锁bootloader,需要到下载解锁软件.开发版无锁 刷入recove ...

  9. 三星Galaxy S8 刷机经验记录

    这段时间用上了三星S8,由于原生系统太耗电,所以萌生了root的想法.写这篇博客记录下这段时间的各种尝试. Root过程说明: 友情提示,道路千万条,安全第一条.开始捣鼓手机之前请一定准备好官方的救砖 ...

随机推荐

  1. Ext.js入门:模板(四)

    1.Ext.DomHelper简介2.Template语法使用简介3.Template简单应用4.Template中使用转换函数5.使用模板的自定义接口6.XTemplate应用 一:Ext.DomH ...

  2. SqlServer基础语法(二)

    先看一下腰实现的功能:

  3. java:从指定问价中读取80个字节写入指定文件中

    import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; public class F ...

  4. 【Java】 剑指offer(14) 二进制中1的个数

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 请实现一个函数,输入一个整数,输出该数二进制表示中1的个数.例如把 ...

  5. Java定时线程池停止超时任务

    一.背景题主最近遇到一个问题,本来通过ScheduledExecutorService线程池定时调度一个任务.奈何不知道为啥跑了2个多月,其中一个任务Hang住了,原本定时的任务则出现了问题. 关于定 ...

  6. Lucene、ES好文章

    1.lucene4.5源码分析系列:lucene概述 http://blog.csdn.net/liweisnake/article/details/10348969 http://www.cnblo ...

  7. luoguP3302 [SDOI2013]森林 主席树 启发式合并

    题目链接 luoguP3302 [SDOI2013]森林 题解 本来这题树上主席树暴力启发式合并就完了 结果把lca写错了... 以后再也不这么写了 复杂度\(O(nlog^2n)\) "f ...

  8. 洛谷.3690.[模板]Link Cut Tree(动态树)

    题目链接 LCT(良心总结) #include <cstdio> #include <cctype> #include <algorithm> #define gc ...

  9. ab,qps 并发连接数

    并发连接数 = pv / 统计时间 * 页面衍生连接次数 * http响应时间 * 因数 / 其他web服务器 数量 pv = 并发连接数 * 统计时间 * 其他web服务器 数量/ 页面衍生连接次数 ...

  10. BZOJ4221 : JOI2012 kangaroo

    将袋鼠大小和口袋大小分别从小到大排序. 枚举从左往右第一只没有被放入任何口袋的袋鼠$x$,那么$x$之前的所有袋鼠.以及$x$能装入的所有口袋都应该在匹配边上. 按这只袋鼠将上下两个序列分为两部分,设 ...