Вирішено - OrangePiPC2 Форуми FreeBSD

Борменталь

Член

Оцінка реакції: 1
Повідомлень: 45

freebsd

Привіт. як побудувати ubldr для arm64 з джерел freebsd 12? Я намагаюся створити образ для помаранчевого pi pc2. Створив два розділи, fat і ufs. Записано uboot withspl, зроблено installworld installkernel все успішно. Незрозуміло, що потрібно робити файлам для жирного розділу.
Спасибі.

проект сценарію

Фішфри

Близнюк Бісті

Оцінка реакції: 2082
Повідомлень: 5041

Джерело підтримуваної плати arm64 є корисним. Див. Usr/src/release/release.conf
chroot_arm_build_release ()

У вас є критичні фрагменти з адресою uboot.
Я б запропонував вам спробувати побудувати спочатку на sdcard, якщо вам не зручно форматувати диск пам'яті.
Створення зображення просто додає шар складності.
Для BBB я знав, що це спрацювало.
Для вашої платформи вам, можливо, доведеться дещо налаштувати, тоді, коли ви завантажитеся, зробіть своє зображення.

У своєму пошуку я використовував окрему точку монтування для двох розділів. Це не потрібно. Мені просто подобається тримати речі окремо.

Борменталь

Член

Оцінка реакції: 1
Повідомлень: 45

Дякуємо за відповідь, про DWITH_FDT розглянемо. Нещодавно знайшов сценарій release.sh, але я не впевнений, що він буде правильно працювати для помаранчевого pi pс2. Також знайшов інформацію про те, що для arm64 ubldr не використовується, замість нього необхідний efi. Що робить це ще більш заплутаним.

є скрипт arm64_build.sh, який він також збирає за допомогою efi. Але тоді питання залишається на UBLDR_LOADADDR, чи потрібно це встановлювати при складанні світу?

Фішфри

Близнюк Бісті

Оцінка реакції: 2082
Повідомлень: 5041

Реакції: Борменталь

Борменталь

Член

Оцінка реакції: 1
Повідомлень: 45

Я бачу, що. але у вас є ARM, і їм потрібен ubldr, а у мене ARM64, і це працює через EFI.

Процес завантаження відбувається наступним чином:

  1. Прошивка UEFI працює при включенні та шукає завантажувач ОС в системному розділі EFI. Шлях до завантажувача може бути встановлений змінною середовища EFI, за замовчуванням /EFI/BOOT/BOOTX64.EFI.
    • Для FreeBSD boot1.efi встановлюється як /EFI/BOOT/BOOTX64.EFI.
    • boot1.efifat - це образ такої файлової системи FAT для використання bsdinstall
  2. boot1.efi визначає перший розділ із типом freebsd-ufs, і з нього завантажується loader.efi. (Це може бути інший диск, ніж той, що містить розділ системи EFI.)
  3. loader.efi завантажує і завантажує ядро, як описано в loader (8).