Установка CentOS 5.2 на флешку , GaDiNa, 21-Мрт-09, 21:11 [смотреть все]Всем привет. Подскажите как быть - в идеале хочу получить голый (text mode) CentOS 5.2 на флешке. Для того чтобы получить такую ось на винте, обычно гружусь с netinstall образа и пишу "linux text" и далее в таком режиме устанавливаю минимум пакетов через интет. В итоге получаю голую ось, готовую для различных задач - доустанови что надо и в продакшн ) После чтения разных мануалов и советов, вот что у меня получилось:- Поставил минимальную систему на винт. - Подключил флешку, создал на ней раздел, примонтировал, зашел в примотированную директорию и с помощью команды dump -0 -f - / |restore -r -f - скопировал все с винта на флешку. Потом подредактировал файлы fstab и mtab, установил GRUB на флешку и поправил menu.lst Выглядит это все так: # cat /mnt/sda1/boot/grub/device.map # this device map was generated by anaconda (hd0) /dev/sda # cat /mnt/sda1/boot/grub/menu.lst default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title USB CentOS (2.6.18-92.1.22.el5) root (hd0,0) kernel /boot/vmlinuz-2.6.18-92.1.22.el5 ro root=/dev/sda1 initrd /boot/initrd-2.6.18-92.1.22.el5.img # cat /mnt/sda1/etc/fstab /dev/sda1 / ext3 defaults 1 1 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0
# cat /mnt/sda1/etc/mtab /dev/sda1 / ext3 rw 0 0 proc /proc proc rw 0 0 sysfs /sys sysfs rw 0 0 devpts /dev/pts devpts rw,gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs rw 0 0 none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0 sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
Отключил винт и попытался загрузиться с флешки. Загрузка началась, только вот до конца система не загружается. пишет вот что: usb 1-4: configuration #1 chosen from 1 choice ata2.00: ATAPI: Optiarc DVD RW AD-7200S, 1.01, max UDMA/100 ata2.00: configured for UDMA/100 Vendor: Optiarc Model: DVD RW AD-7200S Rev: 1.01 Type: CD-ROM ANSI SCSI revision: 05 Waiting for driver initialization. Scanning and configuring dmraid supported devices Trying to resume from LABEL=SWAP-hda2 Unable to access resume device (LABEL=SWAP-hda2) Creating root device. Mounting root filesystem. mount: could not find filesystem '/dev/root' Setting up other filesystems. Setting up new root fs setuproot: moving /dev failed: No such file or directory no fstab.sys, mounting internal defaults setuproot: error mounting /proc: No such file or directory setuproot: error mounting /sys: No such file or directory Switching to new root and running init. unmounting old /dev unmounting old /proc unmounting old /sys switchroot: mount failed: No such file or directory Kernel panic - not syncing: Attempted to kill init! не понятно, почему из-за чего ошибка, ведь GRUB увидел раздел на флешке, считал оттуда ядро, загрузил его, дальше уже идет работа ядра, правильно ? Значит чтото в нем не так, раз оно не видит файловую систему.. Я просто не понимаю на каком этапе ошибка появляется.. Так же неясно откуда береться этот LABEL=SWAP-hda2. это свап раздел на винте с которого я копировал систему на флешку. я же удалил с fstab и mtab упоминания об свап-разделе. на флешке ОДИН раздел. свапа не стал делать, считаю это ненужным.
Подскажите, как разобраться..
|
- Установка CentOS 5.2 на флешку , GaDiNa, 22:05 , 21-Мрт-09 (1)
Вот нашел инфу что возможно нужно создавать другой initrd для загрузки с флешки. Что нужно туда добавить usb-storage.ko чтобы ядро увидело USB устройство на этапе загрузки. Правильно это или нет ? Я не понимаю зачем это добавлять в "тот linux" который я скопировал с винта - ведь он нормально "видит" USB флешку .... Или "флешку видит" уже загруженная система, а не тот initrd что загружает её.. По моему логично и тогда нужно переделывать initrd. Объясните пожалуйста. Видимо не совсем понимаю что происходит при загрузке linux.
- Установка CentOS 5.2 на флешку , angra, 05:28 , 22-Мрт-09 (2)
- Установка CentOS 5.2 на флешку , GaDiNa, 12:51 , 22-Мрт-09 (3)
>Перегенерировать initrd придется, причем не только из-за добавления usb-storage.ko, а еще и >потому, что сейчас скрипты в initrd шибко "умные" пошли, /etc/fstab и >root= им зачастую не указ, они типа сами у себя хранят >эту инфу. Как следствие при переносе такого initrd ничего хорошего не >получается. а не могли бы вы рассказать что для этого надо сделать ? я так понимаю - загрузиться с винта и с помощью команды mkinitrd сгенерировать новый initrd и потом его скопировать на флешку. Но вот какие ключи использовать для mkinitrd.. как туда добавить модуль usb-storage и еще вродебы нужно в какомто конфиге установить задержку в несколько секунд, чтобы ядро успело определить usb устройство..
- Установка CentOS 5.2 на флешку , chainik, 19:31 , 22-Мрт-09 (4)
- Установка CentOS 5.2 на флешку , GaDiNa, 20:16 , 22-Мрт-09 (5)
>Вероятнее всего, что initrd не подгружает модуль usb флэшки, либо (менее вероятно) >модуль файловой системы флэшки, поэтому и не находит, куда монтировать корень. я думаю скорее первое, ибо ФС на флешке родной - ext3, как его можно не распознать.. >Обычно в initrd включают большинство модулей, которые могут пригодиться, и udev >загружает нужные, но вы не попали в счастливое большинство. что вобще такое этот initrd человескими словами ? и почему именно он должен иметь эти модули ? GRUB увидел ФС на флешке и начал с нее загрузку, Видимо дальше он передает управление этому initrd, который в свою очередь тоде комуто передаст управление ? что такое udev ? >Я бы посоветовал распакавать initrd, добавить нужные модули (а заодно убрать resume >со старого свопа) и собрать обратно. В настоящее время чаще всего >initrd - cpio архив, сжатый gzip. да я не против пересобрать его, только не знаю как. ( >Другое решение - поменять флэшку на более распространенную, но, как вам уже >сказали - пересобирать initrd, скорее всего, все равно придется. вот этого тоже не понял. зачем менять флешку ? что от этого измениться ? ведь она будет для initrd точно таким же неизвестным устройством..
- Установка CentOS 5.2 на флешку , met3x, 09:58 , 23-Мрт-09 (7)
- Установка CentOS 5.2 на флешку , GaDiNa, 13:56 , 23-Мрт-09 (8)
>Похоже на то, что ядро не понимает откуда ему грузить систему - >попробуй задать какуюнить уникальную метку этому разделу, и в грубе указать >грузиться по этой метке. я думаю что нужно пересобрать initrd, только не знаю какой модуль добавлять..
- Установка CentOS 5.2 на флешку , angra, 17:45 , 23-Мрт-09 (9)
- Установка CentOS 5.2 на флешку , GaDiNa, 19:38 , 23-Мрт-09 (10)
>Может уже пора перестать страдать херней и воспользоваться давно написанными хелперами под >RHEL/CentOS/Fedora? да вроде разобрался уже.. mkinitrd --fstab=путь_к_fstab_на_флешке ........ заработало.. более того - вообще получилось установить centos 5.2 сразу на флешку.. но я был бы признателен, если бы мне объяснили что такое "хелперы", разберусь и сразу перестану страдать )
|