zzj80
发表于 2015-5-22 18:51
求助:为什么我挂载读写 mount -o remount,rw /dev/block/system /system 总提示 mount: Invalid argument
wubidao
发表于 2015-5-26 14:27
用读写机弄,可能行。N年前我电脑bios刷坏,就是花30元用机器把官方bios文件写回的。
zzj80
发表于 2015-5-26 18:37
wubidao 发表于 2015-5-26 14:27
用读写机弄,可能行。N年前我电脑bios刷坏,就是花30元用机器把官方bios文件写回的。 ...
m10不像旧版的魔盒,在m10上没找到spi flash芯片。
zzj80
发表于 2015-5-26 18:45
wustone 发表于 2015-5-26 13:06
楼主为何不先刷Foxrom,其有Root权限,再在Foxrom下刷第三方recovery?最后在第三方recovery下刷自己喜欢的 ...
要刷机得进入第三方recovery,m10没有8脚 flash芯片,短接哪里能进入第三方recovery?!!
zzj80
发表于 2015-5-26 18:48
shanxizt 发表于 2015-5-22 10:26
M10,用刷机精灵进了 recovery,后来没下文了
用论坛上多功能的一键root工具选择最后一个就能进入recovery,不过进入的是官方的recovery
zzj80
发表于 2015-5-26 18:49
shanxizt 发表于 2015-5-22 10:26
M10,用刷机精灵进了 recovery,后来没下文了
官方的recovery是红色背景的
skyarover
发表于 2015-5-26 22:26
加油了,各位大神们!
vpn78
发表于 2015-5-27 00:43
zzj80 发表于 2015-5-26 18:49
官方的recovery是红色背景的
小心,别成砖了,那样就没的玩了,我还期待你呢
buch1234
发表于 2015-5-27 15:21
https://www.znds.com/tv-95623-1-1.html
看看谁能弄到 固件包然后修改后刷进去。这个好像是软破解的唯一方法。
buch1234
发表于 2015-5-27 21:18
重点就是要让系统开启主控台,这样我们的TTL终端窗口就可以进入shell,怎么开启呢?你猜对了,就是修改固件,确切的说就是修改Boot.img。也许你要问,这个文件是干啥用的呢?这个文件包含了 ramdisk 和 系统的linux kernel,当然kernel我们就不用去改了,我们要改的是ramdisk。晕,怎么写来写去不怎么“粗略”了undefined,既然这样,我就不直接给成品了。ok,说说怎么改。这个文件在官网的升级包里面,我的固件是最新的1.0.2,所以先下载这个固件包
https://www.znds.com/tv-90639-1-1.html
然后,我们要用到一个boot.img的打包解包神器,哪里去找,怎么用呢?当然,万能的百度会告诉你,关键词“bootimg.exe”。
好了,完事具备。
建个目录,把bootimg.exe拷贝进去。
首先解包固件update_qualcore_Q5.zip,把boot.img拷贝到刚才的目录。
E:\fw>dir
2014/08/2314:21 <DIR> .
2014/08/2314:21 <DIR> ..
2014/06/1515:16 8,175,616 boot.img
2014/08/2018:06 2,405,677 bootimg.exe
然后
E:\fw>bootimg.exe --unpack-bootimg boot.img
arguments:
bootimg file: boot.img
output: kernel[.gz] ramdisk[.gz] second[.gz]
base=0x3000000
page_size=16384
name=""
cmdline=""
padding_size=16384
解包出来的base, cmdline, page_size, padding_size几个值比较重要,需要记住,等下重新打包的时候要用到。
接下来解包ramdisk
E:\fw>bootimg.exe --unpack-ramdisk
arguments:
ramdisk file: ramdisk.gz
directory: initrd
output: cpiolist.txt
看到目录下多出来一个initrd目录了吧?目录下有个文件叫default.prop,好了,就是他了。用写字板之类的打开,找到ro.debuggable=0这样的,这就是开启Console服务的选项。把0修改成1,然后保存。
下面重新打包ramdisk
E:\fw>bootimg.exe --repack-ramdisk
arguments:
cpiolist file: cpiolist.txt
output: ramdisk.cpio.gz
重新打包boot.img (看下面命令行,后面的参数就是刚才提到要记住的字段。这里有点问题,cmdline为空好像不行,所以乱写个)
E:\fw>bootimg.exe --repack-bootimg 0x3000000 "\0" 16384 16384
arguments:
kernel: kernel
ramdisk: ramdisk.cpio.gz
second:
base: 0x3000000
cmdline: \0
page_size: 16384
padding_size: 16384
output: boot.img
大功搞成,新的boot.img取代了旧的。
E:\fw>dir
2014/08/2314:30 <DIR> .
2014/08/2314:30 <DIR> ..
2014/08/2314:32 8,175,616 boot.img
2014/08/2018:06 2,405,677 bootimg.exe
2014/08/2314:26 892 cpiolist.txt
2014/08/2314:26 <DIR> initrd
2014/08/2314:23 7,826,184 kernel
2014/08/2314:30 321,942 ramdisk.cpio.gz
2014/08/2314:23 322,481 ramdisk.gz
好了,回到最开始,连接TTL,打开putty终端,开机,Ctrl-C,进入fastboot界面
待续。。。。
继续
先看看环境变量
fastboot# pr
bootdelay=1
baudrate=115200
ipaddr=192.168.1.10
serverip=192.168.1.1
netmask=255.255.255.0
bootfile="uImage"
phy_intf=mii,rgmii
use_mdio=0,1
phy_addr=2,1
gmac_debug=0
bootcmd=mmc read 0 0x1FFFFC0 0x4B000 0x5000; bootm 0x1FFFFC0
bootargs=mmz=ddr,0,0,700M mem=2G console=ttyAMA0,115200 blkdevparts=mmcblk0:1M(f astboot)ro,1M(bootargs)ro,10M(recovery)ro,2M(deviceinfo),8M(baseparam),8M(pqpara m),20M(logo),20M(logobak),40M(fastplay),40M(fastplaybak),40M(kernel)ro,20M(misc) ,8M(userapi),8M(qbdrvr),8M(qbflag),300M(qbdata),768M(system),2048M(userdata),100 M(cache),20M(private)ro,-(sdcard)
recoverybootargs=mmz=ddr,0,0,700M mem=2G console=ttyAMA0,115200 blkdevparts=mmcb lk0:1M(fastboot),1M(bootargs),10M(recovery),2M(deviceinfo),8M(baseparam),8M(pqpa ram),20M(logo),20M(logobak),40M(fastplay),40M(fastplaybak),40M(kernel),20M(misc) ,8M(userapi),8M(qbdrvr),8M(qbflag),300M(qbdata),768M(system),2048M(userdata),100 M(cache),20M(private),-(sdcard)
stdin=serial
stdout=serial
stderr=serial
ethaddr=00:66:cf:00:07:07
ver=Fastboot 3.3.0-svn8063 (wukl@ubuntu) (Jul 11 2014 - 17:58:14)
Environment size: 1067/65532 bytes
fastboot#
重点说下ipaddr, serverip, bootcmd这3个变量因为这个时候,最方便把boot.img传到机器里面的方法就是通过tftp。所以,我们要先设置下网络环境
ipaddr=192.168.1.10
这个是设置Q5盒子本身的ip地址
serverip=192.168.1.1
这个就是tftp服务器的ip地址,所以你需要设置为你的实际的地址,在这里我的机器是192.168.2.163,所以Q5盒子就相应设置到同一个网段,我用的192.168.2.11,于是,执行如下命令修改这两个环境变量
fastboot# set ipaddr 192.168.2.11
fastboot# set serverip 192.168.2.163
fastboot#
再说下环境变量bootcmd
bootcmd=mmc read 0 0x1FFFFC0 0x4B000 0x5000; bootm 0x1FFFFC0
这下知道盒子怎么启动了吧?就是先从mmc第0x4B000处把内核读到内存的0x1FFFFC0地址,然后运行bootm从0x1FFFFC0开始运行,启动内核。
我们这里是要启动我们修改好的boot.img,没刷到mmc里面,怎么办呢?那就是要用到的tftp命令。要用tftp,你首先还得在你的电脑上有个tftp服务器才行,我用的是广泛使用的tftpd32.exe,哪里去找呢?还是万能的百度,关键词“tftpd32.exe”,网上大把,自己下载装好,把tftpd32.exe 放到刚才的目录。
E:\fw>dir
2014/08/2316:40 <DIR> .
2014/08/2316:40 <DIR> ..
2014/08/2314:32 8,175,616 boot.img
2014/08/2018:06 2,405,677 bootimg.exe
2014/08/2314:26 892 cpiolist.txt
2014/08/2314:26 <DIR> initrd
2014/08/2314:23 7,826,184 kernel
2014/08/2314:30 321,942 ramdisk.cpio.gz
2014/08/2314:23 322,481 ramdisk.gz
2011/05/0800:05 205,312 tftpd32.exe
运行tftpd32.exe
这下可以从tftp获取boot.img了
fastboot# tftp 0x1FFFFC0 boot.img
ETH0: PHY(phyaddr=1, rgmii) link UP: DUPLEX=FULL : SPEED=1000M
MAC: 00-66-CF-00-07-07
TFTP from server 192.168.2.163; our IP address is 192.168.2.11
Download Filename 'boot.img'.
Download to address: 0x1ffffc0
Downloading: #[ Connected ]
################################ [ 2.888 MB]
################################ [ 5.752 MB]
#######################
done
Bytes transferred = 8175616 (7cc000 hex)
ok,现在我们终于把改好的内核放到了盒子内存的0x1FFFFC0地址开始处。下面就可以运行了
fastboot# bootm 0x1FFFFC0
Found Initrd at 0x04000000 (Size 321942 Bytes), align at 16384 Bytes
## Booting kernel from Legacy Image at 02003fc0 ...
Image Name: Linux-3.10.0_s40
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 7826120 Bytes = 7.5 MiB
Load Address: 02000000
Entry Point:02000000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 3.10.0_s40 (wukl@ubuntu) (gcc version 4.4.1 (Hisilicon_v200(gcc4.4-290+glibc-2.11+eabi+nptl)) ) #2 SMP Fri Aug 1 20:09:00 CST 2014
CPU: ARMv7 Processor revision 1 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: bigfish
Ignoring unrecognised tag 0x726d6d74
Invalid PDM tag, errno:0
DSP run memory space at 0x02000000, size: 0x00800000 Bytes.
cma: CMA: reserved 700 MiB at 43c00000
cma: CMA: reserved 4 MiB at 43800000
启动完毕,按下回车,看到了shell提示符,有没有?
130|root@Hi3798CV100:/ #
到这里,基本上就大功告成了,你已经获得了root权限,可以做事了。我这里并未把改好的boot.img 刷到mmc, 你要有兴趣,可以在刚才的fastboot界面,tftp上传完了boot.img后,用mmc write写进去,当然你如果搞错了,把机器写坏了可别怪我哈。