Jump to content



linux1 + linux2 + ... + linuxN = linux multiple boot


bourlas1416003173

Recommended Posts

εχω ενα 200gb δισκο και θα ηθελα να περασω 3-4 διαφορετικα distro

π.χ. ubuntu, slackware, suse και μεσω grub να διαλεγω που θα μπω

1) το θεμα ειναι οτι απο οτι θυμαμαι μπορει καποιος να εχει μονο 4 primary partition η 3 Primary kai 1 extented το οποιο μπορει να εχει και πανω απο 4 παρτιτιον

2) πως μπορει να γινει π.χ. θα φτιαξω ενα ΒΟΟΤ παρτιτιον που θα γινεται mount kai απο τα 3 distro? που θα εχει μονο το grub και αν ναι θα βρει ολα τα παρτιον η θελει καποια εχτρα εντολη

3) επισης με 3 distro μπορω να εχω μονο 1 swap file ? η πρεπει να φτιαξω 3 swap file 1 για καθε distro

4) αν θελω να βαλω π.χ. 4 distro kanei boot to grub απο extended partition

Link to comment
Share on other sites

Το grub κάνει boot και από extended partition

Το έκανα έχοντας φορμάρει τα root με reiserfs.

Σε κάθε root θα σου φτιάξει αυτόματα και τα /boot

Μια ένδειξη για τα partitions.

/dev/sda1 -- Swap

/dev/sda2 -- /

/dev/sda3 -- /home

/dev/sda4 EXTENDED PARTITION

/dev/sda5 αυτό θα γίνει / (root) για τη δεύτερη διανομή

/dev/sda6 αυτό θα γίνει / (root) για την τρίτη διανομή

Τα /Swap και /home μπορεί να είναι κοινά και από τις τρεις διανομές.

Γράψε το Grub με το χέρι.

Δες και αυτή την πρόταση.

/dev/sda1 -- Swap

/dev/sda2 -- /boot

/dev/sda3 -- /home

/dev/sda4 EXTENDED PARTITION

/dev/sda5 -- /

/dev/sda6 αυτό θα γίνει / (root) για τη δεύτερη διανομή

/dev/sda7 αυτό θα γίνει / (root) για την τρίτη διανομή

Νομίζω οτι εδώ και το /boot μπορεί να είναι κοινό (μαζί και τα /Swap και /home).

Γράψε το Grub με το χέρι και δήλωσε γενικό mbr στο GRUB ώστε να φορτώνει από το /boot το κατάλληλο kernel για κάθε διανομή (θα έχεις τρία kernel με διαφορετικά ονόματα το καθένα).

Τη λύση αυτή δεν την δοκίμασα.

Θεωρητικά όμως πιστεύω οτι με λίγη προσπάθεια θα μπορούσε να δουλέψει.

Πολύ θάθελα να δω και τη γνώμη των πιο έμπειρων.

Link to comment
Share on other sites

Δες αυτό

http://www.thelab.gr/showthread.php?postid=405235#post405235

Ένα grub έχουμε στο mbr του πρώτου δίσκου που έχεις δηλώσει στο BIOS ως Boot.

Μετά σε κάθε partition όπου βάζεις το λειτουργικό θα έχεις στο /boot/grub/ κάποια αρχεία.

Το σημαντικότερο είναι το menu.lst.

Link to comment
Share on other sites

Φτιάξε ένα primary partition ~100MB και βάλε εκεί το grub και τα kernel-images απο όλες τις διανομές με διαφορετικά ονόματα kernel-2.x.xx-x-dist1, ... Το partition αυτό θα γίνεται mount απο όλες τις διανομές σαν /boot. Στο menu.list (που βρίσκεται στο /boot/gub) κάθε διαφορετική διανομή που έχεις θα φορτώνει διαφορετικό πυρήνα (το πυρήνα της) με παράμετρο το partition που είναι η κάθε διανομή πχ kernel-image-2.x.xx-x-dist1 root=/dev/sda5.

Αν σε κάθε partition που έχεις διανομή βάλεις το grub στο /boot τότε το grub απο το mbr θα βλέπει το menu.list απ' όπου έχει γίνει εγκατάσταση. Έτσι τα υπόλοιπα /boot δε θα χρειάζονται παρα μόνο για τα kernel-images.

Link to comment
Share on other sites

Επειδή αυτά δεν είναι εύκολα θα κάνω μια προσπάθεια να τα γράψω αναλυτικά, ώστε αν κάπου κάνω λάθος να με διορθώσετε ώστε να υπάρχει εδώ ένας κατανοητός οδηγός.

Έστω λοιπόν ότι έχουμε φτιάξει ένα partition /boot.

Στήσαμε και το ένα από τα τρία Linux λειτουργικά με βάση τη δεύτερη πρόταση για partitions που έγραψα παραπάνω.

Έστω λοιπόν οτι το πρώτο λειτουργικό είναι το Linux SUSE 10.1

Στην περίπτωση αυτή θα έχουμε τα εξής αρχεία στο /boot

backup_mbr

boot -> .

config-2.6.16.13-4-smp

grub

initrd -> initrd-2.6.16.13-4-smp

initrd-2.6.16.13-4-smp

memtest.bin

message

symsets-2.6.16.13-4-debug.tar.gz

symsets-2.6.16.13-4-default.tar.gz

symsets-2.6.16.13-4-kdump.tar.gz

symsets-2.6.16.13-4-smp.tar.gz

symsets-2.6.16.13-4-xen.tar.gz

symtypes-2.6.16.13-4-smp.gz

symvers-2.6.16.13-4-smp.gz

System.map-2.6.16.13-4-smp

vmlinux-2.6.16.13-4-smp.gz

vmlinuz -> vmlinuz-2.6.16.13-4-smp

vmlinuz-2.6.16.13-4-smp

Από τα παραπάνω τα vmlinuz, initrd και boot είναι sym links, ενώ το grub είναι φάκελος.

Ειδικά το symlink boot παραπέμπει στο τρέχον kernel που έχει φορτωθεί.

Μέσα στο Grub έχουμε τα εξής αρχεία.

default, ffs_stage1_5,

minix_stage1_5,

ufs2_stage1_5, device.map,

iso9660_stage1_5,

reiserfs_stage1_5,

vstafs_stage1_5,

device.map.old,

jfs_stage1_5,

stage1,

xfs_stage1_5,

e2fs_stage1_5

menu.lst

stage2

fat_stage1_5

menu.lst.old

stage2.old

Τα αρχεία αυτά μπορεί να είναι κοινά για όλες τις διανομές, με σημαντικότερο για μας το menu.lst που μπορούμε να το τροποποιήσουμε.


# Modified by YaST2. Last modification on Mon Jun 12 01:44:13 EEST 2006

color white/blue black/light-gray
default
timeout 8
gfxmenu (hd0,1)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE Linux 10.1
root (hd0,1)
kernel /boot/vmlinuz root=/dev/sda2 vga=0x31a resume=/dev/sda1 splash=silent showopts
initrd /boot/initrd

###Don't change this comment - YaST2 identifier: Original name: floppy###
title Floppy
chainloader (fd0)+1

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- SUSE Linux 10.1
root (hd0,1)
kernel /boot/vmlinuz root=/dev/sda2 vga=normal showopts ide=nodma apm=off acpi=off noresume edd=off 3
initrd /boot/initrd

Αντί λοιπόν να φορτώνουμε το kernel /boot/vmlinuz, που είναι ουσιαστικά ένα sym link, το αλλάζουμε σε /boot/vmlinuz-2.6.16.13-4-smp και το /boot/initrd σε /boot/initrd-2.6.16.13-4-smp.

Όταν πάμε να εγκαταστήσουμε το επόμενο λειτουργικό μπορούμε να δηλώσουμε κατά την εγκατάσταση ως /boot, ως /swap και ως /home τα ήδη υπάρχοντα partition, και μετά να γράψουμε το menu.lst ώστε να έχουμε και εκτός τα παραπάνω που είχαμε και αυτό που μας έβαλε η εγκατάσταση της νέας διανομής, που θα μπορούσε να είναι το παρακάτω.

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title SUSE Linux 10.1
root (hd0,1) ## Εφόσον μιλάμε για τον ίδιο δίσκο.
kernel /boot/vmlinuz-2.6.16.19 root=/dev/sda6 vga=0x31a resume=/dev/sda1 splash=silent showopts
initrd /boot/initrd-2.6.16.19

Εδώ λέμε να φορτώσει το kernel vmlinuz-2.6.16.19 και να κάνει restart από το /dev/sda1 που είναι το swap partition.

Link to comment
Share on other sites

Αρχική απάντηση από mariosalice [Χθες, στις 19:18]

symsets-2.6.16.13-4-debug.tar.gz

symsets-2.6.16.13-4-default.tar.gz

symsets-2.6.16.13-4-kdump.tar.gz

symsets-2.6.16.13-4-smp.tar.gz

symsets-2.6.16.13-4-xen.tar.gz

symtypes-2.6.16.13-4-smp.gz

symvers-2.6.16.13-4-smp.gz

Αυτά τα αρχεία τι ρόλο βαράνε γιατι πρώτη φορά τα βλέπω σε linux ???

Link to comment
Share on other sites

Τα symsets έχουν αρχεία κειμένου.

Για παράδειγμα το symsets-2.6.16.13-4-debug έχει μεταξύ άλλων το αρχείο

drivers_ieee1394.7309cb42f203322e

Το symsets-2.6.16.13-4-default έχει αντίστοιχα το drivers_ieee1394.461ad4c903f9c721

Το περιεχόμενο του drivers_ieee1394.461ad4c903f9c721 είναι έτσι ...

0x9e652477	dma_prog_region_free	drivers/ieee1394/ieee1394
0x8aa0a21c dma_prog_region_init drivers/ieee1394/ieee1394
0x6afab772 dma_region_alloc drivers/ieee1394/ieee1394
0xa32cfffc dma_region_free drivers/ieee1394/ieee1394
0x087d1179 dma_region_init drivers/ieee1394/ieee1394
0xee4a8f3d dma_region_mmap drivers/ieee1394/ieee1394

Το symtypes-2.6.16.13-4-smp.gz έχει τα παρακάτω (ένα μικρό κομμάτι από την αρχή)

/* arch/i386/kernel/acpi/boot.o */
acpi_strict int acpi_strict
t#u8 typedef unsigned char u8
x86_acpiid_to_apicid t#u8 x86_acpiid_to_apicid []
t#u32 typedef unsigned int u32
acpi_register_gsi int acpi_register_gsi (t#u32, int, int)
t#acpi_handle typedef void * acpi_handle
acpi_map_lsapic int acpi_map_lsapic (t#acpi_handle, int *)
acpi_unmap_lsapic int acpi_unmap_lsapic (int)
t#u64 typedef unsigned long long u64
acpi_register_ioapic int acpi_register_ioapic (t#acpi_handle, t#u64, t#u32)
acpi_unregister_ioapic int acpi_unregister_ioapic (t#acpi_handle, t#u32)

/* arch/i386/kernel/cpu/mtrr/main.o */
mtrr_add int mtrr_add (unsigned long, unsigned long, unsigned int, char)
mtrr_del int mtrr_del (int, unsigned long, unsigned long)

Το symvers-2.6.16.13-4-smp.gz έχει το εξής περιεχόμενο (ένα κομμάτι από την αρχή)

0xf54aec7b	o2hb_register_heartbeat_group	fs/ocfs2/cluster/ocfs2_nodemanager
0x0afcd39c pcmcia_reset_card drivers/pcmcia/pcmcia
0x6fb5ab71 mpt_deregister drivers/message/fusion/mptbase
0x34a4a7b1 firmware_unregister vmlinux
0xaa169452 set_anon_super vmlinux
0x13e35770 kmem_cache_alloc vmlinux
0x5511f656 ds_write_block drivers/w1/ds9490r
0x96cd2b04 scsi_sense_key_string drivers/scsi/scsi_mod

Κομμάτι δύσκολα τα πράγματα με το kernel στο SUSE 10.1 ... :blink:

Link to comment
Share on other sites

επειδη τα δοκιμασε ολα και τελικα η πιο ευκολη λυση ειναι η παρακατω

φτιαχνω π.χ.

sda1 /root linux1

sda2 swap

sda3 /home

sda4 linux 2

sda5 linux 3

....

sdaN linux N

περναμε κανονικα οτι Linux μας κατεβει απλως καθε φορα κανουμε bootable to τελευταιο partition που περασαμε μια διανομη και παντα βαζουμε το grub sto mbr

με αυτον τον τροπο η τελευταια διανομη ξερει για τις προηγουμενες και ολα δουλευουν οκ

ισως αυτος ο τροπος να ειναι λιγο μπακαλικος αλλα ειναι ευχρηστος

Link to comment
Share on other sites

Υπάρχει κάποιος λόγος που έβαλες το sda1 /root linux1 ?

Επίσης το /dev/sda4 έτσι όπως τα έχεις θα είναι υποχρεωτικά EXTENDED PARTITION

οπότε τα επόμενα Linux θα μπαίνουν σε /dev/sda5 /dev/sda6 κλπ.

Δήλωσες σε όλα τα επόμενα Linux που εγκαθιστούσες να έχεις το ίδιο partition sda3 /home ή σου έφτιαξε άλλα /home στα sda5 linux 2 κλπ?

Δες λίγο τα αρχεία menu.lst στην πρώτη και στην τελευταία διανομή που εγκατέστησες και αν μπορείς γράψε μας εδώ το περιεχόμενο τους.

Link to comment
Share on other sites

το sda1, oxi ετσι το ειχα οποτε δεν το αλλαξα για να λεμε την αληθεια εκει εχω κατι winxp αμα χρειαστει να γινει κατι η τα κανω σαλατα και δεν κανει βοοτ

αφου το grub κανει βοοτ και απο extended partion βεβαια ναι εκανα λαθος το sda4 ειναι το ιδιο to extended partition οποτε δεν γινεται να εχει καποια διανομη

οποτε ξεκιναμε απο sda5 το οποιο προς το παρον ειναι ενα μεγαλο παρτιτιον για δεδομενα των xp

kai αρα το πρωτο linux ειναι sda6

sda1 winxp

sda2 swap

sda3 home

sda4 extended partition

sda5 ntfs

sda6 ubuntu 6.06

sda7 ununtu 6.06 server

και απο αυριο sda8 slackware (αληθεια εχει grub η lilo?)

το menu.lst του sda6 einai

mpla mpla

title Ubuntu, kernel 2.6.15-25-686

root (hd0,5)

kernel /boot/vmlinuz-2.6.15-25-686 root=/dev/sda6 ro quiet splash

initrd /boot/initrd.img-2.6.15-25-686

savedefault

boot

title Ubuntu, kernel 2.6.15-25-686 (recovery mode)

root (hd0,5)

kernel /boot/vmlinuz-2.6.15-25-686 root=/dev/sda6 ro single

initrd /boot/initrd.img-2.6.15-25-686

title Microsoft Windows XP Professional

root (hd0,0)

savedefault

makeactive

chainloader +1

και το 2 menu.lst απο το sda7

title Ubuntu, kernel 2.6.15-23-server

root (hd0,6)

kernel /boot/vmlinuz-2.6.15-23-server root=/dev/sda7 ro quiet splash

initrd /boot/initrd.img-2.6.15-23-server

savedefault

boot

title Ubuntu, kernel 2.6.15-23-server (recovery mode)

root (hd0,6)

kernel /boot/vmlinuz-2.6.15-23-server root=/dev/sda7 ro single

initrd /boot/initrd.img-2.6.15-23-server

boot

title Microsoft Windows XP Professional

root (hd0,0)

savedefault

makeactive

chainloader +1

title Ubuntu, kernel 2.6.15-25-686 (on /dev/sda6)

root (hd0,5)

kernel /boot/vmlinuz-2.6.15-25-686 root=/dev/sda6 ro quiet splash

initrd /boot/initrd.img-2.6.15-25-686

savedefault

boot

title Ubuntu, kernel 2.6.15-25-686 (recovery mode) (on /dev/sda6)

root (hd0,5)

kernel /boot/vmlinuz-2.6.15-25-686 root=/dev/sda6 ro single

initrd /boot/initrd.img-2.6.15-25-686

savedefault

boot

bootable partition ειναι το sda7

Link to comment
Share on other sites

Κατάφερες το /home να το βλέπουν όλες οι διανομές?

Πώς το έκανες? Κατά την εγκατάσταση κάθε διανομής δήλωνες το συγκεκριμένο partition sda3 ως /home χωρίς να ζητήσεις να γίνει format?

Με τον ίδιο τρόπο θα μπορούσες να έχεις ένα partition /boot και ένα μόνο menu.lst, αυτό του δεύτερου.

Link to comment
Share on other sites

κατα την ωρα της εγκαταστασης διαλεξα το /home να ειναι το sda3 και να μην γινει φορματ τουλαχιστον στα 2 ubuntu (6.06 & server) που εβαλα γινεται

ξεκιναω τωρα slackware

(μια ερωτηση περναω το 10.2 αλλα αμα θελω το current γινεται Update απο 10.2?)

Link to comment
Share on other sites

Δεν το ξέρω. Σε μένα έγινε πάντως μια χαρά update το 10 σε 10.1.

Φαντάζομαι ότι το ίδιο εύκολα θα γίνεται και το 10.2, 10.1.

Με λίγα λόγια βάζεις το CD ή το DVD του 10.1 και λες να κάνεις update.

Πες μας εντυπώσεις από τις διανομές.

Πώς σου φάνηκαν, αν έχουν κάποια προβλήματα, ξέρεις .... γενικά τι εντύπωση σου άφησαν.

Πάντως θάθελα να δω το Gentoo και το redhat.

Όταν αυξηθεί η ταχύτητα του ADSL θα τα εγκαταστήσω να τα δω.

Επίσης και το Ubuntu πρέπει να είναι καλό.

Αν και νομίζω οτι όσα έχουν το ίδιο kernel δεν θα πρέπει να έχουν μεγάλες διαφορές.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.