LINUX.ORG.RU

Установка на linux на чистый винт с загрузочного CD


0

0

Всем здрасте.

Изучать LINUX начал месяц назад. Закачал две книги по администрированию, начал читать, пробовать на практике. Возникло множество вопросов, но вначале только пара из них.

Описание текущей ситуации: все делается под VMware server 1.09. Имеется загрузочный CD с UBUNTU 9.10 Загружаюсь с него в режиме без установки на диск. Жесткий диск (SCSI) разбиваю на четыре раздела: swap, system, home, sources (сначала один расширенный раздел, на нем четыре логических. Соответсвенно при загрузке UBUNTU видит их как sda5,6,7,8). Закачал исходники ядра 2.6.33 Скомпилил. Инсталлировал grub 1.97. Структура каталогов на загрузочном разделе: /boot /bin (малость программ sh dash bash ls cd cat и тд ) /lib ( с минимумом библиотек для bin) /sources (сюда вручную монтируется sda8 c исходниками ядра) /dev ( с конослью и null) /etc (пустой). В корне раздела лежит файл init с содержанием «#!/bin/sh перевод строки /bin/bash» и атрибутом «исполняемый».

Описание проблемы: на данный момент при загрузке с жесткого диска стартуется ядро и появляется консоль, где отображаются нажатые кнопки и ничего более. До этого как-то мне даже удавалось запускать программы из папки bin с вразумительными результатами (правда, некоторые не работали а выводили строчку: XXX used greatest stack depth: YYY bytes left (Гугл не помог) ), сейчас не могу, что сделал - не знаю.

Из нескольких источников читал и перечитывал этап загрузки системы. Там написано, что при использовании initrd из корня initrd запускается файл-скрипт init для загрузки недостающих модулей для подключения критически важных устройств. Также написано, что ядро запускает процесс init из папки sbin, который читает настройки из файла /etc/inittab. Еще упоминаются папки (уровень).d в папке /etc/rc.d. Короче, я окончательно запутался что и в какой последовательности запускается. Подскажите, пожалуйста, в каком направлении мне двигаться дальше.

Убедительная просьба: не спрашивайте, зачем я поступаю именно так, а давайте конкретные ответы.

Заранее всем благодарен.


у меня одного ощущение, что ТС - редкостный извращенец-мазохист?

FractalL
()

>Убедительная просьба: не спрашивайте, зачем я поступаю именно так, а давайте конкретные ответы

не убедило

зачем поступаешь именно так?

FractalL
()

оттуда:
- организация процедуры начальной загрузки системы (BSD или System V)
- структура каталогов файловой системы (см. [5,6])

Далее в пятом пункте.

amorpher ★★★★★
()

XXX used greatest stack depth: YYY bytes left (Гугл не помог) )

Странный у вас там в параллельной вселенной гугл, у нас вот по первой ссылке:

You must have changed your kernel configuration to include stack debugging? This message comes from kerne/exit.c and is #ifdef'd with CONFIG_DEBUG_STACK_USAGE. So it seems to be more of a debug warning.

Как ты собрал ядро, откуда ты набрал бинарников, и почему эти бинарники должны быть совместимы с твоим ядром - непонятно. Используешь ли ты инитрд - непонятно. Можно попробовать в командной строке ядра сказать init=/bin/sh, тогда сразу должен шел запустится. А вообще LFS по ссылке выше расскажет тебе все намного лучше.

vga ★★
()

>UBUNTU 9.10

Закачал исходники ядра 2.6.33 Скомпилил. Инсталлировал grub 1.97

Убедительная просьба: не спрашивайте, зачем я поступаю именно так



Подскажите, пожалуйста, в каком направлении мне двигаться дальше.


В направлении ближайшей лечебницы по психическим расстройствам. И как можно быстрее!

AntonK
()

Ты с бздунами что-ли общался или с гентушниками? Кто тебе наговорил, что в линуксе всё компилить нужно?

xorik ★★★★★
()

Да ты не думай, это они так шутят, тролльё местное. Но правду говорят, да. Нафига Ubuntu скрещивать с «самопалом»? Не с того ты начал, определись уже за месяц - что надо тебе. Разбираться, как уже посоветовали телепаты, реально по обезьяннему с LFS (хотя и Slackware хватит чтобы понять что-почём). А Ubuntu это типа для неосиляторов :) Но если действительно очень хочется - тогда да - LFS ;)

amorpher ★★★★★
()
Ответ на: Спасибо за ссылку от IlyamI

Где найти информацию о преходе на уровни исполнения INIT

Почитав инфу по указанным ссылкам, дополнительные источники и исходник init (main.c) нашел, где ядро ищет первоначальный сценарий инициализации (sbin bin etc initrd). Теперь следующий вопрос: для перехода с уровня на уровень процесс инит вызывается с номером этого уровня, а где (включая исходники) можно узнать порядок поиска сценариев, которые при этом обрабатываются? С пунктом 5 http://www.linuxcenter.ru/lib/articles/distrib/periodic_table.phtml я ознакомился. Где (+исходники) устанавливается различие между системами «System V» и «BSD» ?

IlyamI
() автор топика

> для перехода с уровня на уровень процесс инит вызывается с номером этого уровня, а где (включая исходники) можно узнать порядок поиска сценариев, которые при этом обрабатываются?

Давно пользуюсь Gentoo с OpenRC, успел подзабыть, как устроено в других случаях (да и знал плохо).

Есть файл /etc/inittab, в нём есть строки вида:

l0:0:wait:/sbin/rc shutdown
l0s:0:wait:/sbin/halt -dhip
l1:S1:wait:/sbin/rc single
l2:2:wait:/sbin/rc nonetwork
l3:3:wait:/sbin/rc default
l4:4:wait:/sbin/rc default
l5:5:wait:/sbin/rc default
l6:6:wait:/sbin/rc reboot
l6r:6:wait:/sbin/reboot -dk

Например,
init 0
вызовет
/sbin/rc shutdown
а
init 5
вызовет
/sbin/rc default

Сейчас сосуществуют несколько разных пакетов, ставящих /sbin/rc. Я пользуюсь OpenRC, который просто одновременно запускает все файлы в директории, соответствующей ранлевелу. Например, /etc/runlevels/boot/ (или default/, nonetwork/, shutdown/...). Содержимое этих директорий — симлинки на скрипты в /etc/init.d/. В каждом прописано, после каких скриптов он должен запускаться (например, timidity требует alsasound).

Где (+исходники) устанавливается различие между системами «System V» и «BSD» ?


В /sbin/rc. Точнее, в пакете, к которому он относится. Что сейчас по умолчанию в Убунту — не знаю.

question4 ★★★★★
()
Ответ на: комментарий от megabaks

Тема закрыта

Всем спасибо, тема закрыта

IlyamI
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.