On Sat, 07 Apr 2012 13:17:15 +0200 Vladimir '?-coder/phcoder' Serbinenko wrote:
------------------------------------------------------------------------------------
On 07.04.2012 11:54, Steve Burtchin wrote:
> GRUB Developers,

> Please help me get started developing GRUB2.  I would like to add some
> additional functionality to the 'parttool' command (functionally
> similar to the code changes I proposed for GRUB-Legacy).
Could you give more details?
------------------------------------------------------------------------------------
 
I had hoped I could answer the details question with a URL link, but I cannot find that bug report now.  If there is an archive of the GRUB Legacy bug reports, please provide a link.  The bug report was #19410 on the Savannah bug tracking system.  See the attachment "GNU GRUB - Bugs bug #19410, Unable to Create Logical Partition___ [Savannah].mht" (this file too seems to be somewhat broken).  http://old.nabble.com/How-To-Write-Extended-Partition-Tables-from-GRUB--to7236236.html is my original discussion with adrian15 leading up to this modification (it is also slightly broken).  The attachment "How To Write Extended Partition Tables from GRUB.doc" contains the missing graphics AFAIK.  The other attachments are the broken attachments of the bug report.  Two of my diff files are also here for reference.
 
Please consider the following in an EXTREMELY DRAFT state!  The syntax of the new functionality MIGHT look similar to (no relationship between these three examples should be implied):
 
parttool (hd0,3)  edittable=p 0xBF  1023  0  1  1023  239  63  148372560   40960080
parttool (hd0,8)  edittable=c 0x07  1023  1  1  1023  239  63         63    6153777
parttool (hd0,8)  edittable=n 0x05  1023  0  1  1023  239  63   16117920    5337360
 
In addition to the new features described in bug report #19410 I think I also intended to add some functionality of the Legacy 'partnew' that may be missing in GRUB2 'parttool', but this is speculation because I have not looked closely at this for a couple months.

On the topic of understanding the code, could you briefly explain how commands from "menu.cfg" (or the command line) are read/interpreted?  Which function begins the process of reading the commands?  Which line of the code or variable or function determines what command (eg. 'parttool') has been requested?  Anything else I should know?
 
Regards.
Steve Burtchin