Установка Slackware на usb-диск

SLAX, Deep Style, ZenWalk

Модератор: Модераторы разделов

Аватара пользователя
Archangel
Сообщения: 431
ОС: Slackware64-14.1

Установка Slackware на usb-диск

Сообщение Archangel »

Собрал себе компутер на mitx, планируется из него медиастанция с файловым хранилищем. Был у меня в работе винт WD на два терра под райзер, решил его уже не трогать а систему поставить на внешний диск, все равно простаивает. Вроде все стало но отказалось грузиться, я так понял не хватает модулей для загрузки по usb. Поэтому вопрос как правильно создать initrd, чтобы все таки можно было грузить?
Потом попробовал переустановить, так lilo совсем вылетать стал с 99 99 99 99 99 ...
И хотелось бы узнать, как вообще лучше будет организовать, а то на матери всего два sata, и планирую поставить еще один винт на 2 терра. Куда лучше ставить систему? На один из внутренних дисков, куда и лягут фильмы с музыкой и прочее, или так и оставить с внешнего?
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Установка Slackware на usb-диск

Сообщение drBatty »

http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Archangel
Сообщения: 431
ОС: Slackware64-14.1

Re: Установка Slackware на usb-диск

Сообщение Archangel »

slax конечно хорош для загрузки с флэшки, только не понял зачем он в моем случае?
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Установка Slackware на usb-диск

Сообщение drBatty »

Archangel писал(а):
20.03.2011 13:03
Поэтому вопрос как правильно создать initrd, чтобы все таки можно было грузить?

Archangel писал(а):
20.03.2011 14:27
только не понял зачем он в моем случае?

командой cp очевидно (:
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
flank'er
Сообщения: 496
Статус: слаковщик
ОС: Slackware64

Re: Установка Slackware на usb-диск

Сообщение flank'er »

Вроде все стало но отказалось грузиться, я так понял не хватает модулей для загрузки по usb

модули: ehci-hcd, ohci-hcd, uhci-hcd, usb-storage
Куда лучше ставить систему? На один из внутренних дисков, куда и лягут фильмы с музыкой и прочее, или так и оставить с внешнего?

да, как бы особо без разницы хотя в идеале система и данные должны быть на разных носителях. одна медиа-станция у меня вообще бездисковая была, грузилась по pxe, корень и данные на NFS.

ps slax - старье безнадежное
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Установка Slackware на usb-диск

Сообщение drBatty »

flank'er писал(а):
20.03.2011 19:13
ps slax - старье безнадежное

какая разница для медиа-станции?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Archangel
Сообщения: 431
ОС: Slackware64-14.1

Re: Установка Slackware на usb-диск

Сообщение Archangel »

что-то никак не получается запуститься. Сначала вообще lilo не грузился, показывал квадрат Малевича. Добавил в lilo.conf строки:

Код: Выделить всё

disk=/dev/sdb
bios=0x80
disk=/dev/sda
bios=0x81

Стал писать:

Код: Выделить всё

Block move error 0x02
0 -Signature not found

Сделал mkinitrd -c -k 2.6.33.4-smp -m ehci-hcd:ohci-hcd:uhci-hcd:usb-storage
ну и добавил в lilo.conf обновив lilo
Стал вылетать с ошибкой: L 99 99 99 99 ...
Попробовал сделать lilo -M /dev/sdb, lilo перестал даже пробовать грузиться с нужного диска.
В fstab всего два диска /dev/sdb1 под / и /dev/sda1 как данные в /mnt/tank1
Как его запустить?
Спасибо сказали:
flank'er
Сообщения: 496
Статус: слаковщик
ОС: Slackware64

Re: Установка Slackware на usb-диск

Сообщение flank'er »

поставте grub из extra, там есть простенький скрипт grubconfig который в simple режиме установит загрузчик на нужный винт. не забудьте про конфиг.
Спасибо сказали:
Аватара пользователя
Archangel
Сообщения: 431
ОС: Slackware64-14.1

Re: Установка Slackware на usb-диск

Сообщение Archangel »

Да вот не знаю даже, что-то не лежит у меня душа к grub, все больше с lilo работал. А тут получается если без initrd, то lilo запускается и тормозиться на этапе подхвата рутового раздела. А если создать initrd как я уже писал, то вылетаем с ошибкой L 99 99 99 ...
Может я не так initrd создаю?
PS в lilo.conf initrd добавляю как:

Код: Выделить всё

initrd=/boot/initrd.gz

Попробовал добавить в initrd модуль ext4, вроде пошло чуть лучше(я / сделал под ext4). Теперь загрузка стопорится с сообщениями:

Код: Выделить всё

mount: no /etc/mtab
ERROR: No /sbin/init found on rootdev(or not mounted).  Trouble ahead.
You can try to fix it. Type 'exit' when things are done.
/bin/sh: can't acces tty; job control turned off
Спасибо сказали:
flank'er
Сообщения: 496
Статус: слаковщик
ОС: Slackware64

Re: Установка Slackware на usb-диск

Сообщение flank'er »

Сделал mkinitrd -c -k 2.6.33.4-smp -m ehci-hcd:ohci-hcd:uhci-hcd:usb-storage

должно быть как-то так:

Код: Выделить всё

mkinitrd -c -k 2.6.33.4-smp -m ehci-hcd:ohci-hcd:uhci-hcd:usb-storage:ext4 -f ext4 -r /dev/sdaX

вылетаем с ошибкой L 99 99 99 ..

возможно путаница в дисках. как ставиться lilo? с домашнего компа на целевой винт, или на целевой машине с livecd/liveusb через chroot?
Спасибо сказали:
Аватара пользователя
Archangel
Сообщения: 431
ОС: Slackware64-14.1

Re: Установка Slackware на usb-диск

Сообщение Archangel »

Ошибка L 99 99 ...
была, пока я не добавил в initrd модуль ext4, хотя на ноутбуке у меня корень на ext4 и система прекрасно грузиться без initrd. Установка с загрузочной флэшки и дальше с http делал. Компьютер без оптического привода и не планируется он у меня, а внешнего нет в наличии.
Кстати, как я понял как раз ehci-hcd, uhci-hcd, ohci-hcd закидывать в initrd не нужно, а то при загрузке он ругается что они уже запущены. В initrd добавлен только ext4 и загрузка lilo проходит успешно, добавил его путем:

Код: Выделить всё

mkinitrd -c -k 2.6.33.4-smp -m ext4 -f ext4 -r /dev/sdb1

Загрузка стопориться и вижу перед собой:

Код: Выделить всё

mount: mounting /dev/sdb1 on /mnt failed: No such file or directory

хотя почему так если /dev/sdb1 - это / ???
Ну и дальше вижу:

Код: Выделить всё

ERROR: No /sbin/init found on rootdev(or not mounted) ...

Вроде как оно и понятно, ведь он рут пытался в /mnt засунуть и то неудачно.
Может все дело в том, что он сначала пытается смонтировать /dev/sdb, а потом только обнаруживает этот самый /dev/sdb? Потому как опрос usb устройств идет уже после попытки мотирования sdb.
Помниться во фряхе была такая проблема, приходилось какую-то паузу делать, чтобы машина успела опросить usb и потом уже с них грузилась.
Спасибо сказали:
flank'er
Сообщения: 496
Статус: слаковщик
ОС: Slackware64

Re: Установка Slackware на usb-диск

Сообщение flank'er »

Кстати, как я понял как раз ehci-hcd, uhci-hcd, ohci-hcd

возможно при добавлении модуля usb-storage модули хост-контроллера добавляются по зависимости
mount: mounting /dev/sdb1 on /mnt failed: No such file or directory

почему sdb? речь вроде шла об одном жестком диске? после сообщения:

Код: Выделить всё

mount: mounting /dev/sdb1 on /mnt failed: No such file or directory

введите команду

Код: Выделить всё

fdisk -l

хотелось бы увидеть перечень разделов которые она выведет
Спасибо сказали:
flank'er
Сообщения: 496
Статус: слаковщик
ОС: Slackware64

Re: Установка Slackware на usb-диск

Сообщение flank'er »

Может все дело в том, что он сначала пытается смонтировать /dev/sdb, а потом только обнаруживает этот самый /dev/sdb? Потому как опрос usb устройств идет уже после попытки мотирования sdb.

да, это возможно. помнится я добавлял паузу 10 секунд, когда делал корень на флешке. если в этом дело, можно попробовать "вручную" загрузиться командами:

Код: Выделить всё

# mount /dev/sdb1 /mnt
# mount -o move /proc /mnt/proc
# mount -o move /sys /mnt/sys
# exec switch_root /mnt /sbin/init 3
Спасибо сказали:
Аватара пользователя
Archangel
Сообщения: 431
ОС: Slackware64-14.1

Re: Установка Slackware на usb-диск

Сообщение Archangel »

Сегодня вечером попробую. У меня два винта в машине, на данный момент, один внутренний двух террабайтник, второй внешний, подключенный по usb, вот на внешний и устанавливается система. Он опознается как /dev/sdb.
PS а комады для "ручной" загрузки откуда вводить? Загрузиться с флэшки.
Спасибо сказали:
flank'er
Сообщения: 496
Статус: слаковщик
ОС: Slackware64

Re: Установка Slackware на usb-диск

Сообщение flank'er »

PS а комады для "ручной" загрузки откуда вводить?

насколько понимаю при загрузке c usb-винчестера и выдачи сообщения

Код: Выделить всё

mount: mounting /dev/sdb1 on /mnt failed: No such file or directory

выкидывает в консоль busybox? там и вводить. правда там usb-клавиатура не поддерживается :( в смысле нужен будет модуль usb-клавиатуры добавлять, если обычной ps/2 нет.
Спасибо сказали:
Аватара пользователя
Archangel
Сообщения: 431
ОС: Slackware64-14.1

Re: Установка Slackware на usb-диск

Сообщение Archangel »

не знаю выкидывает или нет, просто стопорятся сообщения загрузки, на клавиатуру не реагирует, у меня беспроводной набор от логитек. Правда если засунуть флэшку в этот момент, то она определяется, что видно из новых сообений. А вот ps/2 как раз и нету.
PS А что за пауза и куда ее добавлять? Может проще с ней попробывать?
Спасибо сказали:
flank'er
Сообщения: 496
Статус: слаковщик
ОС: Slackware64

Re: Установка Slackware на usb-диск

Сообщение flank'er »

ну, все логично.
добавление паузы в initrd.gz перед монтированием корневого раздела на USB носителе.
после создания initrd.gz утилитой mkinitrd, перейдите в /boot директорию целевого системного радела, создайте вспомогательный каталог и перейдите в него:

Код: Выделить всё

# cd /boot
# mkdir ./1
# cd ./1

распакуйте cpio/gzip архив initrd.gz во вспомогательный каталог:
# gzip -dc ../initrd.gz | cpio -iumdv

текстовым редактором откройте файл ./init и в конце найдите строки
# Switch to real root partition:
echo 0x0100 > /proc/sys/kernel/real-root-dev
mount -o ro -t $ROOTFS $ROOTDEV /mnt

это строки номер 279-280.
перед строкой mount вставьте строку sleep 10
это добавит задержку 10 секунд перед монтированием корневого раздела, что бы ядро успело распознать дисковые разделы на USB носителе. время можно варьировать 5-10 секунд в зависимости от быстродействия компьютера. должно выглядеть так:
# Switch to real root partition:
echo 0x0100 > /proc/sys/kernel/real-root-dev
sleep 10
mount -o ro -t $ROOTFS $ROOTDEV /mnt


удалите старый архив initrd.gz

Код: Выделить всё

# rm ../initrd.gz

создайте модифицированный initrd:

Код: Выделить всё

# find . | cpio -v -o -H newc | gzip -9 >../initrd.gz

перейдите в /boot директорию и удалите вспомогательный каталог:

Код: Выделить всё

# cd /boot
# rm -r /boot/1

не забудьте выполнить
# lilo
вот и все.



Спасибо сказали:
Аватара пользователя
Archangel
Сообщения: 431
ОС: Slackware64-14.1

Re: Установка Slackware на usb-диск

Сообщение Archangel »

Да, свершилось чудо, это оно. Другими словами заработало, огромное спасибо 2 flank'er.
PS Прошлый пост хорошо бы в вики закинуть. Думаю многим может пригодиться.
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Установка Slackware на usb-диск

Сообщение bormant »

Насколько понимаю, не обязательно распаковывать собственно initrd.gz -- если его только что сделали при помощи mkinitrd, то в /boot есть initrd-tree, из которого и строится initrd.gz.
Достаточно поменять необходимое в этом дереве и запаковать его обратно
# ( cd /boot/initrd-tree ; find . | cpio -v -o -H newc | gzip -9 >../initrd.gz )
Спасибо сказали:
Аватара пользователя
Linuxman
Сообщения: 388
ОС: Arch Linux, OpenSUSE

Re: Установка Slackware на usb-диск

Сообщение Linuxman »

Дабы не плодить темы о usb-hdd.
Решил установить Slackware 13.37, но заводское разбиение и винду с ноута сносить не охото. Есть внешний usb-hdd на 750Гб, решил использовать его как раздел под слаку.
Можно ли установить систему и главное загрузчик на внешний hdd так что бы с примонтированным usb-hdd можно было выбирать какую систему грузить, а без подключенного usb-hdd грузилась заводская винда с hdd ноута?
Now I know only I can stop the rain…
Спасибо сказали:
Аватара пользователя
Archangel
Сообщения: 431
ОС: Slackware64-14.1

Re: Установка Slackware на usb-диск

Сообщение Archangel »

Можно, ставится на usb линукс и лило настраивается соответственно. Ну если usb не будет, будет соответственно грузится с внутреннего винта и будет использоваться его загрузчик.
Спасибо сказали:
Аватара пользователя
Linuxman
Сообщения: 388
ОС: Arch Linux, OpenSUSE

Re: Установка Slackware на usb-диск

Сообщение Linuxman »

Может кто ни будь поделиться как настроить lilo, пробовал установить в корень, но при загрузке выдает invalid partition table.
Диск разбит на 3 и sdb3 - отметил как загрузочный
dev/sdb1 - NTFS
dev/sdb2 - swap
dev/sdb3 - root
после подмантировал в /tmp установленную систему и залез в lilo.conf и добавил строчку boot = /dev/sdb3 на что теперь вылезает новое предупреждение об ошибке загрузки системы.
Может надо не в корень устанавливать или прописать какие доп параметры?
Now I know only I can stop the rain…
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Установка Slackware на usb-диск

Сообщение bormant »

Linuxman,
давайте уточним. /dev/sdb -- это Ваш внешний USB-HDD.

Если Вы собираетесь грузить с него Slackware, нужно определиться, какой загрузчик будет это делать. Если думать о загрузчике, как о чём-то самостоятельном, это упростит понимание.

Если предполагается загрузчик в MBR от USB-HDD, то lilo.conf на момеент выплнения lilo содержал бы что-то вроде:

Код: Выделить всё

boot = /dev/sdb
image = /boot/vmlinuz
  root = /dev/sdb3
  label = Linux
  read-only

Поставить можно было бы, передав файл в качестве аргумента параметра -C в lilo.

Но есть нюанс. На некоторых BIOS выставление загрузки с USB-HDD способно сделать его /dev/sda вместо /dev/sdb. Если это произойдёт, с этим нужно будет разобраться отдельно, но лучше решать проблемы по мере их поступления.

Либо предполагается иметь загрузчик в MBR основного жёсткого диска и грузиться, подключая при необходимости внешний HDD. Тогда фрагмент lilo.conf мог бы выглядеть как:

Код: Выделить всё

boot = /dev/sda
image = /boot/vmlinuz
  root = /dev/sdb3
  label = Linux
  read-only
other = /dev/sda1
  label = Windows

Одного только упомянутого "boot = /dev/sdb3" недостаточно. В таком варианте lilo ставится в корневой раздел, но нужен ещё какой-то загрузчик, который будет передавать ему управление. В случае LILO управление ему можно было бы передать при помощи

Код: Выделить всё

other = /dev/hdb3
  label = Linux

Полагаю, Вы такой не обеспечили.
Спасибо сказали:
Аватара пользователя
Linuxman
Сообщения: 388
ОС: Arch Linux, OpenSUSE

Re: Установка Slackware на usb-диск

Сообщение Linuxman »

Неудачное знакомство с лило у меня получается:)
Что же.
Вот оба мои диска:

Код:

Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x4b3a8882 Device Boot Start End Blocks Id System /dev/sda1 * 2048 409599 203776 7 HPFS/NTFS/exFAT /dev/sda2 409600 934154239 466872320 7 HPFS/NTFS/exFAT /dev/sda3 934154240 976560127 21202944 7 HPFS/NTFS/exFAT /dev/sda4 976560128 976771119 105496 c W95 FAT32 (LBA) Disk /dev/sdb: 750.2 GB, 750153367552 bytes 255 heads, 63 sectors/track, 91200 cylinders, total 1465143296 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00035265 Device Boot Start End Blocks Id System /dev/sdb1 64 1148117354 574058645+ 7 HPFS/NTFS/exFAT /dev/sdb2 1148117355 1150214506 1048576 82 Linux swap /dev/sdb3 * 1150214507 1465143295 157464394+ 83 Linux


Вот мой лило после попытки установки в корень

Код:

# LILO configuration file # generated by 'liloconfig' # # Start LILO global section boot = /dev/sdb #compact # faster, but won't work on all systems. # Standard menu. message = /boot/boot_message.txt # Append any additional kernel parameters: append=" vt.default_utf8=0" #prompt #timeout = 5 # Normal VGA console vga = normal # Ask for video mode at boot (time out to normal in 30s) #vga = ask # VESA framebuffer console @ 1024x768x64k # vga=791 # VESA framebuffer console @ 1024x768x32k # vga=790 # VESA framebuffer console @ 1024x768x256 # vga=773 # VESA framebuffer console @ 800x600x64k # vga=788 # VESA framebuffer console @ 800x600x32k # vga=787 # VESA framebuffer console @ 800x600x256 # vga=771 # VESA framebuffer console @ 640x480x64k # vga=785 # VESA framebuffer console @ 640x480x32k # vga=784 # VESA framebuffer console @ 640x480x256 # vga=769 # ramdisk = 0 # paranoia setting # End LILO global section # Linux bootable partition config begins image = /boot/vmlinuz root = /dev/sdb3 label = Linux read-only # Partitions should be mounted read-only for checking # Linux bootable partition config ends
Now I know only I can stop the rain…
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Установка Slackware на usb-диск

Сообщение bormant »

Давайте по порядку.
Машина загружена со Slackware DVD/CD1, на приглашение SYSLINUX "boot: " был нажат Enter, так?
Основной HDD 500Gb виден как /dev/sda, так?
USB-HDD 750Gb виден как /dev/sdb, так?
Ранее была произведена установка, /dev/sdb3 был указан в качестве корня, так?

Вариант 1.
# umount /mnt ; mount /dev/sdb3 /mnt
# liloconfig

expert
Begin - ... - MBR - /dev/sdb - ... - ...
Linux - /dev/sdb3 - Linux
Install

#

Ctrl+Alt+Del, средствами BIOS выбрать загрузку с USB-HDD.

Каков результат?
Спасибо сказали:
Аватара пользователя
Linuxman
Сообщения: 388
ОС: Arch Linux, OpenSUSE

Re: Установка Slackware на usb-диск

Сообщение Linuxman »

Заранее спасибо за потраченное ваше время:)
В общем уже лучше:) начинаем грузится, но ловим кернел паник.Почему то он в поисках по /dev/sdaX бегает.
Изображение
Now I know only I can stop the rain…
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Установка Slackware на usb-диск

