index.html 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <style type="text/css">
  7. @import url('../css/main.css');
  8. </style>
  9. <title>GRUB payload</title>
  10. </head>
  11. <body>
  12. <div class="section">
  13. <h1 id="pagetop">GRUB payload</h1>
  14. <p>
  15. This section relates to the GRUB payload used in libreboot.
  16. </p>
  17. <p>
  18. Or <a href="../index.html">Back to main index</a>.
  19. </p>
  20. <ul>
  21. <li><a href="#grub_font">Setting font in GRUB</a></li>
  22. <li><a href="#grub_keyboard">GRUB keyboard layouts</a>
  23. <ul>
  24. <li><a href="#grub_custom_keyboard">Custom keyboard layout in GRUB</a></li>
  25. <li><a href="#grub_ukdvorak_keyboard">UK Dvorak keyboard layout in GRUB</a></li>
  26. </ul>
  27. </li>
  28. </ul>
  29. </div>
  30. <div class="section">
  31. <h1 id="grub_font">Setting font in GRUB (for reference)</h1>
  32. <p>You don't need to do this unless you would like to change the default font yourself.
  33. (this is just for reference. It has already been done for you)</p>
  34. <p>The old font used was Unifont, and this had some missing characters: for instance, the border showed ??? characters instead of lines.</p>
  35. <p>I tried DeJavu Sans Mono from this website:
  36. <a href="http://dejavu-fonts.org/wiki/Download">dejavu-fonts.org</a></p>
  37. <p>Specifically, the version that I chose was the latest at the time of writing (Saturday 21 June 2014):
  38. <a href="http://sourceforge.net/projects/dejavu/files/dejavu/2.34/dejavu-fonts-ttf-2.34.tar.bz2">this one</a></p>
  39. <p>This is a free font that is also contained in GNU/Linux distributions like Trisquel or Parabola.</p>
  40. <p><b>$ cd libreboot_src/grub</b><br/>
  41. compile grub (the build scripts info on how to do this)<br/>
  42. come back out into libreboot_src/resources/grub:<br/>
  43. <b>$ cd ../libreboot_src/resources/grub/font</b></p>
  44. <p>I took Dejavu Sans Mono from dejavu (included in this version of libreboot) and did:<br/>
  45. <b>$ ../../../grub/grub-mkfont -o dejavusansmono.pf2 dejavu-fonts-ttf-2.34/ttf/DejaVuSansMono.ttf</b></p>
  46. <p>I then added the instructions to 'gen.sh' script in grub-assemble to include resources/grub/dejavusansmono.pf2
  47. in all of the ROM images, at the root of the GRUB memdisk.<br/>
  48. I then added that instructions to the grub.cfg files (to load the font):<br/>
  49. <b>loadfont (memdisk)/dejavusansmono.pf2</b></p>
  50. <p><a href="#pagetop">Back to top of page</a></p>
  51. </div>
  52. <div class="section">
  53. <h1 id="grub_keyboard">GRUB keyboard layouts (for reference)</h1>
  54. <div class="subsection">
  55. <h2 id="grub_custom_keyboard">Custom keyboard layout in GRUB (for reference)</h2>
  56. <p>
  57. Keymaps are stored in resources/utilities/grub-assemble/keymap/.
  58. </p>
  59. <p>
  60. Example (French Azerty):<br/>
  61. <b>$ ckbcomp fr &gt; frazerty</b><br/><br/>
  62. Go in grub directory:<br/>
  63. <b>cat frazerty | ./grub/grub-mklayout -o frazerty.gkb</b>
  64. </p>
  65. <p>
  66. You must make sure that the files are named keymap and keymap.gkb (where 'keymap' can be whatever you want).
  67. </p>
  68. <p>
  69. Then from the above example, you would put <b>frazerty</b> in <b>resources/utilities/grub-assemble/keymap/original/</b> and
  70. the <b>frazerty.gkb</b> file goes under <b>resources/utilities/grub-assemble/keymap/</b>
  71. </p>
  72. <p>
  73. The build scripts will automatically see this, and automatically build
  74. ROM images with your custom layout (given the name) and include them under bin. Example: <b>libreboot_frazerty.rom</b>.
  75. </p>
  76. <p><a href="#pagetop">Back to top of page</a></p>
  77. </div>
  78. <div class="subsection">
  79. <h2 id="grub_ukdvorak_keyboard">UK Dvorak keyboard layout in GRUB (for reference)</h2>
  80. <p>
  81. ukdvorak had to be created manually, based on usdvorak. diff them (under resources/utilities/grub-assemble/keymap/original)
  82. to see how ukdvorak file was created
  83. </p>
  84. <p><b>$ cat ukdvorak | ./grub/grub-mklayout -o ukdvorak.gkb</b></p>
  85. <p><a href="#pagetop">Back to top of page</a></p>
  86. </div>
  87. </div>
  88. <div class="section">
  89. <p>
  90. Copyright &copy; 2014 Francis Rowe &lt;info@gluglug.org.uk&gt;<br/>
  91. This document is released under the Creative Commons Attribution-ShareAlike 4.0 International Public License and all future versions.
  92. A copy of the license can be found at <a href="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a>.
  93. </p>
  94. <p>
  95. This document is distributed in the hope that it will be useful,
  96. but WITHOUT ANY WARRANTY; without even the implied warranty of
  97. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See <a href="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a> for more information.
  98. </p>
  99. </div>
  100. </body>
  101. </html>