Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
soc:2009:pravin:project_plan:start [2009/05/22 16:28]
less1
soc:2009:pravin:project_plan:start [2009/06/03 14:48] (current)
less1
Line 1: Line 1:
 ====== Pravin Shinde: boot.kernel.org - Universal remote network booting for the masses ====== ====== Pravin Shinde: boot.kernel.org - Universal remote network booting for the masses ======
 +Project aims for creation of website, which can be used by any user for creating and downloading
 +customized boot images, system tools, utilities and network installation images based on needs.
 +It will also support HTTP based booting with PXELinux and allow users to customize the system using
 +the flexibility of interface provided be Syslinux and boot from it without installation. We plan to enable normal
 +users to experiment with different tools, utilities and system images without any hassles.
 +
 +===== Project Plan =====
 +
 This project is about making the network boot process available to users on a large scale. This project is about making the network boot process available to users on a large scale.
  
Line 25: Line 33:
 This customized PXEClient is nothing but regular PXELinux with an embedded script that sets the "​next-server"​ This customized PXEClient is nothing but regular PXELinux with an embedded script that sets the "​next-server"​
 to boot.kernel.org regardless of what the local DHCP server provides. This way, any user can use boot.linux.org without to boot.kernel.org regardless of what the local DHCP server provides. This way, any user can use boot.linux.org without
-having to (re)configure a dhcp server.+having to (re)configure a dhcp server. ​[Done]
  
 Machines with static IP addresses can be handled by providing a separate embedded script which can be generated at Machines with static IP addresses can be handled by providing a separate embedded script which can be generated at
Line 31: Line 39:
 values will be hard-coded into the embedded script which will be bundled with PXEClient handed to the user. values will be hard-coded into the embedded script which will be bundled with PXEClient handed to the user.
 User will be provided with web-interface at boot.linux.org where he will feed in his network setting, and customized User will be provided with web-interface at boot.linux.org where he will feed in his network setting, and customized
-PXEClient embedded script for user's network will be automatically generated.+PXEClient embedded script for user's network will be automatically generated. ​[Currently working on]
  
 These customized PXElinux clients will start the machine and contact boot.kernel.org. boot.kernel.org will return a These customized PXElinux clients will start the machine and contact boot.kernel.org. boot.kernel.org will return a
Line 71: Line 79:
 also support booting and installation over HTTP. also support booting and installation over HTTP.
  
-===== Project Plan =====+==== Summary ​====
  
-This project is about making the network boot process available to users on a large scale.+==== Outline ====
  
-The project aims to enable the creation of a site (say, boot.kernel.org) which can be used by +==== Milestones ​and Timeline ==== 
-any person in multiple ways to get a customized system image, hardware diagnostics,​ utilities,​ +Deliverables ​with Timeline (Duration = 12 weeks)
-security ​and rescue tools and network installation images. This can be done either through any +
-web browser by creating and downloading custom images, or with tools like PXElinux which can +
-contact boot.kernel.org at boot time over HTTP for fetching a bootable image.+
  
-The reasoning behind this project is to provide one stop location for user where he can +[Week-0,1] 
-find and use most of the diagnosticrescue tools and various system images without any +    1. PXE Knife on HTTP
-need for creation of dedicated media or installationIt will allow users to try out various systems +    2. PXE clients with embedded scripts.
-in painless way.+
  
-This project is based on "PXE Knife" which let the user select and boot from various +[Week-2,​3] 
-system utilities using PXECurrently ​PXE Knife works over TFTP. The first step of this +    3. Web interface for customized PXE-client ​based on network configuration of the user. 
-project will be to extend PXE Knife to work over HTTP. This project goes beyond "PXE Knife"​ +    4Web interface for PXE Knife images ​of HTTP.
-by supporting the hosting of actual applications on centralized server and giving out only +
-small stub to user which will boot the system and bring it to network. Then the stub will +
-contact central server for any application/​utilities. This way, initial download time is +
-significantly reduced and all applications can be always kept uptodate at central location +
-of server. This way, user will always get most updated and *working* application whenever he needs.+
  
