Προς το περιεχόμενο

System tar & restore Project


Προτεινόμενες αναρτήσεις

Δημοσ.

nope, δεν βρισκει τιποτα

 

πιστευω σκετο Linux θα ειναι ok, αλλα μπορει να κανω λαθος.

 

-------------------------

 

χμμ δουλεψε ετσι: Linux.*ernel

 

ειναι αποδεκτο?

Δημοσ.

Ναι.

 

Η "." (τελεία) σημαίνει οποιονδήποτε χαρακτήρα

Το "*" (αστεράκι) σημαίνει επανέλαβε τον προηγούμενο χαρακτήρα (την τελεία στην προκειμένη) από 0 ως άπειρες φορές.

 

Άρα το "Linux.*ernel" θα κάνει match όλα τα παρακάτω

LinuxKernel
Linux Kernel
Linux Lernel
Linux      Kernel
Linux Ναβουχοδονόσορας Kernel
  • Like 1
Δημοσ.
@tritonas00: Αναφέρω τα αποτελέσματα της εντολής file για τους Linux kernels των διάφορων VM μου. Για κάποιο λόγο το Kubuntu δεν ακολουθεί κάποια απ' τις δύο συμβάσεις ("Linux/x86 Kernel" και "Linux kernel x86 boot executable bzImage").

openSUSE 13.1:
vmlinuz-3.11.10-17-desktop: Linux/x86 Kernel, Setup Version 0x20c, bzImage, Version 3.11.10, Version 3.11.10-17, RO-rootFS, swap_dev 0x4, Normal VGA
vmlinuz-3.11.10-21-desktop: Linux/x86 Kernel, Setup Version 0x20c, bzImage, Version 3.11.10, Version 3.11.10-21, RO-rootFS, swap_dev 0x4, Normal VGA
 
Fedora 20:
vmlinuz-3.15.5-200.fc20.x86_64:  Linux kernel x86 boot executable bzImage, version 3.15.5-200.fc20.x86_64 ([email protected]., RO-rootFS, swap_dev 0x5, Normal VGA
vmlinuz-3.15.10-200.fc20.x86_64: Linux kernel x86 boot executable bzImage, version 3.15.10-200.fc20.x86_64 ([email protected], RO-rootFS, swap_dev 0x5, Normal VGA
vmlinuz-3.16.2-200.fc20.x86_64:  Linux kernel x86 boot executable bzImage, version 3.16.2-200.fc20.x86_64 ([email protected]., RO-rootFS, swap_dev 0x5, Normal VGA
 
Kubuntu 14.04:
vmlinuz-3.13.0-34-generic: x86 boot sector
vmlinuz-3.13.0-35-generic: x86 boot sector
 
Debian Sid:
vmlinuz-3.16-1-amd64: Linux kernel x86 boot executable bzImage, version 3.16-1-amd64 ([email protected]) #1 SMP Debian 3.1, RO-rootFS, swap_dev 0x2, Normal VGA
 
Gentoo:
kernel-3.16.3: Linux kernel x86 boot executable bzImage, version 3.16.3 (root@Gentoo) #3 SMP Fri Sep 19 00:35:26 EEST 2014, RO-rootFS, swap_dev 0x4, Normal VGA

 

Δημοσ.

@tritonas00: Αναφέρω τα αποτελέσματα της εντολής file για τους Linux kernels των διάφορων VM μου. Για κάποιο λόγο το Kubuntu δεν ακολουθεί κάποια απ' τις δύο συμβάσεις ("Linux/x86 Kernel" και "Linux kernel x86 boot executable bzImage").

Δεν είναι ότι παραβιάζει κάποια σύμβαση απλά ανάλογα με τι επιλογές έχεις στο config σου, παίρνεις και διαφορετικά headers οπότε το file με βάση τη σειρά των κανόνων που έχει, αναγνωρίζει κάτι διαφορετικό.

 

Παλαιότερα ήταν σύνηθες να γράφεις τον πυρήνα σε μια δισκέτα και να εκκινείς από εκεί (το γνωστό boot / root δίπτυχο) οπότε ο πυρήνας είναι ταυτόχρονα και x86 boot sector. Στους άλλους πυρήνες γίνεται κάτι άλλο πιο strongly match οπότε σου εμφανίζει το Linux blah blah.

 

Αν ο πυρήνας έχει ενεργοποιημένη την επιλογή EFI_STUB (σχεδόν όλοι εδώ και κάποιο διάστημα) τότε θα πρέπει ταυτόχρονα να είναι και EXE αρχείο ώστε να τρέχει από το UEFI firmware.

 

Το file έχει την επιλογή k ώστε να μας εμφανίζει όλα τα patterns που γίνονται match αντί να εμφανίζει μόνο το πιο strongly matched (και την l που εμφανίζει όσα επίσης θα μπορούσαν να γίνουν match αν το αρχείο ήταν λίγο διαφορετικό)

 

% file -k -r vmlinuz-3.16.3 
vmlinuz-3.16.3: x86 boot sector
- Linux kernel x86 boot executable bzImage, version 3.16.3 (root@mitsos) #30 SMP Thu Sep 18 17:33:48 EEST 2014, RO-rootFS, swap_dev 0x3, Normal VGA
PE32+ executable (EFI application) x86-64 (stripped to external PDB), for MS Windows
Εδώ βλέπουμε αυτό που είπα ότι ο πυρήνας είναι ταυτόχρονα πολλά πράγματα.

 

Αν θέλεις να χρησιμοποιήσεις το file, μια μπακάλικη λύση είναι να χρησιμοποιήσεις την υπάρχουσα regexp αλλά τρέχοντας file -k αντί για σκέτο file. Όταν δεν υπάρχει η παράμετρος -r που χρησιμοποίησα εγώ, τότε το file δεν πετάει newlines αλλά τα δίνει όλα σε μία γραμμή με \012 ανάμεσα στις γραμμές. Έτσι, ανεξάρτητα από ποιο pattern γίνεται match πρώτο, θα παίζει το match σου.

Δημοσ.

ευχαριστω παιδια!

 

απλα με την -k μπορει να βρει και κατι ακυρο οπως κανα memtest.bin αν υπαρχει και να βαλει εγγραφη και για αυτο...

 

μικρο το κακο βεβαια

 

ισως το βαλω για .bin να μην γραφει initrd για να παιζει και αυτο.

Δημοσ.

Γι' αυτό κι εγώ είχα προτείνει το bzImage τότε. :P

 

Ναι σαν .config.

Αυτό με το file φαίνεται καλός τρόπος. Θα έχει μέσα το string bzImage. Κάνε και ένα sort και προσπάθησε να βάλεις την νεώτερη έκδοση.

Στην χειρότερη να χρειαστεί ένα manual intervention, καλύτερα από το να μην έτρεχε καθόλου το script. :)

Δημοσ. (επεξεργασμένο)

Ναι αλλα τι πιθανοτητες υπαρχουν να υπαρχει κατι αλλο ασχετο, με bzImage?

Αν καμια, τοτε να βαλουμε αυτο.

 

Βασικα τωρα που το ξανασκεφτομαι, δεν ειν κακο. Βολευει. Thanks!

Το sort ακομη το ψαχνω:

 

για το σορταρισμα μπορει να μπει | sort -Vr στη λουπα.

αλλα αν οι kernels δεν εχουν νουμερα (πχ linux linux-lts) θα το βγαλει αναποδα λογω -r:

linux-lts
linux

υπαρχει καποιος απλος τροπος να το αποφυγουμε αυτο?
Επεξ/σία από tritonas00
Δημοσ. (επεξεργασμένο)

4.1
 
Εκανα και μια δοκιμη σε centos, επαιξε κανονικα οπως στην fedora. Δοκιμασα και σε ubuntu με syslinux και πλεον παιζει κομπλε ο generator με -k και bzImage. Thanks again!

 

Ενημερωθηκε και το readme του aur package με την σελιδα του wiki.

Επεξ/σία από tritonas00
Δημοσ.

Τι ειχες Γιαννη, τι ειχα παντα

 

Deja vu...

 

Και λεω γιατι καθομαι και κοιταω την μπαρα να τελειωσει και ο δισκος δεν κουνιεται...

 

Ο λιθοβολισμος προς παραδειγματισμο, θα γινει στις 12, στο Συνταγμα, παρουσια κοσμου.

 

:P

Δημοσ.

Μπηκε support για mandriv-oειδη (mageia openmandriva κλπ)

 

Ανανεωθηκε η build_initramfs και πλεον σκαναρει τους kernels οπως η generate_syslinux_cfg με την file (και ετσι δεν υπαρχει κινδυνος να φτιαξει initramfs για καποιο symlink υπαρχοντος kernel)

 

Μπηκε η detect_initramfs_prefix οπου σκαναρει το target /boot directory και αν υπαρχει "initramfs-" χρησιμοποιει initramfs prefix name για τα images και αν οχι initrd. (γιατι υπαρχει πιθανοτητα διανομες που εχουν μεν ιδια βαση, να χρησιμοποιουν η μια initramfs-μπλαμπλα και η αλλη initrd-μπλαμπλα. Been there saw that)

 

Ενημερωθηκε το detection του grub2 με βαση το αν υπαρχει καποιο απο τα εκετελεσιμα grub-mkconfig ή grub2-mkconfig και οχι το γενικο directory /usr/lib/grub

 

Επεσε αρκετο καθαρισμα σε καποια if statements

 

Εκανα δοκιμες σε ολες τις υποστηριζομενες διανομες και σε ubuntu απο περιεργεια και επαιξαν σωστα. (grub syslinux mbr gpt lvm btrfs/subvolumes mdadm efi). Οποτε πιανουμε και τα παιδια του ubuntu (mint κλπ)

 

https://github.com/tritonas00/system-tar-and-restore/commit/0f4776784d29c6f6fdcb0d1a294b98f8a3e0e507

 

Υπαρχει και κατι αλλο. Πηγα να δοκιμασω το pclinuxos ετσι για πλακα (μιας και αποτι διαβασα χρησιμοποιει apt οποτε λεω yet another debian based shit θα ειναι) αλλα ελα που χρησιμοποιει apt-rpm :blink: (ο τραγος θα παθαινε εγκεφαλικο). Χρησιμοποιει τα πακετα της mandriva. Οποτε ισως, λεω ισως μπει ενα argument που να κανει force την διανομη και το script να πραττει με βαση οτι διανομη του πουμε και οχι οτι εντοπισει. (σε περιπτωση που η διανομη ειναι μπασταρδη)

 

Αν θελει καποιος support για αλλη διανομη ας πει.

 

Επισης καλο ειναι το restore να γινεται απο livecd/συστημα ιδιας διανομης με την target. (lsmod->initramfs)

Δημοσ.

Στο git το restore.sh ενημερωθηκε για τις αλλαγες στον syslinux στο debian unstable (διατηρηθηκε η συμβατοτητα προς τα πισω)

 

Πλεον κοιταει πιο γενικα τα paths, ανεξαρτητα την διανομη.

 

https://github.com/tritonas00/system-tar-and-restore/commit/0d763dfe55e9aa7b6872e24f2ed2856cd546ed24

 

(Τα παραπανω δεν επηρεαζουν το arch γιατι εκει χρησιμοποιουμε το syslinux-install_update)

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

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