Jump to content

    
do_not_know_Linux

идентификация ядра загрузчиком

Recommended Posts

Здравствуйте уважаемые форумчане.

скажите пожалуйста, как загрузчик находит нужное ядро?  он орентируется только на названия ядра?  к примеру vmlinuz-5.0   или берет информацию о ядре из него самого?  если загрузчик черпает инфу о ядре из него самого, то скажите пожалуйста в каких строках кодя ядра она содержится?

Share this post


Link to post
Share on other sites
10 hours ago, new123 said:

у загрузчика же есть конфиг (к примеру grub.cfg), в котором прописано от куда какой образ грузить. Или вопрос не про это?

здравуствуйте.  

может и про это давайте посмотрим.   

есть два ядра и оба работают на плате arm.  разница в этих ядрах лишь в том, что одном включен драйвер для card reader.

назовем эти ядра vmlinuz-5.0  vmlinuz-5.4  и теперь мне нужно без пересборки ядра как-то запустить на системе с работающим ядром vmlinuz-5.0 ядро с включеным драйвером vmlinuz-5.4 . если загрузчику все равно что грузчить, главное чтобы это было прописано, то можно сделать так 

cat vmlinuz-5.4 > /boot/mvlinuz-5.0

так я все содержимое vmlinuz-5.4 помещу в vmlinux-5.0 и не нарушу ссылки. и все настройки останутся актуальными.

но это не работает.  почему?

 

 

если что-то не поняли из моей попытки объяснить, то пожалуйста переспросите 

Share this post


Link to post
Share on other sites
1 hour ago, armuser said:

так я все содержимое vmlinuz-5.4 помещу в vmlinux-5.0 и не нарушу ссылки. и все настройки останутся актуальными.

но это не работает.  почему?

 

У Вас dts (dtb) файлы для ядер должны быть одинаковые? Скорее всего нет, так как включать драйвер в ядро без аппаратной поддержки смысла нет.

Share this post


Link to post
Share on other sites
6 minutes ago, mdmitry said:

У Вас dts (dtb) файлы для ядер должны быть одинаковые? Скорее всего нет, так как включать драйвер в ядро без аппаратной поддержки смысла нет.

вы правы. но это второстепенный вопрос.  сейчас главное понять почему правильно собранное ядро не грузится после действий описанных выше.

я хочу понять в чем причина.

теперь дело уже не в том чтобы запустить ядро с включенным драйвером для card reder , а в том чтобы понять как именно происходит загрузка и что мешает загрузить другое ядро записав его с пособом 

cat vmlinuz-5.4 > /boot/mvlinuz-5.0

 

Share this post


Link to post
Share on other sites

Вы опишите Вашу систему, что где расположено (boot, rootFS, loader), какой загрузчик, его конфигурация. Есть системы с подписанным ядром (magic number) и с другим грузиться не будет, о Вашей ничего не известно.

Share this post


Link to post
Share on other sites

Перечитал Ваши сообщения ещё раз и не очень понял, что Вы хотите сделать. Я не имел дел с Вашей платой, конкретно не отвечу. 

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

Share this post


Link to post
Share on other sites
10 minutes ago, mdmitry said:

Перечитал Ваши сообщения ещё раз и не очень понял, что Вы хотите сделать. Я не имел дел с Вашей платой, конкретно не отвечу. 

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

 сейчас я хочу понять почему не грузится ядро.  просто понять в чем причина.

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

Share this post


Link to post
Share on other sites
16 hours ago, mdmitry said:

Перечитал Ваши сообщения ещё раз и не очень понял, что Вы хотите сделать. Я не имел дел с Вашей платой, конкретно не отвечу. 

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

dpkg: warning: ignoring pre-dependency problem!
Preparing to unpack .../archives/bash_5.0-4_arm64.deb ...
Unpacking bash (5.0-4) ...
Selecting previously unselected package libbz2-1.0:arm64.
Preparing to unpack .../libbz2-1.0_1.0.6-9.2~deb10u1_arm64.deb ...

  dpkg: warning: ignoring pre-dependency problem!
dpkg: regarding .../e2fsprogs_1.44.5-1+deb10u3_arm64.deb containing e2fsprogs, pre-dependency problem:
 e2fsprogs pre-depends on libss2 (>= 1.38)

   dpkg: regarding .../archives/sed_4.7-1_arm64.deb containing sed, pre-dependency problem:
 sed pre-depends on libacl1 (>= 2.2.51-8)
  libacl1:arm64 is unpacked, but has never been configured.

Processing triggers for initramfs-tools (0.133+deb10u1) ...
Processing triggers for libgdk-pixbuf2.0-0:arm64 (2.38.1+dfsg-1) ...

 

это все что есть из логов.

потому что я пытался запустить новое ядро на только что записаной ОС на SDcard

логов от u-boot нет совсем. не уверен пишет ли вобще он их.

Share this post


Link to post
Share on other sites

у меня arm плата вместо десктопа. поэтому произвожу все действия на другой SDcard, чтобы не убить основую систему.  собранное ядро с включеным драйвером я пытаюсь запустить на SDcard  на которой ОС каждый раз устанавливается снова и снова, потому что не получается после записи  ядро указаным выше способом на ней запуститься.  Все что было я предоставил.  Если честно, то я надеялся на огромный профессионализм форумчан, потому что некоторые проблемы можно решить лишь опираясь на опыт и знания, а не на логи.  вот их нет, как в моем случае... и что теперь? все? тема закрыта?

Share this post


Link to post
Share on other sites
1 hour ago, armuser said:

логов от u-boot нет совсем. не уверен пишет ли вобще он их.

Подключитесь к своей плате через UART. Без этого попытки разобраться внятной перспективы не имеют.

Share this post


Link to post
Share on other sites
5 hours ago, aaarrr said:

Подключитесь к своей плате через UART. Без этого попытки разобраться внятной перспективы не имеют.

Полностью поддерживаю.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.