[orange pi 3 lts] сборка linux

Тема в разделе "Raspberry Pi", создана пользователем Redfern89q, 1 дек 2022.

Метки:
  1. Redfern89q

    Redfern89q Нуб

    Всем привет! Решился я собрать свою ОС под данный девайс (Allwinner H6, arm64). До сего у меня был опыт с Orange PI PC (Allwinner H3, armhf) - собрал Kali Linux без каких-либо проблем (https://4pda.to/forum/index.php?showtopic=750921&st=9940#entry118659586). Тут-же изначально все пошло не так. Сборка u-boot заработала только после того, как прикрутил к ней Arm Trusted Firmware (BL31 v2.2). Все эксперименты были на ОС Armbian. Затем настала очередь ядра. Собрал. Однако запускаться оно отказалось. Тупо висит на starting kernel. Даже initramfs не грузится... И вопрос по dtb. Для orange pi 3 lts dtb в ядре не собралось. Оставил от armbin'а все файлы dtb.

    Может кто сталкивался с таким?
     
  2. Un_ka

    Un_ka Гуру

    У @Igor68 есть опыт сборки модулей ядра Linux.
     
  3. Un_ka

    Un_ka Гуру

  4. Igor68

    Igor68 Гуру

    Прошу прощения но по поводу такого вопроса я начинающий. Что касается dts, то я не смог собрать из него dtb - там есть свой Makefile. У меня так же не стартовало ядро пока не справился с rootfs. И в моём случае at91sam9260-ek загрузка через u-boot. На текущим момент настроен на загрузку с USB-FLASH - удобно для отладки. Так, что простите - я как говориться в самом начале. У меня u-boot на микросхеме на плате, как и bootstrap. и параметры загрузки там же. Что казается rootfs - образ то же на флешке юсб. Мой u-boot не понимает ext, а знает только fat. Так что ZImage и dtb у меня в разделе fat усб-флешки, а rootfs в разделе ext2 той же флешки. Ну и командная строка для u-boot в nand платы.
     
  5. Igor68

    Igor68 Гуру

    Вот мой u-boot(точнее настройки env для платы at91sam9260-ek):
    Код (Text):
    U-Boot> printenv
    baudrate=115200
    bootargs=console=ttyS0,115200 rootfstype=ext2 root=/dev/sda2 rw rootwait
    bootcmd=usb start;fatload usb 0:1 0x22000000 zimage;fatload usb 0:1 0x22800000 at91sam9260ek.dtb;bootz 0x22000000 - 0x22800000
    bootdelay=3
    ethact=macb0
    ethaddr=6A:51:45:22:AC:C9
    ipaddr=192.168.7.197
    stderr=serial
    stdin=serial
    stdout=serial
    usb=start
     
    Видите: bootargs=console=ttyS0,115200 rootfstype=ext2 root=/dev/sda2 rw rootwait тут настройки консоли и собственно раздел флешки. Эти параметры будут переданы кернелу при старте. bootcmd=usb start;fatload usb 0:1 0x22000000 zimage;fatload usb 0:1 0x22800000 at91sam9260ek.dtb;bootz 0x22000000 - 0x22800000 это паарметры куда (адреса) и откуда (накопитель) будут загружены zimage, dtb и rootfs в ОЗУ платы. На плате всего 64Мб. Изначально u-boot понимает только fat, но запущенный kernel уже умеет ext2. По этому драйверы(модули) для fs должны быть не загружаемыми, а интегрированы в ядро. Так же интегрированы должны быть и сокеты... а конкретно unix. ip4 и ip6 и т.д. могут быть и загружаемыми. unix сокеты необходимы для взаимодействия процессов, впрочем как и разделяемая память /dev/shm
     
    Последнее редактирование: 25 фев 2023