Сообщение bormant »

Ага, уже лучше, загрузчик пишется на место, параметр root ядру приходит правильный (813).
Вот только к моменту монтирования корня ядро знает только про sda (800) и CD-ROM sr0 (0b00).

А USB устройства не определены ядром (либо не успели подняться ядром USB диски, либо поддержка USB собрана модулями).

Стало быть самый простой путь -- собрать initrd с поддержкой USB и дописать после root строчку "initrd = /boot/initrd.gz".

До тех пор можно в качестве загрузчика использовать DVD/CD от Slackware -- на приглашение SYSLINUX "boot: " ответить согласно подсказке (после initrd= пробел):

Код: Выделить всё

hugesmp.s root=/dev/sdb3 rdinit= ro

Хотя, если предположение про модули верное, то без initrd с модулями ehci_hcd / ohci_hcd чуда не произойдёт. Нужно поизучать вопрос в этом направлении.

ps. Ага, почти угадал: http://www.linuxquestions.org/questions/sl...06/#post3924218
пишут, достаточно добавить ядру параметр rootdelay=20, возможно больше или меньше, зависит от машины и диска.
То есть, либо в начало lilo.conf поправить append=, добавив туда "rootdelay=20", либо после image= добавить строку addappend = "rootdelay=20".

А выполняя liloconfig, нужно просто вписать "rootdelay=20" без кавычек на шаге, когда спрашивает про дополнительные параметры ядра, то есть

# liloconfig

expert
Begin - rootdelay=20 - MBR - /dev/sdb - ... - ...
Linux - /dev/sdb3 - Linux
Install

#

Ctrl+Alt+Del, средствами BIOS выбрать загрузку с USB-HDD.

Каков результат?

А DVD/CD1 Slackware можно будет использовать для загрузки так:

Код: Выделить всё

hugesmp.s root=/dev/sdb3 rdinit= ro rootdelay=20

Спасибо сказали:
Аватара пользователя
Linuxman
Сообщения: 388
ОС: Arch Linux, OpenSUSE

Re: Установка Slackware на usb-диск

Сообщение Linuxman »

Успех;)
Ну цель достигнута, система грузиться и консоль появляется. Пойду курить how-to да настраивать систему:)
Еще раз спасибо за помощ.
Now I know only I can stop the rain…
Спасибо сказали: