Copy Unix (ufs) CD

DJ Art djart at linux.gr
Fri Dec 22 13:56:01 EET 2000


Spiros Georgaras wrote:
> 
> Γεια σε όλους.
> Με την ευκαιρία να ευχηθώ καλές γιορτές.
> 
>   Το πρόβλημα που αντιμετωπίζς είναι το ακόλουθο:
> Έχω ένα bootable CD από κάποιο dist του UNIX και θέλω να το κάνω copy.
> 
> To file system που περιέχει το CD είναι ufs (το έχω κανει mount και
> έχω δει τα περιεχόμενά του).
> 
>   Η ερώτηση που προκύπτει τώρα είναι πως θα το κάνς copy?
>   To xcdroast δεν δουλεύει (ψάχνει να βρει iso-9660 CD).
>   Σκέφτηκα να κάνω ένα dummy ufs file system (σε αρχείο), να περάσω
> (cp) εκεί το CD, και τελικά να γράψω αυτό το αρχείο στο CD που θα
> είναι το αντίγραφο του πρώτου. Το θέμα είναι οτι αν ακολουθήσω αυτήν
> την διαδικασία θα πετύχω να είναι το αντίγραφο bootable? Ξέρει κανείς
> αν γίνεται ή δεν γίνεται αυτό;
>   Αν όχι υπάρχει κάποιος τρόπος για να κάνς την αντιγραφή του CD?

Ναι, έτσι όπως λές να το κάνεις, δεν θα είναι bootable.

Αν θές δοκίμασε τα εξής:

dd if=/dev/cdrom of=cdimage.iso

(*** χΩΡΙΣ ΝΑ ΕΙΝΑΙ MOUNTED TO CD ***)


Αντικαθιστάς το /dev/cdrom με τη δική σου συσκευή, ενώ το cdimage.iso
είναι το όνομα του αρχείου στο οποίο θα γραφτεί το image από το CD (~650
MB στον κατάλογο που θα βρίσκεσαι)

Μετά μπορείς να κάνεις ένα verify με 

isovfy cdimage.iso

*** υπάρχει και το isoinfo, κοίτα στο τέλος του mail

και για το τελικό test θα κάνεις ένα:

mount -o loop -t <UFS> cdimage.iso /mnt/cdrom

Στο -t <UFS> θα βάλεις ότι χρειάζεται (ότι χρησιμοποίησες και για να
κάνεις mount το CD) Αν χρησιμοποίησες για να κάνεις mount το CD κι άλλες
επιλογές με -o βάλτες κι αυτές με κόμμα δίπλα στο loop.


Μετά πήγαινε στο /mnt/cdrom κάνε ls, whatever και θα πρέπει να
"φαίνονται" σαν να είχες κάνει mount το ίδιο το CD.

Note: Πρέπει να έχεις ενεργοποιημένο στον πυρήνα το loopback device
support.

Αν όλα αυτά δουλέψουν, έχει καλώς. Αν όχι στείλε αναλυτικό reply.


Λοιπόν, αν δουλέψουν και ήμουνα στη θέση σου θα έκανα και μιά δοκιμούλα
πάνω σε CD-rewritable, έτσι για να ήμαστε σίγουροι 1000%. Δηλαδή, είσαι
πλέον έτοιμος να το γράψεις. Το cdimage.iso είναι το αρχείο που θα
χρησιμοποιήσεις στο xcdroast.

Note2: Αν το CD έχει γρατσουνιές κλπ και βγάλει I/O error το dd, τότε να
χρησιμοποιήσεις το readcd (man readcd ;-)


Note3: Αν θες να το κάνεις on the fly, δεν έχεις χώρο στο δίσκο για
image κλπ, κάνε ένα:

cdrecord -v dev=0,0 speed=X (driveropts=burnproof) -isosize /dev/hdd

To driveropts=burnproof φαντάζομαι καταλαβαίνεις τι είναι ;-> (ή όχι ?)
:-)

Στο dev=0,0 βάζεις αυτό που χρησιμοποιεί το cdwriter σου, ενώ στο
/dev/hdd βάζεις το SOURCE CD. (***	ΟΛΑ ΑΥΤΑ χΩΡΙΣ ΝΑ ΕΙΝΑΙ MOUNTED ΤΟ
CD)


Note 4: Ναι, τα CDs τα γράφω από την κονσόλα και ανέλυσα όλα αυτά εδώ.
Βασικά, το xcdroast είναι frontend για όλα αυτά, αλλά όπως βλέπεις δεν
καλύπτει όλες τις περιπτώσεις (π.χ. τη δική σου). Ελπίζω να μην σε
μπέρδεψα αντί να σε βοήθησα ;->


*** ΤΕΛΟΣ ΤΟΥ MAIL. 

Κάνε και ένα isoinfo -d -i cdimage.iso.

Π.χ. κοίτα τί βγάζει στο iso image του FreeBSD (που το έχω στο δίσκο):

CD-ROM is in ISO 9660 format
System id: FreeBSD
Volume id: fbsd42_1
Volume set id: 
Publisher id: 
Data preparer id: 
Application id: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD
CD-R/DVD CREATOR
Copyright File id: 
Abstract File id: 
Bibliographic File id: 
Volume set size is: 1
Volume set seqence number is: 1
Logical block size is: 2048
Volume size is: 326225


Λογικά, θα πρέπει να δείς τα "σωστά" (UFS, Volume κλπ ...) στην
περίπτωσή σου.

:-)

-- 
DJ Art (aka Kyritsis Athanasios) <djart at hellug.gr>
Studying Electrical & Computer Engineering @ UPatras
http://members.hellug.gr/djart




More information about the Linux-greek-users mailing list