Kezdőlap › Fórumok › Linux telepítés › Fedora 7 külső USB-s merevlemezen.
- This topic has 14 hozzászólás, 5 résztvevő, and was last updated 17 years, 11 months telt el by
oldalborda.
-
SzerzőBejegyzés
-
2007-07-14-20:07 #2122683
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. 🙂
2007-07-14-20:33 #2122684Má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. 🙂
2007-07-15-12:06 #2122685Elő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
rendszertkell á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/usbEzeken
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.22Ezutá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/sdaMost 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.imgValaki 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 -1A 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/procgrub-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.)2007-07-15-12:10 #2122686Kimaradtak 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.
2007-07-15-12:13 #2122687Hmm………. 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.2007-07-15-12:22 #2122688Talán próbáld meg „kód” formázással betenni.
2007-07-15-12:26 #2122689
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
2007-07-15-12:27 #2122690Code:Kösz kisbetű eddig nem törődtem a menüsorral.2007-07-15-12:35 #2122691Szó 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.2007-07-15-12:50 #2122692Hmm…
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.)
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz