整个环境是在DOS下进行的,而准备工作则是在Ubuntu10.04下做的。
刷固件原因:系统莫名假死,报错为
从内核日志上面看系统错误产生于光驱部分,而另一方面从网上得到的资料显示问题确实出在这里并且问题出在光驱固件上。
那么这就需要我们自行刷固件了。
基本思路:
做过嵌入式的朋友都知道,其实刷固件就是将一个二进制可执行镜像烧写到指定ROM里面。这里我们是通过一些工具借助PC机这个强大的外界接口,将BIN文件烧写到光驱ROM上面。
但是,那个烧写工具是个exe程序,主要用在DOS下面烧写。所以我们需要制作一个DOS引导,然后将需要执行的文件和BIN放在那个启动盘里面。
由于5583支持USB引导,所以我就制作了一个USB引导盘。
sudo dd if=~/Desktop/FreeDOS-1.0-USB-Boot.img of=/dev/sdb bs=1M
注意输出/dev/sdb ,请根据自己的USB接入点进行设置,并且USB数据将被完全清空。具体情况请了解dd相关知识。
然后将exe与bin拷入usb中。
重启系统,进入BIOS设置USB为第一引导。
其中如果出现花屏、黑屏,请不用担心并重启:Ctrl+Alt+Del
进入后,执行
TSDNDOS 462DDE10.BIN -n
等待几分钟后应该就好了。
然后重启,重启后拔出U盘,并设置相关BIOS即可。
刷固件后的效果:
如果需要做其他版本光驱的烧写工作,主要是选择合适硬件的BIN文件,如果不合适大多时候会烧写出错。
PS: 不过说实话,发现后面那种假死的情况只是减少了,并没有消失。唉,估计还有其他方面存在问题。
又调试刷了网上传说的SC03,SC04固件,但是根本刷不上去,估计是工具支持的问题。到最后,我又采用了多个刷固件工具,最后的结果是整个光驱被我刷废掉了,无法识别,并且导致系统启动引导速度慢。
无赖之下,将光驱拆卸下来了事了。