LINUX.ORG.RU

Процесс загрузки линукса


0

0

Расскажите такую вещь. Допустим загрузилось ядро. Откуда оно узнаёт, что надо сделать дальше? В ядре намертво прописаны пути типа /etc/rc.d, или же это прописывается в каком-то конфиге? Или вообще где?

anonymous

Ядро обычно загружает /sbin/init. А он init берет инфу с /etc/inittab что и на каком уровне грузить. Допустем при загрузке можно поменять на другую программу. Возмем на пример lilo

Выбераем то что грузим например linux-2.6.15-rc7

linux-2.6.15-rc7 (это из списка lilo) init=/bin/sh (жмем enter)

И у нас после загрузки ядра запускается sh. С правами рута. Можно и пароль сменить есле забыл :).

I3rain
()
Ответ на: комментарий от I3rain

вот пример кода ядра.

brain@book:/usr/src/linux-2.6.15-rc7/init$ tail -n 18 /usr/src/linux-2.6.15-rc7/init/main.c
        /*
         * We try each of these until one succeeds.
         *
         * The Bourne shell can be used instead of init if we are
         * trying to recover a really broken machine.
         */
        if (execute_command) {
                run_init_process(execute_command);
                printk(KERN_WARNING "Failed to execute %s.  Attempting "
                                        "defaults...\n", execute_command);
        }
        run_init_process("/sbin/init");
        run_init_process("/etc/init");
        run_init_process("/bin/init");
        run_init_process("/bin/sh");

        panic("No init found.  Try passing init= option to kernel.");
}
brain@book:/usr/src/linux-2.6.15-rc7/init$      

I3rain
()

А пути типа /etc/rc.d прописаны в inittab.

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