Skip to Content

puppy系统内核升级的移置技巧

写这个帖子是源于前期定制了一款luki-022.iso中文系统分享后,有网友抱怨系统内核偏低(原版内核3.2.8),苦于自身编译升级内核不在行,因此悉心拜读相关puppy系统内核升级的方法后,摸索出其内核升级移置的一些技巧。
一、网贴puppy系统内核升级移置的方法
这是一篇很早的关于内核升级移置的帖子《如何在不同版本的PUPPY之间更换内核(让LUPU-511使用WARY-060的内核)》,该贴地址:
http://e-pup.5d6d.net/viewthread.php?tid=1227
如果按该贴的方法进行pupp系统内核升级移置,出现的瑕疵有两点:一是系统开机启动进度条不整齐;二是系统开机后或进不了桌面。
二、我所摸索的内核升级移置技巧
1、移置内核3.42至luki-022.iso
下载puppy衍生版queeze-5.X.3.4.2-SCSI.iso(内核3.4.2),下载地址:
http://www.smokey01.com/pemasu/DpupSqueeze5X/DpupExprimo5X342/squeeze-5.X.3.4.2-SCSI.iso
2、原版luki-022.iso(内核3.2.8)下载地址:
http://smokey01.com/saluki/isos/luki-022.iso
3、提取queeze-5.X.3.4.2-SCSI.iso下的ppy_squeeze_5.X.3.4.2.sfs、vmlinuz、initrd.gz三个文件;再提取ppy_squeeze_5.X.3.4.2.sfs文件中/etc/modules、/etc/DISTRO_SPECS、/lib/modules、/lib/firmware文件备用;再修改从queeze-5.X.3.4.2-SCSI.iso提取的initrd.gz文件的DISTRO_SPECS备用,并新制成luki-022内核升级后的启动引导文件initrd.gz。
例:原版luki-022.iso中的DISTRO_SPECS内容是:
#One or more words that identify this distribution:
DISTRO_NAME='Saluki'
#version number of this distribution:
DISTRO_VERSION=022
#The distro whose binary packages were used to build this distribution:
DISTRO_BINARY_COMPAT='puppy'
#Prefix for some filenames: exs: lukisave.2fs, luki-022.sfs
DISTRO_FILE_PREFIX='luki'
#The version of the distro whose binary packages were used to build this distro:
DISTRO_COMPAT_VERSION='wary5'
#the kernel pet package used:
DISTRO_KERNEL_PET='linux_kernel-3.2..8-luki.pet'
#read by /usr/bin to bypass Xorg Wizard at first boot:
DISTRO_XORG_AUTO='yes'
DISTRO_TARGETARCH='x86'
#16-byte alpha-numeric ID-string appended to vmlinuz, puppy_luki_022.sfs, zdrv_luki_022.sfs and devx.sfs:
DISTRO_IDSTRING='s120610204320ZZZZ022XXXXXX'
#Puppy default filenames...
#Note, the 'SFS' files below are what the 'init' script in initrd.gz searches for,
#for the partition, path and actual files loaded, see PUPSFS and ZDRV in /etc/rc.d/PUPSTATE
DISTRO_PUPPYSFS='puppy_luki_022.sfs'
DISTRO_ZDRVSFS='zdrv_luki_022.sfs'
DISTRO_PUPPYDATE='Jun 2012'
queeze-5.X.3.4.2-SCSI.iso中的DISTRO_SPECS内容是:
#One or more words that identify this distribution:
DISTRO_NAME='Dpup Exprimo'
#version number of this distribution:
DISTRO_VERSION=5.X.3.4.2
#The distro whose binary packages were used to build this distribution:
DISTRO_BINARY_COMPAT='debian'
#Prefix for some filenames: exs: warysave.2fs, wary-5.1.2.2.sfs
DISTRO_FILE_PREFIX='squeeze'
#The version of the distro whose binary packages were used to build this distro:
DISTRO_COMPAT_VERSION='squeeze'
#the kernel pet package used:
DISTRO_KERNEL_PET='linux_kernel-3.4.2-dpup.pet'
#read by /usr/bin to bypass Xorg Wizard at first boot:
DISTRO_XORG_AUTO='yes'
DISTRO_TARGETARCH='x86'
#16-byte alpha-numeric ID-string appended to vmlinuz, puppy_squeeze_5.X.3.4.2.sfs, zdrv_squeeze_5.X.3.4.2.sfs and devx.sfs:
DISTRO_IDSTRING='s120610204320ZZZZ5.X.3.4.2XXXXXX'
#Puppy default filenames...
#Note, the 'SFS' files below are what the 'init' script in initrd.gz searches for,
#for the partition, path and actual files loaded, see PUPSFS and ZDRV in /etc/rc.d/PUPSTATE
DISTRO_PUPPYSFS='puppy_squeeze_5.X.3.4.2.sfs'
DISTRO_ZDRVSFS='zdrv_squeeze_5.X.3.4.2.sfs'
DISTRO_PUPPYDATE='Jun 2012'
luki-022内核升级后DISTRO_SPECS内容是:
#One or more words that identify this distribution:
DISTRO_NAME='Saluki'
#version number of this distribution:
DISTRO_VERSION=022
#The distro whose binary packages were used to build this distribution:
DISTRO_BINARY_COMPAT='puppy'
#Prefix for some filenames: exs: lukisave.2fs, luki-022.sfs
DISTRO_FILE_PREFIX='luki'
#The version of the distro whose binary packages were used to build this distro:
DISTRO_COMPAT_VERSION='wary5'
#the kernel pet package used:
DISTRO_KERNEL_PET='linux_kernel-3.4.2-dpup.pet'
#read by /usr/bin to bypass Xorg Wizard at first boot:
DISTRO_XORG_AUTO='yes'
DISTRO_TARGETARCH='x86'
#16-byte alpha-numeric ID-string appended to vmlinuz, puppy_luki_022.sfs, zdrv_luki_022.sfs and devx.sfs:
DISTRO_IDSTRING='s120610204320ZZZZ022XXXXXX'
#Puppy default filenames...
#Note, the 'SFS' files below are what the 'init' script in initrd.gz searches for,
#for the partition, path and actual files loaded, see PUPSFS and ZDRV in /etc/rc.d/PUPSTATE
DISTRO_PUPPYSFS='puppy_luki_022.sfs'
DISTRO_ZDRVSFS='zdrv_luki_022.sfs'
DISTRO_PUPPYDATE='Jun 2012'
4、使用原版luki-022.iso镜像,进入系统保存个人2 fs 文件后,删除该系统下的
etc/modules、etc/DISTRO_SPECS、/lib/modules、/lib/firmware,用ppy_squeeze_5.X.3.4.2.sfs中提取的/etc/modules、/etc/DISTRO_SPECS、/lib/modules、/lib/firmware替换后,重启系统。
5、使用修正汉化后的remasterpup2脚本(/usr/sbin/remasterpup2)定制系统。附修正汉化的remasterpup2文件下载地址:
http://115.com/file/ancqro74#remasterpup2文件.tar.gz
使用这种方法定制的内核升级系统还需要进一步完善:原因是/lib/modules、/lib/firmware已改变为3.4.2,但etc/modules、etc/DISTRO_SPECS仍为3.2.8 。完善的技巧是提取该系统下/initrd/pup_ro2下的所有文件,替换3.4.2的etc/modules、etc/DISTRO_SPECS后,再用mksquashfs命令压制成luki_022. sfs文件。
6、最后,再将新压制成的luki-022. sfs与个人保存2fs文件一起进入系统,用remasterpup2脚本定制即可。
附:定制的luki-022.iso( 内核3.4.2)下载地址:
http://115.com/file/dpknc0ny#luki-022.iso
注:个人保存文件2fs,请使用pupsaveconfig个人存储文件设置工具。

发表新评论

  • 你可以在文本中使用BBCode标记语言。 URL会自动被转为链接。

更多关於格式化选项的信息

CAPTCHA
请验证您是否是机器人。
Image CAPTCHA
Enter the characters shown in the image.