summaryrefslogtreecommitdiffstats
path: root/meta/classes/grub-efi.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes/grub-efi.bbclass')
-rw-r--r--meta/classes/grub-efi.bbclass28
1 files changed, 9 insertions, 19 deletions
diff --git a/meta/classes/grub-efi.bbclass b/meta/classes/grub-efi.bbclass
index 762322b28e..1efb43b805 100644
--- a/meta/classes/grub-efi.bbclass
+++ b/meta/classes/grub-efi.bbclass
@@ -22,39 +22,29 @@ GRUB_TIMEOUT ?= "10"
22GRUB_OPTS ?= "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1" 22GRUB_OPTS ?= "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"
23 23
24EFIDIR = "/EFI/BOOT" 24EFIDIR = "/EFI/BOOT"
25GRUB_HDDDIR = "${HDDDIR}${EFIDIR}"
26GRUB_ISODIR = "${ISODIR}${EFIDIR}"
27 25
28grubefi_populate() { 26grubefi_populate() {
27 # DEST must be the root of the image so that EFIDIR is not
28 # nested under a top level directory.
29 DEST=$1 29 DEST=$1
30 30
31 install -d ${DEST} 31 install -d ${DEST}${EFIDIR}
32
33 install -m 0644 ${STAGING_DIR_HOST}/kernel/bzImage ${DEST}/vmlinuz
34
35 if [ -n "${INITRD}" ] && [ -s "${INITRD}" ]; then
36 install -m 0644 ${INITRD} ${DEST}/initrd
37 fi
38
39 if [ -n "${ROOTFS}" ] && [ -s "${ROOTFS}" ]; then
40 install -m 0644 ${ROOTFS} ${DEST}/rootfs.img
41 fi
42 32
43 GRUB_IMAGE="bootia32.efi" 33 GRUB_IMAGE="bootia32.efi"
44 if [ "${TARGET_ARCH}" = "x86_64" ]; then 34 if [ "${TARGET_ARCH}" = "x86_64" ]; then
45 GRUB_IMAGE="bootx64.efi" 35 GRUB_IMAGE="bootx64.efi"
46 fi 36 fi
47 install -m 0644 ${DEPLOY_DIR_IMAGE}/${GRUB_IMAGE} ${DEST} 37 install -m 0644 ${DEPLOY_DIR_IMAGE}/${GRUB_IMAGE} ${DEST}${EFIDIR}
48 38
49 install -m 0644 ${GRUBCFG} ${DEST} 39 install -m 0644 ${GRUBCFG} ${DEST}${EFIDIR}
50} 40}
51 41
52grubefi_iso_populate() { 42grubefi_iso_populate() {
53 grubefi_populate ${GRUB_ISODIR} 43 grubefi_populate ${ISODIR}
54} 44}
55 45
56grubefi_hddimg_populate() { 46grubefi_hddimg_populate() {
57 grubefi_populate ${GRUB_HDDDIR} 47 grubefi_populate ${HDDDIR}
58} 48}
59 49
60python build_grub_cfg() { 50python build_grub_cfg() {
@@ -109,7 +99,7 @@ python build_grub_cfg() {
109 bb.data.update_data(localdata) 99 bb.data.update_data(localdata)
110 100
111 cfgfile.write('\nmenuentry \'%s\'{\n' % (label)) 101 cfgfile.write('\nmenuentry \'%s\'{\n' % (label))
112 cfgfile.write('linux ${EFIDIR}/vmlinuz LABEL=%s' % (label)) 102 cfgfile.write('linux /vmlinuz LABEL=%s' % (label))
113 103
114 append = localdata.getVar('APPEND', True) 104 append = localdata.getVar('APPEND', True)
115 initrd = localdata.getVar('INITRD', True) 105 initrd = localdata.getVar('INITRD', True)
@@ -119,7 +109,7 @@ python build_grub_cfg() {
119 cfgfile.write('\n') 109 cfgfile.write('\n')
120 110
121 if initrd: 111 if initrd:
122 cfgfile.write('initrd ${EFIDIR}/initrd') 112 cfgfile.write('initrd /initrd')
123 cfgfile.write('\n}\n') 113 cfgfile.write('\n}\n')
124 114
125 cfgfile.close() 115 cfgfile.close()