Advertisement
Guest User

Untitled

a guest
Jun 2nd, 2012
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.65 KB | None | 0 0
  1. EBL
  2. Duet based efi boot loader
  3.  
  4. EBL aims to provide real(nonfake) efi based bootloading for Darwin/OS X.
  5. It is based on DUET and EDK from Tianocore.org
  6.  
  7. Please first test EBL on USB stick, than if you are satisfied with result
  8. you can try other types of installation.
  9.  
  10. INSTALATION
  11.  
  12. ON USB:
  13. --------
  14. # MBR install:
  15. - Find your disk number:
  16. diskutil list
  17.  
  18. Suppose that your USB is on /dev/disk1s1
  19.  
  20. - Format USB as FAT32:
  21. sudo newfs_msdos -F 32 /dev/rdisk1s1
  22.  
  23. - Install bootsector:
  24. sudo ./DuetToHdd /dev/rdisk1s1 ./Efildr20
  25.  
  26. - Copy Efildr20 to root of USB stick and unmount it for changes to take
  27. effect.
  28.  
  29.  
  30. ON HDD
  31. ------
  32. # MBR
  33. HDD install needs spare partition where you will put Efildr20 and where
  34. all EBL file structure will be located.
  35.  
  36. Installation is same as with usb stick only differences is ID of your disk
  37. and partition.
  38.  
  39. # GPT
  40. Still not supported but will be in future releases of DuetToHDD
  41.  
  42.  
  43. ROMBOOT - BIOS MODULE FOR EBL
  44. -----------------------------
  45. RomBoot scans all FAT32 partitions for Efildr20 and executes it.
  46. If you don't know what type of bios you have please don't use or try this,
  47. or ask someone to do it for you. We are not responsible for any damage.
  48. For now this method is only way to use EBL from your GPT disk.
  49.  
  50. # ISA-ROM - AWARD BIOS
  51. You need to have cbrom tool that supports your award bios.
  52. Get copy of your bios or backup bios you already use.
  53.  
  54. - This adds romboot-isa.rom to your bios:
  55. cbrom yourbios.bin /isa romboot-isa.rom
  56.  
  57. - If you already have an isa rom in your bios:
  58. cbrom yourbios.bin /other 40A5:0 romboot-isa.rom
  59. (this adds romboot as 2nd isa rom)
  60.  
  61. cbrom yourbios.bin /other 40A6:0 romboot-isa.rom
  62. (this adds romboot as 3rd isa rom)
  63.  
  64. - Flash bios
  65.  
  66. - You should now have RomBoot option in Boot screen of your bios
  67.  
  68. # PCI-ROM - AMI BIOS
  69. AMI bios needs romboot-pci.rom that has device id of your LAN card.
  70.  
  71. - You need to find device id of your LAN card
  72.  
  73. - Calculate CRC of downloaded romboot-pci.rom
  74.  
  75. - Patch romboot-pci.rom with device id of your LAN card:
  76. romboot-pci.rom from repository has device id: 10ec:8186
  77. Use Hex Editor and locate; EC106881
  78. Change corresponding to your LAN id
  79.  
  80. - Fix CRC:
  81. Now calculate new CRC of patched romboot-pci.rom
  82. Subtract new CRC and old CRC you calculated and add diff
  83. to last to bits of romboot-pci.rom. After this CRC from
  84. patched romboot-pci.rom should be the same as the one you
  85. downloaded.
  86.  
  87. - Use MMTool to replace LAN Boot Rom with newly patched romboot-pci.rom
  88.  
  89. - Flash bios
  90.  
  91. - Set bios to boot from LAN, you will see LAN:RomBoot in Boot screen
  92.  
  93.  
  94. INSTALLING EBL ON GPT DISK
  95. --------------------------
  96. Use this only if you added RomBoot to your bios.
  97.  
  98. Every GPT formatted disk has EFI partition that is not visible by Darwin
  99. It is first on every disk, already formatted as FAT32 and 200MB in size.
  100.  
  101. Suppose that your installation is on /dev/disk0s2
  102.  
  103. - Make mount point for hidden EFI partition:
  104. sudo mkdir /Volumes/EFI
  105.  
  106. - Mount EFI partition:
  107. sudo mount_msdos /dev/disk0s1 /Volumes/EFI
  108.  
  109. - Prepare EFI partition for use:
  110. cd /Volumes/EFI
  111. touch /Volumes/EFI.metadata_never_index
  112. rm -Rf /Volumes/EFI/.fseventsd/
  113. mkdir /Volumes/EFI/.fseventsd
  114. touch /Volumes/EFI/.fseventsd/no_log
  115.  
  116. - Copy Efildr20 to root of EFI partition:
  117. cp Efildr20 /Volumes/EFI
  118.  
  119. - Remove EFI partition from system:
  120. sudo umount -f /Volumes/EFI
  121. sudo rm -rf /Volumes/EFI
  122.  
  123. - Boot from RomBoot in bios
  124.  
  125.  
  126. FILE STRUCTURE OF EBL
  127. ---------------------
  128.  
  129. # ACPI:
  130. On first boot, bootloader will crate EBL folder on same partition
  131. where you placed Efildr20. It will dump Original tables and put patched
  132. FACP.aml in Patched folder for your motherboard. In that Patched folder
  133. you can put any ACPI table for your motherboard and it will override
  134. original table. Like DSDT or SSDT table.
  135.  
  136. FACP.aml gives OS X ability to restart.
  137.  
  138. For now bootloader can only replace tables that are found originally on
  139. your motherboard, meaning you can't add extra SSDT tables to your Patched
  140. folder if EBL did not found any.
  141.  
  142. /EFI/EBL/AcpiTables/Name of motherboard/Original/
  143. /EFI/EBL/AcpiTables/Name of motherboard/Patched/
  144.  
  145. # DEVICE PROPERTY STRINGS:
  146. Device Property injection can be added via binary dump file that has your
  147. hex string in it.
  148. It has to be placed in:
  149.  
  150. /EFI/EBL/dev-prop.bin
  151.  
  152. You already have your HEX string in plain txt file? Than you can easily
  153. convert it to binary dump in Terminal.
  154.  
  155. - If your hex string is in plain txt file named string.txt
  156. xxd -r -p string.txt > dev-prop.bin
  157.  
  158.  
  159. If you don't have a string but using GraphicsEnabler or EtehernetBuilIn
  160. in your Chameleon boot loader than you can obtain device string from
  161. ioreg, just run provided script getALL.sh in Terminal and you will have
  162. dev-prop.bin located on your desktop.
  163.  
  164. - run in Terminal:
  165. sh getALL.sh
  166.  
  167. put dev-prop.bin in EBL folder.
  168.  
  169.  
  170. TROUBLESHOOTING
  171. ---------------
  172.  
  173. # EBL stops booting before boot.efi is loaded.
  174. # You have screen with X64 error.
  175.  
  176. FACP.aml gives OS X ability to restart. If EBL stops booting even before
  177. boot.efi, or gives you a X64 error(with red letters) than you can
  178. replace patched FACP.aml with original one. Another method is to use
  179. FACP.aml from OS X when your system is booted with Chameleon bootloader
  180. Just run provided script and choose to extract FACP.aml, and place it
  181. in Patched folder of your motherboard. You won't loose restart ability
  182. and EBL ACPI patcher won't replace your FACP.aml.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement