CN111722868A - 一种申威防火墙快速移植高版本linux内核的方法 - Google Patents

一种申威防火墙快速移植高版本linux内核的方法 Download PDF

Info

Publication number
CN111722868A
CN111722868A CN202010428773.5A CN202010428773A CN111722868A CN 111722868 A CN111722868 A CN 111722868A CN 202010428773 A CN202010428773 A CN 202010428773A CN 111722868 A CN111722868 A CN 111722868A
Authority
CN
China
Prior art keywords
kernel
shenwei
linux
version
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010428773.5A
Other languages
English (en)
Inventor
高福亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Zhong Ke Wei Wei Information Technology Co ltd
Original Assignee
Shanghai Zhong Ke Wei Wei Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Zhong Ke Wei Wei Information Technology Co ltd filed Critical Shanghai Zhong Ke Wei Wei Information Technology Co ltd
Priority to CN202010428773.5A priority Critical patent/CN111722868A/zh
Publication of CN111722868A publication Critical patent/CN111722868A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种申威防火墙快速移植高版本linux内核的方法,该方法包括以下步骤:预先制作生成内存根文件系统的压缩文件;预先制作生成内核配置文件;预先生成内核补丁文件;预先生成内核编译脚本;更换或升级内核版本号。通过该方法,提供了一种申威防火墙快速移植高版本linux内核的方法;同时减少了申威防火墙所使用内核与原版内核的耦合,实现了不同linux内核版本的快速移植和更换,有利于申威防火墙升级内核版本,支持申威新硬件设备驱动及内核新功能特性适配,大大节省了内核移植的时间和人力成本。

Description

一种申威防火墙快速移植高版本linux内核的方法
技术领域
本发明涉及linux系统技术领域,具体来说,涉及一种申威防火墙快速移植高版本linux内核的方法。
背景技术
用户态的功能特性开发有时需要linux内核的支持与同步修改,linux内核的修改与编译工作量会随着申威防火墙、申威服务器功能的复杂程度而增加,而当今网络时代申威CPU 硬件的更新换代非常快,linux的的版本发布又非常频繁,有时我们为了支持新的申威硬件驱动或新的功能特性不得不更换或升级linux内核版本,而由于申威防火墙功能开发对内核源码的一些修改导致与原版内核耦合紧密,而不同版本内核在代码上差异非常大,这给linux内核的移植和更换带来了很大难度和工作量,目前没有一种有效的方式能够解决上述问题。
发明内容
针对相关技术中的上述技术问题,本发明提出一种申威防火墙快速移植高版本linux内核的方法,能够克服现有技术的上述不足。
为实现上述技术目的,本发明的技术方案是这样实现的:
一种申威防火墙快速移植高版本linux内核的方法,该方法包括以下步骤:
S1:预先制作生成内存根文件系统的压缩文件;
所述步骤S1包括以下步骤:
S11:通过编译busybox制作生成最初的内存根文件系统,其中,busyboxlinux上的一个应用程序;根文件系统根据需要增加或修改系统内容,系统内容包括自编译可执行程序、lib库文件、自定义脚本;
S12:在根文件系统制作完成后,通过压缩命令进行压缩根文件系统;
S13:依据CPU类型进行命名压缩后的文件,将命名压缩后的文件放在申威linux源码解压后的/usr目录下;
S2:预先制作生成内核配置文件,其中,根据各平台需要针对不同申威平台开启或关闭需要或不需要的内核配置选项,提前配置生成内核配置文件,并且在以后的使用依据需要随时进行修改,内核配置文件配置完成后按照CPU平台类型进行重命名保存,放在申威linux源码解压后的/usr目录下;
S3:预先生成内核补丁文件,其中,在用户态功能开发过程中,对内核的修改集中到文件中,并放在/usr目录下,作为内核补丁,在以后内核版本更换或升级时,直接拷贝使用极少量修改内核源码;
S4:预先生成内核编译脚本,其中,依据用户输入编译参数不同区分不同申威平台,编译过程中使用不同申威平台的内核配置文件、内存根文件系统的压缩文件,编译出不同申威平台的内核镜像文件;
S5:更换或升级内核版本号;
所述步骤S5包括以下步骤:
S51:将需要更换版本号的linux内核源码下载解压;
S52:将内存根文件系统的压缩文件、内核配置文件、内核补丁文件和内核编译脚本全拷贝到/usr目录下,其中,少量修改关联引用内核补丁文件的内核源文件;
S53:编译通过生成内核镜像文件后,在申威防火墙中运行调试,快速进行申威新硬件设备驱动及新功能特性适配。
进一步的,所述步骤S11中,依据不同申威防火墙、申威服务器平台类型及本地、交叉编译环境自定义编译制作一个或多个平台的根文件系统。
进一步的,根文件系统支持一个或多个申威平台的使用。
进一步的,根文件系统为自定义编译制作,与linux内核为低耦合,并且只需要最初制作一次,以后内核版本更换或升级时,直接拷贝到新版本申威linux源码解压后的/usr目录下使用。
进一步的,所述步骤S3中,集中到的文件为一个.c和一个.h文件。
进一步的,所述步骤S4中,编译脚本针对不同编译选项参数进行解析,根据不同参数调用不同的内核配置文件及内存根文件系统压缩文件。
本发明的有益效果:通过该方法,提供了一种申威防火墙快速移植高版本linux内核的方法;同时减少了申威防火墙所使用内核与原版内核的耦合,实现了不同linux内核版本的快速移植和更换,有利于申威防火墙升级内核版本,支持申威新硬件设备驱动及内核新功能特性适配,大大节省了内核移植的时间和人力成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例所述的一种申威防火墙快速移植高版本linux内核的方法的流程框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,根据本发明实施例所述的一种申威防火墙快速移植高版本linux内核的方法,包括以下步骤:
S1:预先制作生成内存根文件系统的压缩文件;
步骤S1包括以下步骤:
S11:通过编译busybox制作生成最初的内存根文件系统,其中,busybox为linux上的一个应用程序;根文件系统根据需要增加或修改系统内容,系统内容包括自编译可执行程序、lib库文件、自定义脚本;
S12:在根文件系统制作完成后,通过压缩命令进行压缩根文件系统;
S13:依据CPU类型进行命名压缩后的文件,将命名压缩后的文件放在申威linux源码解压后的/usr目录下;
S2:预先制作生成内核配置文件,其中,根据各平台需要针对不同申威平台开启或关闭需要或不需要的内核配置选项,提前配置生成内核配置文件,并且在以后的使用依据需要随时进行修改,内核配置文件配置完成后按照CPU平台类型进行重命名保存,放在申威linux源码解压后的/usr目录下;
S3:预先生成内核补丁文件,其中,在用户态功能开发过程中,对内核的修改集中到文件中,并放在/usr目录下,作为内核补丁,在以后内核版本更换或升级时,直接拷贝使用极少量修改内核源码;
S4:预先生成内核编译脚本,其中,依据用户输入编译参数不同区分不同申威平台,编译过程中使用不同申威平台的内核配置文件、内存根文件系统的压缩文件,编译出不同申威平台的内核镜像文件;
S5:更换或升级内核版本号;
步骤S5包括以下步骤:
S51:将需要更换版本号的linux内核源码下载解压;
S52:将内存根文件系统的压缩文件、内核配置文件、内核补丁文件和内核编译脚本全拷贝到/usr目录下,其中,少量修改关联引用内核补丁文件的内核源文件;
S53:编译通过生成内核镜像文件后,在申威防火墙中运行调试,快速进行申威新硬件设备驱动及新功能特性适配。
在本发明的一个具体实施例中,所述步骤S11中,依据不同申威防火墙、申威服务器平台类型及本地、交叉编译环境自定义编译制作一个或多个平台的根文件系统。
在本发明的一个具体实施例中,根文件系统支持一个或多个申威平台的使用。
在本发明的一个具体实施例中,根文件系统为自定义编译制作,与linux内核为低耦合,并且只需要最初制作一次,以后内核版本更换或升级时,直接拷贝到新版本申威linux源码解压后的/usr目录下使用。
在本发明的一个具体实施例中,所述步骤S3中,集中到的文件为一个.c和一个.h文件。
在本发明的一个具体实施例中,所述步骤S4中,编译脚本针对不同编译选项参数进行解析,根据不同参数调用不同的内核配置文件及内存根文件系统压缩文件。
为了方便理解本发明的上述技术方案,以下对本发明的上述技术方案进行详细说明。
本发明公开了一种申威防火墙快速移植高版本linux内核的方法。通过自定义内核配置文件、内存根文件系统、自动编译脚本以及内核补丁文件,减少申威防火墙所使用内核与原版内核的耦合,实现不同linux内核版本的快速移植和更换,有利于申威防火墙升级内核版本,快速支持使用申威新硬件驱动或内核新特性功能,主要流程如下:
1、预先制作生成内存根文件系统的压缩文件:通过编译busybox制作生成最初的内存根文件系统,可根据不同申威防火墙、申威服务器平台类型及本地、交叉编译环境自定义编译制作一个或多个平台的根文件系统,以支持一个或多个申威平台的使用(如申威411、申威1621等),该根文件系统中可根据自身需要增加或修改自编译可执行程序、lib库文件、自定义脚本等,并且在后续开发过程中可根据自身需要随时添加或修改其内容;该根文件系统制作完成后通过压缩命令进行压缩以减少其大小,并根据CPU类型进行命名如:rootfs_ sw411.tar.gz\rootfs_sw1621.tar.gz等,放在申威linux源码解压后的/usr目录下(作为总的移植目录);该根文件系统为自定义编译制作,与linux内核为低耦合,并且只需要最初制作一次,以后内核版本更换或升级时只需要直接拷贝到新版本申威linux源码解压后的/ usr目录下使用即可。rootfs_sw411.tar.gz\rootfs_sw1621.tar.gz会在内核编译脚本执行时进行解压为/usr/rootfs目录,然后通过cpio命令生成rootfs.img内存根文件系统镜像文件。
2、预先制作生成内核配置文件:自编译申威Linux内核离不开内核配置文件,而不同功能申威防火墙、服务器等不同平台对内核的配置也是不同的,所以可根据各平台需要针对不同申威平台开启或关闭一些需要或不需要的内核配置选项,提前配置生成内核配置文件(.config),并且在以后的使用中可根据自身需要随时进行修改,内核配置文件配置完成后按照CPU平台类型(sw1621sw411)进行重命名保存,sw6_64_server_linux.config、 sw4_64_hardware_linux.config等,放在申威linux源码解压后的/usr目录下;该内核配置文件为根据CPU类型及自身需要自定义配置生成,与linux内核为低耦合,并且只需要最初生成一次,以后内核版本更换或升级时只需要直接拷贝使用即可。sw6_64_server_ linux.config\sw4_64_hardware_linux.config会在内核编译脚本执行时重新拷贝成.config内核配置文件进行内核编译使用。
3、预先生成内核补丁文件:将用户态功能开发过程中对内核的修改都刻意集中到一个.c.h文件中并放在/usr目录下,作为内核补丁尽量减少与linux内核源码的耦合,在以后内核版本更换或升级时只需要直接拷贝使用及少量修改内核源码即可。
4、预先生成内核编译脚本:自定义编译脚本mk.sh,根据用户输入编译参数不同区分不同申威平台,编译过程中使用不同申威平台的内核配置文件、内存根文件系统压缩文件,而编译出不同申威平台的内核镜像文件,如:./mk.sh -rh sw4\sw6编译release hardware的申威411\1621硬件发行版本,./mk.sh -rs sw4\sw6编译release server编译申威411\1621硬件的服务器发行版本等;该编译脚本针对不同编译选项参数进行解析,根据h\ssw4\sw6不同参数调用不同的内核配置文件及内存根文件系统压缩文件,即可编译出适合不同申威硬件平台的内核镜像文件;该编译脚本放在linux内核源码解压后的/usr目录下,后续使用可根据自身需要随时修改,并且只需要创建一次,在以后内核版本更换或升级时只需要直接拷贝使用即可。
5、内核版本号更换或升级时只需要将需要更换版本的linux内核源码下载解压,然后将内存根文件系统压缩文件、内核配置文件及内核补丁文件、内核编译脚本都拷贝到/ usr目录下,少量修改关联引用内核补丁文件的内核源文件即可完成内核移植和更换;保证编译通过生成内核镜像文件后即可在申威防火墙中运行调试了,快速实现申威新硬件设备驱动及新功能特性适配,大大节省内核移植的时间和人力成本。
在一个本发明的具体实施例中,待升级linux内核源码下载、解压、移植修改完成后执行编译脚本./mk.sh -rh sw4编译申威411硬件发行版本时,脚本中会先拷贝sw4_64_ hardware_linux.config.config内核配置文件进行内核编译使用;然后会将rootfs_ sw411.tar.gz解压为/usr/rootfs目录,然后通过cpio命令生成rootfs.img内存根文件系统镜像文件;最后make执行编译生成内核镜像vmlinux文件,编译过程中若出现移植的编译报错再手动修改即可;编译完成后的内核镜像及文件系统镜像可上传到设备上进行调试验证;可正常启动后将整个移植的内核上传到SVNGIT保存,后续使用直接下载即可。
综上所述,借助于本发明的上述技术方案,通过该方法,提供了一种申威防火墙快速移植高版本linux内核的方法;同时减少了申威防火墙所使用内核与原版内核的耦合,实现了不同linux内核版本的快速移植和更换,有利于申威防火墙升级内核版本,支持申威新硬件设备驱动及内核新功能特性适配,大大节省了内核移植的时间和人力成本。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种申威防火墙快速移植高版本linux内核的方法,其特征在于,包括以下步骤:
S1:预先制作生成内存根文件系统的压缩文件;
所述步骤S1包括以下步骤:
S11:通过编译busybox制作生成最初的内存根文件系统,其中,busyboxlinux上的一个应用程序;根文件系统根据需要增加或修改系统内容,系统内容包括自编译可执行程序、lib库文件、自定义脚本;
S12:在根文件系统制作完成后,通过压缩命令进行压缩根文件系统;
S13:依据CPU类型进行命名压缩后的文件,将命名压缩后的文件放在申威linux源码解压后的/usr目录下;
S2:预先制作生成内核配置文件,其中,根据各平台需要针对不同申威平台开启或关闭需要或不需要的内核配置选项,提前配置生成内核配置文件,并且在以后的使用依据需要随时进行修改,内核配置文件配置完成后按照CPU平台类型进行重命名保存,放在申威linux源码解压后的/usr目录下;
S3:预先生成内核补丁文件,其中,在用户态功能开发过程中,对内核的修改集中到文件中,并放在/usr目录下,作为内核补丁,在以后内核版本更换或升级时,直接拷贝使用极少量修改内核源码;
S4:预先生成内核编译脚本,其中,依据用户输入编译参数不同区分不同申威平台,编译过程中使用不同申威平台的内核配置文件、内存根文件系统的压缩文件,编译出不同申威平台的内核镜像文件;
S5:更换或升级内核版本号;
所述步骤S5包括以下步骤:
S51:将需要更换版本号的linux内核源码下载解压;
S52:将内存根文件系统的压缩文件、内核配置文件、内核补丁文件和内核编译脚本全拷贝到/usr目录下,其中,少量修改关联引用内核补丁文件的内核源文件;
S53:编译通过生成内核镜像文件后,在申威防火墙中运行调试,快速进行申威新硬件设备驱动及新功能特性适配。
2.根据权利要求1所述的一种申威防火墙快速移植高版本linux内核的方法,其特征在于,所述步骤S11中,依据不同申威防火墙、申威服务器平台类型及本地、交叉编译环境自定义编译制作一个或多个平台的根文件系统。
3.根据权利要求1所述的一种申威防火墙快速移植高版本linux内核的方法,其特征在于,根文件系统支持一个或多个申威平台的使用。
4.根据权利要求1所述的一种申威防火墙快速移植高版本linux内核的方法,其特征在于,根文件系统为自定义编译制作,与linux内核为低耦合,并且只需要最初制作一次,以后内核版本更换或升级时,直接拷贝到新版本申威linux源码解压后的/usr目录下使用。
5.根据权利要求1所述的一种申威防火墙快速移植高版本linux内核的方法,其特征在于,所述步骤S3中,集中到的文件为一个.c和一个.h文件。
6.根据权利要求1所述的一种申威防火墙快速移植高版本linux内核的方法,其特征在于,所述步骤S4中,编译脚本针对不同编译选项参数进行解析,根据不同参数调用不同的内核配置文件及内存根文件系统压缩文件。
CN202010428773.5A 2020-05-20 2020-05-20 一种申威防火墙快速移植高版本linux内核的方法 Pending CN111722868A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010428773.5A CN111722868A (zh) 2020-05-20 2020-05-20 一种申威防火墙快速移植高版本linux内核的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010428773.5A CN111722868A (zh) 2020-05-20 2020-05-20 一种申威防火墙快速移植高版本linux内核的方法

Publications (1)

Publication Number Publication Date
CN111722868A true CN111722868A (zh) 2020-09-29

Family

ID=72564715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010428773.5A Pending CN111722868A (zh) 2020-05-20 2020-05-20 一种申威防火墙快速移植高版本linux内核的方法

Country Status (1)

Country Link
CN (1) CN111722868A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579150A (zh) * 2020-12-29 2021-03-30 中标软件有限公司 支持多cpu架构的增强系统实时性的方法
CN115629994A (zh) * 2022-12-21 2023-01-20 北京中科网威信息技术有限公司 实现防火墙视图与内核视图切换方法及系统
CN116166322A (zh) * 2023-04-24 2023-05-26 麒麟软件有限公司 一种移植Linux内核的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040244008A1 (en) * 2003-05-29 2004-12-02 Myung-Jae Lee Method of implementing Linux-based embedded system for mobile communication
CN106293756A (zh) * 2016-08-16 2017-01-04 汉柏科技有限公司 一种用于快速更换的自定义Linux内核系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040244008A1 (en) * 2003-05-29 2004-12-02 Myung-Jae Lee Method of implementing Linux-based embedded system for mobile communication
CN106293756A (zh) * 2016-08-16 2017-01-04 汉柏科技有限公司 一种用于快速更换的自定义Linux内核系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579150A (zh) * 2020-12-29 2021-03-30 中标软件有限公司 支持多cpu架构的增强系统实时性的方法
CN112579150B (zh) * 2020-12-29 2023-10-20 中标软件有限公司 支持多cpu架构的增强系统实时性的方法
CN115629994A (zh) * 2022-12-21 2023-01-20 北京中科网威信息技术有限公司 实现防火墙视图与内核视图切换方法及系统
CN115629994B (zh) * 2022-12-21 2023-04-28 北京中科网威信息技术有限公司 实现防火墙视图与内核视图切换方法及系统
CN116166322A (zh) * 2023-04-24 2023-05-26 麒麟软件有限公司 一种移植Linux内核的方法
CN116166322B (zh) * 2023-04-24 2023-07-04 麒麟软件有限公司 一种移植Linux内核的方法

