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 -
- FreeRTOS porting for the specific processor, development of application tasks based on FreeRTOS to ease program control management.
- 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.
- U-Boot and Linux board bring up on custom Broadcom board, using both simulator and the actual hardware.
- Implemented Low Level routine (Bare Metal Code) for Broadcom ARMv6 SOC.
- Wrote the interface code for peripherals viz. for UART, I2C and SPI bus.
- NTP (Network Time Protocol) based applications based on HW TCP/IP chips from Wiznet .
- Porting the Linux kernel filesystem driver to newer kernel versions(2.6.18-3.14).
- Development of chroot based build system for building the driver on different Linux distros simultaneously.
- Writing spec file for generating a single rpm for filesystem driver of different Linux distros.
- Writing userspace utility with multi-threading and synchronization for interaction between the driver and a web server.
- Responsible for Debugging file system issues and Bug fixes and verification.
- Writing scripts for performance review of drivers over different platforms in bash, Perl and Python.
- Experience on Renesas RX62N, BCM2835(ARMv6) and x86.
- FreeRTOS porting for the specific processor, development of application tasks based on FreeRTOS to ease program control management.
- 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.
- U-Boot and Linux board bring up on custom Broadcom board, using both simulator and the actual hardware.
- Implemented Low Level routine (Bare Metal Code) for Broadcom ARMv6 SOC.
- Wrote the interface code for peripherals viz. for UART, I2C and SPI bus.
- NTP (Network Time Protocol) based applications based on HW TCP/IP chips from Wiznet .
- Porting the Linux kernel filesystem driver to newer kernel versions(2.6.18-3.14).
- Development of chroot based build system for building the driver on different Linux distros simultaneously.
- Writing spec file for generating a single rpm for filesystem driver of different Linux distros.
- Writing userspace utility with multi-threading and synchronization for interaction between the driver and a web server.
- Responsible for Debugging file system issues and Bug fixes and verification.
- Writing scripts for performance review of drivers over different platforms in bash, Perl and Python.
- 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