Rozruch z napędu USB w wirtualnej maszynie

Przykładowa sytuacja: potrzebujesz sprawdzić, czy możesz dokonać rozruchu ze świeżo zainstalowanego na napędzie USB systemu lub dokonać modyfikacji w powyższym. Dysponujesz komputerem pod kontrolą systemu Linux (dowolna współczesna dystrybucja), ewentualnie MacOS X i oprogramowaniem Oracle VirtualBox. Niestety, “wirtualne pudełko” nie potrafi bez dość znacznego kombinowania dokonać rozruchu z fizycznego nośnika zamiast obrazu – jest jednak prostszy sposób.

  1. Pobierz i zainstaluj program Qemu (sugeruję użyć wersji z repozytorium choć jeśli bardzo chcesz kompilować ze źródeł to proszę: kod źródłowy).
  2. Zakładam, że napęd USB (dysk, pendrive, karta SD w czytniku) zawiera już system operacyjny. Podłącz go i zamontuj.
  3. Sprawdź którym dokładnie urządzeniem jest podpięty napęd:

    ksx4system@sverige:~> mount | grep TOOLKIT
    /dev/sdd1 on /media/TOOLKIT type vfat (rw,nosuid,nodev,uid=1000,utf8,shortname=mixed,flush)

    w moim przypadku system montuje napędy wg. ich nazwy (podłączony pendrive nazywa się toolkit), jest do dość popularna praktyka.

  4. Uruchom Qemu w następujący sposób:

    sverige:/ # qemu /dev/sdd -m 512

    wartość argumentu -m to ilość pamięci przydzielana wirtualnej maszynie, /dev/sd* należy dobrać na podstawie poprzedniego punktu (oczywiście pomijając kończącą ciąg cyfrę).

Qemu możesz uruchomić pod wieloma różnymi systemami operacyjnymi, w tym Linux, MacOS X, OpenBSD i FreeBSD.

Napędy USB i OpenBSD

OpenBSD w standardowych warunkach nie jest wyposażone w żadne zautomatyzowane narzędzia ułatwiające wykorzystanie pendrive’ów czy dysków twardych USB. Nie jest to jednak nic trudnego.

  1. Utwórz odpowiedni katalog, w którym będziesz montować napędy USB. Proponuję zrobić to tak:

    root@demetria:[/home/ksx4system]# mkdir /mnt/flashdrive

  2. Nadaj utworzonemu katalogowi odpowiednie uprawnienia:

    root@demetria:[/home/ksx4system]# chmod -R 777 /mnt/flashdrive

  3. Podłącz swój dysk USB bądź pendrive i zamontuj go w następujący sposób:

    root@demetria:[/home/ksx4system]# mount /dev/sd0i /mnt/flashdrive

    kiedy napęd nie będzie Ci już potrzebny odmontuj go:

    root@demetria:[/home/ksx4system]# umount /mnt/flashdrive

    teraz możesz odłączyć swój napęd.

Aby przejść do katalogu głównego swojego napędu USB zmień katalog na /mnt/flashdrive, w analogiczny sposób skopiujesz nań pliki. Twój dysk bądź pendrive naprawdopodobniej jest sformatowany jako FAT/FAT32 – oczywiście będzie w ten sposób działać.