The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Установка 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)



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру