This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== Daniel Verkamp: COMBOOT Support ====== ===== Project Plan ===== ==== Summary ==== My goal is to add support for booting COMBOOT and COMBOOT32 images in gPXE. This includes: * Adding a new image type for COMBOOT * Implementing the COMBOOT API (including the PXE portions) and setting up the IDT to point to these implementations ==== Outline ==== I will implement COMBOOT API support in gPXE. This will require implementing the COMBOOT API functions within gPXE and hooking up the interrupt table (or the protected-mode helper, for COM32) to call the gPXE implementation, setting up real or protected mode depending on whether the image is 16- or 32-bit, then loading and executing the COMBOOT image. For initial testing, the most basic part of the API will be implemented (INT 20h, terminate program) in order to test the loading and execution of COMBOOT executables. Once this is working (both in 16- and 32-bit mode), the rest of the SYSLINUX API that makes sense in the context of gPXE will be implemented, including the PXELINUX-only functions. 16-bit COMBOOT executables will require switching to real mode and setting up the interrupt table appropriately. COM32 executables will additionally require protected-mode setup and the provision of a protected-mode callback to call COMBOOT and BIOS functions. ==== Milestones and Timeline ==== * Implement bare minimum COMBOOT API and COMBOOT loading (at the very latest, this should be done by mid-summer, but most likely should be done in a few weeks) * Improve COM32 helper function to call BIOS functions * Implement the rest of the COMBOOT API, as time permits ==== Status ==== === INT 21h === ^ AH ^ Description ^ Status ^ Notes ^ | 00h | Terminate program | Implemented | Only for 16-bit | | 01h | Get Key with Echo | Implemented | Extended keys still need work | | 02h | Write Character | Implemented | No serial yet | | 04h | Write Character to Serial Port | **Unimplemented** | | | 08h | Get Key without Echo | Implemented | Extended keys still need work | | 09h | Write DOS String to Console | Implemented | | | 0Bh | Check Keyboard | Implemented | | | 30h | Check DOS Version | Implemented | | | 4Ch | Terminate program | Implemented | Only for 16-bit | === INT 22h === ^ AX ^ Description ^ Status ^ Notes ^ | 0001h | Get Version | Implemented | Number of functions supported needs to be updated | | 0002h | Write String | Implemented | | | 0003h | Run command | Implemented | Returns to program when it shouldn't | | 0004h | Run default command | **Unimplemented** | | | 0005h | Force text mode | **Unimplemented** | | | 0006h | Open file | Implemented | | | 0007h | Read file | Implemented | | | 0008h | Close file | Implemented | | | 0009h | Call PXE Stack | **Unimplemented** | | | 000Ah | Get Derivative-Specific Information | **Unimplemented** | | | 000Bh | Get Serial Console Configuration | **Unimplemented** | | | 000Ch | Perform final cleanup | **Unimplemented** | | | 000Dh | Cleanup and replace bootstrap code | **Unimplemented** | | | 000Eh | Get configuration file name | **Unimplemented** | | | 000Fh | Get IPAPPEND strings | **Unimplemented** | | | 0010h | Resolve hostname | Implemented | | | 0011h | Maximum number of shuffle descriptors | **Unimplemented** | | | 0012h | Cleanup, shuffle and boot | **Unimplemented** | | | 0013h | Idle loop call | Implemented | | | 0014h | Local boot | **Unimplemented** | | | 0015h | Get feature flags | Implemented | | | 0016h | Run kernel image | **Unimplemented** | | | 0017h | Report video mode change | **Unimplemented** | | | 0018h | Query custom font | **Unimplemented** | | | 0019h | Read disk | Won't Implement | | | 001Ah | Cleanup, shuffle and boot to flat protected mode | **Unimplemented** | | | 001Bh | Cleanup, shuffle and boot to real mode | **Unimplemented** | | | 001Ch | Get pointer to auxilliary data vector | Won't Implement | | | 001Dh | Write auxilliary data vector | Won't Implement | |


Navigation

* [[:start|Home]] * [[:about|About our Project]] * [[:download|Download]] * [[:screenshots|Screenshots]] * Documentation * [[:howtos|HowTo Guides]] * [[:appnotes|Application Notes]] * [[:faq:|FAQs]] * [[:doc|General Doc]] * [[:talks|Videos, Talks, and Papers]] * [[:hardwareissues|Hardware Issues]] * [[:mailinglists|Mailing lists]] * [[http://support.etherboot.org/|Bugtracker]] * [[:contributing|Contributing]] * [[:editing_permission|Wiki Edit Permission]] * [[:wiki:syntax|Wiki Syntax]] * [[:contact|Contact]] * [[:relatedlinks|Related Links]] * [[:commerciallinks|Commercial Links]] * [[:acknowledgements|Acknowledgements]] * [[:logos|Logo Art]]

QR Code
QR Code soc:2008:dverkamp:project_plan:start (generated for current page)