embedded x86 pc 所用的linux bootloader.
small, easy to unstand and customize.
不像lilo, grub 等多功能,Jlo 不具備以下功能
- 由ext2 partition 開機
- Serial port console
- raid
- 由extended partition 開機
- 由/dev/hda以外的device開機
- boot選單
- boot old kernel
- 大部分以C寫成
- 由cramfs root partition開機
- 變更VESA video mode,顯示splash 開機畫面
- 提供build disk image的script,不需要root priveleges 和利用fdisk, lilo..etc
jlo由兩部份組成:part 1是mbr.S, 是一個512 bytes boot sector,內含partition table資訊和一個load program,用來load "secondary bootstrap"。
另提供一個script修改這個parition table。好用來boot其他parition。
mbr.S 利用這個table,將 2nd sector 的secondary bootstrap program load進來。
Secondary bootstrap 是一段約6k byte的16 bit real mode C program。
他初始化VESA 螢幕,load 開機畫面,load 第一個active partition 的linux kernel進來。
boot。
User Interface
- shift key : 將boot控制交給BIOS--通常BIOS會由PXE開機。
- ctrl key : 使用text mode開機
- alt key : show partion selection 選單
download, unpack , run make command 後產生file : jlo。內含MBR和secondary loader。這個file將要放到第一個sector中。
之後是 config parition,create cramfs partition...
提供一個perl program - mkimage用來build root image。Splash Screen
這個program default是對8M CF動作。
command:% ./mkimage --sector=32 --heads=2 --cylinder=248 -p1=myfs --image=cf.img其中myfs是包含kernel, root的cramdfs image。
這個command最後產生cf.img檔。
cramfs image要用mkcramfs產生。作bootable image時,要加上"-i" option。命令如下:% mkcramfs -i bzImage root myfs和一般不同的是:bzImage和root是分開的,不需要在root中。
使用以上方法產生 cf.img檔後,用% dd if=cf.img of=/dev/XXX bs=512將image寫入CF card中。
bootpart.c, update 這兩個tool提供線上更新功能,update可以download 新的cramfs image到第二個partition。再修改boot parameter,從第二個partition開機。這樣可以避免在update過程中損毀了所有的image。
要使用update功能時,mkimage要加上"--p1-size --p2-size" 參數,預留兩個partition的空間。要確保size足夠將來的update image使用。
--- 略--
Command line option to kernel
jlo pass很簡單的command line option給kernel:"auto root=/dev/hdaN video=0xnnn"如果要pass更多option的話,要利用splash screen image的header,mkrle這個工具可以加入額外的command option:#mkrle --png=splash.png --out=img.rle --cmd="vesa=ypan"所以要使用比較多的boot option,就要enable splash screen。
TOOLS
jlo的build tool是bcc, as86, ld86. 這些都是16 bit realmode x86 tools。通常所有linux distribution都有 。
完
2 則留言:
你能告诉我从哪儿可以下载到jlo吗?我的邮箱是zc-tang@zcom.com.cn,谢谢!
?竟然已經找不到link了。
張貼留言