• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 10
    • 下载费用:30 金币  

    重庆时时彩稳杀一码: 基于LINUX操作系统跨体系构造ISO的方法及???pdf

    关 键 词:
    基于 LINUX 操作系统 体系 构造 ISO 方法 ???
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201310192888.9

    申请日:

    2013.05.22

    公开号:

    CN103324474A

    公开日:

    2013.09.25

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06F 9/44申请日:20130522|||公开
    IPC分类号: G06F9/44 主分类号: G06F9/44
    申请人: 中标软件有限公司
    发明人: 闫亮; 武斌
    地址: 200030 上海市徐汇区番禺路1028号10楼
    优先权:
    专利代理机构: 北京聿宏知识产权代理有限公司 11372 代理人: 吴大建;钟日红
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201310192888.9

    授权公告号:

    ||||||

    法律状态公告日:

    2016.08.03|||2013.10.30|||2013.09.25

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明公开了一种基于Linux操作系统的跨体系构造ISO的方法及???,该方法包括:检测并修改制备ISO安装文件的程序中具有体系依赖性的内容;根据指定体系来下载该体系的软件包并生成软件包仓库;制作该指定体系的ISO光盘目录树结构中所需的所有文件;重新生成软件包仓库;将以上各步骤得到的所有文件进行封装,生成ISO格式的文件以实现该指定体系的ISO构造。本发明方法通过将Linux操作系统中某一种体系下制作ISO安装文件的方法作为原型,然后进行二次开发与迁移以构造出一种适用于Linux操作系统中跨体系制作ISO安装文件的方法。

    权利要求书

    权利要求书
    1.   一种基于Linux操作系统的跨体系构造ISO的方法,其特征在于,包括:
    检测修改步骤,检测并修改制备ISO安装文件的程序中具有体系依赖性的内容;
    下载生成步骤,根据指定体系来下载该体系的软件包并生成软件包仓库;
    文件制作步骤,制作该指定体系的ISO光盘目录树结构中所需的所有文件;
    软件包重新生成步骤,重新生成软件包仓库,该软件包仓库增加了软件包分组信息;
    封装步骤,将以上各步骤得到的所有文件进行封装,生成ISO格式的文件以实现该指定体系的ISO构造。

    2.   根据权利要求1所述的方法,其特征在于,所述指定体系包括X86平台的所有体系和非X86平台的mipsel体系和PPC体系。

    3.   根据权利要求2所述的方法,其特征在于,在所述检测修改步骤中,进一步将用C/C++语言实现的依赖于编译平台的内容用脚本语言实现。

    4.   根据权利要求3所述的方法,其特征在于,在所述检测修改步骤中,修改Anaconda中的modlist文件,改为用bash shell语言来实现。

    5.   根据权利要求1至4中任一项所述的方法,其特征在于,在下载生成步骤中,利用setarch命令来下载指定体系的软件包并制作软件包仓库。

    6.   根据权利要求1至4中任一项所述的方法,其特征在于,
    利用buildinstall脚本来执行所述文件制作步骤;
    利用comps.xml文件重新生成软件包仓库;
    利用mkisofs命令来执行所述封装步骤。

    7.   一种基于Linux操作系统的跨体系构造ISO的???,其特征在于,包括:
    检测修改单元,其检测并修改制备ISO安装文件的程序中具有体系依赖性的内容;
    下载生成单元,其根据指定体系来下载该体系的软件包并生成软件包仓库;
    文件制作单元,其制作该指定体系的ISO光盘目录树结构中所需的所有文件;
    软件包重新生成单元,其重新生成软件包仓库,该软件包仓库增加了软件包分组信息;
    封装单元,其将以上各单元得到的所有文件进行封装,生成ISO格式的文件以实现该指定体系的ISO构造。

    8.   根据权利要求7所述的???,其特征在于,所述指定体系包括X86平台的所有体系和非X86平台的mipsel体系和PPC体系。

    9.   根据权利要求8所述的???,其特征在于,所述检测修改单元进一步将用C/C++语言实现的依赖于编译平台的内容用脚本语言实现。

    10.   根据权利要求9所述的???,其特征在于,所述检测修改单元进一步用于修改Anaconda中的modlist文件,改为用bash shell语言来实现。

    说明书

    说明书基于Linux操作系统跨体系构造ISO的方法及???
    技术领域
    本发明涉及Linux操作系统构造安装领域,尤其涉及一种基于Linux操作系统的跨体系构造ISO的方法和???。
    背景技术
    由于Linux系统具有开源的特性、软件授权费用低和应用开发资源丰富等优点,已经得到了广泛的应用,并且在民用和办公以及开发领域具有越来越多的用户。
    ISO是指可安装光盘的映像文件,将映像文件通过工具刻录到DVD后即变成可安装的光盘。其主要文件包括isolinux.bin、isolinux.cfg、Vesamenu.c32、Splash.jgp、Vmlinuz、install.img和Packages等文件。
    其中,isolinux.bin是光盘引导程序,在mkisofs的选项中需要明确给出文件路径,这个文件属于SYSLINUX项目,对应syslinux包,文档可参考:/usr/share/doc/syslinux?4.02/isolinux.txti。
    isolinux.cfg是isolinux.bin的配置文件,当光盘启动后(即运行isolinux.bin),会自动去找isolinux.cfg文件,然后根据配置信息进行后续工作。查找isolinux.cfg的顺序依次为:

    只要上层目录存在,即便文件不存在,都会匹配上。
    Vesamenu.c32就是我们看到的光盘启动后的安装图形界面,也属于SYSLINUX项目,还有一个Menu.c32版本,是纯文本的菜单。如果通过光盘启动菜单选择了Memtest选项,则开始进行内存检测。这是一个独立的程序,属于Memtest86+项目,对应的包是memtest86+?4.00?3.fc13.i686.rpm;通过效验md5值可以发现这个文件就是从包中提取出来的,发行版定制工具会从Yum源将这个包安装到Chroot中,然后将/boot/memtest86+*复制到ISO根目录。
    Splash.jgp是光盘启动界面的背景图,应该来自文件/usr/lib/anaconda?runtime/syslinux?vesa?splash.TIF,属于neokylin?logos包。
    Vmlinuz是内核映像,initrd.img是ramfs(先cpio,再gzip压缩),都是编译内核生成的;isolinux.bin根据安装选项找到对应的配置,装载内核和ramfs。
    install.img是一个Squashfs根文件系统,当内核启动后就装载install.img并切换根文件系统,执行里面的Anaconda程序,Anaconda是Fedora的安装程序。安装过程中,Anaconda会去读取.discinfo文件,获取光盘信息(以前CD安装系统需要多张光盘),内容如下:

    Packages就是存放二进制RPM包的目录,对这个目录执行createrepo命令就会生成一个repodata的目录,这个repodata就是yum源,里面的文件基本都是xml格式,记录了Packages中所有包的基本信息,如包名、包信息、包版本、包中的文件清单等等。
    但是,Linux系统的ISO安装文件的制作具有局限性。例如,x86_64体系的Linux操作系统只能生产x86_64体系的ISO安装文件,而i686体系只能生产i686体系的ISO安装文件。这样,不同体系的计算机只能来制作当前体系的ISO安装文件,无法进行跨体系地制造ISO文件。.
    目前没有完整的解决方案来实现跨体系制作ISO安装文件,因此亟需一解决方案来解决上述问题,使得不同体系的计算机可以制作其他体系的ISO文件。
    发明内容
    本发明所要解决的技术问题之一是需要提供一种能够实现跨体系制作ISO安装文件的基于Linux操作系统跨体系构造ISO安装文件的方法及???。
    为了解决上述技术问题,本发明提供了一种基于Linux操作系统的跨体系构造ISO的方法,包括:检测修改步骤,检测并修改制备ISO安装文件的程序中具有体系依赖性的内容;下载生成步骤,根据指定体系来下载该体系的软件包并生成软件包仓库;文件制作步骤,制作该指定体系的ISO光盘目录树结构中所需的所有文件;软件包重新生成步骤,重新生成软件包仓库,该软件包仓库增加了软件包分组信息;封装步骤,将以上各步骤得到的所有文件进行封装,生成ISO格式的文件以实现该指定体系的ISO构造。
    在一个实施例中,所述指定体系包括X86平台的所有体系和非X86平台的mipsel体系和PPC体系。
    在一个实施例中,在所述检测修改步骤中,进一步将用C/C++语言实现的依赖于编译平台的内容用脚本语言实现。
    在一个实施例中,在所述检测修改步骤中,修改Anaconda中的modlist文件,改为用bash shell语言来实现。
    在一个实施例中,在下载生成步骤中,利用setarch命令来下载指定体系的软件包并制作软件包仓库。
    在一个实施例中,利用buildinstall脚本来执行所述文件制作步骤;利用comps.xml文件重新生成软件包仓库;利用mkisofs命令来执行所述封装步骤。
    根据本发明的另一方面,还提供了一种基于Linux操作系统的跨体系构造ISO的???,包括:检测修改单元,其检测并修改制备ISO安装文件的程序中具有体系依赖性的内容;下载生成单元,其根据指定体系来下载该体系的软件包并生成软件包仓库;文件制作单元,其制作该指定体系的ISO光盘目录树结构中所需的所有文件;软件包重新生成单元,其重新生成软件包仓库,该软件包仓库增加了软件包分组信息;封装单元,其将以上各单元得到的所有文件进行封装,生成ISO格式的文件以实现该指定体系的ISO构造。
    在一个实施例中,所述指定体系包括X86平台的所有体系和非X86平台的mipsel体系和PPC体系。
    在一个实施例中,所述检测修改单元进一步将用C/C++语言实现的依赖于编译平台的内容用脚本语言实现。
    在一个实施例中,所述检测修改单元进一步用于修改Anaconda中的modlist文件,改为用bash shell语言来实现。
    与现有技术相比,本发明的一个或多个实施例可以具有如下优点:
    本发明方法通过将Linux操作系统中某一种体系下制作ISO安装文件的方法作为原型,然后进行二次开发与迁移以构造出一种适用于Linux操作系统中跨体系制作ISO安装文件的方法,使得任意一种体系的Linux操作系统都能制作出多种不同体系的ISO安装文件。该制备方法选择以Linux操作系统中某一种体系的制作ISO安装文件的方法作为开发原型,以减轻开发人员工作量。
    本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
    附图说明
    附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
    图1是根据本发明实施例一的基于Linux操作系统的跨体系构造ISO的方法的流程示意图;
    图2是根据本发明实施例二的基于Linux操作系统的跨体系构造ISO的??榈慕峁故疽馔?。
    具体实施方式
    以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的?;し段е?。
    另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
    实施例一
    由于x86_64体系是Linux操作系统中最常用的体系之一,因此本实施例来说明如何在x86_64体系中制备i386体系的ISO安装文件。然而,本发明并不限于X86平台所包含体系,同样适用于非X86平台的相关体系,例如mipsel体系和PPC(powerPC)体系。
    图1是根据本发明实施例一的基于Linux操作系统的跨体系构造ISO的方法的流程示意图,下面参考图1来详细说明本实施例的各个步骤。
    步骤S110,检测并修改制备ISO安装文件的程序中具有体系依赖性的内容。
    需要说明的是,制备ISO安装文件的程序(可简称制作ISO代码)可以为在不同体系中已制备的程序。在本实施例中,制备ISO安装文件的程序是在x86_64体系中所制备的x86_64体系的ISO安装文件。
    为了可以将x86_64体系的ISO安装文件的程序能够应用在其它体系中,首先需要修改制作ISO代码中的平台依赖性命令,将用C/C++语言实现依赖于编译平台的内容用脚本语言实现,这样可以很好地实现跨体系运行。
    具体地,Anaconda文件中的modlist是产生module?info文件的代码,供启动内核时使用,其代码是用C语言实现的,只针对编译平台,所以需要将modlist代码变为对平台不依赖,可以用例如bash shell语言来实现。这样就可以将modlist命令变为不依赖于体系即可以运行的命令,可以实现跨体系运行。
    通过该步骤的操作,能够使得以下步骤在跨体系的环境下运行,若不执行该步骤则以下步骤的执行会出现错误。
    步骤S120,根据指定体系来下载该体系的软件包并生成软件包仓库。
    具体地,使用“setarch targetarch pungi***”命令来下载该体系的软件包并生成repodata软件包仓库。在指定体系是i386体系时,可以运行命令“setarch i386pungi–c ks.cfg??destdir=/work_dir??name ISO_NAME??ver"ISO_VERSION"??nosource??force?G?C”来下载软件包和制作repodata软件仓库。
    其中,“ISO_NAME”和“ISO_VERSION”分别是setarch命令的指定体系ISO名称的参数和指定体系ISO版本的参数,这样能够使应用程序(Pungi命令)在指定体系下运行。
    例如,通过运行setarch i386pungi–c ks.cfg??destdir=/work_dir??name test.iso??ver"NeoKylin i386"??nosource??force?G?C”,可以下载i386体系的二进制RPM包并生成软件包仓库。
    步骤S130,运行Buildinstall脚本来制作指定体系ISO光盘目录树结构(简称buildtree)中所需的文件。
    具体地,在该步骤中,pungi命令主要调用Buildinstall脚本生成Image文件,Buildinstall脚本从配置文件ks.cfg中指定的repo地址下载最新的Anaconda包,然后运行下面四个脚本并生成ISO所必须的文件:
    upd?instroot:下载安装过程必须用到的包和文件到一个根目录。
    maketreeinfo.py:生成.treeinfo文件。
    mk?images:生成images。
    makestamp.py:生成.discinfo。
    在指定体系是i386体系时,具体执行如下命令“setarch i386/usr/lib/anaconda?runtime/buildinstall??product"ISO_NAME"??version"ISO_VERSION"??release"ISO NAME and VERSION"??bugurl https://bugzilla.redhat.com??output/isodirectory/repoaddress”来制作buildtree。
    这样,也实现了跨体系制作安装文件所使用的核心文件,即压缩ISO的镜像文件image。
    步骤S140,使用comps.xml文件重新生成软件包仓库,即repodata软件包仓库。
    在该步骤中,通过利用comps.xml文件用户可以定制软件包分组信息,可以将某个包/某些包添加到特定的分组中,这样在需要安装这些包的时候,可以通过分组名来安装这一类软件包。
    具体地,运行“rm?rf DVD_DIR/repodata/*cp comps.xml DVD_DIR/createrepo?g comp s.xml DVD_DIR”命令来产生repodata软件包仓库。
    该步骤比S120所得到的软件包仓库多了一个分组信息,即对软件包进行归类,这样在ISO制作完成后,供安装软件包时使用。
    步骤S150,将以上步骤得到的所有文件进行封装,生成ISO格式的文件以实现该指定体系的ISO构造。
    具体地,运行mkisofs命令来制作ISO安装文件。更具体地,运行命令“mkisofs?f?o DVD_ISO_NAME?b isolinux/isolinux.bin?no?emul?boot?boot?load?size4?boot?info?table?R?J?allow?leading?dots?V"ISO LABEL NAME"?T?I DVD_DIR”制作安装用的DVDISO。
    mkisofs命令主要作用是将步骤S110~S140产生的文件都封装在一起,并生成ISO格式的文件。
    本实施例方法通过将Linux操作系统中某一种体系下制作ISO安装文件的方法作为原型,然后进行二次开发与迁移以构造出一种适用于Linux操作系统中跨体系制作ISO安装文件的方法,使得任意一种体系的Linux操作系统都能制作出多种不同体系的ISO安装文件。该制备方法选择以Linux操作系统中某一种体系的制作ISO安装文件的方法作为开发原型,以减轻开发人员工作量。
    实施例二
    图2是根据本发明实施例二的基于Linux操作系统的跨体系构造ISO的??榈慕峁故疽馔?,下面参考图2来说明该??榈母鞲鲎槌刹糠?。
    如图2所示,该??榘觳庑薷牡ピ?1、下载生成单元22、文件制作单元23、软件包重新生成单元24和封装单元25。
    其中,检测修改单元21,其检测并修改制备ISO安装文件的程序中具有体系依赖性的内容。检测修改单元21进一步用于将用C/C++语言实现的依赖于编译平台的内容用脚本语言实现。具体地,该检测修改单元21用于修改Anaconda中的modlist文件,改为用bash shell语言来实现。
    下载生成单元22,其与检测修改单元21,根据指定体系来下载该体系的软件包并生成软件包仓库,指定体系包括X86平台的所有体系和非X86平台的mipsel体系和PPC体系。具体地,下载生成单元22进一步利用setarch命令来下载指定体系的软件包并制作软件包仓库。
    文件制作单元23,其与下载生成单元22连接,制作该指定体系的ISO光盘目录树结构中所需的所有文件。具体地,文件制作单元23利用buildinstall脚本来制作所需的所有文件。
    软件包重新生成单元24,其与文件制作单元23连接,重新生成软件包仓库,该软件包仓库增加了软件包分组信息。具体地,软件包重新生成单元24利用comps.xml文件重新生成软件包仓库。
    封装单元25,其与软件包重新生成单元24连接,将以上单元得到的所有文件进行封装,生成ISO格式的文件以实现该指定体系的ISO构造。封装单元25利用mkisofs命令来对所有文件进行封装。
    本领域的技术人员应该明白,上述的本发明的各??榛蚋鞑街杩梢杂猛ㄓ玫募扑阕爸美词迪?,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路???,或者将它们中的多个??榛虿街柚谱鞒傻ジ黾傻缏纺?槔词迪?。这样,本发明不限制于任何特定的硬件和软件结合。
    虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利?;し段?,仍须以所附的权利要求书所界定的范围为准?!  ∧谌堇醋宰ɡ鴚ww.www.4mum.com.cn转载请标明出处

    关于本文
    本文标题:基于LINUX操作系统跨体系构造ISO的方法及???pdf
    链接地址://www.4mum.com.cn/p-5778455.html

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 黄金股票有哪些 四川时时彩开奖结果 王者荣耀名字 江苏快3一定牛网 正彩彩票苹果 江西快三开奖 澳洲幸运5开奖源 四川时时彩是真的吗 打包扣赚钱吗 3d杀组选复式投注技巧 福彩欢乐生肖规则 河南快三稳赚技巧 单双中特公式规律怎么算 永利娱乐平台app下载 闲来陕西麻将官网网址 171011大乐透开奖号码