Исходники ядра взял здесь
https://mirrors.edge.kernel.org/astra/frozen/orel-1.11/repository/pool/main/l/linux/linux_4.2.0.orig.tar.gz
И вот такой кодик надо просто скомпилить:
Код: Выделить всё
//main.c
#include "/linux-4.2/fs/ext2/ext2.h"
int main ()
{
return 0;
}
Shell
gcc main.c
++++++++++++++++++++++++++++++++++++++++++++++++++
Я вдруг зачем-то собрал ядро (make oldconfig && make), долго собиралось, но даже без ошибок вроде. В ядре задействован похожий функционал, только в миллиарды раз сложнее. Уж всяко переменные и ext2_super_block и ext2_inode объявлены. Можно мне как-нибудь свой кодик присобачить, что ли к ядру, не знаю, как выразиться. Чтобы и он до кучи скомпилился?
Я так понимаю, по сборке ядра получился файл .config и там все-все нужные штуки, типа
в виде определений, что ли, их к моему файлу прицепить? я бы уж переделал их как-нибудь в #define, лишь бы был в коня корм...
CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
...
++++++++++++++++++++++++++++++++++++++++++++++++++
Раньше я бы просто файл /linux-4.2/fs/ext2/ext2.h не подсоединял, а взял бы эти две структуры и переписал бы их в файле main.c, а типы полей подогнал бы (там ведь главное размер данных); __le32 заменил бы на unsiged int и всё в тако духе и не парился бы. И супербок бы считал, и иноды, и все данные получил. Но хочется как-то уже пограмотнее, что ли. Грамотно задействовать уже готовый код.
Спасибо, кто откликнется. Астралинукс Смоленск 1.5. Bizdelnick, прошу прощения, что я вам снова нахамил.