Αποστολέας Θέμα: Liveusb stick με ubuntu.iso ΚΑΙ windows  (Αναγνώστηκε 3688 φορές)

Sammy Dead

  • ΠΛΗΝΕΤ
  • *
  • Μηνύματα: 81
Απ: Liveusb stick με ubuntu.iso ΚΑΙ windows
« Απάντηση #15 στις: 23 Μαΐ 2019, 08:50:06 πμ »
Άλκη αποτυχημένες οι προσπάθειες. Θα βάλω παρακάτω δύο απαντήσεις με τον κώδικα των συναρτήσεων (η αλήθεια είναι ότι δεν ξέρω τη γλώσσα αυτή του grub οπότε για αυτό βλέπεις χάλια κώδικα του τύπου for ... in [μια μόνο επιλογή]), το /proc/cmdline και τα αποτελέσματα κατά την εκκίνηση. Είναι για manjaro (arch based, ελαφρύ και user friendly) και kali, γνωστή διανομή για penetration testing κλπ

Sammy Dead

  • ΠΛΗΝΕΤ
  • *
  • Μηνύματα: 81
Απ: Liveusb stick με ubuntu.iso ΚΑΙ windows
« Απάντηση #16 στις: 23 Μαΐ 2019, 08:58:31 πμ »
Manjaro

Κώδικας: [Επιλογή]
function manjaro {
  iname=$1   

  save_default
  if ! loopback loop "$liveusb/other/$iname"; then
    return 1
  fi
  # Don't use regexp, it's not available when secure boot is enabled
  for kernel in vmlinuz-x86_64; do
    if [ -f "(loop)/boot/$kernel" ]; then
      break
    fi
  done
  for initrd in initramfs-x86_64.img; do
    if [ -f "(loop)/boot/$initrd" ]; then
      break
    fi
  done
  if ! linux "(loop)/boot/$kernel" boot=boot "iso-scan/filename=$liveusb/other/$iname" noeject noprompt; then
    # 32 bit fails on secure boot with: vmlinuz has invalid signature
    echo "ERROR: could not load ubuntu, maybe disable UEFI secure boot?"
    return 1
  fi

  initrd "(loop)/boot/$initrd"
  loopback -d loop
  echo "Running $1"
}

/proc/cmdline
Κώδικας: [Επιλογή]
BOOT_IMAGE=/boot/vmlinuz-x86_64 lang=en_US keytable=us tz=UTC driver=free nouveau.modeset=1 i915.modeset=1 radeon.modeset=1 misobasedir=manjaro misolabel=M1804 quiet systemd.show_status=1
Δεν ασχολήθηκα με extra_params.

Αποτελέσματα στο συνημμένο

Sammy Dead

  • ΠΛΗΝΕΤ
  • *
  • Μηνύματα: 81
Απ: Liveusb stick με ubuntu.iso ΚΑΙ windows
« Απάντηση #17 στις: 23 Μαΐ 2019, 09:04:14 πμ »
Kali

Κώδικας: [Επιλογή]
function kali {
  iname=$1
 
  save_default
  if ! loopback loop "$liveusb/other/$iname"; then
    return 1
  fi
  # Don't use regexp, it's not available when secure boot is enabled
  for kernel in vmlinuz-4.19.0-kali3-amd64; do
    if [ -f "(loop)/live/$kernel" ]; then
      break
    fi
  done
 
  for initrd in initrd.img-4.19.0-kali3-amd64; do
    if [ -f "(loop)/live/$initrd" ]; then
      break
    fi
  done
 
  if ! linux "(loop)/live/$kernel" boot=live "iso-scan/filename=$liveusb/other/kali-linux-mate-2019.1a-amd64.iso" noeject noprompt; then
    # 32 bit fails on secure boot with: vmlinuz has invalid signature
    echo "ERROR: could not load ubuntu, maybe disable UEFI secure boot?"
    return 1
  fi

  initrd "(loop)/live/$initrd"
  loopback -d loop
  echo "Running $1"
}

/proc/cmdline
Κώδικας: [Επιλογή]
BOOT_IMAGE=/live/vmlinuz-4.19.0-kali3-amd64 boot=live components splash username=root hostname=kali
Δεν ασχολήθηκα με extra_params.

Αποτελέσματα στο συνημμένο

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6077
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Liveusb stick με ubuntu.iso ΚΑΙ windows
« Απάντηση #18 στις: 23 Μαΐ 2019, 09:14:22 πμ »
Όταν ξεκινάνε τα live CD, έχουν κάποιον κώδικα που ψάχνει πού βρίσκεται το image.
Το image συνήθως είναι τύπου "squashfs", σαν συμπιεσμένο .zip αρχείο που όμως περιέχει μια ολόκληρη εγκατάσταση, και περιέχεται κάπου μέσα στο CD, π.χ. στο Ubuntu είναι στο φάκελο /casper/filesystem.squashfs.
Στα live CD του Ubuntu ο κώδικας που ψάχνει το image είναι στο πακέτο "casper", το οποίο διαβάζει την παράμετρο iso-scan/filename, κάνει mount το ubuntu.iso, και μετά ψάχνει μέσα στο .iso για να βρει το squashfs image.

Άρα: το iso-scan/filename δουλεύει μόνο σε Ubuntu/casper-based live CDs.

Το Debian δεν χρησιμοποιεί casper, αλλά ένα άλλο πακέτου που λέγεται "liveboot", το οποίο θέλει άλλη παράμετρο, που λέγεται "fromiso=". Άρα μια συνάρτηση debian() θα έπρεπε να έχει "fromiso=" στο εσωτερικό της.

Το Manjaro δεν ξέρω τι χρησιμοποιεί, σίγουρα όχι casper/liveboot. Π.χ. μπορεί να χρησιμοποιεί "dracut", το οποίο να θέλει άλλη παράμετρο. Υπάρχει μάλιστα και η πιθανότητα κάποια διανομή να χρησιμοποιεί πρόγραμμα που να μην υποστηρίζει καν "fromiso" ή ισοδύναμο.

Για όσους δεν έχουν εμπειρία σε τέτοια προγράμματα εκκίνησης casper/liveboot/dracut κλπ, μια λύση είναι να χρησιμοποιήσουν κάποιο άλλο πρόγραμμα π.χ. Rufus, το οποίο να φτιάχνει USB sticks που να έχουν μέσα αυτούσια .iso και ΟΧΙ αποσυμπιεσμένα, και από εκεί να ξεκινήσουν τη διανομή και να κάνουν cat /proc/cmdline. Εκεί θα δουν πώς ονομάζεται η παράμετρος iso-scan/filename ή fromiso κλπ. Δεν ξέρω αν το Rufus υποστηρίζει αυτούσια .iso, θέλει λίγο κοίταγμα για ποιο πρόγραμμα υποστηρίζει κάτι τέτοιο.

Το /proc/cmdline που έκανες paste δεν μας κάνει γιατί μάλλον είναι κατευθείαν από "cdrom" και όχι από USB stick με .iso μέσα του.

Sammy Dead

  • ΠΛΗΝΕΤ
  • *
  • Μηνύματα: 81
Απ: Liveusb stick με ubuntu.iso ΚΑΙ windows
« Απάντηση #19 στις: 23 Μαΐ 2019, 09:22:10 πμ »
το /prοc/cmdline είναι από live session από usb φτιαγμένο με dd.

Το παρατάω, μελετάω αυτά που γράφεις και με τον καιρό θα προσπαθήσω πάλι. Ευχαριστώ!

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6077
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Liveusb stick με ubuntu.iso ΚΑΙ windows
« Απάντηση #20 στις: 23 Μαΐ 2019, 09:32:19 πμ »
Δες λίγο αυτό: https://forum.manjaro.org/t/booting-manjaro-iso-using-grub2/3132

Δηλαδή στο manjaro η αντίστοιχη παράμετρος λέγεται img_loop=.

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6077
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Liveusb stick με ubuntu.iso ΚΑΙ windows
« Απάντηση #21 στις: 23 Μαΐ 2019, 03:24:31 μμ »
Εδώ έχει μια ωραία λίστα με τις παραμέτρους για τις περισσότερες γνωστές διανομές:
https://github.com/mytbk/liveusb-builder/tree/master/distro

Btw, αν κάποιος προχωρημένος χρήστης θέλει να ενεργοποιήσει "persistent home" στα live CDs του Ubuntu, δηλαδή οι ρυθμίσεις και τα αρχεία στο /home/username να παραμένουν, αρκεί να κάνει ένα δεύτερο partition στο stick, τύπου ext4, και με ετικέτα home-rw, και να περάσει για παράμετρο τη λέξη "persistence" στη γραμμή 60 του grub.cfg:
  if ! linux "(loop)/casper/$kernel" "file=/cdrom/preseed/$uname.seed" boot=casper "iso-scan/filename=$liveusb/ubuntu/$iname" noeject noprompt persistence -- $extra_params; then


Sammy Dead

  • ΠΛΗΝΕΤ
  • *
  • Μηνύματα: 81
Απ: Liveusb stick με ubuntu.iso ΚΑΙ windows
« Απάντηση #22 στις: 24 Μαΐ 2019, 11:46:48 πμ »
ευχαριστώ Άλκη.

Δημήτρης Γκίνης

  • ΠΛΗΝΕΤ
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 565
Απ: Liveusb stick με ubuntu.iso ΚΑΙ windows
« Απάντηση #23 στις: 24 Μαΐ 2019, 01:27:20 μμ »
Προσπαθώ να μπουτάρω σε virtual machine από το live usb.
Εκκινεί κανονικά, επιλέγω ubuntu 32 ή 64 bits, φορτώνει κανονικά αλλά όταν πάει να εμφανιστεί η επιφάνεια εργασίας την εμφανίζει με πολλές οριζόντιες γραμμές (φαίνεται το πράσινο φόντο, καταλαβαίνεις τον δείκτη του ποντικιού όταν κινείται, φαίνεται ότι ανοίγει το τερματικό) με αποτέλεσμα να μην μπορείς να κάνεις τίποτα.
Παίζοντας με τις ρυθμίσεις της εικονικής μηχανής δεν κατάφερα κάτι.
Καμιά ιδέα;;

edit: host os-> ubuntu 18.04 64 bit, virtualbox version 5.2.18

update: πρόκειται για γνωστό bug-> https://bugs.launchpad.net/ubuntu/+source/lubuntu-meta/+bug/1766859 Η λύση που προτείνει δουλέυει (Right Ctrl +f1, Right Ctrl+f7)
« Τελευταία τροποποίηση: 01 Αυγ 2019, 11:25:10 πμ από Δημήτρης Γκίνης »

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6077
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Liveusb stick με ubuntu.iso ΚΑΙ windows
« Απάντηση #24 στις: 24 Μαΐ 2019, 02:52:39 μμ »
Ναι κι εγώ το παθαίνω και αλλάζοντας vt με Ctrl+Alt+F2 / Ctrl+Alt+F7 στρώνει.

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6077
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Liveusb stick με ubuntu.iso ΚΑΙ windows
« Απάντηση #25 στις: 03 Μαΐ 2020, 10:25:40 πμ »
Ενημέρωσα το https://github.com/alkisg/liveusb με τις τρέχουσες εκδόσεις ipxe/grub κλπ.
Χάρη στο νέο grub, πλέον το liveusb υποστηρίζει να τοποθετούμε .iso από διάφορες διανομές στο stick και να δημιουργεί δυναμικά τα αντίστοιχα grub μενού.

Υποστηριζόμενες διανομές: clonezilla, debian, fedora, kali, manjaro, opensuse και ubuntu.

Για τους Πληροφορικούς των Ιωαννίνων, θα ετοιμάσω στικάκι όταν βγει και η νέα έκδοση 2004 των Windows 10 εντός Μαΐου.


gidarakos

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 377
    • http://www.gidarakos.com/
Απ: Liveusb stick με ubuntu.iso ΚΑΙ windows
« Απάντηση #26 στις: 29 Σεπ 2020, 02:44:38 μμ »
Άλκη σε Lenovo ThinkCentre M91p (CPU: i5-2500, RAM: 4GB), ενώ το liveusb bootάρει κανονικά σε legacy mode 20.04.1, σε UEFI mode εμφανίζει στιγμιαία το μήνυμα "not found. Initializing defaults." και ξανακάνει reboot!

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6077
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Liveusb stick με ubuntu.iso ΚΑΙ windows
« Απάντηση #27 στις: 29 Σεπ 2020, 06:49:56 μμ »
Είναι το τελευταίο του Μαΐου 2020; Ή παλιότερο;

gidarakos

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 377
    • http://www.gidarakos.com/
Απ: Liveusb stick με ubuntu.iso ΚΑΙ windows
« Απάντηση #28 στις: 30 Σεπ 2020, 12:49:21 πμ »
Δεν είμαι σίγουρος! Επειδή έχω αρκετά iso μέσα (ubuntu+win10), πρέπει να φτιαχτεί από την αρχή ή μπορούμε με κάποιο copy/overwrite αρχείων να εξασφαλίσουμε ότι είναι "Μαΐου 2020";

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6077
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Liveusb stick με ubuntu.iso ΚΑΙ windows
« Απάντηση #29 στις: 30 Σεπ 2020, 08:10:20 πμ »
Τρέξε το παρακάτω και δες τη στήλη UUID, τι βγάζει εκεί; Το δεύτερο νούμερο είναι η έκδοση, π.χ. 20-05.

Κώδικας: [Επιλογή]
# lsblk --fs
NAME   FSTYPE LABEL   UUID                                 FSAVAIL FSUSE% MOUNTPOINT
sdf                                                                       
├─sdf1 vfat   LIVEUSB 1973-2005                               2,5G    84% /media/alkisg/LIVEUSB

Γενικά δεν είναι εύκολο να γίνει αναβάθμιση του boot code στο MBR, θέλει grub-install /dev/sdf με κατάλληλη έκδοση grub, γι' αυτό και το διαθέτω ως image. Αλλά γενικά εφόσον δουλεύει, δεν χρειάζεται αναβαθμίσεις.
Έχω εντοπίσει ένα πρόβλημα που μπορεί να σχετίζεται με αυτό που λες. Σε κανά μήνα που θα βγουν νέα Windows θα ανεβάσω νέα έκδοση με διορθωμένο το πρόβλημα, το ξανακοιτάμε τότε.