PDA

Επιστροφή στο Forum : Install Linux on an External USB HD



aeolist
06-02-05, 01:36
στόχος: ένα σύστημα linux το οποίο να μπορώ να κουβαλάω εκτός σπιτιού, έτσι ώστε να έχω έτοιμο λειτουργικό, προγράμματα, settings σε οποιοδήποτε pc.

υπάρχουν δύο τρόποι να επιτευχθεί το παραπάνω: α) live cd, β) linux στο 10 GB usb hd.

α) + : υπάρχουν έτοιμα πολύ καλα live cds (knoppix, dsl...), χρησιμοποιεί ελάχιστο χώρο στον σκληρό
- : δεν μπορείς να κάνεις install/update προγράμματα, θα πρέπει να κάνεις save τα settings στον σκληρο (δεν ξέρω ακόμα πόσο εύκολα ή δύσκολα γίνεται αυτό)

εναλλακτικά: φτίαχνεις το δικό σου live cd μέσω ibuild (debian - based), κατεβάζοντας τα βασικά packages και προσθέτοντας σε αυτά ό,τι χρειάζεσαι

β) + : εύκολο install/update, βάζεις όποια διανομή θέλεις
- : δεν εφαρμοζεται πάντα

πιο συγκεκριμένα, πολύ εύκολα μπόρεσα με το qtparted να διαμορφώσω τα partitions και μετά να εγκαταστήσω τα ubuntu απευθείας στον usb σκληρό. (υπάρχουν και εξειδικευμένες διανομές όπως το gentoo - based flash linux, οι οποίες όμως στην δικιά μου περίπτωση (10 gb) δεν κάνουν κάποια διαφορά)

όμως πώς δουλεύει το δόλιο το πράμα; αν το bios υποστηρίζει boot from usb hd, τότε όλα είναι (σχεδόν) ωραία και καλά
αν όχι τότε χρειάζεσαι grub boot diskette μαζί με initrd (και vmlinuz?) file το οποίο θα έχεις φτιάξει έτσι ώστε να υποστηρίζει usb δίσκο...

πώς σας ακούγεται; έχετε προσπαθήσει κάτι αντίστοιχο; σε διάφορα forums που έψαξα είναι θέμα προς διερεύνηση. τι προτείνεται;

mperedim
06-02-05, 02:27
όμως πώς δουλεύει το δόλιο το πράμα; αν το bios υποστηρίζει boot from usb hd, τότε όλα είναι (σχεδόν) ωραία και καλά. αν όχι τότε χρειάζεσαι grub boot diskette μαζί με initrd (και vmlinuz?) file το οποίο θα έχεις φτιάξει έτσι ώστε να υποστηρίζει usb δίσκο...

πώς σας ακούγεται; έχετε προσπαθήσει κάτι αντίστοιχο; σε διάφορα forums που έψαξα είναι θέμα προς διερεύνηση. τι προτείνεται;
Γίνεται. Δυστυχώς πάει κοντά χρόνος, ίσως παραπάνω, και δε θυμάμαι λεπτομέρειες (είχε συμβάλλει τα μέγιστα ένας linux geek). Είχε χρειαστεί initrd που είχε *σίγουρα* τα usbcode και ehci-hcd και usb-storage modules. Για ένα παράδειγμα κοίτα και στο http://www.redhat.com/docs/manuals/linux/RHL-7.3-Manual/custom-guide/s1-custom-kernel-initrd.html, το σκεπτικό είναι *ακριβώς αντίστοιχο*.

Για την ιστορία, ο δικός μου σκοπός τότε ήταν να στήσω linux στον USB δίσκο μου, χωρίς να πειράξω τα partitions στον κύριο δίσκο μου (πλέον boot-άρω windows στο σπίτι μόνο σε πολύ έκτακτες περιπτώσεις).

Δυστυχώς η μνήμη δε βοηθά για ένα detailed HOW-TO, πέρα από το να επισημάνω ότι είσαι σε σωστό δρόμο. Είναι προφανές ότι ξέρεις πέντε πράγματα παραπάνω, οπότε απλά προχώρα :)

pelasgian
06-02-05, 05:25
Εγώ χρησιμοποιώ ένα live cd (knoppix) για boot και το usb για διάφορα αρχεία και προγράμματα δικά μου. Το knoppix τρέχει ΠΑΝΤΟΥ, το δικό μου έχει τα διάφορα customs που χρειάζομαι και όλα είναι καλά. Μπορείς να περάσεις το knoppix σε ένα iso μέσα στο usb hdd και με δισκέτα να το μπουτάρεις αν το μηχάνημα δεν ... έχει dvd/cd;;;!!! (απίθανο, αλλά ποτέ δεν ξέρεις.) Σημείωση, το cd κάνει boot πιο γρήγορα από fd.

aeolist
06-02-05, 15:13
ένα από τα πράγματα που με ανησυχούν είναι ότι μάλλον σε usb 1.1 το σύστημα θα πάρει... μέρες για να bootarei
pelasgian, τι εννοείς ότι περνάς το knoppix σε iso και πώς κανεις το μηχάνημα να bootarei από δισκέτα (αν δεν έχει boot from usb). εννοείται ότι έχει cd to μηχάνημα! :)
mperedim, πάω να διαβάσω το guide, thanks

aeolist
07-02-05, 14:55
μου ήρθε μια ενναλακτική: μήπως μπορώ να bootarw από livecd ή κανονικά από windows (brrr!) και μετα με κάποιον emulator να μπω στο linux distro του usb... βέβαια αυτή η λύση δεν είναι και πολύ καθαρή

pelasgian
07-02-05, 16:43
Το linux μπορεί να διαβάσει iso αρχεία σε δίσκο (και usb) λες και είναι μέσα σε dvd/cd. Οπότε, αν μία δισκέτα ενεργοποιήσει ένα kernel με usb (2.0 και 1.1) και έχεις ένα usb1.1 εξωτερικό κουτί δίσκου, τότε μπορείς να μπουτάρεις livecd από το iso αρχείο του που βρίσκεται στον εξωτερικό δίσκο σου ακόμα και αν το μηχάνημα είναι τόσο παλιό ώστε να μην έχει auto-boot cd ή auto-boot usb2.0. Για να είσαι οργανωμένος πας πάντα με ένα εξωτερικό usb1.1/2.0 εξωτερικό κουτί δίσκου, ένα livecd knoppix και μία boot-disk (fd) για το knoppix.

Ε, με αυτά που είπα, παίξε και στο google και ξαναρώτα. (Βάλε και κάνα link εδώ άμα βρεις τίποτα ενδιαφέρον.)

Slammer
07-02-05, 18:52
Υπάρχει ειδική διανομή στη περίπτωση που κάποιος θέλει να κανει boot από USB Flash.
Κάπου την ειχε πάρει το μάτι μου στο distowatch, και απαιτεί μόλις 128ΜΒ (και ειναι πλήρης, με γραφικό περιβαλλον κλπ)
Βεβαια αν το BIOS σου, δεν επιτρέπει boot από τη usb, θα ειναι μπέρδεμα με τη δισκετα.
Θα επανέλθω όταν την βρω......


EDIT
Τη βρηκα... λεγεται feather linux και ειναι ενα knoppix remaster: http://featherlinux.berlios.de/

υπάρχουν κι αλλα αυτου του τυπου όπως αυτo:
http://www.goosee.com/puppy

aeolist
08-02-05, 02:12
τελικά το πρόβλημα το έλυσα με έναν τρόπο ιδιαίτερα... lame. boot απο το live cd του flash linux (σε αυτό έπαιξε ο τρόπος με την πρώτη, σε αντίθεση με dsl, knoppix) και μετα σε κονσόλα mount το usb, chroot στο bash του usb και τέλος startx. χωρίς κανένα export of variable το ubuntu τρέχει σε root λογαριασμό. θα βολευτώ έτσι μέχρι να βρώ καλύτερο τρόπο! ευχαριστώ για τις απαντήσεις σας

