找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
楼主: Runshine

[T1] 【首发】【更新-支持安装到EMMC】全网T1盒子可刷可用的CoreELEC 9.2.7版本

 火... [复制链接]
 楼主| 发表于 2021-4-28 08:33 | 显示全部楼层
yuyuye 发表于 2021-4-25 11:05
谢谢

之前没看清,楼主就是fork主,总之是适配T1了。

我是参考N1的机器修改的,理论上来讲,所有N1能刷的固件T1都能刷,就看有没有人适配了
适配的原理非常简单,如下:
1、N1/T1原始的自带的uboot,在启动内核时使用bootm命令时存在固件签名检查,但是使用booti命令就不会就签名检查,所以所有的第三方N1固件,都会修改原始uboot的环境变量,将内核启动的命令修改为booti,即可刷任意的第三方固件;
2、由于booti和bootm的参数不一样,启动的镜像格式不一样,所以在适配的时候,需要将CoreElec/Libreelec等固件生成bootm镜像的命令修改为打包成为booti的命令,这样就完成了适配;T1使用标准的GXM_2G_100M这个dtb文件即可,无需修改dtb
综上,T1能刷任意系统,也能实现双系统,实现也很简单,需要有人进行适配,适配原理如上,毕竟有TTL存在的话,只要不动uboot本身,T1是刷不死的
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-4-28 08:35 | 显示全部楼层
zeyongjian 发表于 2021-4-27 14:10
还有几个问题,蓝牙配对成功后,当时好用,再次重启后,就不好用了,再次配对又好用,但再次重启进入,又不 ...

直接使用电视的遥控器,不要用T1的遥控器,你会发现HDMI CEC(默认开启,遥控器反向控制),比原始的T1遥控器更好用,我现在都弃用了T1自带的遥控器了,使用电视的遥控器控制T1

点评

大佬,电视遥控器怎么控制T1开机呢  详情 回复 发表于 2022-10-20 13:54
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-4-28 23:00 | 显示全部楼层
zeyongjian 发表于 2021-4-27 17:57
那个“三”键,即菜单键还有这功能,平时真没注意,我都是按OK键调出进度条等加载字幕什么的,然后完了按 ...

蓝牙确实每次启动都要重新配对,而且配对、关机后也无法用遥控器开机。不能遥控开机是最难受的。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-4-30 08:47 | 显示全部楼层
楼主能写入emmc吗?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-4-30 15:20 | 显示全部楼层
Runshine 发表于 2021-4-28 08:33
我是参考N1的机器修改的,理论上来讲,所有N1能刷的固件T1都能刷,就看有没有人适配了
适配的原理非常简 ...

  # Kernel target
    KERNEL_TARGET="Image"
是这行吗? 试过用RuralHunter的n1替换dtb,初始化之后重启就进不去了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-5-1 13:03 | 显示全部楼层
werwerefewr 发表于 2021-4-30 08:47
楼主能写入emmc吗?

能写入,最近几天会更新一个能写入emmc的版本,双系统啥的都没有问题,最近可以在适配emuelec,理论上没啥问题,可以试着搞一个coreelec + emuelec 双系统
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-5-1 13:05 | 显示全部楼层
rewghw 发表于 2021-4-30 15:20
# Kernel target
    KERNEL_TARGET="Image"
是这行吗? 试过用RuralHunter的n1替换dtb,初始化之后 ...

你这种不行,还是稍微要有一点更改才行
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-1 19:04 | 显示全部楼层
Runshine 发表于 2021-5-1 13:03
能写入,最近几天会更新一个能写入emmc的版本,双系统啥的都没有问题,最近可以在适配emuelec,理论上没 ...

期待大神的作品
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-1 20:19 来自手机 | 显示全部楼层
期待大神的作品 好多年了都高手弄这个T1
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-2 15:02 | 显示全部楼层
输入指令t1_installtoemmc,问答全部选择yes后,安装到EMMC后,启动不了,卡在斐讯第一屏。
插U盘可以启动
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-5-2 15:58 | 显示全部楼层
本帖最后由 Runshine 于 2021-5-2 16:02 编辑
twin 发表于 2021-5-2 15:02
输入指令t1_installtoemmc,问答全部选择yes后,安装到EMMC后,启动不了,卡在斐讯第一屏。
插U盘可以启动

要先刷webpad的底包,刷底包会将uboot的环境变量情况,你这种情况应该是uboot环境变量有问题,可以使用u盘启动之后,将命令fw_printenv的输出贴出来,看一下环境变量是什么,针对性的解决下我自己从头开始操作,实际测试过一次,没发现什么问题,麻烦你把fw_printenv的结果贴上来吧,分析一下


