summaryrefslogtreecommitdiffstats
path: root/meta/classes/gummiboot.bbclass
diff options
context:
space:
mode:
authorAlejandro Hernandez <alejandro.hernandez@linux.intel.com>2016-11-23 17:00:31 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-01-16 18:05:11 +0000
commita250452f5625ea0885f0983e61c1f64bcde55b98 (patch)
tree6b4b6362d8c331add4a279be60428e99998ee06f /meta/classes/gummiboot.bbclass
parent81021bc0aa0f64e67535f6a9551e921a64fe4395 (diff)
downloadpoky-a250452f5625ea0885f0983e61c1f64bcde55b98.tar.gz
gummiboot: Remove old gummiboot recipe, related class and wks file
Since the gummiboot project is no longer being maintained and we are using systemd-boot as a replacement instead, we can now clean up all remaining gummiboot files. [YOCTO #10332] (From OE-Core rev: 65eb3f51b70baaf24de871301a7247d5baed00ed) Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/gummiboot.bbclass')
-rw-r--r--meta/classes/gummiboot.bbclass121
1 files changed, 0 insertions, 121 deletions
diff --git a/meta/classes/gummiboot.bbclass b/meta/classes/gummiboot.bbclass
deleted file mode 100644
index 5aaf766ef4..0000000000
--- a/meta/classes/gummiboot.bbclass
+++ /dev/null
@@ -1,121 +0,0 @@
1# Copyright (C) 2014 Intel Corporation
2#
3# Released under the MIT license (see COPYING.MIT)
4
5# gummiboot.bbclass - equivalent of grub-efi.bbclass
6# Set EFI_PROVIDER = "gummiboot" to use gummiboot on your live images instead of grub-efi
7# (images built by image-live.bbclass or image-vm.bbclass)
8
9do_bootimg[depends] += "${MLPREFIX}gummiboot:do_deploy"
10do_bootdirectdisk[depends] += "${MLPREFIX}gummiboot:do_deploy"
11
12EFIDIR = "/EFI/BOOT"
13
14GUMMIBOOT_CFG ?= "${S}/loader.conf"
15GUMMIBOOT_ENTRIES ?= ""
16GUMMIBOOT_TIMEOUT ?= "10"
17
18# Need UUID utility code.
19inherit fs-uuid
20
21efi_populate() {
22 DEST=$1
23
24 EFI_IMAGE="gummibootia32.efi"
25 DEST_EFI_IMAGE="bootia32.efi"
26 if [ "${TARGET_ARCH}" = "x86_64" ]; then
27 EFI_IMAGE="gummibootx64.efi"
28 DEST_EFI_IMAGE="bootx64.efi"
29 fi
30
31 install -d ${DEST}${EFIDIR}
32 # gummiboot requires these paths for configuration files
33 # they are not customizable so no point in new vars
34 install -d ${DEST}/loader
35 install -d ${DEST}/loader/entries
36 install -m 0644 ${DEPLOY_DIR_IMAGE}/${EFI_IMAGE} ${DEST}${EFIDIR}/${DEST_EFI_IMAGE}
37 EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')
38 printf 'fs0:%s\%s\n' "$EFIPATH" "$DEST_EFI_IMAGE" >${DEST}/startup.nsh
39 install -m 0644 ${GUMMIBOOT_CFG} ${DEST}/loader/loader.conf
40 for i in ${GUMMIBOOT_ENTRIES}; do
41 install -m 0644 ${i} ${DEST}/loader/entries
42 done
43}
44
45efi_iso_populate() {
46 iso_dir=$1
47 efi_populate $iso_dir
48 mkdir -p ${EFIIMGDIR}/${EFIDIR}
49 cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
50 cp $iso_dir/vmlinuz ${EFIIMGDIR}
51 EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')
52 echo "fs0:${EFIPATH}\\${DEST_EFI_IMAGE}" > ${EFIIMGDIR}/startup.nsh
53 if [ -f "$iso_dir/initrd" ] ; then
54 cp $iso_dir/initrd ${EFIIMGDIR}
55 fi
56}
57
58efi_hddimg_populate() {
59 efi_populate $1
60}
61
62python build_efi_cfg() {
63 s = d.getVar("S")
64 labels = d.getVar('LABELS')
65 if not labels:
66 bb.debug(1, "LABELS not defined, nothing to do")
67 return
68
69 if labels == []:
70 bb.debug(1, "No labels, nothing to do")
71 return
72
73 cfile = d.getVar('GUMMIBOOT_CFG')
74 try:
75 cfgfile = open(cfile, 'w')
76 except OSError:
77 bb.fatal('Unable to open %s' % cfile)
78
79 cfgfile.write('# Automatically created by OE\n')
80 cfgfile.write('default %s\n' % (labels.split()[0]))
81 timeout = d.getVar('GUMMIBOOT_TIMEOUT')
82 if timeout:
83 cfgfile.write('timeout %s\n' % timeout)
84 else:
85 cfgfile.write('timeout 10\n')
86 cfgfile.close()
87
88 for label in labels.split():
89 localdata = d.createCopy()
90
91 overrides = localdata.getVar('OVERRIDES')
92 if not overrides:
93 bb.fatal('OVERRIDES not defined')
94
95 entryfile = "%s/%s.conf" % (s, label)
96 d.appendVar("GUMMIBOOT_ENTRIES", " " + entryfile)
97 try:
98 entrycfg = open(entryfile, "w")
99 except OSError:
100 bb.fatal('Unable to open %s' % entryfile)
101 localdata.setVar('OVERRIDES', label + ':' + overrides)
102 bb.data.update_data(localdata)
103
104 entrycfg.write('title %s\n' % label)
105 entrycfg.write('linux /vmlinuz\n')
106
107 append = localdata.getVar('APPEND')
108 initrd = localdata.getVar('INITRD')
109
110 if initrd:
111 entrycfg.write('initrd /initrd\n')
112 lb = label
113 if label == "install":
114 lb = "install-efi"
115 entrycfg.write('options LABEL=%s ' % lb)
116 if append:
117 append = replace_rootfs_uuid(d, append)
118 entrycfg.write('%s' % append)
119 entrycfg.write('\n')
120 entrycfg.close()
121}