首先你的电脑没有系统,也没有光驱,只有一个空硬盘和可以存入任意文件的移动硬盘对吗?
如果是这样的,你首先要解决的是系统引导的问题,只要能引导进入DOS就可以,能够进入DOS,上面的方法
《 引用开始》:
“下载个GHOST_XP安装盘 http://down.jujumao.com/downinfo/4034.html
下载完 解压好以后会有个 "硬盘安装器"
你只要用这个软件,点击安装,就可以象光驱安装一样.但是下载的东西要在你电脑的硬盘里,才能安装.
如果要移动硬盘的话 先复制到做清D盘 才纯键前能安装!
”
《引用完毕》
但是你没有光驱,只能用可移动设备引导不是吗?
所以你只能用移动硬盘引导
1.用工具Uboot(搜一下)将可移动硬盘制作为可引导启动盘
这时会在可移动硬盘的特定位置写下文件 IO.sys等几个系统文件
2.拷贝常用外部命令工具到移动硬盘,例如 NTFSDOS(访问NTFS分区),PQMagic
3.拷贝ghost的DOS工具和需要的 GHO 系统备份镜像文件(可以到番茄花园光盘上拷贝)
4.启动电脑,设置为USB 启动,进入DOS,先将硬盘分区优化好,将GHO文件
恢复到C盘即可
最后建议一下,如果是要追求适用,快捷,做好要一个光驱(可以借别人一个),如果想研究深入,弄清楚电脑启动过程,研究以下也好
楼上提到的方法没有试过,不知道如何,但是光盘文件结构cdfs和硬盘fat fat32 ntfs 不同,个人认为很玄。
《以下引用》
要你的主板及BIOS支持才行,老主板比如三代的,是绝对不行的。
1.先格式化你的移动硬盘,NFTS FAT32任选一种格式,新手建议还是选择NFTS格式,再把ISO文亮森件完全复制到应动硬盘中。
2.在BIOS中设置 Advanced Features
First Boot-设置为:USB2.0
3.插上移动硬盘,从新开机就能进入安装界面了。
开发板的最大内存寻址范围。这样就OK了。重新编译烧写启动后,输出如下:U-Boot 2016.11-gbf241c8 (Mar 04 2017 - 06:46:50 +0800) for TINY4412
CPU: Exynos4412 @ 1.4 GHz
Model: Insignal Tiny4412 evaluation board based on Exynos4412
Board: Insignal Tiny4412 evaluation board based on Exynos4412
DRAM: 1 GiB
WARNING: Caches not enabled
MMC: DWMMC56: Can't get the dev index
exynos_dwmci_process_node: failed to decode dev 0
SAMSUNG SDHCI: 0
sdhci_transfer_data: Error detected in status(0x208002)!
sdhci_transfer_data: Error detected in status(0x208002)!
sdhci_transfer_data: Error detected in status(0x208000)!
*** Warning - read failed, using default environment
Hit any key to stop autoboot: 0
sdhci_transfer_data: Error detected in status(0x208002)!
sdhci_transfer_data: Error detected in status(0x208002)!
sdhci_transfer_data: Error detected in status(0x208000)!
SD/MMC found on device 0
** ext4fs_devread read error - block
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
** ext4fs_devread read error - block
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
** ext4fs_devread read error - block
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
Wrong Image Format for bootm command
ERROR: can't get kernel image!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
上面有两处需要修复的:
第一姿薯枣点是:
DWMMC56: Can’t get the dev index
exynos_dwmci_process_node: failed to decode dev 0
第二点是:
sdhci_transfer_data: Error detected in status(0x208002)!
sdhci_transfer_data: Error detected in status(0x208002)!
sdhci_transfer_data: Error detected in status(0x208000)!
首先解决第一点,看输出是因为没有给EMMC添加相应的节点,导致在解析的时候手亮出问题了,查看Tiny4412的设备树文件,会发现确实没有给EMMC添加设备描述迹拆,我们添加下面的信息就可以解决找不到节点的问题了。
diff --git a/arch/arm/dts/exynos4210-tiny4412.dts b/arch/arm/dts/exynos4210-tiny4412.dts
index a4fe14f..77934e5 100644
--- a/arch/arm/dts/exynos4210-tiny4412.dts
+++ b/arch/arm/dts/exynos4210-tiny4412.dts
@@ -49,4 +49,14 @@
sdhci@12540000 {
status = "disabled"
}
+
+ dwmmc@12550000 {
+ samsung,bus-width = <8>
+ samsung,timing = <2 1 0>
+ samsung,removable = <0>
+ fifoth_val = <0x203f0040>
+ bus_hz = <400000000>
+ div = <0x3>
+ index = <4>
+ }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
那么第二个问题才是最大的问题,我自己解决了很久,也科学上网去查找过相关的信息,但是都没有解决,所以,是的,我是来求助的,因为我真的是知识有限,没有办法解决啊,不过还是尝试过很多办法的,下面也和大家分享一下吧:
之前看到这样一个帖子:
http://u-boot.10912.n7.nabble.com/Bisected-quot-sdhci-transfer-data-Error-detected-in-status-0x208002-quot-problem-on-ODROID-X-td231188.html
就是显示解决这个问题的,我按照帖子中的说明进行了如下修改:
diff --git a/arch/arm/mach-exynos/clock.c b/arch/arm/mach-exynos/clock.c
index 3d31f9d..a8fc72a 100644
--- a/arch/arm/mach-exynos/clock.c
+++ b/arch/arm/mach-exynos/clock.c
@@ -1688,8 +1688,8 @@ unsigned long get_mmc_clk(int dev_index)
void set_mmc_clk(int dev_index, unsigned int div)
{
/* If want to set correct value, it needs to substract one from div.*/
- if (div >0)
- div -= 1
+// if (div >0)
+// div -= 1
if (cpu_is_exynos5()) {
if (proid_is_exynos5420() || proid_is_exynos5422())
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
然后上面显示的error都没有显示了,而且执行saveenv,显示done,执行mmc read/write显示的都是done,但是验证的时候发现都没有效果,我是通过执行mmc read 0x43E00000 0x800 0x100,意思是将mmc设备中第2048个block开始,读取256个block到内存0x43E00000,即u-boot执行的首地址处,然后在执行go 0x43E00000,如果mmc设备正常的话,通过上面的 *** 作,0x43E00000位置的内容应该要被覆盖,那么go 0x43E00000 *** 作后,开发板应该是宕机才对的,但是开发板是重新执行了uboot的初始化过程,因此看起来像是mmc设备还是没有初始化成功啊,起码mmc write/read都不能正常执行。
所以如果有哪位朋友也遇到过这种情况,还请和大家分享一下啊,谢谢!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)