Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
soc:oldundiproposal [2006/06/14 22:33]
ashieh
soc:oldundiproposal [2006/06/14 22:33]
ashieh
Line 1: Line 1:
-<pre> 
  
-= Deliverables and expected timeline = 
- 
-The initial target platform will be VMware, which provides e1000 and 
-vlance emulated NICs, which support PXE. 
- 
-The architecture for the UNDI driver will be divided into two 
-portions: a userspace program for executing the UNDI code, which 
-passes packets to and from an in-kernel component. 
- 
-Based on my understanding of the Etherboot code and (non-functional) 
-Grub UNDI driver, UNDI is typically implemented as real-mode code. The 
-natural way to execute the real-mode code is within some kind of 
-virtualization,​ with PIO or MMIO operations directed at the actual 
-hardware. The UNDI execution environment will be based on Virtual 8086 
-(vm86() functionality in Linux) or QEMU. The decision on which to use 
-will depend on performance,​ size, and cross-platform (e.g. suitability 
-for *BSD, non-x86) considerations. 
- 
-For maximum compatibility with unmodified kernels, the in-kernel 
-component should be the standard TUN/TAP, with appropriate routing 
-rules applied. If this is unworkable, a stub network driver module 
-which communicates with the UNDI userspace code via control nodes in 
-/proc should be easy to develop, and would not require any 
-modifications to the kernel. 
- 
-Week 1: 
-Build familiarity with UNDI 
-- Look at etherboot UNDI code 
-- Look at (nonfunctional) grub UNDI driver 
--- Spend some time debugging it to get a feel for how to debug this stage of the 
-boot process, potential pitfalls in providing an environment for UNDI drivers 
- 
-Week 2: 
-Evaluate vm86 vs QEMU tradeoffs 
-Extract UNDI code, etherboot UNDI interface, and import to virtualization system 
- 
-Week 3+4+5: 
-Get VM environment working well enough to execute UNDI initialization code 
- 
-Week 5+6+7: 
-Send/​receive UNDI packets 
-- From within compat environment 
-- Integrate with kernel send 
- 
-Week 8: 
-Test with full boot process: 
-- local disk boot 
-- nfs root 
-- ltsp 
-- etc 
- 
-Week 9: 
-Evaluate on different hardware, with different UNDI stacks 
-</​pre>​ 

QR Code
QR Code soc:oldundiproposal (generated for current page)