-Next immediate step will be about customizing PXELinux to use boot.linux.org. +[Week-4] 
-This customized PXEClient is nothing but regular PXELinux with an embedded script that sets the "next-server"​ +    5Detailed Syslinux menu from where user can choose which applications he wants add.
-to boot.kernel.org regardless of what the local DHCP server provides. This way, any user can use boot.linux.org without +
-having to (re)configure a dhcp server.+
  
-Machines with static IP addresses can be handled by providing a separate embedded script which can be generated at +[Week-5,6] 
-boot.kernel.org  by providing an IP-address, router ​and DNS server address corresponding to the user's machine. These +    6Base system with generic ​kernel and base initrdfs ​which should boot on most of the systems.
-values will be hard-coded into the embedded script ​which will be bundled with PXEClient handed to the user. +
-User will be provided with web-interface at boot.linux.org where he will feed in his network setting, and customized +
-PXEClient embedded script for user's network will be automatically generated.+
  
-These customized PXElinux clients will start the machine and contact boot.kernel.org. boot.kernel.org will return a +[Week-7,8] 
-Syslinux image with a menu providing the user with a list of various systems and tools/​utilities he/she wishes to select +    7Precompiled applications ​and their respective configurations.
-for his/her systemOnce the user makes his/her choices, boot.linux.org will create a new system image by bundling +
-together a precompiled kernel, a prepared initramfs ​and appending the selected tool/​packages/​stubs to it. This customized +
-system image returned by boot.linux.org will be used by the machine to boot.+
  
-Syslinux will be used to provide the user with an interface where he/she can select which +[Week-9,10] 
-kernel and which tools he wants to bundle ​into the image. Depending on the selection made +    8. scripts for dynamically appending above precompiled applications ​into initramfs, 
-by the user, an image will be dynamically generated and made available to him/her. The default interface will be using +        and reconfiguring ​the system so that appended application ​will work.
-vesamenu.c32 giving simple navigation, and expert mode interface can be provided using menu.c32 giving more flexibility.+
  
-The image generated by boot.kernel.org will consist of two major components:​ +[Week-11] 
-the kernel itself and initramfs. The kernel portion will be common for all system images +    9Providing various ​Network ​installable ​distributions ​online
-generated for a particular architecture. Most of the device drivers will be compiled as modules +    10Documentation 
-to reduce the hardware dependence and size of the kernel. These kernel modules will be part of +[End]
-the initramfs component. The base system kernel will be designed on the lines of "​Ultimate boot CD" or +
-"​Knoppix"​ which are able to boot on most commodity hardware. But root filesystem will be entirely based +
-on initramfs and hence self sufficient for execution. +
- +
-To keep the size of the system image resonably small, base system will only provide minimal functionality. +
-However, the user will be provided with options to add any applications or utilities he/she wants +
-to bundle in the image. The application selected by users will be appended to initramfs base system +
-by exploiting the ability to append into CPIO as one more layer. This will provide semi-transparency to users +
-as when user selects any appliction/​tool,​ all the dependencies will be precomputed. +
- +
-After accepting the selection from a user's side, boot.kernel.org will dynamically append the +
-applications selected to the base initramfs system. It will also add any other appliction/​library needed +
-for selected application to work. As all the tools which will be will be pre-configured and kept ready for deployment,​ +
-only appending the binaries to the initramfs will be needed (in addition to changes in configuration of base system, if required). +
-As no compilation is involved, this step can be done with an acceptable response time. +
- +
-This system can be also extended beyond providing basic rescue facilities by providing the ability +
-to perform a network installation. Initially, the base system provided to the user will boot the machine, +
-after which the network installation is kickstarted using the repository available on boot.kernel.org. +
-By providing central repository and custom boot images ​Network ​installtion can be made possible. +
-Most distributions ​come with network boot support over TFTPBut with small modifications these destributions can +
-also support booting and installation over HTTP+
- +
-==== Summary ==== +
- +
-==== Outline ==== +
- +
-==== Milestones and Timeline ====+
  

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:2009:pravin:project_plan:start (generated for current page)