1.一种加快linux内核启动的自解压阶段的方法,其特征在于,包括以下步骤:
s1,确认flash中存储的zimage被分解成n块,其中,n为正整数;
s2,加载并行解压步骤:
s2.1,将第1个zimage块(zimage-1)从flash中加载到ram中;
s2.2,将第2个zimage块(zimage-2)从flash中加载到ram中,同时并行将已经加载到ram中的上一步骤s2.1中的第1个zimage块进行解压;
......以此类推,
s2.n,将第n个zimage块(zimage-n)从flash中加载到ram中,同时并行将已经加载到ram中的上一步骤s2.n-1中的第n-1个zimage块进行解压;
s2.n+1,将已经加载到ram中的第n个zimage块进行解压;
s3,还原文件步骤:ram中的第1个zimage块(zimage-1),第2个zimage块(zimage-2),......,第n个zimage块(zimage-n)解压后分别对应的是vmlinux-1,vmlinux-2,......,vmlinux-n,将vmlinux-1,vmlinux-2,......,vmlinux-n合并还原为vmlinux文件;
s4,完成解压步骤:执行vmlinux文件,完成自解压阶段。
2.根据权利要求1所述的一种加快linux内核启动的自解压阶段的方法,其特征在于,所述的加载的任务由flash控制器完成,所述的解压的任务由cpu完成。
3.根据权利要求1所述的一种加快linux内核启动的自解压阶段的方法,其特征在于,完成1块zimage的加载时间大于解压时间。
4.根据权利要求1所述的一种加快linux内核启动的自解压阶段的方法,其特征在于,在并行执行所需的时间是加载时间t1与第n块zimage的解压时间t2-n的总和。
5.根据权利要求1所述的一种加快linux内核启动的自解压阶段的方法,其特征在于,所述步骤s1中,每块zimage可独立加载到ram中。
6.根据权利要求1所述的一种加快linux内核启动的自解压阶段的方法,其特征在于,所述步骤s3中的合并还原是增加一段合并连接模块,将所述的vmlinux-1,vmlinux-2,......,vmlinux-n重新合并成一个vmlinux文件。
7.根据权利要求6所述的一种加快linux内核启动的自解压阶段的方法,其特征在于,所述的一段合并连接模块是将vmlinux-1,vmlinux-2,......,vmlinux-n按顺序连接成一个vmlinux文件。