1 Star 0 Fork 37

杨晨光 / lorax

forked from src-openEuler / lorax 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0002-sw64-modify.patch 8.55 KB
一键复制 编辑 原始数据 按行查看 历史
qwjd-001 提交于 2022-11-28 14:10 . add sw_64 patch
From e0b31ea90a4af94a73d0bb9498e12caa93d2a524 Mon Sep 17 00:00:00 2001
From: isoft <wenjuan.qiu@i-soft.com.cn>
Date: Tue, 1 Nov 2022 09:49:12 +0000
Subject: [PATCH 2/2] sw64 modify
---
share/templates.d/99-generic/sw64.tmpl | 124 ++++++++----------
src/pylorax/__init__.py | 2 +-
src/pylorax/treebuilder.py | 2 +-
index 193286c..cea9225 100644
--- a/share/templates.d/99-generic/sw64.tmpl
+++ b/share/templates.d/99-generic/sw64.tmpl
@@ -1,11 +1,10 @@
<%page args="kernels, runtime_img, runtime_base, basearch, inroot, outroot, product, isolabel"/>
<%
configdir="tmp/config_files/sw64"
-SYSLINUXDIR="usr/share/syslinux"
-PXEBOOTDIR="pxeboot"
STAGE2IMG="isoft/sw64/root-image.fs.sfs"
-BOOTDIR="isolinux"
-KERNELDIR=PXEBOOTDIR
+#BOOTDIR="isolinux"
+BOOTDIR="boot"
+ISOLINUXDIR="isolinux"
LORAXDIR="usr/share/lorax/"
## Don't allow spaces or escape characters in the iso label
@@ -30,80 +29,68 @@ install ${runtime_img} ${STAGE2IMG}
treeinfo stage2 mainimage isoft/sw64/${runtime_base}
## install bootloader and config files
-mkdir ${BOOTDIR}
-install ${SYSLINUXDIR}/isolinux.bin ${BOOTDIR}
-install ${SYSLINUXDIR}/vesamenu.c32 ${BOOTDIR}
-install ${SYSLINUXDIR}/ldlinux.c32 ${BOOTDIR}
-install ${SYSLINUXDIR}/libcom32.c32 ${BOOTDIR}
-install ${SYSLINUXDIR}/libutil.c32 ${BOOTDIR}
-install ${configdir}/isolinux.cfg ${BOOTDIR}
-install ${configdir}/boot.msg ${BOOTDIR}
-install ${configdir}/grub.conf ${BOOTDIR}
-install usr/share/anaconda/boot/syslinux-splash.png ${BOOTDIR}/splash.png
-install boot/memtest* ${BOOTDIR}/memtest
+mkdir ${ISOLINUXDIR}
+install ${configdir}/isolinux.bin ${ISOLINUXDIR}
+install ${configdir}/isolinux.cfg ${ISOLINUXDIR}
+install ${configdir}/boot.msg ${ISOLINUXDIR}
+install ${configdir}/grub.conf ${ISOLINUXDIR}
+install usr/share/anaconda/boot/syslinux-splash.png ${ISOLINUXDIR}/splash.png
## configure bootloader
-replace @VERSION@ ${product.version} ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg
-replace @PRODUCT@ '${product.name}' ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg
-replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${BOOTDIR}/isolinux.cfg
+replace @VERSION@ ${product.version} ${ISOLINUXDIR}/grub.conf ${ISOLINUXDIR}/isolinux.cfg ${ISOLINUXDIR}/*.msg
+replace @PRODUCT@ '${product.name}' ${ISOLINUXDIR}/grub.conf ${ISOLINUXDIR}/isolinux.cfg ${ISOLINUXDIR}/*.msg
+replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${ISOLINUXDIR}/isolinux.cfg
## install kernels
-mkdir ${KERNELDIR}
+mkdir ${BOOTDIR}
+mkdir ${BOOTDIR}/grub
+mkdir ${BOOTDIR}/grub/fonts
+mkdir ${BOOTDIR}/grub/locale
+install ${configdir}/boot/bootloader.bin ${BOOTDIR}
+install ${configdir}/boot/grub/grub.cfg ${BOOTDIR}/grub/
+install ${configdir}/boot/grub/grub.efi ${BOOTDIR}/grub/
+install ${configdir}/boot/grub/kernel.* ${BOOTDIR}/grub/
+install ${configdir}/boot/grub/splash.xpm.gz ${BOOTDIR}/grub/
+install ${configdir}/boot/grub/fonts/unicode.pf2 ${BOOTDIR}/grub/fonts/
+install ${configdir}/boot/grub/locale/zh_CN.mo ${BOOTDIR}/grub/locale/
+
%for kernel in kernels:
%if kernel.flavor:
## i386 PAE
- installkernel images-xen ${kernel.path} ${KERNELDIR}/vmlinuz-${kernel.flavor}
- installinitrd images-xen ${kernel.initrd.path} ${KERNELDIR}/initrd-${kernel.flavor}.img
+ installkernel images-xen ${kernel.path} ${BOOTDIR}/vmlinuz-${kernel.flavor}
+ installinitrd images-xen ${kernel.initrd.path} ${BOOTDIR}/initrd-${kernel.flavor}.img
%else:
## normal i386, x86_64
- installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz
- installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img
+ installkernel images-${basearch} ${kernel.path} ${BOOTDIR}/vmlinuz
+ installinitrd images-${basearch} ${kernel.initrd.path} ${BOOTDIR}/initrd.img
%endif
%endfor
-hardlink ${KERNELDIR}/vmlinuz ${BOOTDIR}
-hardlink ${KERNELDIR}/initrd.img ${BOOTDIR}
-%if basearch == 'x86_64':
- treeinfo images-xen kernel ${KERNELDIR}/vmlinuz
- treeinfo images-xen initrd ${KERNELDIR}/initrd.img
-%endif
-
-## WHeeeeeeee, EFI.
-<% efiargs=""; efigraft=""; efiarch32=None; efiarch64=None %>
-%if exists("boot/efi/EFI/*/gcdia32.efi"):
- <% efiarch32 = 'IA32' %>
-%endif
-%if exists("boot/efi/EFI/*/gcdx64.efi"):
- <% efiarch64 = 'X64' %>
-%endif
-%if (efiarch32 or efiarch64) and basearch != 'i386':
- <%
- efigraft="EFI/BOOT={0}/EFI/BOOT".format(outroot)
- images = [("images/efiboot.img", "-isohybrid-gpt-basdat")]
- if domacboot:
- images.append(("images/macboot.img", "-isohybrid-gpt-hfsplus"))
- %>
- %for img, hybrid in images:
- <%
- efiargs += " -eltorito-alt-boot -e {0} -no-emul-boot {1}".format(img, hybrid)
- efigraft += " {0}={1}/{0}".format(img,outroot)
- %>
- treeinfo images-${basearch} ${img|basename} ${img}
- %endfor
- <%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch32=efiarch32, efiarch64=efiarch64, isolabel=isolabel"/>
-%endif
+replace @VERSION@ '${product.version}' ${BOOTDIR}/grub/grub.cfg
+replace @PRODUCT@ '${product.name}' ${BOOTDIR}/grub/grub.cfg
+replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${BOOTDIR}/grub/grub.cfg
+
+install ${configdir}/efibootimg ${BOOTDIR}/../
+
+mkdir EFI
+mkdir EFI/BOOT
+mkdir EFI/BOOT/fonts
+mkdir EFI/BOOT/locale
+install ${configdir}/EFI/BOOT/BOOT.cfg EFI/BOOT/
+install ${configdir}/EFI/BOOT/grub.cfg EFI/BOOT/
+install ${configdir}/EFI/BOOT/grub.efi EFI/BOOT/
+install ${configdir}/EFI/BOOT/kernel.* EFI/BOOT/
+install ${configdir}/EFI/BOOT/splash.xpm.gz EFI/BOOT/
+install ${configdir}/EFI/BOOT/fonts/unicode.pf2 EFI/BOOT/fonts/
+install ${configdir}/EFI/BOOT/locale/zh_CN.mo EFI/BOOT/locale/
# Create optional product.img and updates.img
-<% filegraft=""; images=["product", "updates"]; compressargs=""; %>
-%if basearch == 'i386':
- # Limit the amount of memory xz uses on i386
- <% compressargs="--xz -9 --memlimit-compress=3700MiB" %>
-%endif
+<% filegraft=""; images=["product", "updates"] %>
%for img in images:
%if exists("%s/%s/" % (LORAXDIR, img)):
- installimg ${compressargs} ${LORAXDIR}/${img}/ isoft/sw64/${img}.img
- treeinfo images-${basearch} ${img}.img isoft/sw64/${img}.img
- <% filegraft += " images/{0}.img={1}/isoft/sw64/{0}.img".format(img, outroot) %>
+ installimg ${LORAXDIR}/${img}/ images/${img}.img
+ treeinfo images-${basearch} ${img}.img images/${img}.img
+ <% filegraft += " images/{0}.img={1}/images/{0}.img".format(img, outroot) %>
%endif
%endfor
@@ -121,15 +108,10 @@ hardlink ${KERNELDIR}/initrd.img ${BOOTDIR}
%endfor
## make boot.iso
+mkdir images
runcmd xorrisofs ${isoargs} -o ${outroot}/images/boot.iso \
- -isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
- -b ${BOOTDIR}/isolinux.bin -c ${BOOTDIR}/boot.cat \
+ -b ${ISOLINUXDIR}/isolinux.bin -c ${ISOLINUXDIR}/boot.cat \
-boot-load-size 4 -boot-info-table -no-emul-boot \
- ${efiargs} -R -J -V '${isolabel}' \
- -graft-points \
- .discinfo=${outroot}/.discinfo \
- ${STAGE2IMG}=${outroot}/${STAGE2IMG} \
- ${BOOTDIR}=${outroot}/${BOOTDIR} \
- ${KERNELDIR}=${outroot}/${KERNELDIR} \
- ${efigraft} ${filegraft}
+ -R -J -V '${isolabel}' \
+ ${filegraft} ${outroot}
treeinfo images-${basearch} boot.iso images/boot.iso
diff --git a/src/pylorax/__init__.py b/src/pylorax/__init__.py
index 1b85052..c37c0e0 100644
--- a/src/pylorax/__init__.py
+++ b/src/pylorax/__init__.py
@@ -67,7 +67,7 @@ class ArchData(DataHolder):
lib64_arches = ("x86_64", "ppc64le", "s390x", "ia64", "aarch64")
bcj_arch = dict(i386="x86", x86_64="x86",
ppc64le="powerpc",
- arm="arm", armhfp="arm", sw_64="sw64")
+ arm="arm", armhfp="arm")
def __init__(self, buildarch):
super(ArchData, self).__init__()
diff --git a/src/pylorax/treebuilder.py b/src/pylorax/treebuilder.py
index 9335735..5fbb579 100644
--- a/src/pylorax/treebuilder.py
+++ b/src/pylorax/treebuilder.py
@@ -246,7 +246,7 @@ class RuntimeBuilder(object):
# Catch problems with the rootfs being too small and clearly log them
try:
- imgutils.mkrootfsimg(self.vars.root, joinpaths(workdir, "LiveOS/rootfs.img"),
+ imgutils.mkrootfsimg(self.vars.root, joinpaths(workdir, "rootfs.img"),
"Anaconda", size=size)
except CalledProcessError as e:
if e.stdout and "No space left on device" in e.stdout:
--
2.33.0
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/yangchen_guang/lorax.git
git@gitee.com:yangchen_guang/lorax.git
yangchen_guang
lorax
lorax
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891