Similar Documents

Publication Publication Date Title
CN111722868A (zh) 一种申威防火墙快速移植高版本linux内核的方法
US10114637B1 (en) Automatically updating a shared project build platform
US7310801B2 (en) Servicing a component-based software product throughout the software product lifecycle
CN103955363B (zh) 一种程序升级安装包的制作方法
US20170220335A1 (en) System and Method for Fast Initial and Incremental Deployment of Apps
CN109491695A (zh) 一种集成安卓应用的增量更新方法
CN113064595B (zh) 一种基于Docker镜像的QT应用程序编译方法和装置
TWI341992B (en) Method and system for quickly developing an embedded operating system through utilizing an automated building framework
CN110750288A (zh) 原生工程配置方法、装置、电子设备及存储介质
CN107239309B (zh) 补丁生成方法及装置、更新方法、电子设备、存储介质
CN110597544A (zh) 一种软件系统升级方法及装置
CN106569820A (zh) 更换高版本busybox并同步制作根文件系统的方法及装置
US20200257524A1 (en) Generating interaction libraries
CN115291946A (zh) 鸿蒙系统移植方法、装置、电子设备及可读介质
CN117591170B (zh) 一种龙芯PMON平台支持基于OSTree系统的方法及装置、存储介质
US20170322792A1 (en) Updating of operating system images
CN110780899A (zh) 应用的热更新方法、装置、计算机设备及存储介质
CN112379865B (zh) 基于Maven插件机制的软件开发框架更新方法
US9760364B2 (en) Checks for software extensions
CN110688140B (zh) 一种代码管理方法和终端
CN116820606A (zh) 引导程序配置方法、装置、设备以及存储介质
CN106681761B (zh) 一种交互式升级的方法及系统
CN112925610A (zh) 一种基于Kubernetes的流水线自动化构建部署的方法及系统
CN112286568A (zh) 一种Android系统多版本兼容方法
Al-Bokhaiti et al. Customization and Optimization of Android Operating System for Custom Board with the Implementation of an Administrative Tool

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination