FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > ArchLinux > ArchLinux General Discussion

 
 
LinkBack Thread Tools
 
Old 12-12-2010, 02:34 AM
"David C. Rankin"
 
Default Howto Preserve Current Kernel through Update?

Guys,

I want to keep the current kernel while I upgrade to 2.6.36-2 and where I
confused is how to use mkinitcpio to do this. What I think I can do to preserve
the current kernel as 2.6.36-dcr is:

(1) cp -a /lib/modules/2.6.36-ARCH /lib/modules/2.6.36-dcr
(2)

mkinitcpio -k 2.6.35-dcr
-c /etc/mkinitcpio.conf
-g /boot/kernel26-dcr.img

mkinitcpio -k 2.6.35-dcr
-c /etc/mkinitcpio.conf
-g /boot/kernel26-dcr-fallback.img
-S autodetect

(3) update grub menu.lst and create entries for the dcr kernel

Before I wasted too much time chasing my tail, I thought would put this out to
the list and see if (or what) I'm missing.


--
David C. Rankin, J.D.,P.E.
Rankin Law Firm, PLLC
510 Ochiltree Street
Nacogdoches, Texas 75961
Telephone: (936) 715-9333
Facsimile: (936) 715-9339
www.rankinlawfirm.com
 
Old 12-12-2010, 02:39 AM
"David C. Rankin"
 
Default Howto Preserve Current Kernel through Update?

On 12/11/2010 09:34 PM, David C. Rankin wrote:
> mkinitcpio -k 2.6.35-dcr
> -c /etc/mkinitcpio.conf
> -g /boot/kernel26-dcr.img
>
> mkinitcpio -k 2.6.35-dcr
> -c /etc/mkinitcpio.conf
> -g /boot/kernel26-dcr-fallback.img
> -S autodetect

Of course that should be 2.6.36-dcr

--
David C. Rankin, J.D.,P.E.
Rankin Law Firm, PLLC
510 Ochiltree Street
Nacogdoches, Texas 75961
Telephone: (936) 715-9333
Facsimile: (936) 715-9339
www.rankinlawfirm.com
 
Old 12-12-2010, 07:51 AM
Ray Rashif
 
Default Howto Preserve Current Kernel through Update?

On 12 December 2010 11:39, David C. Rankin
<drankinatty@suddenlinkmail.com> wrote:
> On 12/11/2010 09:34 PM, David C. Rankin wrote:
>> mkinitcpio -k 2.6.35-dcr
>> -c /etc/mkinitcpio.conf
>> -g /boot/kernel26-dcr.img
>>
>> mkinitcpio -k 2.6.35-dcr
>> -c /etc/mkinitcpio.conf
>> -g /boot/kernel26-dcr-fallback.img
>> -S autodetect
>
> Of course that should be 2.6.36-dcr

You're on the right track. Two points that you have to remember:

1) there must be modules
2) there must be a kernel image

Change the file names in /boot, because mkinitcpio still creates with
the standard names. You can change the config files as well.

I created a script to install an x64 kernel alongside i686, but it's
all about renames, so you can use it verbatim as well (if you have the
pkg cached):

http://paste.pocoo.org/show/303829/

./303829 $kernelpkgfile $name

Or just follow the steps and rename stuff in existing files.
 
Old 12-12-2010, 06:17 PM
"David C. Rankin"
 
Default Howto Preserve Current Kernel through Update?

On 12/12/2010 02:51 AM, < wrote:>
> On 12 December 2010 11:39, David C. Rankin
> <drankinatty@suddenlinkmail.com> wrote:
>> On 12/11/2010 09:34 PM, David C. Rankin wrote:
>>> mkinitcpio -k 2.6.35-dcr
>>> -c /etc/mkinitcpio.conf
>>> -g /boot/kernel26-dcr.img
>>>
>>> mkinitcpio -k 2.6.35-dcr
>>> -c /etc/mkinitcpio.conf
>>> -g /boot/kernel26-dcr-fallback.img
>>> -S autodetect
>>
>> Of course that should be 2.6.36-dcr
>
> You're on the right track. Two points that you have to remember:
>
> 1) there must be modules
> 2) there must be a kernel image
>
> Change the file names in /boot, because mkinitcpio still creates with
> the standard names. You can change the config files as well.
>
> I created a script to install an x64 kernel alongside i686, but it's
> all about renames, so you can use it verbatim as well (if you have the
> pkg cached):
>
> http://paste.pocoo.org/show/303829/
>
> ./303829 $kernelpkgfile $name
>
> Or just follow the steps and rename stuff in existing files.
>

Thank you Ray.

I guess the part I missed was not preserving the source directory. But I'm
still confused whether it is possible to preserve the running kernel as
"kernel-dcr" by copying the existing kernel files to the new name *without*
first modifying the kernel-package and then installing the modified package.

I guess what I don't know is whether simply copying the existing files in the
manner set out below will screw up any hard-coded links to the old kernel file
names. (like any links in the copied System.map26-dcr that still point to the
original System.map26, etc..) So do you know if it is possible to preserve the
existing kernel on the system as kernel (-dcr), by doing something like:

1. cp -a /usr/src/linux-2.6.36-ARCH /usr/src/linux-2.6.36-dcr

2. cp -a /lib/modules/2.6.36-ARCH /lib/modules/2.6.36-dcr

3. cp /boot/System.map26 /boot/System.map26-dcr

4. cp /boot/vmlinuz26 /boot/vmlinuz26-dcr

5. remake the initramfs

mkinitcpio -k 2.6.36-dcr
-c /etc/mkinitcpio.conf
-g /boot/kernel26-dcr.img

mkinitcpio -k 2.6.36-dcr
-c /etc/mkinitcpio.conf
-g /boot/kernel26-dcr-fallback.img
-S autodetect

6. update grub menu.lst and create entries for the dcr kernel

I will definitely use your script to remake the existing kernel package into a
custom -dcr package and give that a try. The script was great at helping me
along in this process. (I still need to unravel all the bsdtar options). Also, I
tweaked the top part of the script to make it a bit more generic and to provide
a bit of usage information on error. If you like, here are a few bits you could
incorporate:

#!/bin/bash

E_NO_P_1=1
E_INV_PKG=2

# simple usage function to provide usage and error information
Usage() {
[[ -n $1 ]] && echo -e "
ERROR: ${1}"
echo -e "
Usage: ${0##*/} krnl-pkg_name [krnl-extension (default:
CSTM)]
"
echo -e " The script repackages 'krnl-pkg_name' from its default name of
kernel26 to"
echo -e " kernel26-'krnl-extension' (default: kernel26-CSTM). The script will
rename"
echo -e " the source directory and module tree accordingly.
"
# test that $2 exists and is an interger and if so use as exit code
[[ -n $2 ]] && [[ $2 -eq $2 ]] &>/dev/null && exit $2
exit 1
}

[[ -z $1 ]] && Usage "Invalid Input - Arch Linux kernel package name required"
$E_NO_P_1
[[ $1 =~ pkg.tar ]] || Usage "Invalid Input - 'krnl-pkg_name' must be an Arch
Linux kernel package" $E_INV_PKG

NAME=${2:-CSTM} # I just used parameter substitution instead of 2 tests
[[ ${NAME:0:1} != - ]] && NAME="-$NAME" # if no - add it and not exit

# just temp test output to make sure it does what you want
echo -e "
$1: $1"
echo -e " $2: $2"
echo -e " Name: $NAME
"

Thanks for your help.

--
David C. Rankin, J.D.,P.E.
Rankin Law Firm, PLLC
510 Ochiltree Street
Nacogdoches, Texas 75961
Telephone: (936) 715-9333
Facsimile: (936) 715-9339
www.rankinlawfirm.com
 
Old 12-14-2010, 06:00 AM
Ray Rashif
 
Default Howto Preserve Current Kernel through Update?

On 13 December 2010 03:17, David C. Rankin
<drankinatty@suddenlinkmail.com> wrote:
> * * * *I guess what I don't know is whether simply copying the existing files in the
> manner set out below will screw up any hard-coded links to the old kernel file
> names. (like any links in the copied System.map26-dcr that still point to the
> original System.map26, etc..) So do you know if it is possible to preserve the
> existing kernel on the system as kernel (-dcr), by doing something like:
> snip <

Of course. I'd guess it's the normal way to do it. Think of it as a
manual kernel installation:

https://wiki.archlinux.org/index.php/Kernel_Compilation#Traditional

> * * * *I will definitely use your script to remake the existing kernel package into a
> custom -dcr package and give that a try. The script was great at helping me
> along in this process. (I still need to unravel all the bsdtar options). Also, I
> tweaked the top part of the script to make it a bit more generic and to provide
> a bit of usage information on error. If you like, here are a few bits you could
> incorporate:
> snip <

Sure, consider it done. The final tar+compress is adapted from makepkg, btw.
 

Thread Tools




All times are GMT. The time now is 02:58 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org