刷机时需要勾选这两个选项

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-2 23:04 | 显示全部楼层
Runshine 发表于 2021-5-2 15:58
要先刷webpad的底包,刷底包会将uboot的环境变量情况,你这种情况应该是uboot环境变量有问题,可以使用u ...

结果原来的安卓系统进不去了,还能不能修复引导??
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-3 00:01 | 显示全部楼层
Runshine 发表于 2021-5-2 15:58
要先刷webpad的底包,刷底包会将uboot的环境变量情况,你这种情况应该是uboot环境变量有问题,可以使用u ...

CoreELEC (community): 9.2.7 (Phicomm-T1.arm)
CoreELEC:~ # fw_printenv
EnableSelinux=enforcing
active_slot=_a
baudrate=115200
bcb_cmd=get_valid_slot;
boot_part=boot
boot_t1=if fatload usb 0 ${t1_kernel_addr} kernel.img; then if fatload usb 0 ${t1_initrd_addr} uInitrd; then if fatload usb 0 ${t1_env_addr} uEnv.ini; then env import -t ${t1_env_addr} ${filesize}; fi; if fatload usb 0 ${dtb_mem_addr} ${dtb_name}; then run t1_boot_start; else store dtb read ${dtb_mem_addr}; run t1_boot_start; fi; fi; fi;
bootargs=rootfstype=ramfs init=/init console=ttyS0,115200 no_console_suspend earlyprintk=aml-uart,0xc81004c0 ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000 androidboot.selinux=enforcing logo=osd1,loaded,0x3d800000,2160p60hz maxcpus=8 vout=2160p60hz,enable hdmimode=2160p60hz cvbsmode=576cvbs hdmitx= cvbsdrv=0 pq= androidboot.firstboot=0 jtag=apao androidboot.hardware=amlogic androidboot.serialno=G1E5000D2Q androidboot.slot_suffix=_a quiet
bootcmd=run bootfromusb;run storeboot
bootdelay=1
bootfromnand=0
bootfromusb=usb start 0;run boot_t1
bootup_offset=0x1080240
bootup_size=0x3f4846
cmdline_keys=if keyman init 0x1234; then if keyman read usid ${loadaddr} str; then setenv bootargs ${bootargs} androidboot.serialno=${usid};setenv serial ${usid};fi;if keyman read mac ${loadaddr} str; then setenv bootargs ${bootargs} mac=${mac} androidboot.mac=${mac};fi;if keyman read deviceid ${loadaddr} str; then setenv bootargs ${bootargs} androidboot.deviceid=${deviceid};fi;if keyman read mac_wifi ${loadaddr} str; then setenv bootargs ${bootargs} mac_wifi=${mac_wifi} androidboot.mac_wifi=${mac_wifi};fi;fi;
cvbs_drv=0
cvbsmode=576cvbs
display_bpp=16
display_color_bg=0
display_color_fg=0xffff
display_color_index=16
display_height=2160
display_layer=osd1
display_width=3840
dtb_mem_addr=0x1000000
ethact=dwmac.c9410000
ethaddr=fe:45:c4:8e:d9:36
factory_reset_poweroff_protect=echo wipe_data=${wipe_data}; echo wipe_cache=${wipe_cache};if test ${wipe_data} = failed; then run init_display; run storeargs;if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;fi; if test ${wipe_cache} = failed; then run init_display; run storeargs;if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;fi;
fb_addr=0x3d800000
fb_height=1080
fb_width=1920
fdt_high=0x20000000
filesize=383
firstboot=0
gatewayip=10.18.9.1
hdmimode=2160p60hz
hostname=arm_gxbb
identifyWaitTime=750
init_display=osd open;osd clear;imgread pic logo bootup $loadaddr;bmp display $bootup_offset;bmp scale
initargs=rootfstype=ramfs init=/init console=ttyS0,115200 no_console_suspend earlyprintk=aml-uart,0xc81004c0 ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000
ipaddr=10.18.9.97
jtag=apao
kernellog.enable=0
loadaddr=1080000
maxcpus=8
netmask=255.255.255.0
outputmode=2160p60hz
preboot=run bcb_cmd; run factory_reset_poweroff_protect;run upgrade_check;run init_display;run storeargs;run upgrade_key;forceupdate;run switch_bootmode;
reboot_mode=cold_boot
recovery.update=0
recovery_from_flash=setenv bootargs ${bootargs} aml_dt=${aml_dt} recovery_part={recovery_part} recovery_offset={recovery_offset};if itest ${upgrade_step} == 3; then if ext4load mmc 1:2 ${dtb_mem_addr} /recovery/dtb.img; then echo cache dtb.img loaded; fi;if ext4load mmc 1:2 ${loadaddr} /recovery/recovery.img; then echo cache recovery.img loaded; wipeisb; bootm ${loadaddr}; fi;else fi;if imgread kernel ${recovery_part} ${loadaddr} ${recovery_offset}; then wipeisb; bootm ${loadaddr}; fi;
recovery_from_sdcard=setenv bootargs ${bootargs} aml_dt=${aml_dt} recovery_part={recovery_part} recovery_offset={recovery_offset};if fatload mmc 0 ${loadaddr} aml_autoscript; then autoscr ${loadaddr}; fi;if fatload mmc 0 ${loadaddr} recovery.img; then if fatload mmc 0 ${dtb_mem_addr} dtb.img; then echo sd dtb.img loaded; fi;wipeisb; bootm ${loadaddr};fi;
recovery_from_udisk=setenv bootargs ${bootargs} aml_dt=${aml_dt} recovery_part={recovery_part} recovery_offset={recovery_offset};if fatload usb 0 ${loadaddr} aml_autoscript; then autoscr ${loadaddr}; fi;if fatload usb 0 ${loadaddr} recovery.img; then if fatload usb 0 ${dtb_mem_addr} dtb.img; then echo udisk dtb.img loaded; fi;wipeisb; bootm ${loadaddr};fi;
recovery_offset=0
recovery_part=recovery
sdc_burning=sdc_burn ${sdcburncfg}
sdcburncfg=aml_sdc_burn.ini
serial=G1E5000D2Q
serverip=10.18.9.113
stderr=serial
stdin=serial
stdout=serial
storeargs=setenv bootargs ${initargs} androidboot.selinux=${EnableSelinux} logo=${display_layer},loaded,${fb_addr},${outputmode} maxcpus=${maxcpus} vout=${outputmode},enable hdmimode=${hdmimode} cvbsmode=${cvbsmode} hdmitx=${cecconfig} cvbsdrv=${cvbs_drv} pq=${pq} androidboot.firstboot=${firstboot} jtag=${jtag}; setenv bootargs ${bootargs} androidboot.hardware=amlogic;run cmdline_keys;setenv bootargs ${bootargs} androidboot.slot_suffix=${active_slot};if itest ${kernellog.enable} == 0; then setenv bootargs ${bootargs} quiet;else fi;
storeboot=if imgread kernel ${boot_part} ${loadaddr}; then bootm ${loadaddr}; fi;run update;
switch_bootmode=get_rebootmode;if test ${reboot_mode} = factory_reset; then run recovery_from_flash;else if test ${reboot_mode} = update; then run update;else if test ${reboot_mode} = cold_boot; then run try_auto_burn; else if test ${reboot_mode} = fastboot; then fastboot;fi;fi;fi;fi;
t1_boot_start=booti ${t1_kernel_addr} ${t1_initrd_addr} ${t1_dtb_mem_addr};
t1_env_addr=0x10400000
t1_initrd_addr=0x13000000
t1_kernel_addr=0x11000000
try_auto_burn=update 700 750;
update=run usb_burning; run sdc_burning; if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;
upgrade_check=echo upgrade_step=${upgrade_step}; if itest ${upgrade_step} == 3; then run init_display; run storeargs; run update;else fi;
upgrade_key=if gpio input GPIOAO_2; then echo detect upgrade key; sleep 3;if gpio input GPIOAO_2; then run update; fi;fi;
upgrade_step=2
usb_burning=update 1000
usid=G1E5000D2Q
wipe_cache=successful
wipe_data=successful
CoreELEC:~ #
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-5-3 07:50 | 显示全部楼层
twin 发表于 2021-5-3 00:01
CoreELEC (community): 9.2.7 (Phicomm-T1.arm)
CoreELEC:~ # fw_printenv
EnableSelinux=enforcing

看出来问题了,你没有重新完整的从Android刷过来,你要重新刷WebPad底包,然后reboot update到USB启动,重新按照步骤刷这个系统,然后才能安装到emmc中,不能直接从上个coreelec刷过来,那样的话uboot的环境变量没更新,肯定无法从emmc启动

我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-3 09:27 | 显示全部楼层
确实是直接从上个coreelec刷过来的,刚刚重新从底包刷起,从EMMC启动了。感谢楼主!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-24 00:11

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

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