2
0
mirror of https://github.com/xcat2/xcat-dep.git synced 2024-11-23 10:01:46 +00:00
xcat-dep/xnba
2021-10-01 15:10:20 -04:00
..
binary Add binaries also 2021-06-08 15:55:16 -04:00
build enhance xnba build scripts to build xnba-undi package from existed binaries,modify the xnba to be arch independent package to support mixed cluster 2014-11-12 00:22:23 -08:00
debian Build new xnba-undi package based on ipxe version 1.21.1 2021-09-23 16:28:09 -04:00
ipxe-branding.patch Build xNBA based on source from ipxe.org on October 29th 2020 2020-11-10 16:02:09 -05:00
ipxe-config.patch -Restructure ipxe content to xnba directory (in case it ever flips back to gpxe, the name will stay consistent 2010-11-12 16:03:31 +00:00
ipxe-dhcp.patch fix ipxe-dhcp.patch 2020-11-10 17:44:57 -05:00
ipxe-droppackets.patch -Fix the patch to droppackets 2010-11-12 20:29:34 +00:00
ipxe-expandfilename.patch -Restructure ipxe content to xnba directory (in case it ever flips back to gpxe, the name will stay consistent 2010-11-12 16:03:31 +00:00
ipxe-machyp.patch Build xNBA based on source from ipxe.org on October 29th 2020 2020-11-10 16:02:09 -05:00
ipxe-registersan.patch -Restructure ipxe content to xnba directory (in case it ever flips back to gpxe, the name will stay consistent 2010-11-12 16:03:31 +00:00
ipxe-undinetchange.patch -Restructure ipxe content to xnba directory (in case it ever flips back to gpxe, the name will stay consistent 2010-11-12 16:03:31 +00:00
ipxe-verbump.patch Build new xnba-undi package based on ipxe version 1.21.1 2021-09-23 16:28:09 -04:00
ipxe-xnbaclass.patch Build xNBA based on source from ipxe.org on October 29th 2020 2020-11-10 16:02:09 -05:00
make_deb.sh enhance xnba build scripts to build xnba-undi package from existed binaries,modify the xnba to be arch independent package to support mixed cluster 2014-11-12 00:22:23 -08:00
README Update README 2021-10-01 15:10:20 -04:00
rebuild.sh Build new xnba-undi package based on ipxe version 1.21.1 2021-09-23 16:28:09 -04:00
xnba-1.0.2.tar.bz2 Move to using ipxe archived from the git repository, no patches in the spec file needed 2011-08-19 18:02:38 +00:00
xnba-1.0.3.tar.bz2 Add 1.0.3 snapshot to xcat-dep 2011-09-20 15:37:57 +00:00
xnba-1.20.1.tar.bz2 Modification for debian build 2020-11-12 10:21:38 -05:00
xnba-1.21.1.tar.bz2 Build new xnba-undi package based on ipxe version 1.21.1 2021-09-23 16:28:09 -04:00
xnba-kvm.spec Push spec file tweaks in place for current xnba builds 2012-02-25 17:08:11 +00:00
xnba-undi.spec Build new xnba-undi package based on ipxe version 1.21.1 2021-09-23 16:28:09 -04:00

Get latest ipxe source from git.ipxe.org
----------------------------------------
Current ipxe version is 1.21.1 (released Dec 31,2020), the tar command below will generate xnba-1.21.1.tar.bz2

1. Clone ipxe from github - git clone git://git.ipxe.org/ipxe.git
2. Verify version number - git describe --tags --always --long --abbrev=1 --match "v*"
3. Rename ipxe directory to xnba-<version> - mv ipxe xnba-1.21.1
4. Tar xnba-<version> directory - tar Jcvf xnba-1.21.1.tar.bz2 --exclude-vcs xnba-1.21.1
5. Optionally, if building is needed - cd src; make


Patch ipxe source
-----------------
1. Clone xcat-dep/xnba and create a new branch: git clone git@github.com:xcat2/xcat-dep.git; cd xcat-dep; git checkout -b <new branch>
2. Checkin the generated xnba-<version>.tar.bz2 file from above into git
3. If needed, modify existing or create additional patch files and checkin into git. The patch files will automatically be applied during build step below.
  The following patches currently contain modification for xCAT Network Boot Agent

	ipxe-xnbaclass.patch
	ipxe-machyp.patch
	ipxe-dhcp.patch	
	ipxe-branding.patch
	ipxe-verbump.patch

3.a To modify existing or create additional patch file:
    i. git clone git://git.ipxe.org/ipxe.git
   ii. Make changes to the files under ipxe/src directory
  iii. git diff <changed file> > my.patch
   iv. If creating a new patch, rename my.patch to something like ipxe-<xxx>.patch
    v. If modifying existing patch, replace the contents of that .patch file with the my.patch
   vi. Be carefull of spaces vs. tabs. If original source file contained tabs, the .patch file should also have tabs for the patched lines.
  vii. Checkin the new or modified patch files into the same git branch.


Build xNBA rpm for xcat-dep
---------------------------
1. On x86 RHEL machine, install required package: git, xz-devel and gcc
2. Checkout the branch created above: git clone https://github.com/xcat2/xcat-dep.git; cd xcat-dep; git checkout <new branch>
3. Copy 5 patch files listed above and xnba-<version>.tar.bz2 from cloned git directory into /root/rpmbuild/SOURCES/. Create that directory if one does not already exist.
4. RPM build: cd xcat-dep/xnba; rpmbuild -ba xnba-undi.spec
5. Copy generated rpm /root/rpmbuild/RPMS/noarch/xnba-undi-<version>.noarch.rpm into /gsa/pokgsa/projects/x/xcat/build/linux/xcat-dep/
6. Create links from <os/arch> subdirs to the /root/rpmbuild/RPMS/noarch/xnba-undi-<version>.noarch.rpm


Build xNBA deb for xcat-dep
---------------------------
1. On x86 Ubuntu machine, install required packages:  git, liblzma-dev, dpkg-dev, debhelper, and quilt
2. Checkout the branch created above: git clone https://github.com/xcat2/xcat-dep.git; cd xcat-dep; git checkout <new branch>
3. DEB build: cd xcat-dep/xnba; ./make_deb.sh: build the package from the binaries under "binary" directory
4. ./rebuild.sh : build the package from source code, this should only run on amd64/x86_64 platform, it will update the files under "binary" directory after compilation
5. Copy generated deb file xcat-dep/xnba-undi_<version>_all.deb into /gsa/pokgsa/projects/x/xcat/build/ubuntu/xcat-dep/xcat-dep/pool/main/x/xnba-undi/ 
and /gsa/pokgsa/projects/x/xcat/build/ubuntu/xcat-dep/debs