Tuesday 24 March 2015

Proposal

Improve U-Boot EFI Support

disdi

Organization: MinnowBoard Project
Abstract: U-Boot has support for Minnowboard MAX but it cannot read an EFI kernel image. The aim of this project is to add this support to U-Boot. Initially this could be a fairly straightforward port of some existing open source code, but the project could expand to adding commands to query the image, boot menu, tools integrations, etc.
Additional info: https://github.com/disdi/

--== MinnowBoard - 2015 Google Summer of Code Proposal ==--



Project proposal

Title :   Improve U-Boot EFI Support.
Problem Statement :
U-Boot has support for Minnowboard MAX but it cannot read an EFI kernel image. The aim of this project is to add this support to U-Boot. Initially this could be a fairly straightforward port of some existing open source code, but the project could expand to adding commands to query the image, boot menu, tools integration etc.
  

Timeline

Community Bonding Period -
Get familiar with U-boot stack and basic structure of EFI image .
Setup a development environment for running u-boot on MinnowBoard MAX .
 1st Coding Period(Community Bonding Period - Mid Term Evaluation)
  • Get U-Boot to recognise a Linux kernel with an EFI stub.
  • Add an efi command to print out basic information about a loaded image.
    Get it booting correctly (probably it already does but there might
    be small problems to fix).
  • Submit U-Boot patches for this to mailing list.
  • Investigate setting up a simple EFI run-time environment so that EFI
    Hello World can be loaded and run.
 2nd Coding Period( Mid Term Evaluation - Final Evaluation)
  • Get EFI Hello World running.
  • Add support for EFI run-time services in U-Boot, e.g variable
    service, time service.
  • Connect this up so that the existing Linux EFI driver can read/write
    U-Boot environment variables.
  • Submit U-Boot patches for this to mailing list.
Background : About Me

Personal details

  • Name Saket Sinha
  • Preferred email address saket.sinha89@gmail.com
  • University and current course Anna University, Master of Science(FOSS)
  • Blog/homepage https://github.com/disdi/
  • Relevant development experience is listed below - 

  1. FreeRTOS porting for the specific processor, development of application tasks based on FreeRTOS to ease program control management.
  2. Developed FAT file system stack on application side for firmware, without OS support, enabling logging of voiced calls based upon date and time in MP3 format.
  3. U-Boot and Linux board bring up on custom Broadcom board, using both simulator and the actual hardware.
  4. Implemented Low Level routine (Bare Metal Code) for Broadcom ARMv6 SOC.
  5. Wrote the interface code for peripherals viz. for UART, I2C and SPI bus.
  6. NTP (Network Time Protocol) based applications based on HW TCP/IP chips from Wiznet .
  7. Porting the Linux kernel filesystem driver to newer kernel versions(2.6.18-3.14).
  8. Development of chroot based build system for building the driver on different Linux distros simultaneously.
  9. Writing spec file for generating a single rpm for filesystem driver of different Linux distros.
  10. Writing userspace utility with multi-threading and synchronization for interaction between the driver and a web server.
  11. Responsible for Debugging file system issues and Bug fixes and verification.
  12. Writing scripts for performance review of drivers over different platforms in bash, Perl and Python.
  13. Experience on Renesas RX62N, BCM2835(ARMv6) and x86.
  14. FreeRTOS porting for the specific processor, development of application tasks based on FreeRTOS to ease program control management.
  15. Developed FAT file system stack on application side for firmware, without OS support, enabling logging of voiced calls based upon date and time in MP3 format.
  16. U-Boot and Linux board bring up on custom Broadcom board, using both simulator and the actual hardware.
  17. Implemented Low Level routine (Bare Metal Code) for Broadcom ARMv6 SOC.
  18. Wrote the interface code for peripherals viz. for UART, I2C and SPI bus.
  19. NTP (Network Time Protocol) based applications based on HW TCP/IP chips from Wiznet .
  20. Porting the Linux kernel filesystem driver to newer kernel versions(2.6.18-3.14).
  21. Development of chroot based build system for building the driver on different Linux distros simultaneously.
  22. Writing spec file for generating a single rpm for filesystem driver of different Linux distros.
  23. Writing userspace utility with multi-threading and synchronization for interaction between the driver and a web server.
  24. Responsible for Debugging file system issues and Bug fixes and verification.
  25. Writing scripts for performance review of drivers over different platforms in bash, Perl and Python.
  26. Experience on Renesas RX62N, BCM2835(ARMv6) and x86.
Opensource Contributions:
Implemented customized linux kernel filesystem for CERN to meet the needs of LHCb.
Why I am the right person for the job:
I have been an enthusiastic Linux user for the past 9 1/2 years. Starting out with simpler distributions and configurations and advancing to embedded systems and more difficult ones over the years. I am a hands on person and very passionate about the task I take up. I have gained valuable work experience in the Linux domain and prior GSOC experience which will help me in this GSoC project by reducing the time I need to adjust to a work like environment.
What is your availability over the summer? Do you have any other commitments -
I do not have any other commitments.
 Anything else you think may be relevant to your application-
Participated  in GSOC-2013 for CERN.





No comments:

Post a Comment