LinuxForum.Fans
Тема

тест ядра после сборки

Автор: gen 24 сообщений 13590 просмотров
#283689

все я понял. Короче в исходниках ядра папка init в ней main.c его рефакторить надо. Короче разобраться как свой загрузчик сделать еще, типа граба, тока с 1 функций загрузки ядра.
Блин, код вот сложный в ядре. Типо вот такого:

It is useful when implementing generic data structures in C. For example, the Linux kernel uses offsetof() to implement container_of(), which allows something like a mixin type to find the structure that contains it:[4]
text
#define container_of(ptr, type, member) ({ \
                const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                (type *)( (char *)__mptr - offsetof(type,member) );})

Надо курить мануалы, которые на английском, то есть еще курить английский надо...

#283697
"gen" написал:
2) Почему сейчас актуальные ядра уже >3 версий, а на новых дистрах линукса стоят двойки ?

Что-то путаете. Даже в консервативной Slackware уже 3.2.7.

"gen" написал:
1) Собрать ядро просто. Но как его грамотно подрубить к GRUB(конкретней последней Ubuntu) ?

Пример подключения ядра без initrd:

text
menuentry 'Funtoo' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-1e9d36d3-5418-46ee-bd97-b6a02b4f7ae6' {
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos1'
    linux /funtoo root=/dev/sda6 ro quiet ro vga = normal vt.default_utf8=1
}
"gen" написал:
1.1) initrd обязателен?

Нет, если файловая система корневого раздела, и, ЕМНИП, драйвер харда подключены монолитно.

"gen" написал:
ммм. инитрд... я попутал все в предназначениях видимо. в инитрд можно получается свое юзерприложение писать?

Можно. Обычно только busybox и insmod кладут вроде бы, но что-либо ещё тоже не возбраняется.

"gen" написал:
1.2) initrd как собрать?

Тыц. http://www.opennet.ru/base/sys/initrd_intro.txt.html,

#283698
"raven_cler" написал:
Даже в консервативной Slackware уже 3.2.7.

3.2.29, вы хотели сказать?

#283702

"yars" написал:
3.2.29, вы хотели сказать?
Тьху, спутал. Да, 3.2.29.
Войдите или зарегистрируйтесь, чтобы ответить.