Revert "Revert "oran-shell-release: release image for F""
[pti/rtp.git] / meta-starlingx / meta-stx-flock / stx-metal / pxe-network-installer.bb
1 require metal-common.inc
2 SUBPATH0 = "installer/pxe-network-installer/pxe-network-installer"
3
4 LICENSE = "Apache-2.0"
5 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
6
7 DEPENDS += " syslinux"
8
9 RDEPENDS_${PN}_append += " \
10         bash \
11         syslinux \
12         syslinux-chain \
13         syslinux-misc \
14         syslinux-pxelinux \
15         "
16
17 do_compile[noexec] = "1"
18
19 do_unpack_append() {
20     bb.build.exec_func('do_restore_files', d)
21 }
22
23 do_restore_files() {
24         cd ${S}
25         git reset ${SRCREV} bsp-files/
26         git checkout bsp-files
27 }
28
29 do_install() {
30         install -d -m 0755 ${D}/pxeboot
31         install -d -m 0755 ${D}/pxeboot/pxelinux.cfg.files
32         install -d -m 0755 ${D}/pxeboot/rel-${STX_REL}
33         install -d -m 0755 ${D}/pxeboot/EFI
34
35         install -d -m 0755 ${D}/pxeboot/EFI/poky-stx
36         ln -fs poky-stx ${D}/pxeboot/EFI/centos
37         ln -fs ${libdir}/grub/x86_64-efi ${D}/pxeboot/EFI/poky-stx/
38
39         install -d -m 0755 ${D}/${sbindir}
40         install -m 755 pxeboot-update.sh ${D}/${sbindir}/pxeboot-update-${STX_REL}.sh
41
42         install -m 644 bsp-files/kickstarts/post_clone_iso_ks.cfg ${D}/pxeboot/post_clone_iso_ks.cfg
43
44         install -m 644 default ${D}/pxeboot/pxelinux.cfg.files/default
45         install -m 644 default.static ${D}/pxeboot/pxelinux.cfg.files/default.static
46         install -m 644 centos-pxe-controller-install ${D}/pxeboot/pxelinux.cfg.files/pxe-controller-install-${STX_REL}
47         install -m 644 centos-pxe-worker-install ${D}/pxeboot/pxelinux.cfg.files/pxe-worker-install-${STX_REL}
48         install -m 644 centos-pxe-smallsystem-install ${D}/pxeboot/pxelinux.cfg.files/pxe-smallsystem-install-${STX_REL}
49         install -m 644 centos-pxe-storage-install ${D}/pxeboot/pxelinux.cfg.files/pxe-storage-install-${STX_REL}
50         install -m 644 centos-pxe-worker_lowlatency-install ${D}/pxeboot/pxelinux.cfg.files/pxe-worker_lowlatency-install-${STX_REL}
51         install -m 644 centos-pxe-smallsystem_lowlatency-install ${D}/pxeboot/pxelinux.cfg.files/pxe-smallsystem_lowlatency-install-${STX_REL}
52
53         # UEFI support
54         install -m 644 pxe-grub.cfg ${D}/pxeboot/pxelinux.cfg.files/grub.cfg
55         install -m 644 pxe-grub.cfg.static ${D}/pxeboot/pxelinux.cfg.files/grub.cfg.static
56
57         install -m 644 efi-centos-pxe-controller-install ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-controller-install-${STX_REL}
58         install -m 644 efi-centos-pxe-worker-install ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-worker-install-${STX_REL}
59         install -m 644 efi-centos-pxe-smallsystem-install ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-smallsystem-install-${STX_REL}
60         install -m 644 efi-centos-pxe-storage-install ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-storage-install-${STX_REL}
61         install -m 644 efi-centos-pxe-worker_lowlatency-install ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-worker_lowlatency-install-${STX_REL}
62         install -m 644 efi-centos-pxe-smallsystem_lowlatency-install ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-smallsystem_lowlatency-install-${STX_REL}
63
64         sed -i -e "s/xxxSW_VERSIONxxx/${STX_REL}/g" \
65                 -e "s/inst.ks/ks/g" \
66                 -e "s/\(xxxAPPEND_OPTIONSxxx\)/LABEL=initrd-install \1/" \
67                 ${D}/pxeboot/pxelinux.cfg.files/pxe-* ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-*
68
69         # Copy Titanium grub.cfg. It will be used to create ISO on the Controller.
70         install -m 0644 bsp-files/grub.cfg ${D}/pxeboot/EFI/ 
71
72         # UEFI bootloader expect the grub.cfg file to be in /pxeboot/ so create a symlink for it
73         ln -fs pxelinux.cfg/grub.cfg ${D}/pxeboot/grub.cfg
74 }
75
76 pkg_postinst_pxe-network-installer() {
77         install -m 0644 $D${datadir}/syslinux/menu.c32 $D/pxeboot
78         install -m 0644 $D${datadir}/syslinux/vesamenu.c32 $D/pxeboot
79         install -m 0644 $D${datadir}/syslinux/chain.c32 $D/pxeboot
80         install -m 0644 $D${datadir}/syslinux/ldlinux.c32 $D/pxeboot
81         install -m 0644 $D${datadir}/syslinux/linux.c32 $D/pxeboot
82         install -m 0644 $D${datadir}/syslinux/libutil.c32 $D/pxeboot
83         install -m 0644 $D${datadir}/syslinux/reboot.c32 $D/pxeboot
84         install -m 0644 $D${datadir}/syslinux/pxechn.c32 $D/pxeboot
85         install -m 0644 $D${datadir}/syslinux/pxelinux.0 $D/pxeboot
86 }
87
88 FILES_${PN}_append  = " \
89         /pxeboot \
90         ${sbindir}/pxeboot-update-${STX_REL}.sh \
91         "