Χτες εγκατέστησα FreeBSD στον primary σκληρό δίσκο ενώ είχα ήδη εγκατεστημένο το Ubuntu στον secondary disk. Αν κάποιος έχει ήδη εγκατεστημένο Linux και θέλει να εγκαταστήσει BSD σε άλλο σκληρό μπορεί να ακολουθήσει τα επόμενα βήματα. Προσοχή! Οι οδηγίες είναι για διαφορετικούς σκληρούς δίσκους, όχι για διαφορετικά partitions του ίδιου δίσκου!!
Βήμα 1:
Πριν προχωρήσουμε στην εγκατάσταση του FreeBSD ελέγχουμε σε ποιο δίσκο έχουμε εγκατεστημένο το Linux και ποιος είναι ελεύθερος. Γράφουμε ως root:
# fdisk -l
και κοιτάζουμε σε ποιο sd ή hd είναι εγκατεστημένο το Linux.
Για παράδειγμα σε μένα η fdisk βρίσκει 2 σκληρούς δίσκους sda και sdb (το s επειδή είναι sata, αν δεν ήταν θα έβρισκε hda και hdb αντίστοιχα). Από την έξοδο της fdisk στον υπολογιστή μου φαίνεται ότι ο δεύτερος σκληρός (sdb) έχει το Linux:
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xb68cb68c
[...]
Disk /dev/sdb: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xa5c84c37
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 9352 75119908+ 83 Linux
/dev/sdb2 9353 9729 3028252+ 5 Extended
/dev/sdb5 9353 9729 3028221 82 Linux swap / Solaris
Βήμα 2:
Θέλουμε να εγκαταστήσουμε το FreeBSD στο σκληρό δίσκο που δεν έχει Linux (στο προηγούμενο παράδειγμα στο δίσκο sda). Κατά τη διάρκεια της εγκατάστασης το FreeBSD εντοπίζει τους δύο σκληρούς sda και sdb (ή hda hdb αν δεν είναι sata) ως ad0 και ad1 αντίστοιχα. Όταν λοιπόν τους εντοπίσει επιλέγουμε ως δίσκο εγκατάστασης τον ελεύθερο σκληρό. Στην προκειμένη περίπτωση ελεύθερος ήταν ο sda και επέλεξα ad0.
Βήμα 3:
Επιλογή bootloader! Σε κάποιο σημείο της εγκατάστασης του FreeBSD ζητείται να επιλέξουμε αν θα εγκατασταθεί boot loader ή όχι. Για να μη ρισκάρουμε να χαλάσουμε τις ρυθμίσεις του grub μπορούμε να επιλέξουμε την επιλογή: “None” που δεν εγκαθιστά κανένα boot loader. Τελειώνουμε την εγκατάσταση σύμφωνα με τις οδηγίες στο Handbook του FreeBSD και αφού αφαιρέσουμε το cd κάνουμε reboot.
Βήμα 4:
Αν όλα έχουν πάει καλά, μετά το reboot ανοίγει κανονικά το menu του grub όπως ακριβώς ήταν και πριν την εγκατάσταση του FreeBSD. Κάνουμε boot κανονικά στο Ubuntu και ανοίγουμε το /boot/grub/menu.lst με κάποιον editor ως root. Στο τέλος του αρχείου προσθέτουμε τις γραμμές:
title FreeBSD
root (hd0,a)
kernel /boot/loader
όπου στο root βάζουμε:
hd0 για sda, hda
hd1 για sdb, hdb κ.ο.κ.
hd0,0 για sda1 ή hda1
hd0,1 για sda2 ή hda2
hd1,1 για sdb1 ή hdb1 κ.ο.κ.
και a,b,… για το partition.
Αν για παράδειγμα θέλαμε να περιγράψουμε στη γλώσσα του grub το 3ο partition θα έπρεπε να πούμε root (hd0,2,a)
στο kernel βάζουμε /boot/loader πάντα και στο title ό,τι μας αρέσει εγώ έβαλα FreeBSD…
Βήμα 5:
Κλείνουμε και σώζουμε το νέο menu.lst και κάνουμε reboot.
Αν όλα πήγαν καλά, στο menu του grub θα πρέπει τώρα να δούμε κάτω από τις εγγραφές που αφορούν διάφορους kernels του Ubuntu μια εγγραφή FreeBSD που όταν επιλεγεί φορτώνει το FreeBSD.
Αν πήγαν όλα καλά και βάλατε FreeBSD με αυτή τη διαδικασία, καλό κουράγιο με τη συνέχεια που σας περιμένει μέχρι να το στήσετε καλά… ![]()
Αν έχετε Ubuntu, συνδέεστε στο Internet με καλώδιο Ethernet, έχετε static ip μέσα στο LAN σας και εγκατεστημένο Virtualbox (όλα τα φυσιολογικά δηλαδή) παρακάτω είναι ένα script-άκι που έφτιαξα για να μπορώ να μπαίνω στο Internet από τα Guest OSes του VirtualBox…
Host: Ubuntu Linux με εγκατεστημένο VirtualBox
Guest OSes: Νομίζω ότι όταν έφτιαξα και δοκίμασα το script είχα Guests: Debian Etch, Windows XP και FreeBSD 7.0, τώρα πάντως έχω Windows XP και δουλεύει..
Δεν έχετε παρά να γράψετε τις αριθμημένες εντολές σε ένα αρχείο και μετά να ακολουθήσετε τις οδηγίες:
1. tunctl -t tap1 -u eleni
(όπου eleni βάζετε το όνομα του user που χρησιμοποιεί το VirtualBox)
2. chown root.vboxusers /dev/net/tun ;
3. chmod g+rw /dev/net/tun ;
4. brctl addbr br0 ;
5. ifconfig eth0 0.0.0.0 promisc ;
6. brctl addif br0 eth0 ;
7. ifconfig br0 192.168.1.22 netmask 255.255.255.0 ;
(όπου η ip πρέπει να είναι η ip που έχετε μέσα στο LAN σας και μπορείτε να τη βρείτε μαζί με το netmask σας γράφοντας cat /etc/network/interfaces και βρίσκοντας κάτι σαν αυτό:
iface eth0 inet static
address 192.168.1.22
netmask 255.255.255.0)
8. route add default gw 192.168.1.1 br0 ;
(όπου η ip πρέπει να είναι η ip του router σας και μπορείτε να τη βρείτε γράφοντας route -n και βρίσκοντας μια εγγραφή σαν αυτή:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 br0)
9. brctl addif br0 tap1 ;
10. ifconfig tap1 up ;
Το script θα είναι κάπως έτσι:
#!/bin/sh
# set up the bridge (nat-virtualbox)
tunctl -t tap1 -u eleni ;
chown root.vboxusers /dev/net/tun ;
chmod g+rw /dev/net/tun ;
brctl addbr br0 ;
ifconfig eth0 0.0.0.0 promisc ;
brctl addif br0 eth0 ;
ifconfig br0 192.168.1.22 netmask 255.255.255.0 ;
route add default gw 192.168.1.1 br0 ;
brctl addif br0 tap1 ;
ifconfig tap1 up ;
(με τις αλλαγές που προαναφέρθηκαν)
Σώζετε ως name.sh ή name (όπου name το όνομα που θέλετε να έχει το script) και ακολουθείτε τις οδηγίες εδώ (από το βήμα 2) για να το κάνετε να τρέχει στο startup.
Προσοχή!! Αν χρησιμοποιείτε κάποιο firewall θα πρέπει να τροποποιήσετε τις ρυθμίσεις του (network settings στο firestarter)
Επιπλέον βοήθεια για όσους χρησιμοποιούν wireless υπάρχει εδώ.
Αν το script-άκι δουλέψει σωστά, γράφοντας την εντολή ifconfig θα μπορείτε να δείτε μια νέα συσκευή tap.
Καλή τύχη!
Υ.Γ: Εννοείται ότι το guest os θα παίρνει μια τυχαία ip μέσα στο LAN. Αν θέλετε να ρυθμίσετε το guest λειτουργικό ώστε να έχει static ip μέσα στο LAN π.χ. για να κάνετε port forwarding, τότε πρέπει να βεβαιωθείτε ότι δε δώσατε τη static ip που έχει το host! Αν δώσετε την ίδια static ip σε host και guest, αυτό που νομίζω ότι θα συμβεί (χωρίς να είμαι σίγουρη) είναι ότι θα μπορεί να μπει στο internet ή μόνο το guest λειτουργικό ή μόνο το host αλλά όχι και τα 2 ταυτόχρονα…
Startup Script – Ubuntu
Ιουλίου 5, 2008
Έχω αρχίσει να ξεχνάω τι κάνω
Θα κάνω μερικά post με ό,τι φτιάχνω στο pc για να τα βρίσκω όταν βιάζομαι!
Πώς φτιάχνουμε ένα script που τρέχει στην εκκίνηση:
Βήμα 1:
Γράφουμε το script σώζουμε ως .sh ή και χωρίς κατάληξη
Βήμα 2:
Βάζουμε το script στο /etc/init.d/ και
chmod +x scriptname
(ή αντί για x 755)
Βήμα 3:
update-rc.d scriptname defaults
Αν θέλουμε να το βγάλουμε από το startup:
update-rc.d -f scriptname remove