Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: проблема с новым ядром  (Прочитано 9503 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« : 06-02-2010 16:38 » 

Всем привет, возникла проблема, при загрузки нового ядра выдает ошибку:
mount: mounting /dev/sda3/ on /mnt failid: No such device ERROR: No /sbin/init/ found on rootdev (or not mounted). Trouble ahead. You can try to fix it. Tupe 'exit' when things are done. /bin/sh: can't access tty; job control turned off /#


fdisk –l

Код:
Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x90909090
Device    Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        5099    40957686    7  HPFS/NTFS
/dev/sda2            5100       10447    42957810    f  W95 Ext'd (LBA)
/dev/sda3   *       10448       14593    33302745   83  Linux
/dev/sda5            5100       10198    40957686    7  HPFS/NTFS
/dev/sda6           10199       10447     2000061   82  Linux swap

fstab

Код:
/dev/sda6        swap                swap      defaults                                       0   0
/dev/sda3        /                       ext4         defaults                                       1   1
#/dev/cdrom   /mnt/cdrom      auto      noauto,owner,ro                        0   0
/dev/fd0         /mnt/floppy       auto         noauto,owner                            0   0
devpts            /dev/pts             devpts     gid=5,mode=620                      0   0
proc               /proc                  proc          defaults                                      0   0
tmpfs             /dev/shm            tmpfs       defaults                                     0   0




lilo.conf

Код:
#Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/sda3
label = Linux
read-only
# Linux bootable partition config ends
image = /boot/bzImage-my
root = /dev/sda3
initrd = /boot/initrd.gz
label = Linux-my

Про initrd   и mkinitrd знаю читал README.initrd я собирал: mkinitrd -c -o initrd.img -k 2.6.29.6 -m ext4 -f /dev/sda3, mkinitrd -c -o initrd.gz -k 2.6.29.6-smp -m ext4 -f /dev/sda3
O.S. Slackware 13,0
Ядро по умолчанию грузится нормально, а вот новое которое я собрал, нет. Ничего не помогло, обшарим интернет, ни чего вразумительного не нашёл, ест много тем по этой ошибки, но так описывается ошибка, но не написано как ее решит, подскажите если знаете как ее решит?
P.S. Прошу прощения за внешний вид fstab почему то не получилось колонки подогнать.
« Последнее редактирование: 06-02-2010 16:39 от Diskriptor » Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 06-02-2010 17:05 » 

Попробуй просто "mkinitrd -c -k 2.6.29.6 -m ext4".
После распакуй и посмотри как initrd создался и все ли там есть для монтирования корневого каталога. В частности, присутствуют ли драйвера для контролера жесткого диска и драйвера для файловой системы.
Записан
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #2 : 09-02-2010 08:02 » 

Выполнил команду mkinitrd -c -k 2.6.29.6 -m ext4, получил папку initrd-tree, в этой папке я обратил внимания на следующие папки initrd-tree/dev среди прочих там лежат файлы sda1...sda6 и tty1...tty4 я так понимаю это драйвера для жёсткого диска, потом обратил внимания на папку initrd-tree/lib/modules/2.6.29.6/kernrl/fs тут лежит папка ext4, я так понимаю  что это драйвера для файловой системы. Получается что все на месте, может в fstab надо  раздел sda3 с каким то особым образом прописать, побывал прописать через  UUID не помогло, в чем еще могут быт проблемы?
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 09-02-2010 12:35 » 

Отлично

Нет, в dev дежат файлы устройств - фишка такая униксовая, а драйвера лежат как раз в подпапках по пути lib/modules/<VERSION>/. Например, для устройств драйвера обычно располагают в kernel/drivers/

fstab - файл, описывающий точки монтирования. Его использую загрузочные скрипты.
Монтируемое устройство может быть указано:
* Путем к файлу устройства (/dev/sda1)
* Именем раздела (LABEL=....)
* UUID раздела (UUID=.....)

Просмотреть LABEL и UUID для ext2|ext3|ext4 раздела /dev/sda1:

tune2fs -l /dev/sda1
« Последнее редактирование: 09-02-2010 12:40 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 09-02-2010 18:20 » 

Diskriptor, зачем тебе вообще потребовалось свое ядро собирать. Если слабо в этом разбираешься, ставь из репозитария уже уже собранные ядра.
Записан
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #5 : 09-02-2010 18:32 » 

Цитата
Нет, в dev дежат файлы устройств
я знаю что это файл устройства думал что драйвер зразу зашивается в него, получается что драйверов на жёсткий нет, подскажите куда капать как узнать какой именно драйвер нужен для моего жёсткого и где его взят?
Цитата
fstab - файл, описывающий точки монтирования. Его использую загрузочные скрипты.
Монтируемое устройство может быть указано:
* Путем к файлу устройства (/dev/sda1)
* UUID раздела (UUID=.....)

про это знал  правда UUID смотрел командой ls -lF /dev/disk/by-uuid/
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 09-02-2010 18:40 » 

Diskriptor, если в общих словах то определить нужный драйвер можно так:
1 - через 'lspci' определяешь вендор IDE контроллера.
2 - по этому вендору, в файле '/lib/modules/<VERSION>/modules.pcimap' определяешь модуль отвечающий за работу с данным IDE контроллером.
Записан
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #7 : 09-02-2010 18:47 » 

Serg79,
Цитата
зачем тебе вообще потребовалось свое ядро собирать. Если слабо в этом разбираешься, ставь из репозитария уже уже собранные ядра.
У меня и так нормально работает нормально ядро по умолчания, но поскольку я не работаю по специальности то надо самому моделировать ситуации и разберутся с ними зарастания вот я себе и поставил цел собрат второе ядро, кроме того так освоения Linux легче.
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 10-02-2010 06:42 » 

Diskriptor, с текущими знаниями тебе рановато сборкой ядра заниматься. Ведь мало собрать - нужно еще понимать, что и как конфигурить перед компиляцией и, что не менее важно, как полученное ядро впишется в окружение.

Если ты собирал сам, то должен знать такую вещь, что ядро состоит из главного модуля (его обычно и называют ядром) и загружаемых модулей. Конфигурацией можно указать для драйвера:
1. Не собираться.
2. Собраться как модуль.
3. Собраться в составе ядра.
Драйвер, включенный в состав ядра выгрузить нельзя, но и манипуляций с загрузкой он не требует.

Ядра в дистрибутивах делают универсальными и потому там драйвера выделяют в модули.

И еще важно знать, что ядра на kernel.org и ядра в дистрибутивах могут серьезно отличаться, т.к. в последних они могут быть пропатченными.
Разные дистрибутивы придерживаются разной политики. Например, дистрибутивы одного производителя - RedHat: Fedore и EnterpriseLinux. В первом - номера версий меняются часто, а в промедутках их патчат. Во втором - только патчат, а меняют версию только при переходе на другой мажорный номер дистрибутива.

Когда-то я придерживался политики самосборных монолитных ядер, но позже понял, что лучше пользоваться ядрами из дистрибутива, т.к. они вписаны в окружение.
« Последнее редактирование: 10-02-2010 06:56 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #9 : 13-02-2010 22:05 » 

Цитата
с текущими знаниями тебе рановато сборкой ядра заниматься.
я это уже понял, но хотел бы довести начитое дело до конца, до минимальной работоспособности.
Цитата
Если ты собирал сам, то должен знать такую вещь, что ядро состоит из главного модуля (его обычно и называют ядром) и загружаемых модулей. Конфигурацией можно указать для драйвера:
1. Не собираться.
2. Собраться как модуль.
3. Собраться в составе ядра.
Драйвер, включенный в состав ядра выгрузить нельзя, но и манипуляций с загрузкой он не требует.
Про это знаю я использовал .config по умолчанию, только включил трассировку пакетов ip_conntrak в ядре которое я собрал modules.pcimap пустой а в ядре по умолчанию через lspci узнал информацию о драйвере (Finch подсказал механизм поиска )
Код:
pata_jmicron 0x0000197b 0xffffffff 0xffffffff 0xffffffff 0x00010100 0x00ffff00 0x0
как по этому набору сведений найти нужный драйвер?
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #10 : 14-02-2010 17:16 » 

Нужные драйвера нужно включат на этапе компиляции путём конфигурирования файла .config , но знаний пока не хватает. Подскажите книгу по конфигурирования и компеляции ядра, желательно по новей что бы ее можно было купит в печатном виде.
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 14-02-2010 22:00 » new

Diskriptor, боюсь, что данный вопрос можно изучить только на практике. Я о компИляции.
Для общего образования посмотри Вики и далее по ссылкам из нее:
http://ru.wikipedia.org/wiki/Linux_%28%D1%8F%D0%B4%D1%80%D0%BE%29
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines