Bug 9707

Summary: Systemd-boot: Update documents for new EFI bootloader
Product: [Documentation] Development Manual Reporter: Jianxun Zhang <jianxun.zhang>
Component: developmentAssignee: Jianxun Zhang <jianxun.zhang>
Status: VERIFIED FIXED QA Contact:
Severity: enhancement    
Priority: Medium+ CC: bluelightning, jose.perez.carranza, sgw, srifenbark
Version: 2.0   
Target Milestone: 2.2 M4   
Hardware: x86   
OS: Multiple   
Whiteboard: 07 Sept 2016: RESOLVED
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Done (doc changes complete)
Bug Depends on: 9774, 9886    
Bug Blocks:    
Attachments:
Description Flags
WIP: Pending QA and Maintainer review: Document Update patch
none
0002-systemd-boot-Fix-wrong-wiki-links-and-description.patch none

Description Jianxun Zhang 2016-06-03 17:37:53 UTC
The basic enabling of systemd-boot is in poky master now.

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=c71f5ab37416629793b9f826480d440d67531791

We need to update document for this gummiboot-like bootloader in Yocto. Some outstanding expected changes are but not limited to:

() Variable Reference in reference manual doc

() Run time test setup in development doc

If we find any missed functionality support from new bootloader in progress, we will address it in another task.
Comment 1 Scott Rifenbark 2016-06-09 16:53:14 UTC
Hi, 

Looking this over we have a section on the gummiboot.bbclass class at http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#ref-classes-gummiboot.  In that section, several variables are mentioned and a link to some external gummiboot documentation, which BTW, does not resolve.. it is broken at the moment.  

The variables mentioned are:

 * GUMMIBOOT_CFG - http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#var-GUMMIBOOT_CFG

 * GUMMITBOOT_ENTRIES - http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#var-GUMMIBOOT_ENTRIES

 * GUMMIBOOT_TIMEOUT - http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#var-GUMMIBOOT_TIMEOUT

The link to the commit for this also points to the EFI_PROVIDER variable, which we document here: http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#var-EFI_PROVIDER.  EFI_PROVIDER is also in the reference section for the gummiboot class.  

In the YP dev-manual in http://www.yoctoproject.org/docs/2.2/dev-manual/dev-manual.html#hardware-image-enabling-tests (Enabling Runtime Tests on Hardware), we have the "GummibootTarget" option available for the TEST_TARGET variable mentioned in that list of items.  

Further down in the dev-manual, we have "Selecting Gummiboot Target" section at http://www.yoctoproject.org/docs/2.2/dev-manual/dev-manual.html#selecting-gummiboottarget.  

We mention GummibootTarget also in the "Writing New Tests" section at http://www.yoctoproject.org/docs/2.2/dev-manual/dev-manual.html#qemu-image-writing-tests-class-attributes.

Does this pretty much cover the doc areas affected Jianxun?

Scott
Comment 2 Jianxun Zhang 2016-06-09 17:06:59 UTC
Appreciate your effort to collect this detailed list, Scott!

I will make sure items on your list addressed. I also noticed some description of gummiboot variables are not exactly what code behaves. I could have a talk with you and others for the expected function when adding systemd-boot stuff.

I will also do a final grep in poky code (assuming every published doc is built from code) before a submission of doc change.
Comment 3 Scott Rifenbark 2016-06-09 17:09:57 UTC
Nice.. thanks.

When you get specific behavioral changes you can just note them here in the bug and I can apply them that way.

Thanks 
Scott
Comment 4 Jianxun Zhang 2016-06-14 23:41:44 UTC
The test target needs an update in QA test code in OE. I have submitted https://bugzilla.yoctoproject.org/show_bug.cgi?id=9774 to QA.
Comment 5 Jianxun Zhang 2016-08-09 20:52:24 UTC
Created attachment 3343 [details]
WIP: Pending QA and Maintainer review: Document Update patch

Scott & Jose:
I feel we are very close to propose the replacement in OE mailing list based on what we have done:

() Enabling systemd-boot as a standalone bootloader (merged)
() Enabling direct-boot image (merged, could not affect doc)
() New test cases in QA (done, 2nd test case for direct-image could need Jose's check, but it is not a blocker in my opinion, could not affect doc)
() New test target by QA (merged, Jose please check the attached patch for test target sections.)
() Replace gummiboot with systemd-boot in document (Please check attached patch, it doesn't cover history because I feel it is related to doc release plan)
() Notify OE once you guys think the attached patch okay. It is possible you want to rephrase anything or naming convention. We could need to wait several days to see if people report any concern before merging reviewed doc change
() Purge gummiboot logic in OE after a while (30 days? not in this ticket's scope)
done.

Let me know if anything is missed, Thanks lot!
Comment 6 Scott Rifenbark 2016-08-09 21:54:03 UTC
(In reply to comment #5)
> Created attachment 3343 [details]
> WIP: Pending QA and Maintainer review: Document Update patch
> 
> Scott & Jose:
> I feel we are very close to propose the replacement in OE mailing list based
> on what we have done:
> 
> () Enabling systemd-boot as a standalone bootloader (merged)
> () Enabling direct-boot image (merged, could not affect doc)
> () New test cases in QA (done, 2nd test case for direct-image could need
> Jose's check, but it is not a blocker in my opinion, could not affect doc)
> () New test target by QA (merged, Jose please check the attached patch for
> test target sections.)
> () Replace gummiboot with systemd-boot in document (Please check attached
> patch, it doesn't cover history because I feel it is related to doc release
> plan)
> () Notify OE once you guys think the attached patch okay. It is possible you
> want to rephrase anything or naming convention. We could need to wait
> several days to see if people report any concern before merging reviewed doc
> change
> () Purge gummiboot logic in OE after a while (30 days? not in this ticket's
> scope)
> done.
> 
> Let me know if anything is missed, Thanks lot!

Hi - I looked over the patch for the doc changes and they are great.  I can apply them when ready.  I will only have to modify a few things.  There are some line breaks that I will employ to be consistent with the DOC xml standards I am using for raw text.  Also, I will reorder the variable and ref-class entries to be in proper alphabetical order.  All the technical changes look good though. -- Scott
Comment 7 Jianxun Zhang 2016-08-10 17:59:53 UTC
Scott,
Appreciate your review. I expected there should be some tricky things in doc patch missed in my sight. I will notify OE for the migration then submit this patch to doc project. Feel free to do any adaptions at your side.

Thanks lot!
Comment 8 Jose Perez C 2016-08-16 14:47:17 UTC
Jianxung

Sorry for the late response, I did review the patch and looks good to me.
Comment 9 Jianxun Zhang 2016-08-17 22:15:43 UTC
Scott,
I haven't got any feedback in OE mailing list for my announcement of the migration since Aug 10. I think you can merge the attached doc patch any time.

Please feel free to make any change you want. If you are the person to merge it into master branch, please also let me know when it is merged.

Thanks for your and Jose's effort.
Comment 10 Scott Rifenbark 2016-08-22 22:02:41 UTC
Ji, 

I applied the doc patches.  You should check them out to be sure they are okay.  Note that I re-alphabetized them as needed.

 * http://www.yoctoproject.org/docs/2.2/dev-manual/dev-manual.html#hardware-image-enabling-tests is the change in the dev-manual.

 * http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#ref-classes-systemd-boot.  I did a bit of re-writing on this class description.  Make sure I did not mess up the technical meaning.

 * http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#var-SYSTEMD_BOOT_CFG for this new variable.  Note that the link to the wiki for the systemd-boot documentation does not resolve.  Do you know what the correct or alternate link would be?

 * http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#var-SYSTEMD_BOOT_ENTRIES for this new variable.  Same problem with the link to the wiki.

 * http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#var-SYSTEMD_BOOT_TIMEOUT for this new variable.  Same problem with the link to the wiki.

Thanks,
Scott
Comment 11 Jianxun Zhang 2016-08-22 23:49:07 UTC
Created attachment 3380 [details]
0002-systemd-boot-Fix-wrong-wiki-links-and-description.patch

Fix wrong links and description based on the first patch.
Comment 12 Jianxun Zhang 2016-08-22 23:56:59 UTC
Scott,

Thanks for your help. I found a sub-page in systemd wiki which should be the right one for systemd-boot. Could you apply this 0002... patch on the top of the first one and see if all errors are corrected?

I don't have the modified version of 1st patch from you, so the 2nd patch is still based on old 1st patch attached. Hope it can be applied at your side.

Other stuff looks ok for me.

Sorry for any inconvenience.
Comment 14 Jianxun Zhang 2016-08-31 16:41:26 UTC
Scott
Thanks lot for your help on this task.
Comment 15 Scott Rifenbark 2016-09-07 14:21:39 UTC
Set the doc flag to "done."

Scott
Comment 16 Jose Perez C 2016-09-09 15:49:55 UTC
Verified