tvelocity
08-02-05, 02:17
Υπάρχει και αυτή η εναλακτική: http://www.ubuntuforums.org/showthread.php?t=9893

aeolist
20-03-05, 21:31
Η λύση είναι τελικά πολύ απλή: Χρειαζόμαστε έναν pc με λινουξ,με εγκατεστημένο grub και cdwriter, το φορητό μέσο (usb flash/hdd - από εδώ και πέρα usbdisk) με εγκατεστημένο το λινουξ, ένα kernel και ένα initrd. Θα δώσω γενικόλογα τις οδηγίες, αν υπάρξει απορία θα απαντήσω. Θα φτιάξουμε ένα grub boot cd με kernel (όχι homemade, μιας και δεν χρειάζεται, ο έτοιμος του ubuntu πάει μια χαρά) και initrd (homemade), με το οποίο θα bootaroume το καλό μας το usbdisk

Για αρχή ας φτιάξουμε ένα directory /home/tadopoulos/iso όπου θα συγκεντρώσουμε τα απαραίτητα αρχεία και ας συνδέσουμε/mount το

α) Θα κοπιάρουμε το /boot/vmlinuz* από το usbdisk στο /home/tadopoulos/iso

β) Θα κανουμε ένα sudo chroot [folder που έχει γίνει mount to usbdisk] /bin/bash
έπειτα ένα vi/nano/whatever /etc/mkinitrd/modules, όπου θα βάλουμε τα εξής: ide-disk, uhci-hcd, ehci-hcd, usb-storage, sd_mod
(εννοείται ωραία στοιχισμένα αριστέρα, το ένα κάτω από το άλλο κτλπ... να το κάνουμε ωραία!)
και έπειτα από το terminal θα δώσουμε mkinitrd -o /home/tadopoulos/initrd και τέλος, βγαίνοντας από το chroot με exit, αντιγράψουμε το initrd sto /home/tadopoulos/iso

γ) τώρα θα διαβάσουμε το εξαιρετικό manual του grub http://www.gnu.org/software/grub/manual/grub.html για το πώς γίνεται το grub boot cd και θα κάψουμε το .iso προϊόν τόσης προσπάθειας :)

Πάμε στο target machine, κάνουμε boot from cd, και όταν βγει με το καλό το grub command line του λέμε root (cd), kernel /vmlinuz* root=/dev/sda1 (ή όποιο είναι το partition του usbdisk που είναι το linux), initrd /initrd, boot

φυσικά για το τελευταίο θα μπορούσαμε να φτιάξουμε ένα menu.1st, το οποίο να μπει στο cd κατά τα γνωστά (ολόκληρο manual έχετε, βάλτε και χρωματάκια)

Μια απορία που θα μου μείνει βέβαια είναι αν μπορεί να γίνει και με έναν άλλο τρόπο: φόρτωμα στο cd του generic kernel και initrd μαζί με τα .ko modules
και μετα στο grub command line: root (cd), kernel /vmlinuz root=/dev/sda1, module (ή moduleunzip) ένα ένα όλα τα modules που χρειαζόμαστε, initrd /initrd και boot... θα μπορούσα να το δοκιμάσω, αλλά δεν αντέχω άλλο ψάξιμο...

επεξεργασία: μόλις βρήκα ένα προβληματάκι. νομίζω ότι μερικές φορές ο kerne l φορτώνεται ποιο γρήγορα από ότι πρέπει και δεν προλαβαίνει ο initrd na φορτώσει το usb, με αποτέλεσμα kernel panic. θα κοιτάξω μήπως υπάρχει κάποια εντολή delay... πείτε καμια ιδέα

@ ADSLgr.com All rights reserved.