Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: No_root__No_cry в Feb 21, 2008, 21:08



Титла: Как да спра зареждането от usb flash?
Публикувано от: No_root__No_cry в Feb 21, 2008, 21:08
Когато си пусна компютъра и в него е вкарана USB Flash памет, той се опитва да зареди от там (а там няма никаква инсталация), налага се да махна паметта и да го рестартирам, за да си зареди от хард диска. Как да го настроя да пропуска тази стъпка (зареждането от Flash паметта)? В настройките на GRUB може би?
Ползвам Debian.


Титла: Как да спра зареждането от usb flash?
Публикувано от: Ekspert в Feb 21, 2008, 21:44
От биоса (BIOS)


Титла: Как да спра зареждането от usb flash?
Публикувано от: ivo1204 в Feb 21, 2008, 21:45
Влез в БИОС-а , и си дай хард диска да  се зарежда преди USB-то.


Титла: Как да спра зареждането от usb flash?
Публикувано от: No_root__No_cry в Feb 21, 2008, 23:15
Компютъра ми е от 2000 г. BIOS-а сигурно е още по-стар, в него няма настройка за boot-ване от USB.
Всъщност компютъра ми boot-ва от харда, минавам си през GRUB и по едно време спира на следното място от зареждането:

BusyBox v 1.1.3 (Debian 1:1.1.3-4) Built-in shell (ash)

/bin/sh: can't access tty; job control turned off
(initramfs)

тогава пиша reboot и рестартирам.





Титла: Как да спра зареждането от usb flash?
Публикувано от: ivo1204 в Feb 21, 2008, 23:55
Инсталирай още поне едно ядро , какво ти пише в /boot/grub/menu.lst  за този  избор , с който боотваш ?


Титла: Как да спра зареждането от usb flash?
Публикувано от: No_root__No_cry в Feb 22, 2008, 19:11
По-долу съм написал какво пише в /boot/grub/menu.lst но не разбирам това какво значение има? Просто когато си зареждам Linux-а и е вкарана USB паметта, процеса на зареждане спира на описаното в предишния пост място. Всъщност не съм сигурен дали Debian се опитва да зареди някакви настройки от USB-то (или да възстанови предишна сесия записана там, не знам) или се случва нещо друго. Просто спира на това място и не мога да продължа.

title           Debian GNU/Linux, kernel 2.6.18-4-686
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.18-4-686 root=/dev/sda1 ro
initrd          /boot/initrd.img-2.6.18-4-686
savedefault

title           Debian GNU/Linux, kernel 2.6.18-4-686 (single-user mode)
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.18-4-686 root=/dev/sda1 ro single
initrd          /boot/initrd.img-2.6.18-4-686
savedefault


Титла: Как да спра зареждането от usb flash?
Публикувано от: ivo1204 в Feb 23, 2008, 00:03
Цитат
kernel          /boot/vmlinuz-2.6.18-4-686 root=/dev/sda1 ro

При мен , като бодна някоя флаш памет и тя е : /dev/sda , а като боотвам от USB , давам точно така : root=/dev/sda1.Но не става грешка , щото не съм готови ядра и диск ми е /dev/hda.
Иначе гледам , твоето го разпознава като /dev/sda.
Не съм пробвал как е при мен  с готовите ядра ( ама сигурно ще е нещо подобно ). Начи според мен какво става. Зарежда се ядрото и имаге файла е РАМ-а , мотира се имагето като "root" , прави се каквото се прави , и след това гледа да ти монтира /dev/sda1  и да превключи на него.Обаче това е на
УСБ-то , защото не е форматирано , и чете глупости от него.
Като види , че не става работата ,
Цитат
BusyBox v 1.1.3 (Debian 1:1.1.3-4) Built-in shell (ash)

/bin/sh: can't access tty; job control turned off
(initramfs)

BusyBox е шела в имагето ( /boot/initrd.img-2.6.18-4-686)
Аз чак сега се усещам , що Убунту си ползват
root=UUID=e0375d89-34d0-4a1a-80ab-9f2b4c54756e
дивотийте.Другият начин е чрез етикет , (label ) , aма не мога да ти кажа точно сега какво да направиш .

П.П.
Да ти кажа как става , ама нищо не съм тествал. Затова си остави тази линия в /boot/grub/menu.lst , а може да си допишеш нова.
Първо , диска има етикет . Командата е "e2label".
e2label /dev/sda1    Ти чете етикета , а:
e2label /dev/sda1  debian    ще го направи "debian ".
Ако обаче  имаш етикет , не го променяй , а го ползвай.

Тогава в командната линия ще е така  "root=LABEL=debian ". Oбаче трябва да погледнеш , дали в "/etc/fstab " е
 /dev/sda1   / ..............
ако е така , не го пипай , ако е с етикет , позвай него.
Пак ти казвам , не съм сигурен , не съм го пробвал.





Титла: Как да спра зареждането от usb flash?
Публикувано от: No_root__No_cry в Feb 23, 2008, 10:27
По принцип USB-то го слага като /dev/sdb1 но това чак когато вече са mount-нати и sda1 i sda2. Диска ми е SCSI. Label-и нямаха никакви, но аз и без това се чудех как да им сложа, че да си ги разпознавам по-лесно :) С e2label им сложих. В /etc/fstab пише:
/dev/sda1       /               ext3    defaults,errors=remount-ro 0       1
но не разбрах, какво да пробвам да добавя към /boot/grub/menu.lst?


Титла: Как да спра зареждането от usb flash?
Публикувано от: ivo1204 в Feb 23, 2008, 18:39
Дописваш си още един избор  в "/boot/grub/menu.lst" :

............................
title           Debian GNU/Linux, Label
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.18-4-686   root=LABEL=името    ro
initrd          /boot/initrd.img-2.6.18-4-686
savedefault
...............................
и нищо друго не променяш .





Титла: Как да спра зареждането от usb flash?
Публикувано от: divak в Feb 23, 2008, 23:42
Здравей
/etc/auto.master  и промени :
Цитат

usbdrive        -fstype=vfat,uid=1002,gid=1002,umask=002        :/dev/sda1


на ...:/dev/sdc
Цитат
/etc/auto.removable
тук също.

Цитат
/etc/modprobe.conf
редактирай и тук .

След това във БИОС-а иди на бут приоритетите и му задай да бутва например от CD/HDD/FLOPPY (В тази последователност) и другите възможности ги забрани (например removable device, network и тн.) Но ..щом зарежда ГРУБ ...може да пропуснеш интервенциите в БИОС-а ;) .
Успех.





Титла: Как да спра зареждането от usb flash?
Публикувано от: No_root__No_cry в Feb 25, 2008, 16:07
Нямам файлове /etc/auto.master, /etc/auto.removable и /etc/modprobe.conf.
С промяна на /boot/grub/menu.lst:
title           Debian GNU/Linux, Label
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.18-4-686   root=LABEL=името    ro
initrd          /boot/initrd.img-2.6.18-4-686
savedefault

се получи т.е. зареди от харда при вкарано USB, но след това не мога да си mount-а нито USB-то, нито другите дялове oсвен root-ския.
mount -t ext3 /dev/sdb3 /home/sdb3
mount: wrong fs type, bad option, bad superblock on /dev/sdb3,
       missing codepage or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so
Целият проблем идва от там, че когато няма вкарано USB при стартирането, харда се разпознава като sda и дяловте му:
sda1 - /
sda2 - swap
sda3 и sda4 другите два ext3 дяла
sdb1 - USB-то,
а когато е вкарано, първо се разпознава USB-то като sda1 и след това
sdb1 - /
sdb2 - swap
sdb3 и sdb4 другите.
Не знам това може ли да се настрои от някъде.


Титла: Как да спра зареждането от usb flash?
Публикувано от: boyan7640 в Feb 25, 2008, 23:16
Предполагам някъде из конфигурациите на udev може да го направиш, ако въобще ползваш udev. Виж имаш ли такава директория /etc/udev/. Ако имаш трябва да почетеш за udev малко. С командата udevinfo може да разгледаш повече информация за USB устройството (прочети man-а).

Ама това е само предположение, поне е някаква насока :).

П.С. Ама като гледам, може и да не стигне до udev, т.е. grub трябва да се ръчка. Нещо от сорта (не много практично :) ):
Цитат
title Linux (with USB)
map (hd0) (hd1)
map (hd1) (hd0)
root (hd0,X)
kernel ...
initrd ...


Титла: Как да спра зареждането от usb flash?
Публикувано от: divak в Feb 26, 2008, 01:02
Здравей
/etc/auto.master, /etc/auto.removable  са конфигурационни файлове на autofs (предположих че си го качил) .
за /etc/modprobe.conf - грешката е моя - имах предвид /etc/modules.conf и редактиране на системните runlevel скриптове ще си решиш проблема . ГРУБ-а не е виновен ;) .
Направи udev скрипта със по-нисък приоритет на стартиране (/etc/rcS.d). Например от S03udev na S30udev(гледай да е след Sнещо-сиcheckroot.sh), или със apt-get install rcconf sysvconfig инсталирай тези програми, много са удобни за такива цели.





Титла: Как да спра зареждането от usb flash?
Публикувано от: No_root__No_cry в Feb 28, 2008, 18:09
Не стана с промяната на приоритета на udev скрипта в rcS.d. Пак си прави същото. Явно трябва да взема да попрочета повече за udev :)