多介质 boot linux(usb/cf)

前年公司过年的时候摸奖得了一个U盘,32M.
最近想了想可以用它做个启动盘。
比如上面装多个操作系统,linux,ucos,vxwork,,,,呵呵,也算是嵌入式了吧。
于是找了多天之后,发现了一个好的开始:
http://linuxmobile.sourceforge.net/index.html
http://syslinux.zytor.com/

2004年8月9日这里有个比较新的usbboot ?cfboot?
http://movix.sourceforge.net/Docs/MoviX2/README.cn.html

2004年9月23日17:26:22
这里有个可以在CF卡上启动ce-linux的工程,很合胃口。
http://loox-linux.sourceforge.net/


2005年6月29日几篇usb boot的介绍
http://www.informationweek.com/story/showArticle.jhtml?articleID=28700158
http://www.microsoft.com/whdc/archive/usbcompat.mspx?pf=true#USBcompat1.gif

boot linux off of usb device
http://www.simonf.com/usb/

usb启动盘的解释,说明了superfloopy 和harddisk 在linux下mount的不同
http://www.marlow.dk/site.php/tech/usbkeys

http://www.8ung.at/spblinux/

2005年7月15日
一个重大的进展.其实用U盘启很简单,U盘里面的操作不清楚.不过假如把U盘格式化当作硬盘后,实
际上做的是和从硬盘启动一样的过程.



1)首先要知道PC加电后启动的过程.PC加电后会读启动设备的MBR,MBR是硬盘的第一个扇区,扇区的大小都是512字节.
512字节包含3部分,启动代码+分区表+55 AA,BIOS搬移512字节的第一部分,并执行它,它会再去查找分区表,并启动操作系统.
2)可以用DD命令直接把linux目录下的bootsect(它刚好是512字节)输出到flash盘中,就可以看到输出的文字了,但不知道FREEDOS是哪来的.
3)如果继续做需要知道BIOS能提供的一些服务.
http://linuxgazette.net/issue77/krishnakumar.html

2005年7月17日

LINUX汇编,应该有本书的
http://linuxassembly.org/

2005年7月17日
做了一个实验,objcopy -O binary --strip-all
视频b800,但不管用没效果.

2005年7月20日
终于成功了,屏幕左上角出现了蓝底白字的A
参考linux kernel build 出的bootsect的make时做工作,让make 过程出现命令make V=1
实际上就是gcc -c -o bios.o bios.S
ld -m elf_i386 -s --oformat binary -o bios bios.o
汇编程序:
.code16
.text
.global
movw $0xb800, %ax
movw %ax,%es
movw $0x41,%es:0
movw $0x1F,%es:1
loop: jmp loop
.org 510
xxx : 0x55 0xaa

2005年7月26日
switch to protect mode
http://linuxgazette.net/issue82/raghu.html


Immediately after setting the PE flag,the initialization code must flush the processor's instruction prefetch queue by executing a JMP instruction.

2005年9月28日
use cdrom boot your operating system
http://www.geocities.com/chrootstrap/index.html

posted on 2004-07-06 16:51  embed  阅读(1418)  评论(0编辑  收藏  举报

导航