本发明涉及系统安装,具体为一种嵌入式linux系统通用安装器的实现方法。
背景技术:
1、鉴于linux系统的广泛应用,诸如个人pc/服务器,嵌入式设备等多样的产品形态,但对于linux系统而言,一切皆文件,linux系统的安装过程,本质是文件的拷贝过程和存储介质的改变。围绕linux系统安装器展开来讲,安装过程通常涉及硬盘分化/格式化、文件系统拷贝、系统时区、系统语言、用户/密码等基础配置,不同系统厂商出于易用性,扩展性的考量,也会导致安装器有所差异。
2、针对嵌入式linux系统的安装,未有一种通用方式或硬件规范。系统安装大多依赖烧录工具,将系统镜像文件烧录到嵌入式板卡的存储器件,由于嵌入式板卡和引导方式导致的差异性,实际操作均有所不同,另一方面,随着行业内瘦终端/云端产品搭载linux系统(严格划分,其也属于嵌入式linux系统),但其安装方式则类似与个人pc/服务器的系统安装方式。
3、不同于个人pc的系统安装,当前的嵌入式设备的系统安装方式,实际操作仍具有一定的难度。在系统适配和功能开发阶段,对于研发人员,需要掌握不同嵌入式板卡的系统烧录方式,但通常并不是所有的改动都需要重新烧录系统镜像,一方面烧录通常较为消耗时间,频繁烧录影响存储器件的寿命,另一方面,烧录过程操作不当会损坏嵌入式板卡,导致开发效率低下。在产品运营维护阶段,设备出现故障,由于无法方便的执行性安装和调试,通常只能更新或返厂维修。
技术实现思路
1、为解决上述问题,本发明的目的是提供一种嵌入式linux系统通用安装器的实现方法,旨在为嵌入式linux系统的安装提供一种较为通用的开发方法。
2、一种嵌入式linux系统通用安装器的实现方法,包括下列步骤:
3、s1,将通用安装器作为功能插件集成到initrd中,所述通用安装器包括核心安装程序install-core和必要工具tools-utils;
4、s2,对通用安装器进行引导,用于确保能够进入系统运行通用安装器;
5、s3,将根文件系统rootfs拷贝到嵌入式板卡的板载磁盘,并做特定配置,用于确保嵌入式板卡从所述板载磁盘引导系统;
6、s4,核心安装程序install-core对引导文件进行配置,用于确保板载磁盘内的系统能够被引导启动。
7、优选的,步骤s1中,所述将通用安装器作为功能插件集成到initrd中,包括:
8、使用debootstrap制作根文件系统rootfs;
9、通过chroot切换到根文件系统rootfs安装initramfs-tools,用于提供一个通用安装器的集成环境;
10、将通用安装器制作为deb软件包,并在deb软件包hooks脚本中调用initramfs-tools工具中的update-initramfs -u指令触发更新initrd;并通过hooks脚本集成核心安装程序install-core和必要工具tools-utils到initrd中。
11、优选的,步骤s2,包括:
12、用户通过串口转接头连接嵌入式板卡,进行终端控制;
13、嵌入式板卡固件从u盘/tf卡引导通用安装器。
14、优选的,步骤s3,包括:
15、s31,在运行核心安装程序install-core后,检测嵌入式板卡存储设备,并扫描rootfs文件;
16、s32,根据rootfs文件类型的不同进行挂载;
17、s33,核心安装程序install-core解析/proc/cmdline,进入自动安装模式、或人工安装模式,用于加载安装配置文件;所述人工安装模式提供交互界面,用户选择进入自动安装模式或调试模式;
18、s34,在人工安装模式和自动安装模式运行的最后阶段,向用户展示系统安装配置文件,并提供给用户进行确认后,开始进行系统安装;
19、s35,核心安装程序install-core解析安装配置文件,获取系统安装目标磁盘,并对目标磁盘进行区分和格式化操作,然后拷贝文件系统,配置系统挂载点,chroot到目标磁盘中,做系统配置。
20、优选的,步骤s33,包括:
21、在人工安装模式下,通过交互界面,由用户自行配置系统时区、系统语言、用户/密码;核心安装程序install-core将用户配置保存到系统指定路径下的安装配置文件;
22、在自动安装模式下,核心安装程序install-core根据rootfs文件所在板载磁盘位置加载安装配置文件,并替换到系统指定路径下的安装配置文件;
23、在调试模式下,核心安装程序install-core启动终端环境,在终端环境下用户可执行常见的linux管理命令和调试命令。
24、优选的,步骤s4,包括:
25、根据uboot/uefi/pmon引导类型不同,配置相应的引导文件,确保板载磁盘具备系统可引导能力;
26、在对引导文件配置完成后,退出chroot环境,核心安装程序install-core拷贝安装日志,并进行解挂载通用安装器以及安装目标磁盘的清理操作;
27、核心引导程序install-core提示安装完成,拔取u盘/tf卡,重启设备,检测嵌入式板卡是否能从板载磁盘进行引导,若是,则进入系统。
28、本发明的有益效果:
29、通过总结一种嵌入式linux系统通用安装器的实现方法,旨在为嵌入式linux系统的安装提供一种较为通用的开发和使用思路,提高开发人员开发效率,另外在嵌入式设备出现问题时,能够预先通过系统安装尝试解决问题,降低返厂维修的概率。
1.一种嵌入式linux系统通用安装器的实现方法,包括下列步骤:
2.根据权利要求1所述的一种嵌入式linux系统通用安装器的实现方法,其特征在于,步骤s1中,所述将通用安装器作为功能插件集成到initrd中,包括:
3.根据权利要求1所述的一种嵌入式linux系统通用安装器的实现方法,其特征在于,步骤s2,包括:
4.根据权利要求1所述的一种嵌入式linux系统通用安装器的实现方法,其特征在于,步骤s3,包括:
5.根据权利要求4所述的一种嵌入式linux系统通用安装器的实现方法,其特征在于,步骤s33,包括:
6.根据权利要求1所述一种嵌入式linux系统通用安装器的实现方法,其特征在于,步骤s4,包括:
