一种龙芯平台的linux操作系统安装方法

文档序号:6376347阅读:217来源:国知局
专利名称:一种龙芯平台的linux操作系统安装方法
技术领域
本发明属于Linux操作系统技术领域,尤其涉及一种龙芯平台的LINUX操作系统安装方法。
背景技术
最来,CPU (中央控制单元)龙芯系列机型正受到各行业的青睐。随着龙芯平台及Linux操作系统越来越广泛利用于企业、学校及普通大众,对龙芯平台用户友好性的要求越来越高。目前X86平台下Linux操作系统发行版的安装都是基于友好和易用的安装方式,在多操作系统情况下,用户可以根据自己的需求启动自己想要启动的操作系统,而且在涉及笔记本的机器时,操作系统会自主安装笔记本所需要的应用程序,而在台式机时,则选择跳过不必要的上层应用程序。比如摄像头应用程序,基于X86平台下Linux操作系统则不 会安装摄像头应用程序。这些功能都给用户带来了方便。然而截止目前,这些上述这些方便的功能却未能在龙芯平台中实现。当在CPU龙芯系列的不同机型上安装多操作系统时,会出现一些非常恼人的技术问题。例如,如果将某个或某些操作系统安装在除第一硬盘分区以外的硬盘分区,那么安装了多个操作系统的龙芯机器系统启动时,主要作用是硬件初始化和操作系统引导的PMONCBIOS of Loongson,龙芯平台的基本输入输出系统)无法启动被安装在除第一分区以外的其它分区的那个或那些操作系统。这就导致当用户要开机启动所安装的操作系统时,在除第一分区以外的其它分区的安装的操作系统将无法自动启动。此外,一般情况下,普通用户并不熟悉如何进行文字配置,对配置文件非常陌生和棘手,因此当出现无法正常启动的问题时,用户甚至可能会认为系统没有安装成功。这给用户带来了极大烦恼,且非常不利于龙芯平台向普通大众的推广普及。此外,龙芯平台在安装Linux操作系统时,无法自动判断哪些应用程序需要安装,只是默认地安装全部应用程序的方式。这造成了存储空间的浪费,影响机器的性能。

发明内容
本发明所要解决的技术问题之一是需要提供一种能够避免在除第一硬盘分区以外的其它硬盘分区安装LINUX操作系统后无法启动新安装的系统的技术问题的龙芯平台的LINUX操作系统安装方法。为了解决上述技术问题,本发明提供了一种龙芯平台的LINUX操作系统安装方法。该方法包括生成用于安装待安装LINUX操作系统的初始化文件;将所述待安装LINUX操作系统内核、所生成的初始化文件以及系统压缩文件制作成镜像文件;确定所述待安装LINUX操作系统的目标安装分区;
将所述待安装LINUX操作系统内核和初始化文件加载至内存中;在启动根据初始化文件和镜像文件中的图形安装程序执行的图形安装时或之后,判断所述目标安装分区是否为第一硬盘分区;若判断结果为否,则将被安装于所述目标安装分区的内核复制至第一硬盘分区并在第一硬盘分区中设置能够加载所述内核的启动配置文件。根据本发明又一方面,所述将被安装于所述目标安装分区的内核复制至第一硬盘分区并在第一硬盘分区中设置能够加载所述内核的启动配置文件的步骤进一步包括判断第一硬盘分区是否存在启动配置文件;若不存在启动配置文件,则将目标安装分区中安装的所述待安装LINUX操作系统的内核复制至第一硬盘分区并创建能够加载该内核的启动配置文件,反之,将目标安装分区的LINUX操作系统的内核复制至第一硬盘分区并修改所述启动配置文件,以使得所述启动配置文件能够加载所述内核。通过判断第一硬盘分区的/boot/目录或根目录是否存在启动配置文件boot, cfg 来判断第一硬盘分区是否存在启动配置文件。根据本发明又一方面,若第一硬盘分区中存在其它LINUX操作系统的内核,则将要安装的LINUX操作系统的内核以区别于第一硬盘分区中的所述其它LINUX操作系统的内核的名称设置于第一硬盘分区。根据本发明又一方面,在将被安装于所述目标安装分区的内核复制至第一硬盘分区并在第一硬盘分区中设置能够加载所述内核的启动配置文件之前,还识别安装所述待安装LINUX操作系统的设备类型。根据本发明又一方面,将被安装于所述目标安装分区的内核中与所述设备类型对应的内核复制至第一硬盘分区。根据本发明又一方面,基于所识别的设备类型来安装与所识别的设备类型相适配的系统文件和应用程序。根据本发明又一方面,确定所述待安装LINUX操作系统的目标安装分区的步骤为进一步包括将预先设置的分区确定为所述目标安装分区,或者将在安装过程中接收到的用户输入的分区确定为目标安装分区。根据本发明又一方面,所述生成用于安装待安装LINUX操作系统的初始化文件的步骤进一步包括在所述龙芯平台中搭建initrd环境;在initrd环境中创建GTKDirectFB运行环境;编写启动脚本、安装过程脚本和所述图形安装程序;生成所述初始化文件。与现有技术相比,本发明的一个或多个实施例可以具有如下优点通过在将LINUX操作系统安装在了除第一硬盘分区以外的其它硬盘分区时,在启动根据initrd. gz和镜像文件中的图形安装程序执行的图形安装时或者之后,将所安装的LINUX操作系统的内核复制至第一硬盘分区并在第一硬盘分区设置能够加载该内核的启动配置文件,能够避免现有技术中在除第一硬盘分区以外的其它硬盘分区安装LINUX操作系统后无法启动新安装的系统的技术问题。虽然在下文中将结合一些示例性实施及使用方法来描述本发明,但本领域技术人员应当理解,为并不旨在将本发明限制于这些实施例。反之,旨在覆盖包含在所附的权利要求书所定义的本发明的精神与范围内的所有替代品、修正及等效物。
本发明的其他优点、目标,和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书,权利要求书,以及附图中所特别指出的结构来实现和获得。


附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中图I是根据本发明实施例的龙芯平台的LINUX操作系统安装方法的流程图;图2是根据本发明实施例在第一硬盘分区中设置所安装的LINUX操作系统的内核和能够加载该内核的启动配置文件的处理的流程图;图3是根据本发明又一实施例在第一硬盘分区中设置所安装的LINUX操作系统的内核和能够加载该内核的启动配置文件的处理的流程图。
具体实施例方式以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合, 所形成的技术方案均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。下面参考图I说明本实施例的龙芯平台的LINUX操作系统安装方法。步骤SI 10,生成用于安装待安装LINUX操作系统的初始化文件。更具体地,在龙芯平台下,可通过例如busybox等常用工具软件来搭建initrd环境。在initrd环境中创建GTK DirectFB运行环境。编写启动脚本、安装过程脚本和可在GTK DirectFB环境中运行的图形安装程序。然后生成作为初始化文件的initrd. gz文件。步骤S120,将所述待安装LINUX操作系统内核、所生成的初始化文件以及系统压缩文件制作成镜像文件。步骤S130,利用如PMON等将所述待安装LINUX操作系统内核和初始化文件加载至内存中。步骤S140,确定待安装LINUX操作系统的目标安装分区。可以预先设置好要将待安装LINUX操作系统安装到哪个分区,将预先设置(含默认设置的情况)的分区确定为目标安装分区,也可以将在安装过程中接收到的用户输入的分区确定目标安装分区。步骤S150,在启动根据initrd. gz和镜像文件中的图形安装程序执行的图形安装时或者之后,判断目标安装分区是否为第一硬盘分区,若判断结果为是,结束安装,若判断结果为否,则进入步骤S160。步骤S160,将步骤S130中安装的所述待安装LINUX操作系统的内核复制至第一硬盘分区中设置并在第一硬盘分区中设置能够加载该内核的启动配置文件。这样,当用户启动龙芯平台计算机时,可依据本步骤设置的启动配置文件及所复制的内核来成功启动已安装至所述目标安装分区的该在步骤S130中安装的LINUX操作系统,从而避免现有技术中在除第一硬盘分区以外的其它硬盘分区安装LINUX操作系统后无法启动新安装的系统的技术问题。本发明的发明人注意到各龙芯厂商内核不统一,甚至即使对于同一龙芯硬件厂商提供的各种机型(设备类型),它们的内核也不统一,这导致龙芯系统发行版中往往包含各主要厂商的各机型的各种不同内核。本发明的发明人注意到这一点,进一步将本发明优化为步骤S160中,在将被在步骤S130中安装于目标安装分区的LINUX操作系统的内核复制至第一硬盘分区之前,先识别安装所述待安装LINUX操作系统的设备类型(如,台式计算机、笔记本、移动智能终端等类型),再基于该设备类型,将与设备类型相对应的内核复制到 第一硬盘分区。进一步,以下参考图2来说明步骤S160的各子步骤。步骤S161,判断第一硬盘分区是否存在启动配置文件boot, cfg,若不存在,进入步骤S162,反之,进入步骤S163。不失一般地,可以通过检测根目录及boot目录下是否存在boot, cfg文件来判断是否第一硬盘分区是否存在启动配置文件boot, cfg。步骤S162,将位于目标安装分区的在步骤S130中安装的LINUX操作系统的内核复制至第一硬盘分区,并创建能够加载该内核的启动配置文件boot, cfg。步骤S163,将目标安装分区的步骤S130中安装的LINUX操作系统的内核复制至第一硬盘分区,并修改启动配置文件boot. Cfg以使得能够利用它来加载该内核。在将目标安装分区的步骤S130中安装的LINUX操作系统的内核复制至第一硬盘分区的处理中,优选为若第一硬盘分区中存在其它LINUX操作系统的内核,则可将步骤S130中安装的LINUX操作系统的内核以区别于第一硬盘分区中该其它LINUX操作系统的内核的名称存储于第一硬盘分区。更优选地,还可在步骤S160之后设置步骤S170。在步骤S170中,基于所识别的设备类型来安装与所识别的设备类型相适配的系统文件和应用程序。这样,可以将适配特定机型的应用程序仅安装到对应机型(设备类型)。在一个例子中,可在步骤S120中将在上述镜像文件的addon目录创建对应各龙芯机型的子目录,将适配各机型的系统文件和应用程序放置在对应子目录,然后在步骤S170中进行机型识别并安装addon目录下与所识别的设备类型对应的子目录下的系统文件及应用程序,而不安装addon目录下其它子目录下的文件。例如,可通过读取系统文件cat/proc/cmdline或cat/proc/boadinfo内容来识别安装所述待安装LINUX操作系统的设备类型。需要说明的是,步骤S170中关于识别安装所述待安装LINUX操作系统的设备类型的处理也可以在其它合理的时机进行。例如,可以在加载内核和initrd. gz进入内存环境时立即识别安装所述待安装LINUX操作系统的设备的类型,也可以在执行步骤S160之前执行。此外,步骤S160中设置启动配置文件的处理也可以设置在目标分区系统安装结束之后。此外,步骤S150、S160和S170的处理可利用可通过程序脚本实现。其它实施例上述实施例的子步骤S161至S163的处理还可以利用图3的各步骤来完成。下面详细说明图3的各步骤。步骤S310,判断第一 硬盘分区根目录下是否存在boot, cfg,若不存在,则进入步骤S320,反之进入步骤S330。步骤S320,判断第一硬盘分区是否存在/boot/目录,若不存在,则进入步骤S340,反之进入步骤S350。步骤S340,在该步骤中,根目录中不存在boot, cfg文件且不存在/boot/目录,在这种情况下,创建/boot/目录,将目标安装分区的步骤S130中安装的LINUX操作系统的内核复制至所创建的/boot/目录,并在所创建的/boot/目录下创建能够加载该内核的boot,cfg。步骤S350,在该步骤中,根目录中不存在boot, cfg文件且存在/boot/目录,在这种情况下,将目标安装分区的步骤S130中安装的LINUX操作系统的内核复制至该/boot/目录(当该/boot/目录下已经存在内核时,将所复制的步骤S130中安装的LINUX操作系统的内核以区别于该/boot/目录下已有的内核的名称存放),并通过创建或通过修改获得能够加载该内核的启动配置文件boot, cfg。当/boot/目录下存在boot, cfg文件时,通过修改已有boot, cfg来设置,当/boot/目录下不存在boot, cfg文件时,通过创建来设置。步骤S330,判断第一硬盘分区是否存在/boot/目录,若存在,则进入步骤S360,反之进入步骤S370。步骤S360,在该步骤中,根目录中存在boot, cfg文件且存在/boot/目录,在这种情况下,将目标安装分区的步骤S130中安装的LINUX操作系统的内核复制至/boot/目录(当该/boot/目录下已经存在内核时,将所复制的步骤S130中安装的LINUX操作系统的内核以区别于该/boot/目录下已有的内核的名称存放),并将根目录下的boot, cfg修改为能够加载该内核的启动配置文件。步骤S370,在该步骤中,根目录中存在boot, cfg文件且不存在/boot/目录,在这种情况下,创建/boot/目录,将目标安装分区的步骤S130中安装的LINUX操作系统的内核复制至所创建的创建/boot/目录,并将根目录下的boot, cfg修改为能够加载该内核的启动配置文件。可见,在该实施例中,通过判断第一硬盘分区的/boot/目录或根目录是否存在启动配置文件来判断第一硬盘分区是否存在启动配置文件,以提高判断效率。本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范 围为准。
权利要求
1.一种龙芯平台的LINUX操作系统安装方法,其特征在于,包括 生成用于安装待安装LINUX操作系统的初始化文件; 将所述待安装LINUX操作系统内核、所生成的初始化文件以及系统压缩文件制作成镜像文件; 确定所述待安装LINUX操作系统的目标安装分区; 将所述待安装LINUX操作系统内核和初始化文件加载至内存中; 在启动根据初始化文件和镜像文件中的图形安装程序执行的图形安装时或之后,判断所述目标安装分区是否为第一硬盘分区; 若判断结果为否,则将被安装于所述目标安装分区的内核复制至第一硬盘分区并在第一硬盘分区中设置能够加载所述内核的启动配置文件。
2.根据权利要求I所述的方法,其特征在于,所述将被安装于所述目标安装分区的内核复制至第一硬盘分区并在第一硬盘分区中设置能够加载所述内核的启动配置文件的步骤进一步包括 判断第一硬盘分区是否存在启动配置文件; 若不存在启动配置文件,则将目标安装分区中安装的所述待安装LINUX操作系统的内核复制至第一硬盘分区并创建能够加载该内核的启动配置文件,反之,将目标安装分区的LINUX操作系统的内核复制至第一硬盘分区并修改所述启动配置文件,以使得所述启动配置文件能够加载所述内核。
3.根据权利要求2中任一项所述的方法,其特征在于, 通过判断第一硬盘分区的/boot/目录或根目录是否存在启动配置文件boot. Cfg来判断第一硬盘分区是否存在启动配置文件。
4.根据权利要求2中任一项所述的方法,其特征在于,若第一硬盘分区中存在其它LINUX操作系统的内核,则将要安装的LINUX操作系统的内核以区别于第一硬盘分区中的所述其它LINUX操作系统的内核的名称设置于第一硬盘分区。
5.根据权利要求I至4中任一项所述的方法,其特征在于,在将被安装于所述目标安装分区的内核复制至第一硬盘分区并在第一硬盘分区中设置能够加载所述内核的启动配置文件之前,还识别安装所述待安装LINUX操作系统的设备类型。
6.根据权利要求5所述的方法,其特征在于,将被安装于所述目标安装分区的内核中与所述设备类型对应的内核复制至第一硬盘分区。
7.根据权利要求5所述的方法,其特征在于,基于所识别的设备类型来安装与所识别的设备类型相适配的系统文件和应用程序。
8.根据权利要求I至4中任一项所述的方法,其特征在于,确定所述待安装LINUX操作系统的目标安装分区的步骤为进一步包括将预先设置的分区确定为所述目标安装分区,或者将在安装过程中接收到的用户输入的分区确定为目标安装分区。
9.根据权利要求I至4中任一项所述的方法,其特征在于,所述生成用于安装待安装LINUX操作系统的初始化文件的步骤进一步包括 在所述龙芯平台中搭建initrd环境; 在initrd环境中创建GTK DirectFB运行环境; 编写启动脚本、安装过程脚本和所述图形安装程序;生成所述初始化文件。
全文摘要
本发明公开了一种龙芯平台的LINUX操作系统安装方法。该方法包括生成用于安装待安装LINUX操作系统的初始化文件;将所述待安装LINUX操作系统内核所生成的初始化文件以及系统压缩文件制作成镜像文件;确定所述待安装LINUX操作系统的目标安装分区;将所述待安装LINUX操作系统内核和初始化文件加载至内存中;在启动根据初始化文件和镜像文件中的图形安装程序执行的图形安装时或之后,判断所述目标安装分区是否为第一硬盘分区;若判断结果为否,则将被安装于所述目标安装分区的内核复制至第一硬盘分区并在第一硬盘分区中设置能够加载所述内核的启动配置文件。本发明能够避免在除第一硬盘分区以外的其它硬盘分区安装LINUX操作系统后无法启动新安装的系统。
文档编号G06F9/445GK102902554SQ201210323748
公开日2013年1月30日 申请日期2012年9月4日 优先权日2012年9月4日
发明者史安生, 何曌君, 陈放 申请人:中标软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1