Kernel compile slackware slackware64

rizitis | Παρ, 03/04/2011 - 22:39 | 10' | 1

Kernel compile 2.6.37.2 και διατήρηση του παλιού πυρήνα 2.6.35.11 σε slackware64 -cur

cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.37.2.tar.bz2
tar -jxf linux-2.6.37.2.tar.bz2
cd linux-2.6.37.2

Θέλω να είναι generic o πυρήνας οπότε παίρνω το config του generic

cp /boot/config-generic-2.6.35.11 .config

αν θέλουμε huge τότε

zcat /proc/config.gz > .config

Και μετά

make oldconfig

Χτίζουμε τον πυρήνα, στην δική μου περίπτωση cpus(4+4) καλό είναι το -j7 ανάλογα την σύνθεση του pc σας προσαρμόστε το.

make -j7

Φτιάχνουμε καφέ, μόλις τελειώσει φτιάχνουμε άλλο έναν και μαζί με το δεύτερο καφέ συνήθως τελειώνει και χτίσιμο του kernel

Ώρα για

make modules_install

Προσοχή στην κάτω παύλα αν γράψουμε από αφηρημάδα σκέτο make modules install θα αναρωτιώμαστε τι έπαθε!

Στην συνέχεια

cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.37.2

Πολύ ωραία τώρα έχουμε και πυρήνα και modules

Ήρθε η ώρα να ενημερώσουμε το lilo.conf ότι έχουμε 2 πυρήνες και θα επιλέγουμε εμείς με ποιον θα κάνουμε boot
το υπάρχον lilo.conf έχει τον huge.s kernel 2.6.35.11 και είναι αυτό

cat /etc/lilo.conf 
# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
# Append any additional kernel parameters:
append=" vt.default_utf8=1"
boot = /dev/sda

# Boot BMP Image.
# Bitmap in BMP format: 640x480x8
  bitmap = /boot/slack.bmp
# Menu colors (foreground, background, shadow, highlighted
# foreground, highlighted background, highlighted shadow):
  bmp-colors = 255,0,255,0,255,0
# Location of the option table: location x, location y, number of
# columns, lines per column (max 15), "spill" (this is how many
# entries must be in the first column before the next begins to
# be used.  We don't specify it here, as there's just one column.
  bmp-table = 60,6,1,16
# Timer location x, timer location y, foreground color,
# background color, shadow color.
  bmp-timer = 65,27,0,255

# Standard menu.
# Or, you can comment out the bitmap menu above and 
# use a boot message with the standard menu:
#message = /boot/boot_message.txt

# Wait until the timeout to boot (if commented out, boot the
# first entry immediately):
prompt
# Timeout before the first entry boots.
# This is given in tenths of a second, so 600 for every minute:
timeout = 1200
# Override dangerous defaults that rewrite the partition table:
change-rules
  reset
# Normal VGA console
vga = normal
# VESA framebuffer console @ 1024x768x64k
# vga=791
# VESA framebuffer console @ 1024x768x32k
# vga=790
# VESA framebuffer console @ 1024x768x256
# vga=773
# VESA framebuffer console @ 800x600x64k
# vga=788
# VESA framebuffer console @ 800x600x32k
# vga=787
# VESA framebuffer console @ 800x600x256
# vga=771
# VESA framebuffer console @ 640x480x64k
# vga=785
# VESA framebuffer console @ 640x480x32k
# vga=784
# VESA framebuffer console @ 640x480x256
# vga=769
# End LILO global section
# Linux bootable partition config begins
image = /boot/vmlinuz
  root = /dev/sda7
  label = Linux
  read-only
# Linux bootable partition config ends

Το κάνουμε edit και το τροποιούμε κάτω κάτω

# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
# Append any additional kernel parameters:
append=" vt.default_utf8=1"
boot = /dev/sda

# Boot BMP Image.
# Bitmap in BMP format: 640x480x8
  bitmap = /boot/slack.bmp
# Menu colors (foreground, background, shadow, highlighted
# foreground, highlighted background, highlighted shadow):
  bmp-colors = 255,0,255,0,255,0
# Location of the option table: location x, location y, number of
# columns, lines per column (max 15), "spill" (this is how many
# entries must be in the first column before the next begins to
# be used.  We don't specify it here, as there's just one column.
  bmp-table = 60,6,1,16
# Timer location x, timer location y, foreground color,
# background color, shadow color.
  bmp-timer = 65,27,0,255

# Standard menu.
# Or, you can comment out the bitmap menu above and 
# use a boot message with the standard menu:
#message = /boot/boot_message.txt

# Wait until the timeout to boot (if commented out, boot the
# first entry immediately):
prompt
# Timeout before the first entry boots.
# This is given in tenths of a second, so 600 for every minute:
timeout = 1200
# Override dangerous defaults that rewrite the partition table:
change-rules
  reset
# Normal VGA console
vga = normal
# VESA framebuffer console @ 1024x768x64k
# vga=791
# VESA framebuffer console @ 1024x768x32k
# vga=790
# VESA framebuffer console @ 1024x768x256
# vga=773
# VESA framebuffer console @ 800x600x64k
# vga=788
# VESA framebuffer console @ 800x600x32k
# vga=787
# VESA framebuffer console @ 800x600x256
# vga=771
# VESA framebuffer console @ 640x480x64k
# vga=785
# VESA framebuffer console @ 640x480x32k
# vga=784
# VESA framebuffer console @ 640x480x256
# vga=769
lba32
# End LILO global section
# Linux bootable partition config begins
image = /boot/vmlinuz-2.6.37.2
  initrd = /boot/initrd-2.6.37.2.gz
  root = /dev/sda7
  label = Linux
  read-only

image = /boot/vmlinuz-huge-2.6.35.11
  root = /dev/sda7
  label = Linux-old
  read-only
# Linux bootable partition config ends

Δεν τρέχουμε ακόμα το lilo αλλά ανοίγουμε το αρχείο /etc/mkinitrd.conf αν δεν υπάρχει τότε

cp /etc/mkinitrd.conf.sample /etc/mkinitrd.conf
nano /etc/mkinitrd.conf

Και κάνουμε uncoment ότι χρειάζεται μαζί με όποια αλλαγή χρειάζεται ανάλογα με το σύστημα που έχουμε.
Το δικό μου πχ είναι

# mkinitrd.conf.sample
# See "man mkinitrd.conf" for details on the syntax of this file
#
#SOURCE_TREE="/boot/initrd-tree"
CLEAR_TREE="0"
#OUTPUT_IMAGE="/boot/initrd.gz"
#KERNEL_VERSION="$(uname -r)"
#KEYMAP="us"
MODULE_LIST="ext3"
#LUKSDEV="/dev/sda2"
#LUKSKEY="LABEL=TRAVELSTICK:/keys/alienbob.luks"
ROOTDEV="/dev/sda7"
ROOTFS="ext3"
#RESUMEDEV="/dev/sda2"
#RAID="0"
#LVM="0"
#UDEV="1"
#MODCONF="0"
#WAIT="1"

Τελειώνουμε αποθηκεύουμε και τρέχουμε

mkinitrd -F -k 2.6.37.2

Αν όλα πάνε καλά θα πάρουμε ένα αποτέλεσμα /boot/initrd.gz created

Στην συνέχεια

mv initrd.gz initrd-2.6.37.2.gz

Τώρα τρέχουμε το lilo

lilo

και αν πάρουμε κάποιο σφάλμα: Warning: LBA32 addressing assumed

τότε προσθέτουμε την γραμμή lba32 στο lilo.conf όπως παραπάνω^^

Ξανα τρέχουμε το lilo μέχρι να πάρουμε αποτέλεσμα
'Added Linux *'

Αν όλα έχουν πάει καλά στο reboot θα μας εμφανιστούν 2 επιλογές για πυρήνα

LINUX

LINUX-OLD

Καλή επιτυχία

Δώσε αστέρια!

MO: (ψήφοι: 0)

Σχόλια