openSuse 12.1 NET-install from USB drive

10

Before openSuse 12.1 have been released I have trying to create bootable pendrive with 11.4 net installer version. I eased it off after little complications, but today I’ll show you example of proper usb stick preparation without Linux installed or without downloading syslinux tools – as tutorial on opensuse.org suggest.

This tutorial is quite universal – I’ll show you how to behave with any „isolinux compatible” distribution. It works also with openSuse 12.2 NET-Install.

What do you need:

  • USB Pendrive with above 256MB space – depending on requirements of our distro
  • RMPrepUSB” toolkit, it’s on Hirens BootCD – I’ll use latest, 15.0 version
  • ISO file of our chosen distro
  • WinRAR, WinISO, Daemon Tools or anything else to extract iso file
  • (optional) Notepad++ or any „programmers” editor

So lets start.

Prepare stick and distro files

Download your chosen distro. Connect your storage drive to computer – backup any data on that drive – we will format it later!!. Now we need to access iso file of downloaded image – I’ll use Daemon Tools at this time. Mount iso file to any virtual drive and check does it work.

If you don’t have daemon you also may use winrar to extract that iso file to any wanted location.

Let’s make main part

Now we must find location of isolinux config file on our iso – lets loot at our image.. we may use search tool to find isolinux.cfg file.. but directory structure on image is so.. logic so automatic let’s loot into /boot directory.. next is i386.. and there’s another – loader with our searched file. Note path to that file.

Now start Hirens BootCD menu, select Programs, Partition / Boot / MBR, RMPrepUSB – let it start. (You may also download it from here)

You should see something like this:

Now settings:

  1. Partition size: Let it at „MAX”
  2. Volume label: Set label for our volume as you want
  3. Bootloader: Select SYSLINUX
  4. Filesystem: As on screen: FAT32, Boot as HDD
  5. Check that checkbox. Click „Chose Copy folder” and select our extracted or our drive with mounted distro.

That’s it. Click light blue button named „6 Prepare Drive”, then OK, READ NEXT DIALOG and let it do rest..

Most important – stupid path

After copying files to drive it’s time to install syslinux loader to boot sector of pendrive. Click OK on (shown above) dialog. Now you’ll see „Chose Syslinux option: -r RAID option (bla bla bla)” – click No.

Now it’s time to set proper path to syslinux.cfg file (we will create that file after that step in same directory as isolinux.cfg). Set there path to found isolinux.cfg file: in opensuse 32-bit net-istall 12.1 it’s /boot/i386/loader. For 64bit: /boot/x86_64/loader. Remember to use proper directory separator! In unix it’s / [slash], not as in windows and shown in dialog \ [backslash]!! That tool won’t „repair” your slashes and distro won’t boot – tool here is little fucked up and made me angry last time. Click OK, check does path match in another dialog and click again OK. Close program.

Syslinux.cfg

It’s time to create syslinux.cfg file needed by syslinux loader. Open your stick, navigate to our isolinux.cfg. Clone it and rename to syslinux.cfg – as on screen.

We need also to check and fix paths in that file. Open it with Notepad++ and find any /boot/i386/loader and delete it – let only file names or relative path from syslinux path. In this case (openSuse 12.1) we don’t need to do anything.

Safety unplug stick or reboot our machine – let’s test our drive.

Anything should work properly!

Have fun without using CD/DVD.

oot\x86_64\loader

Tagi: , , , , , ,

Komentarze 10 komentarzy

„Syslinux.cfg
It’s time to create syslinux.cfg file needed by syslinux loader. Open your stick, navigate to our isolinux.cfg. Clone it and rename to syslinux.cfg – as on screen.

We need also to check and fix paths in that file. Open it with Notepad++ and find any /boot/i386/loader and delete it – let only file names or relative path from syslinux path. In this case (openSuse 12.1) we don’t need to do anything.”

Sorki, ale tego fragmentu nie kumam. Próbowałem już wielu sposobów. Cały czas mam „Could not find kernel image: gfxboot”
Poza tym żadne Unetbootin, czy Universal USB Installer też nie pomagają

Przede wszystkim pewnie błędną ścieżkę podajesz w instalatorze syslinuxa (tam gdzie jest /boot/xxx/loader).
plik syslinux.cfg masz utworzyć na podstawie isolinux.cfg.
Wewnętrzne syslinux.cfg masz zedytować, usunąć wszelkie ścieżki bezwzględne, zastąpić je masz relatywnymi (od miejsca loadera)

Swoją drogą: podaj o jakiej dystrybucji piszesz, postaram się w image zajrzeć.

No właśnie próbowałem zainstalować openSUSE 12.1 (i686 KDE Live) na notku bez dvdromu.
Po kopiowaniu z rozpakowanego katalogu plików systemowych, właśnie taki komunikat mi się pojawiał. Dziś przetestowałem kopiowanie z obrazu płyty zamontowanego w Daemonie. Tym razem bootloader ruszył.
Myślałem, że syslinux.cfg mam właśnie źle wyedytowany. Ale skoro ruszyło w końcu, to chyba było ok.
Jednak przy próbie instalacji lub uruchomienia Live, wywala kolejne błędy i to dość sporo. Chyba dam sobie spokój :(

Jakie błędy? Nie ma sensu ponownego kopiowania. Wystarczy raz skopiować i podjąć ewentualne próby w „ustawieniu” ścieżki syslinuxa i oczywiście stworzyć plik cfg.
Jeśli masz już pliki skopiowane, to pomiń cały początek poradnika, a skorzystaj tylko z „Install syslinux” – Od „Most important – stupid path”.

W przypadku openSuse 12.1 NICZEGO w syslinux.cfg nie edytujemy (nie ma takiej potrzeby, a przynajmniej w i386 NET-Install nie było – sprawdzę jeszcze w Twoim wypadku).

Wyskakują Ci błędy: chodzi o sam proces bootowania czy już w momencie „odpalania” kernela i przygotowywania instalatora/systemu?

Widzę w live CD, że w root folderze obrazu jest plik syslinux.cfg – widocznie twórcy pomyśleli o tym, że ludzie będą chcieli instalować własnego syslinuxa – dowiązania w pliku też wydają się poprawne.

Daj w naszym narzędziu „Install syslinux”, gdy wyskoczy pytanie o ścieżkę wpisz tylko „/” lub „3” (bez cudzysłowów).

Powinno działać.

Wszystko robiłem zgodnie z Twoją instrukcją.
Udało mi się wyświetlić „boot loader”, tak jak na Twoim screenie.
Wybierając cokolwiek, np. „openSUSE Live KDE”, „Instalation”, czy „Check Instalation Media” (bez zmiany domyślnych ustawień), pokazuje się okno „Starting: Loading Linux Kernel”, coś tam sobie czyta z pena przy zielonej tapetce z kameleonem, a potem:

[2.215952] /home/abuild/rpmbuild/BUILD/kernel-default-3.1.0/linux-3.1/driver
rtc0)
Loading KIWI CD Boot-System…
—————————————–
Creating device nodeswith udev
ata_id[408]: HDIO_GET_IDENTITY failed for ‚/dev/sdb’: Invalid arument

Boot logging started on /dev/tty1(/dev/console) at Thu Nov 24 22:39:50 2011
Boot-Logging enabled on /dev/tty3
[6.208625] Kernel logging enabled on: /dev/tty4
[6.400802] Waining for CD/DVD device(s) to appear……
[81.360014] Checking Hybrid disk device(s) …not found
[81.583277] Couldn’t find Live image configuration file
[jakieś numerki] rebootException: error consoles at Alt-F3/F4
[jakieś numerki] rebootException: reboot in 120 sec…
[jakieś numerki] Failed to mount RW root filesystem
[jakieś numerki] rebootException: error consoles at Alt-F3/F4
[jakieś numerki] rebootException: reboot in 120 sec…
[jakieś numerki] Mounting compressed read only tree…
[jakieś numerki] Filed to mount RO root filesystem

itd. itp.

Gdzieś przy końcu też rzuciło mi się „Kernel panic”

Teraz dopiero zauważyłem ten komentarz w spamie. Czyli jednak poprawnie zrobiłeś pen’a (więc olej mój komentarz niżej), a problem leży w naturze przygotowanego loadera kernela.. po prostu nie potrafi zamontować Twojego pena.

Musisz radzić teraz sobie sam ;-) Nie sprawdzałem co robi skrypt „hybrid disk” z syslinuxa/poradnika opensuse ale widocznie coś z niego trzeba zastosować a „magicznie” zacznie działać :)

Może wkrótce z tym powalczę. Póki co problem uważam za zamknięty.

Niestety po tych zmianach (i po wpisaniu „/” i wybraniu „3”) znów pojawia się
„Could not find kernel image: gfxboot”
Dzięki za poświęcony czas i pomoc :)

Aw.. jednak isolinux.cfg do zdublowania jest i podajesz ścieżkę przy instalacji syslinuxa: /boot/i386/loader
– Na pewno nie działa? MOŻE pokombinuję na dniach i zdam odpowiedź.

Jeszcze postanowiłem przetestować, tak ja tytule, wersję Net-install. I ona działa bez zająknięcia :)
Właśnie instaluję susełka :D

Skomentuj