aboutsummaryrefslogtreecommitdiff
path: root/docs/grub
diff options
context:
space:
mode:
Diffstat (limited to 'docs/grub')
-rw-r--r--docs/grub/index.html190
1 files changed, 190 insertions, 0 deletions
diff --git a/docs/grub/index.html b/docs/grub/index.html
new file mode 100644
index 00000000..13422bb4
--- /dev/null
+++ b/docs/grub/index.html
@@ -0,0 +1,190 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+
+ <style type="text/css">
+ @import url('../css/main.css');
+ </style>
+
+ <title>GRUB payload</title>
+</head>
+
+<body>
+
+ <div class="section">
+ <h1 id="pagetop">GRUB payload</h1>
+ <p>
+ This section relates to the GRUB payload used in libreboot.
+ </p>
+ <p>
+ Or <a href="../index.html">Back to main index</a>.
+ </p>
+ <ul>
+ <li><a href="#grub_background">Changing the background image in GRUB</a></li>
+ <li><a href="#grub_font">Setting font in GRUB</a></li>
+ <li><a href="#grub_keyboard">GRUB keyboard layouts</a>
+ <ul>
+ <li><a href="#grub_custom_keyboard">Custom keyboard layout in GRUB</a></li>
+ <li><a href="#grub_ukdvorak_keyboard">UK Dvorak keyboard layout in GRUB</a></li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+
+ <div class="section">
+
+ <h1 id="grub_background">Changing the background image in GRUB</h1>
+
+ <p>
+ Use cbfstool from libreboot_util, or libreboot_src/coreboot/util/cbfstool/ if you want to build from source.
+ </p>
+ <p>
+ ./cbfstool yourrom.rom remove background.png -n background.png<br/>
+ ./cbfstool yourrom.rom add -f background.png -n background.png -t raw
+ </p>
+ <p>
+ When you've done this, re-flash your ROM and you should have a new background at boot time.
+ </p>
+
+ </div>
+
+ <div class="section">
+
+ <h1 id="grub_font">Setting font in GRUB (for reference)</h1>
+
+ <p>You don't need to do this unless you would like to change the default font yourself.
+ (this is just for reference. It has already been done for you)</p>
+
+ <p>The old font used was Unifont, and this had some missing characters: for instance, the border showed ??? characters instead of lines.</p>
+
+ <p>I tried DeJavu Sans Mono from this website:
+ <a href="http://dejavu-fonts.org/wiki/Download">dejavu-fonts.org</a></p>
+
+ <p>Specifically, the version that I chose was the latest at the time of writing (Saturday 21 June 2014):
+ <a href="http://sourceforge.net/projects/dejavu/files/dejavu/2.34/dejavu-fonts-ttf-2.34.tar.bz2">this one</a></p>
+
+ <p>This is a free font that is also contained in GNU/Linux distributions like Trisquel or Parabola.</p>
+
+ <p><b>$ cd libreboot_src/grub</b><br/>
+ compile grub (the build scripts info on how to do this)<br/>
+ come back out into libreboot_src/resources/grub:<br/>
+ <b>$ cd ../libreboot_src/resources/grub/font</b></p>
+
+ <p>I took Dejavu Sans Mono from dejavu (included in this version of libreboot) and did:<br/>
+ <b>$ ../../../grub/grub-mkfont -o dejavusansmono.pf2 dejavu-fonts-ttf-2.34/ttf/DejaVuSansMono.ttf</b></p>
+
+ <p>I then added the instructions to 'gen.sh' script in grub-assemble to include resources/grub/dejavusansmono.pf2
+ in all of the ROM images, at the root of the GRUB memdisk.<br/>
+ I then added that instructions to the grub.cfg files (to load the font):<br/>
+ <b>loadfont (memdisk)/dejavusansmono.pf2</b></p>
+
+ <p><a href="#pagetop">Back to top of page</a></p>
+
+ </div>
+
+ <div class="section">
+
+ <h1 id="grub_keyboard">GRUB keyboard layouts (for reference)</h1>
+
+ <div class="subsection">
+
+ <h2 id="grub_custom_keyboard">Custom keyboard layout in GRUB (for reference)</h2>
+
+ <p>
+ Keymaps are stored in resources/utilities/grub-assemble/keymap/.
+ </p>
+
+ <p>
+ Example (French Azerty):<br/>
+ <b>$ ckbcomp fr &gt; frazerty</b><br/><br/>
+ Go in grub directory:<br/>
+ <b>cat frazerty | ./grub/grub-mklayout -o frazerty.gkb</b>
+ </p>
+
+ <p>
+ You must make sure that the files are named keymap and keymap.gkb (where 'keymap' can be whatever you want).
+ </p>
+
+ <p>
+ Then from the above example, you would put <b>frazerty</b> in <b>resources/utilities/grub-assemble/keymap/original/</b> and
+ the <b>frazerty.gkb</b> file goes under <b>resources/utilities/grub-assemble/keymap/</b>
+ </p>
+
+ <p>
+ The build scripts will automatically see this, and automatically build
+ ROM images with your custom layout (given the name) and include them under bin. Example: <b>libreboot_frazerty.rom</b>.
+ </p>
+
+ <p><a href="#pagetop">Back to top of page</a></p>
+
+ </div>
+
+ <div class="subsection">
+
+ <h2 id="grub_ukdvorak_keyboard">UK Dvorak keyboard layout in GRUB (for reference)</h2>
+
+ <p>
+ ukdvorak had to be created manually, based on usdvorak. diff them (under resources/utilities/grub-assemble/keymap/original)
+ to see how ukdvorak file was created
+ </p>
+
+ <p><b>$ cat ukdvorak | ./grub/grub-mklayout -o ukdvorak.gkb</b></p>
+
+ <p><a href="#pagetop">Back to top of page</a></p>
+
+ </div>
+
+ </div>
+
+ <div class="section">
+
+ <p>
+ Copyright &copy; 2014 Leah Rowe &lt;info@minifree.org&gt;<br/>
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license can be found at <a href="../gfdl-1.3.txt">../gfdl-1.3.txt</a>
+ </p>
+
+ <p>
+ Updated versions of the license (when available) can be found at
+ <a href="https://www.gnu.org/licenses/licenses.html">https://www.gnu.org/licenses/licenses.html</a>
+ </p>
+
+ <p>
+ UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
+ </p>
+ <p>
+ TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
+ </p>
+ <p>
+ The disclaimer of warranties and limitation of liability provided
+ above shall be interpreted in a manner that, to the extent
+ possible, most closely approximates an absolute disclaimer and
+ waiver of all liability.
+ </p>
+
+ </div>
+
+</body>
+</html>