Fedora 7 külső USB-s merevlemezen.

Kezdőlap Fórumok Linux telepítés Fedora 7 külső USB-s merevlemezen.

10 bejegyzés megtekintése - 1-10 / 15
  • Szerző
    Bejegyzés
  • #2122683
    Vladi
    Felhasználó

      Hogyne, persze, hogy érdekel! Minket? Minden! ;D

      Ha van egy kis időd, rászánhatnád. Írd le részletesen, hogy miket csináltál. Néhány egyszerű lépésben is leírhatod kitérve az esetleges buktatókra. 🙂

      #2122684
      majorlacko
      Felhasználó

        Már csak azért is, mert szerény személyem bukott egy nagyot  (27E Ft) kb két hónappal ezelőtt és valóban érdekelne, hogy miként kerülhettem volna el anno. Köszi, ha megteszed. 🙂

        #2122685
        oldalborda
        Felhasználó

          Először is a gyári kernellel nem megy. Ez azonban nem volt gond mert nálam a 2.6.22 kernel fut amit magam fordítottam.
          Először
          is a Fedora 7 (és az FC5) telepítője föl sem ismeri az USB-s
          merevlemezt. Innentől kezdve csak azt lehet csinálni hogy a belső
          merevlemezre telepített
          rendszert  

          kell átmásolni a becsatolt USB-s lemezre.

          Ezután az USB-s lemezzel az alábbiakat kell tenni (a lemez már be van csatolva az /mnt/sda könyvtárba):

          mount -t proc proc /mnt/sda/proc
          mount -t sysfs sysfs /mnt/sda/sys
          mount -t usbfs /mnt/sda/proc/bus/usb /mnt/sda/proc/bus/usb

          Ezeken
          felül jobb híján a /dev könyvtárból a lényeges fájlokat az mc-vel
          átmásoltam az /mnt/sda/dev -be. (console, hdaX, hdbX, … sdaX)
          Gyakorlatilag mindent amit az mc képes volt átmásolni.

          Ezután:

          chroot /mnt/sda

          A
          mount parancsok és a /dev átmásolása nélkül a chroot után a „vendég”
          rendszerben nem látszanának az egységmeghajtók és egyéb bajok is
          lennének.
          Ha ez megvan akkor jöhet a következő:

          mkinitrd -v –rootdev=/dev/sda1 –noresume
          –preload=usbcore –preload=libusual –preload=ehci-hcd –preload=ohci-hcd
          –preload=scsi_mod –preload=sg –preload=sd_mod –preload=usb-storage
          –omit-dmraid –omit-lvm-modules –omit-raid-modules
          /boot/initrd-2.6.22.img 2.6.22

          Ezután a /boot/grub-ban kell körülnézni. Első áldozat a device.map fájl.
          Nálam ez van benne:

          (hd0) /dev/hda
          (hd1) /dev/sda

          Most a grub.conf jön, ez a lényeges rész:

          splashimage=(hd0,0)/boot/grub/splash.xpm.gz
          hiddenmenu
          title Fedora 7 (2.6.22)
          root (hd0,0)
          kernel /boot/vmlinuz-2.6.22 ro root=LABEL=/ rhgb quiet
          initrd /boot/initrd-2.6.22.img

          Valaki csodálkozhat azon hogy miért hd0,0 mert a logikus a device.map alapján a hd1,0 lenne. Ennek ellenére csak így jó.

          Az
          ember azt hinné hogy mindjárt sínen van, de a francokat. Ugyanis az a
          fájl amit az mkinitrd gyárt rosszul működik. Ezért ki kell bontani a
          következő paranccsal:

          mkdir -p „img” && cd „img” && gzip -cd „/boot/initrd-2.6.22.img” | cpio -id && cd ..

          Ennek
          hatására elkészül egy img nevű könyvtár, benne az initrd tartalma
          szépen elrendezve. Az img/bin könyvtárba kell másolni az /sbin/sfdisk
          programot, az img/lib-be pedig a
          /lib/modules/2.6.22/kernel/drivers/usb/sorage/libusual.ko fájlt. Ezután
          pedig átszerkeszteni az img/init programot. Az enyém tartalma:

          #!/bin/nash

          mount -t proc /proc /proc
          setquiet
          echo Mounting proc filesystem
          echo Mounting sysfs filesystem
          mount -t sysfs /sys /sys
          echo Creating /dev
          mount -o mode=0755 -t tmpfs /dev /dev
          mkdir /dev/pts
          mount -t devpts -o gid=5,mode=620 /dev/pts /dev/pts
          mkdir /dev/shm
          mkdir /dev/mapper
          echo Creating initial device nodes
          mknod /dev/null c 1 3
          mknod /dev/zero c 1 5
          mknod /dev/systty c 4 0
          mknod /dev/tty c 5 0
          mknod /dev/console c 5 1
          mknod /dev/ptmx c 5 2
          mknod /dev/rtc c 10 135
          mknod /dev/tty0 c 4 0
          mknod /dev/tty1 c 4 1
          mknod /dev/tty2 c 4 2
          mknod /dev/tty3 c 4 3
          mknod /dev/tty4 c 4 4
          mknod /dev/tty5 c 4 5
          mknod /dev/tty6 c 4 6
          mknod /dev/tty7 c 4 7
          mknod /dev/tty8 c 4 8
          mknod /dev/tty9 c 4 9
          mknod /dev/tty10 c 4 10
          mknod /dev/tty11 c 4 11
          mknod /dev/tty12 c 4 12
          mknod /dev/ttyS0 c 4 64
          mknod /dev/ttyS1 c 4 65
          mknod /dev/ttyS2 c 4 66
          mknod /dev/ttyS3 c 4 67
          echo Setting up hotplug.
          hotplug
          echo Creating block device nodes.
          mkblkdevs
          echo „Loading usbcore.ko module”
          insmod /lib/usbcore.ko
          echo „Loading libusual.ko module”
          insmod /lib/libusual.ko
          echo „Loading ehci-hcd.ko module”
          insmod /lib/ehci-hcd.ko
          echo „Loading ohci-hcd.ko module”
          insmod /lib/ohci-hcd.ko
          sleep
          3
          # Ez a várakozás kell. Lehet hogy kevesebb is elég.
          mount -t usbfs /proc/bus/usb /proc/bus/usb
          echo „Loading scsi_mod.ko module”
          insmod /lib/scsi_mod.ko
          echo „Loading sd_mod.ko module”
          insmod /lib/sd_mod.ko
          echo „Loading sg.ko module”
          insmod /lib/sg.ko
          echo „Loading uhci-hcd.ko module”
          insmod /lib/uhci-hcd.ko
          echo „Loading usb-storage.ko module”
          insmod /lib/usb-storage.ko
          echo Waiting for driver initialization.
          stabilized /proc/bus/usb/devices
          echo „Loading libata.ko module”
          insmod /lib/libata.ko
          echo „Loading sata_nv.ko module”
          insmod /lib/sata_nv.ko
          echo Waiting for driver initialization.
          stabilized –hash –interval 250 /proc/scsi/scsi
          echo „Loading pata_amd.ko module”
          insmod /lib/pata_amd.ko
          echo Waiting for driver initialization.
          stabilized –hash –interval 250 /proc/scsi/scsi
          insmod /lib/scsi_wait_scan.ko
          rmmod scsi_wait_scan
          mkblkdevs
          sfdisk
          -R
          /dev/sda   #
          Ez is egy szükséges változtatás.
          echo Creating root device.
          mkrootdev -t ext3 -o defaults,ro /dev/sda1    # Az „mkrootdev /sysroot” nem jó.
          echo Mounting root filesystem.
          mount -t ext3 -o defaults,ro /dev/sda1 /sysroot  # A „mount /sysroot” sem elég.
          echo Setting up other filesystems.
          setuproot
          echo Switching to new root and running init.
          switchroot
          echo Booting has failed.
          sleep -1

          A végére marad a korona. A grub telepítése. Ezt azonban nem jó chroot alól végezni. Ezért vannak a következő parancsok:

          exit
          sync
          umount /mnt/sda/proc/bus/usb
          sync
          umount /mnt/sda/sys
          sync
          umount /mnt/sda/proc

          grub-install –root-directory=/mnt/sda /dev/sda

          Ezután még:

          umount /mnt/sda

          Aztán
          újra kell indítani a rendszert és a BIOS-ban rendszerindításra
          kijelölni az USB-s lemezt. (Persze az sda1 partíció-nak is indíthatónak
          kell lennie. Erről az fdisk /dev/sda parancs hívása után a boot bit
          bebillentésével lehet gondoskodni. Aztán ‘w’ és kész.)

          Kókuszdióhéjban
          ennyi. (Most még izgulhatok hogy ha elküldöm e szösszenetet mire a
          szerverre ér meglesz-e benne még minden szóköz.)

          #2122686
          oldalborda
          Felhasználó

            Kimaradtak az initrd fájlt ismételten elkészítő parancsok:

            cd „img”
            find . -print | cpio –quiet -c -o | gzip -9 > „../2.6.22.img”

            Az írást megszakítva közben ebédeltem és elfelejtettem.

            #2122687
            oldalborda
            Felhasználó

              Hmm………. Ahogy elnézem a rendszer nincs tekintettel a formázási
              szándékaimra. Az init program szövegében a saját megjegyzéseim a # jel
              után következnek és nem egy sorral lejjebb. Ettől biztosan a haját
              tépné a nash program.

              #2122688
              kisbetu
              Felhasználó

                Talán próbáld meg „kód” formázással betenni.

                #2122689
                Vladi
                Felhasználó

                  41.gif
                  Most már elhiszem, hogy három napig tartott. 🙂

                  Kérdés:
                  A gyári kernelnek mi volt a baja, hogy nem kezelte az usb-s hdd-t? Mi hiányzott belőle?

                  Jah, jók a szóközök. ;D

                  #2122690
                  oldalborda
                  Felhasználó
                    Code:
                    Kösz kisbetű eddig nem törődtem a menüsorral.
                    #2122691
                    oldalborda
                    Felhasználó

                      Szó sincs róla, kezeli az USB-s HDD-t, csak a rendszer töltésekor az
                      initrd állomány feldolgozása után egyszer csak síránkozni kezd valami
                      miatt és nem megy tovább. Nem emlékszem hogy mi baja van, de nem is
                      érdekelt túlzottan mert helyből a saját fordítású kernellel kezdtem a
                      próbálkozásaimat és csak a siker után ismételtem meg az eljárást a gyár
                      kernellel. Amikor láttam hogy nem jó, nem is érdekelt tovább mert
                      úgysem használom.
                      Auuuuu……. Kihagytam még valamit. Ha valaki nem
                      a chroot segítségével fölcsatolt rendszeren fordít kernelt, akkor a
                      kernelnek az rdev paranccsal meg kell magyarázni hogy mostantól kezdve
                      nem a hda3, hdb1, stb az ő helye hanem az sda1 !!!!

                      rdev vmlinuz-2.6.22 /dev/sda1

                      Persze
                      ezt ne az eredeti élő rendszeren futó kernellel kövessük el mert ebben
                      az esetben a következő rendszerindításkor nagy vakaródzás lesz a
                      jutalmunk.

                      #2122692
                      Vladi
                      Felhasználó

                        Hmm…

                        Akkor – ha jó értem – települt, csak aztán elpánikolt. Abban az esetben, ha valaki nem akar/tud csinálni saját kernelt, nem elég az initrd módosítása? (rescue, live cd. stb.)

                      10 bejegyzés megtekintése - 1-10 / 15
                      • Be kell jelentkezni a hozzászóláshoz.