Pull to refresh
865
1
Сергей@dlinyj

Токарь-программист

Send message

Вы даже не представляете как выглядят мои тексты до того как я их вычитаю. ИИ позавидует

Я критикую, можете заглянуть ко мне в профиль. А автор молодец, кто ж спорит.

Опустим тот факт что в коде u-boot той версии нет этого функционала. Но даже если он бы был, то зачем? Загрузить ядро из NAND в файл, погонять его по fs затем выгрузить его в ОЗУ и передать ему управление с помощью jump? Или может проще миновать ненужный этап?

Я до сих пор не услышал от вас объяснение механизма зачем нужна файловая система для запуска ядра.

Seabios тоже устарел. А с трудом представляю, потому что надо будет сделать очень много доработок чтобы запустить на реальном железа.

Вы можете ответить по существу, зачем coreboot файловая система и где она а SeaBIOS? Можно прям ссылки в коде на git, если вам будет проще.

У вас хорошая статья, не кормите тролля

Вы по сути беседы дайте ответ пожалуйста.

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

С трудом представляю человека, который запускает SeaBIOS на реальном железе. Но вот обычный BIOS, например на Pentium 3 не имеет никаких файловых систем и сможет стартануть ядро без них.

Но зачем SeaBIOS coreboot fs я не нашёл. Могли бы вы мне дать информацию ссылками для ознакомления, для расширения моего кругозора. Буду признателен.

Потыкайте меня носом, где в этой цепочке coreboot использует fs?

А главное, зачем она ядру?

З.Ы. Дизлайки ставлю не я, у меня отключена возможность ставить лайки и дизлайки.

Я до сих пор не понимаю, а зачем файловая система? Вот например, как идёт запуск на системе MIPS:

Предзагрузчик инициализирует NAND и ОЗУ, вычитывает из области NAND, по зашитым адресам u-boot в область ОЗУ, далее передаёт управление на u-boot в ОЗУ. U-boot далее инициализирует остальное железо, вычитывает из другой области nand тупо по адресам ядро в ОЗУ и передаёт ему управление. Нигде нет файловой системы, она не фигурирует тут.

Даже если взять классическую систему, типа третьего пентиума, то ядро тоже можно запустить из BIOS минуя файловую систему. Она правда там не нужна.

Если она необходима, пожалуйста распишите механизм где она нужна, и как вы это понимаете? Без хамства, я вежливо и подробно вам рассказываю где вы заблуждаетесь.

Понимаете, я достаточно много разрабатываю. Не знаю где вы увидели опломб, извините если указал вам на вашу некомпетентность. Вы тут скатываетесь до хамства. Автор запускает ядро без использования UEFI Firmware File System и Coreboot File System. Так что для запуска и работы ядра файловая система не требуется!

Зачем вы скатываетесь до хамства?

Не задавайте вопросов, говорите прямо, что вы хотите сказать.

Ядро можно загрузить в память с помощью jtag и запустить, без загрузчика. Важно просто процессору передать на него управление. В некотором смысле (упрощённо) можно даже без загрузчика запустить ядро.

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

Хочу обратить ваше пристальное внимание, что загрузчик не использует никаких файловых систем, он просто инициализирует предварительно железо!

На данный момент оно не монолитное. А то что я говорю, это уже модули загружены в ядро без возможности их выгрузки.

В контексте статьи мы говорили о том, что ядро - это программа. Для запуска программы его не требуется. Но мы не говорим о том, что функционал будет раскрыт.

Ядру не требуется читать сектора, что ж вы все с этими секторами носитесь. Есть разные архитектурные решения.

Автор @PrincePercia не обращай внимания на нашу специфичную душноту. Для первого раза на хабре, отличная статья. Может взять какие-то мысли и идеи. Не надо обижаться, тут просто сидят спецы, которые много чего могут сказать и написать по теме. Просто им лень.

Все модули можно включить в ядро и сделать его монолитным. Что достаточно часто делается на встраиваемых системах, когда нет смысла делать обновляемые модули.

Совершенно необязательная составляющая для запуска ядра linux. Можно использовать bios, u-boot, grub или вообще вручную загрузить ядро в память и передать ему управление (например, с помощью jtag во время отладки).

З.Ы. Да, и у автора поста не используется UEFI. В qemu по умолчанию используется BIOS, а именно SeaBIOS https://github.com/coreboot/seabios

Ядро не требует запуска с первых секторов, я открою вам тайну. Ядро запускается из памяти, а его считывает в память загрузчик. В качестве которого может выступать достаточно большой спектр программ. Ядро может находится в NAND, на emmc в отдельном разделе, даже на перфокартах технически может находится ядро. Сектора диска это только в рамках вашего компьютера.
Пожалуйста, хотя бы ради приличия прежде чем затевать глупый спор, хотя бы изучите матчасть.
Судя по вашим комментариям вы не являетесь разработчиком ядра, и поэтому спор очень странный.

И общие черты

Если бы прогоняли через ИИ читалась бы лучше. Не стоит думать что люди не умеют писать коряво.

1
23 ...

Information

Rating
1,449-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity