Disk images για εκκίνηση από δισκέτα, CD, σκληρό ή από το δίκτυο

Ξεκίνησε από alkisg, 24 Αυγ 2008, 08:46:40 ΜΜ

« προηγούμενο - επόμενο »

alkisg



Ο οδηγός αυτός είναι ξεπερασμένος, ακολουθήστε τον νέο στη διεύθυνση http://ts.sch.gr/wiki/Linux/LTSP/Εκκίνηση_από_το_δίκτυο.



Στον παρόντα οδηγό περιλαμβάνονται τα απαραίτητα αρχεία καθώς και οδηγίες για την προσθήκη δυνατότητας εκκίνησης μέσω δικτύου σε clients των οποίων η κάρτα δικτύου δεν υποστηρίζει PXE. Εκτός από το ...διάβασμα, η διαδικασία δεν είναι επίπονη, και έτσι μπορείτε να την εφαρμόσετε σε όλα τα PC, ανεξάρτητα από το αν σκοπεύετε τελικά να τα χρησιμοποιήσετε σαν thin clients ή όχι. Για παράδειγμα, η εκκίνηση μέσω δικτύου χρησιμοποιείται και από το fogproject για μαζικές εγκαταστάσεις Windows.

Μέθοδοι εκκίνησης:

Πλεονεκτήματα σε σχέση με άλλες μεθόδους / δισκέτες / CD:


  • Χρησιμοποιήθηκε το gPXE, το δημοφιλές λογισμικό ανοικτού κώδικα για εκκίνηση μέσω δικτύου. Το gPXE υποστηρίζει τις περισσότερες κάρτες δικτύου, ενώ επιτρέπει εκκίνηση από ένα σωρό διαφορετικά πρωτόκολλα (tftp, ftp, http, aoe, iscsi...).
    Μάλιστα, από τη συνημμένη έκδοση (0.9.7+git) και μετά, υποστηρίζει και το πρωτόκολλο proxy DHCP, ώστε να μπορεί να γίνει η εκκίνηση ακόμα κι αν ο router λειτουργεί ως DHCP server.

  • Χρησιμοποιήθηκε ο grub4dos boot manager, ο οποίος επιτρέπει να εκκινήσουμε όποιο λειτουργικό θέλουμε (δείτε και τη συνημμένη εικόνα λειτουργίας), για παράδειγμα:

    • Windows, οπουδήποτε κι αν βρίσκονται στο σκληρό μας
    • Linux, οπουδήποτε κι αν βρίσκεται στο σκληρό μας
    • Linux (thin clients) ή οποιοδήποτε άλλο image έχουμε μέσω δικτύου (φυσικά χρειάζεται σχετικός server)
    • Εικονικές δισκέτες, εικονικά CD, εικονικούς δίσκους...
    • Και επίσης δίνει τη δυνατότητα για κάποιες εργασίες συντήρησης (έλεγχο μνήμης RAM με το memdisk86, διαχείριση partitions κτλ)
    Οι επιλογές δοκιμάζονται όλες με τη σειρά, δηλαδή αν δεν έχετε NT/2000/XP θα δοκιμάσει την επόμενη (95/98/Me), μετά θα δοκιμάσει εκκίνηση μέσω δικτύου κτλ. Μπορείτε εύκολα να τροποποιήσετε το μενού εκκίνησης (αρχείο menu.lst) ή να προσθέσετε κι άλλες επιλογές.
  • Επίσης ενσωματώθηκε το memtest για έλεγχο πιθανώς προβληματικής μνήμης RAM καθώς και τα εγχειρίδια του grub και του grub4dos.

alkisg

#1
Κατεβάστε το συνημμένο gpxe.dsk και γράψτε το σε μια δισκέτα 1.44Mb με οποιονδήποτε από τους παρακάτω τρόπους θέλετε:


Το αρχείο αυτό είναι το ίδιο με αυτό που μπορείτε να προμηθευτείτε από τη σελίδα http://www.rom-o-matic.net/ και διατίθεται εδώ απλά για λόγους πληρότητας.

alkisg

#2
Κάψτε το συνημμένο gpxe.iso σε ένα CD με όποιο πρόγραμμα διαθέτετε.

Το αρχείο αυτό είναι το ίδιο με αυτό που μπορείτε να προμηθευτείτε από τη σελίδα http://www.rom-o-matic.net/ και διατίθεται εδώ απλά για λόγους πληρότητας.

alkisg

#3
Αποσυμπιέστε το συνημμένο grubgpxe.zip και γράψτε τα περιεχόμενα του υποφακέλου C "χύμα" στο C:\. Δηλαδή C:\grldr, C:\grldr.mbr, C:\menu.lst και φάκελος C:\boot\.

Στη συνέχεια πηγαίνετε στο μενού Έναρξη » εκτέλεση και γράψτε
C:\boot\grub\bootlace --time-out=0 0x80

Το 0x80 αναφέρεται στον πρώτο σκληρό δίσκο, ενώ ο δεύτερος σκληρός είναι 0x81 κτλ.

Προσοχή:Η παραπάνω εντολή θα εγκαταστήσει τον grub4dos στον Master Boot Record (MBR) του σκληρού σας δίσκου. Αν ποτέ θελήσετε να τον βγάλετε, θα πρέπει να πάτε Έναρξη » εκτέλεση και να γράψετε
C:\boot\grub\bootlace --restore-mbr 0x80


Εάν χρειάζεστε να προσαρμόσετε τις επιλογές του μενού εκκίνησης, ανοίξτε το C:\menu.lst.

alkisg

#4
Προτείνεται να χρησιμοποιήσετε τον win32-loader εάν έχετε Windows 2000/XP/2003.


Από εδώ και κάτω είναι η παλιά και ξεπερασμένη μέθοδος, μην ασχολείστε μαζί της εκτός αν δοκιμάσατε τον win32-loader  και δεν σας δούλεψε.

Αφού αποσυμπιέσετε το grubgpxe.zip, γράψτε τα περιεχόμενα του υποφακέλου C "χύμα" στο C:\. Δηλαδή C:\grldr, C:\grldr.mbr, C:\menu.lst και φάκελος C:\boot\.

Στη συνέχεια πηγαίνετε στο μενού Έναρξη » εκτέλεση και γράψτε
attrib -r -s -h C:\boot.ini

Αυτό δεν θα εμφανίσει κάτι, απλά θα ακυρώσει την προστασία εγγραφής που πιθανώς να έχει το boot.ini. Ξανά Έναρξη » εκτέλεση και δώστε
notepad C:\boot.ini


Στο τέλος του αρχείου αυτού προσθέστε τη γραμμή
C:\grldr="GRUB4DOS boot loader"

Αποθηκεύστε το αρχείο και κλείστε το σημειωματάριο.

Προαιρετικά μπορείτε να κάνετε δεξί κλικ στο "Ο υπολογιστής μου" » Ιδιότητες » Για προχωρημένους » Εκκίνηση και αποκατάσταση, όπου και υπάρχει η δυνατότητα να προσαρμόσετε το αν θα προβάλλεται το μενού με την επιλογή λειτουργικού, για πόση ώρα θα προβάλλεται, και ποιο θα είναι το προεπιλεγμένο λειτουργικό (Windows ή GRUB4DOS boot loader).

Εάν χρειάζεστε να προσαρμόσετε τις επιλογές του μενού εκκίνησης, ανοίξτε το C:\menu.lst.

alkisg

#5
Προτείνεται να χρησιμοποιήσετε τον win32-loader εάν έχετε Windows Vista/7/2008.


Από εδώ και κάτω είναι η παλιά και ξεπερασμένη μέθοδος, μην ασχολείστε μαζί της εκτός αν δοκιμάσατε τον win32-loader  και δεν σας δούλεψε.

Αφού αποσυμπιέσετε το grubgpxe.zip, γράψτε τα περιεχόμενα του υποφακέλου C "χύμα" στο C:\. Δηλαδή C:\grldr, C:\grldr.mbr, C:\menu.lst και φάκελος C:\boot\.

Στη συνέχεια πηγαίνετε στο μενού Έναρξη » Όλα τα προγράμματα » Βοηθήματα » Γραμμή εντολών και κάντε δεξί κλικ » εκτέλεση ως διαχειριστής.
Στην κονσόλα που θα βγει δώστε
bcdedit /create /d "GRUB4DOS boot loader" /application bootsector


Τα Windows θα απαντήσουν με κάτι σαν
Η δημιουργία της καταχώρησης {04595f8c-de6b-11dc-ab4c-b354e8ed1f5e} ολοκληρώθηκε με επιτυχία.


Αντιγράψτε τον τεράστιο αυτό αριθμό (GUID) της καταχώρησης, θα χρειαστεί να τον βάλετε στις παρακάτω εντολές στα σημεία που βλέπετε το {id}:
bcdedit /set {id} device boot
bcdedit /set {id} path grldr.mbr
bcdedit /displayorder {id} /addlast


Προαιρετικά μπορείτε να πάτε στο Πίνακας Ελέγχου » Σύστημα και Συντήρηση » Σύστημα » Ρυθμίσεις συστήματος για προχωρημένους » Εκκίνηση και αποκατάσταση: κουμπί Ρυθμίσεις, όπου και υπάρχει η δυνατότητα να προσαρμόσετε το αν θα προβάλλεται το μενού με την επιλογή λειτουργικού, για πόση ώρα θα προβάλλεται, και ποιο θα είναι το προεπιλεγμένο λειτουργικό (Windows ή GRUB4DOS boot loader).

Εάν χρειάζεστε να προσαρμόσετε τις επιλογές του μενού εκκίνησης, ανοίξτε το C:\menu.lst.

alkisg

#6
Εάν έχετε Ubuntu 9.10 ή 10.04 και χρησιμοποιείτε τον προεπιλεγμένο grub2, απλά εγκαταστήστε το πακέτο gpxe-grub από το αποθετήριο της Τεχνικής Στήριξης ΣΕΠΕΗΥ.
Για παλιότερες εκδόσεις, συνεχίστε το διάβασμα.


Αν και ο grub4dos έχει πλεονεκτήματα έναντι του απλού grub, όπως για παράδειγμα τον αυτόματο εντοπισμό των λειτουργικών σε οποιονδήποτε δίσκο και την ενσωματωμένη δυνατότητα memdisk, η διανομή σας λογικά θα πρέπει να έχει ρυθμίσει ικανοποιητικά το /boot/grub/menu.lst σας ώστε να μην χρειάζεστε κάτι πέρα από τη δυνατότητα εκκίνησης μέσω δικτύου.

Επομένως απλά αποσυμπιέστε το grubgpxe.zip και γράψτε το αρχείο C/boot/gpxe.krn στο φάκελο /boot/ του συστήματός σας (θα χρειαστείτε δικαιώματα root). Στη συνέχεια προσθέστε τις παρακάτω γραμμές στο /boot/grub/menu.lst:
title Boot from network
kernel /boot/gpxe.krn


Εάν θέλετε κάτι ποιο εξεζητημένο, διαβάστε το grub4dos tutorial.

alkisg

Τα συνημμένα αρχεία ενημερώθηκαν με νέες εκδόσεις.

Πλέον δεν χρησιμοποιείται αρχείο δικτυακών ρυθμίσεων gpxe.txt, το συνημμένο gpxe είναι η ίδια έκδοση που υπάρχει στη σελίδα http://www.rom-o-matic.net χωρίς καμία αλλαγή.
Αυτό επειδή δεν χρειάζεται πια· η πρόταση που κάναμε για υποστήριξη του proxy dhcp πρωτοκόλλου υλοποιήθηκε και από το gpxe και από το dnsmasq!

Proxy dhcp σημαίνει ότι μπορεί να δουλέψει με το παρακάτω σενάριο:
1) Να υπάρχει ένας απλός router που να δίνει διευθύνσεις IP (όπως συμβαίνει συνήθως στα σχολεία),
2) Να τρέχει κάπου ένα PC που να έχει εγκατεστημένη πρόσφατη έκδοση του dnsmasq, το οποίο να έχει ρυθμιστεί σε proxy dhcp mode (σετάρεται αυτόματα με τα sch-scripts), και
3) Οι clients είτε να υποστηρίζουν PXE (μέσω BIOS) είτε να έχουν πρόσφατη έκδοση του gPXE σε σκληρό, δισκέτα κτλ.

Επομένως στην περίπτωση που ο LTSP server (ή γενικότερα ο boot server) έχει μία μόνο κάρτα δικτύου δεν χρειάζονται πια κόλπα με αρχεία δικτυακών ρυθμίσεων, ειδικά dhcpd.conf αρχεία, αλλαγή ports του dhcp server κτλ, αλλά δουλεύουν όλα αυτοματοποιημένα.

Φυσικά τα συνημμένα αρχεία μπορούν να δουλέψουν και με τον dhcp3-server, δηλαδή και στην κλασσική περίπτωση εγκατάστασης LTSP με 2 κάρτες δικτύου στον server.

Λάμπρος Μπουκουβάλας

Λάμπρος Μπουκουβάλας
MSc - MRes

http://blogs.sch.gr/lambrosbouk

Ο Θουκυδίδης  (που τον διαβάζουν οι ξένοι, αλλά όχι εμείς)  έγραφε: «Αταλαίπωρος τοις πολλοίς η ζήτησις της αληθείας, και επί τα ετοίμα μάλλον τρέπονται» (Ι, 20, 3). Οι περισσότεροι δηλαδή αναζητούν αβασάνιστα την αλήθεια και στρέφονται σε ό,τι βρίσκουν έτοιμο. Δεν προβληματίζονται...

markakis

Έχει βγεί έκδοση 0.9.9 του gPXE που από ότι φαίνεται έχει πρόβλημα. Τουλάχιστον ΔΕΝ ΔΟΥΛΕΥΕΙ για εγκατάσταση "μια κάρτα δικτύου - όλα σε κοινό switch - DHCP από τον router". Με τις εκδόσεις 0.9.7 και 0.9.8 που έχω δοκιμάσει, δεν είχα κανένα απολύτως πρόβλημα.

alkisg

Χμμ έκανα μια δοκιμή σε VirtualBox και μου δούλεψε κανονικά (αρχείο gpxe-0.9.9-gpxe.dsk).
Με ποιο αρχείο δοκίμασες; Τι μηνύματα βγάζει;

(σημείωση για όσους έχουν ήδη κάποια έκδοση του gpxe: το gpxe δεν χρειάζεται ποτέ αναβάθμιση, απλά για να μπουτάρουν οι clients είναι, αν έχουμε ήδη οποιαδήποτε έκδοση που δουλεύει δεν την πειράζουμε)

markakis

Παράθεση από: alkisg στις 05 Νοε 2009, 09:22:09 ΜΜ
Με ποιο αρχείο δοκίμασες; Τι μηνύματα βγάζει;

Δοκίμασα τόσο το gpxe-0.9.9+-gpxe.lkrn (για εκκίνηση από δίσκο) όσο και το gpxe-0.9.9+-gpxe.iso (εκκίνηση από CD) με το ίδιο ακριβώς αποτέλεσμα. Οι δοκιμές έγιναν σε "κανονικό" περιβάλλον (όχι VirtualBox). Επισυνάπτω στιγμιότυπο οθόνης με το μήνυμα σφάλματος. Υπενθυμίζω πρόκειται για εγκατάσταση με 1 κάρτα δικτύου, DHCP από το router.

Παράθεση από: alkisg στις 05 Νοε 2009, 09:22:09 ΜΜ
(σημείωση για όσους έχουν ήδη κάποια έκδοση του gpxe: το gpxe δεν χρειάζεται ποτέ αναβάθμιση, απλά για να μπουτάρουν οι clients είναι, αν έχουμε ήδη οποιαδήποτε έκδοση που δουλεύει δεν την πειράζουμε)

Πολύ σωστή παρατήρηση. Απλά το επισημαίνω γιατί σε καινούρια εγκατάσταση, συνηθίζουμε να κατεβάζουμε ό,τι πιο καινούριο.

alkisg

Γρηγόρη δοκίμασα σε κανονικό client, και επίσης μου δούλεψε.
Το πρόβλημα που δείχνεις στη συνημμένη εικόνα το είχα δει σε παλιότερη έκδοση του gpxe αλλά μόνο αν ο server συνδεόταν στο δίκτυο με wireless, οπότε και δεν ασχολήθηκα επειδή ήταν πολύ σπάνια περίπτωση...

Θα ήταν καλό εσύ που μπορείς να αναπαραγάγεις το πρόβλημα να κάνεις κανά bug report στο gpxe, ή να πας στο irc στο κανάλι #etherboot, ώστε να το λύσουν με την πρώτη ευκαιρία.

alkisg

Όσοι έχουν clients με Karmic ή Lucid, μπορούν αν θέλουν να εγκαταστήσουν το πακέτο gpxe-grub το οποίο βρίσκεται διαθέσιμο στο Αποθετήριο Τεχνικής Στήριξης ΣΕΠΕΗΥ.

Μετά την εγκατάσταση του πακέτου, θα τους εμφανιστεί μια καινούργια καταχώρηση "Network boot (gpxe)" στο μενού του grub2 τους, με την οποία οι clients θα μπορούν να ξεκινάνε από το δίκτυο, όποτε αυτό είναι επιθυμητό.

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

alkisg

#14
Τα συνημμένα αρχεία ανανεώθηκαν με την έκδοση 1.0 του gpxe. Να επαναλάβω ότι το gpxe αν δουλεύει δεν χρειάζεται ποτέ να το κάνουμε update. :)

Παραθέτω επίσης και μια μέθοδο εκκίνησης από το δίκτυο χωρίς καθόλου DHCP server στον LTSP server. Αυτή για παράδειγμα μπορεί να χρησιμοποιηθεί αν έχουμε 3 εργαστήρια LTSP στο ίδιο υποδίκτυο και δεν θέλουμε να "μπλέξουμε" τους clients με τους servers.

1. Πηγαίνουμε στη σελίδα http://rom-o-matic.net/gpxe/gpxe-1.0.0/contrib/rom-o-matic/.
2. Πατάμε το κουμπί [Customize] στο κάτω μέρος της σελίδας.
3. Διαλέγουμε το μέσο που θέλουμε (δισκέτα, CD, kernel κτλ) και στο κουτί «Embedded script» στο τέλος της σελίδας γράφουμε ένα script σαν το παρακάτω:
dhcp net0
# Put the LTSP server IP in the following line
set next-server 10.160.31.10
kernel tftp://${next-server}/ltsp/i386/vmlinuz ro initrd=initrd.img nbdroot=${next-server}:2000 nbd_proxy=false
initrd tftp://${next-server}/ltsp/i386/initrd.img
boot vmlinuz


Πατάμε [Get Image] και είμαστε έτοιμοι.