Не может загрузить пи малины 3b от Карты памяти с UBoot + Личинка

Я успешно установил Ubuntu 18.04 на SD-карту. Я сделал это путем создания таблицы разделов MS-DOS (пи не поддерживает гуид), затем помещая подводную лодку на SD-карту на разделе 1 (fat32, пи не поддерживает ничто больше). Затем я вставил загрузчик пи на раздел 1/. И затем я скопировал файлы с сетевого установщика (мини-ISO) на тот раздел также. Целый процесс положен здесь.

Все работает отлично от SD-карты. UBoot запускается, затем он загружает grub2, который шел с сетевым установщиком мини-ISO. это в свою очередь, я изменил конфигурацию, таким образом, она загружает ядро Linux из раздела 3 (p2 подкачка, в моем случае).

Таким образом, я вытянул изображение, которого, помещал его на карту памяти (usb к адаптеру m2 sata), который должен просто вести себя как любой другой флеш-накопитель. Так, я включаю его. Подводная лодка запускается, я не вижу ничего различного от нормального. Затем это загружает личинку. Но вместо того, чтобы отобразить хорошее меню с опцией загрузить человечность или установить его (потому что сетевой материал установщика находится все еще на там), он выводит меня прямо в консоль личинки.

ввод ls я добираюсь (memdisk), и ничто иное. Это, кажется, не находит карту памяти, которую это на самом деле загрузило из себя. на этом memdisk является единственным файлом в (memdisk)/boot/grub/grub.cfg, но у меня нет способа знать то, что на самом деле там.Править: (memdisk) находится там на SD-карте также, том же содержании, это просто перечисляет разделы на SD-карте также, в то время как это не делает на флеш-накопителе.

Нет никаких модулей личинки, нет ничто. Я думаю, что это очень кратко высвечивает ошибку во мне, но затем консоль личинки открывается, и у меня нет времени читать те сообщения.

Я в замешательстве относительно того, что сделать. Возможно, если я сделал свое собственное изображение личинки с модулями usb как он, описан здесь (использующий личинку-mkimage для создания изображения личинки с модулями в memdisk)? Хотя я понятия не имею, в каких модулях я нуждаюсь, или если это - даже правильный подход.

Любая справка значительно ценилась бы.

Править: Я нашел это:

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

короткий ответ:

insmod usbms insmod ehci insmod uhci insmod ohci

Только один из *hci строка необходим (обычно ehci), но более старым машинам, возможно, понадобятся или uhci или в ohci, Вставка всех 3 хорошо работает.

Те строки должны быть добавлены или к grub.cfg или к custom.cfg (я рекомендую последнему) в/boot/grub/папке на некарте памяти.

Я получил свои модули отсюда, однако usbms не среди них, и ни один не [e, u, o] hci. Я нашел это о записи модулей личинки, но она смущает меня. И я не могу найти исходный код. Используя что-то нечетное как armhf процессор на 64 бита не делает вещи легкими найти совместимое программное обеспечение.

Edit2: Я загрузил исходный код личинки с http://git.savannah.gnu.org/git/grub.git/ и скомпилировал его на моем пи малины. Однако usbms.c и ehci.c файлы исходного кода там, он не скомпилировал их в модули личинки.

Я нашел эту информацию о том, как создать модули личинки здесь, но она просто не работает на меня. Я попытался изменить Makefile.core.am и удалил, если оператор вокруг usbms.module, то выполнение autogen и настраивает. Провал. Я пытался вручную создать в ядре личинки с, делают usbms.module, но это говорит gcc: фатальная ошибка: никакие входные файлы.

Я не должен копаться. Я просто хочу загрузить свою Ubuntu arm64. Если я могу так или иначе пропустить от подводной лодки непосредственно к там, она прекрасна.

Мои текущие идеи:

  • Скомпилируйте usbms.mod, ehci.mod, uhci.mod и ohci.mod, сделайте новое изображение личинки с теми модулями связанным в, и он должен просто работать с текущей конфигурацией личинки.
  • Сделайте новое изображение личинки с модулями, конфигурацией и ядром Linux, и initramfs встроил, поскольку memdisk. загружает ядро оттуда с командной строкой, указывающей, что rootfs находится на разделе 3
  • Так или иначе скажите uboot загружать мое ядро Linux от partition3 с командной строкой, что раздел 3 является корнем.
  • используйте загрузчик черной магии, который идет с вещью встроенного микропрограммного обеспечения пи малины. У меня нет малейшей идеи, как тот материал работает, но если бы кто-то может заставить его загрузить мою человечность x64 затем, я был бы слишком рад проигнорировать то, что я не знаю, как это работает.

Я понятия не имею, как сделать любого из них.

1
задан 24 August 2018 в 21:44

1 ответ

Можно установить человечность на SD-карте и затем выгрузить uboot (kernel8.img) с новым ядром как https://github.com/sakaki-/bcmrpi3-kernel теперь, Вы настраиваете cmdline.txt как в Raspbian, например

dwc_otg.lpm_enabled=0 root=PARTUUID=12345678-03 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

затем можно скопировать config.txt Raspbian, например

# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835) dtparam=audio=on

program_usb_boot_mode=1

добавить

dtoverlay=rpi-backlight
dtoverlay=rpi-ft5406

в конец, если Вы имеете ft5406 сенсорный экран и загружаете модули ядра в/etc/modules-load.d/ft5406.conf

rpi_backlight
rpi_ft5406

и это просто работает

0
ответ дан 7 December 2019 в 23:38

Другие вопросы по тегам:

Похожие вопросы: