9944953f5c
to 1.5G. - Use the 'conv=sync' dd(1) option to fix writing the u-boot.imx file to the md(4) device for IMX6-based boards. MFC after: 3 days Sponsored by: The FreeBSD Foundation
46 lines
1.3 KiB
Bash
46 lines
1.3 KiB
Bash
#!/bin/sh
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
EMBEDDEDBUILD=1
|
|
EMBEDDED_TARGET="arm"
|
|
EMBEDDED_TARGET_ARCH="armv6"
|
|
EMBEDDEDPORTS="sysutils/u-boot-rpi2"
|
|
KERNEL="GENERIC"
|
|
WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x2000000"
|
|
IMAGE_SIZE="1536M"
|
|
PART_SCHEME="MBR"
|
|
FAT_SIZE="50m"
|
|
FAT_TYPE="16"
|
|
MD_ARGS="-x 63 -y 255"
|
|
NODOC=1
|
|
|
|
arm_install_uboot() {
|
|
UBOOT_DIR="/usr/local/share/u-boot/u-boot-rpi2"
|
|
UBOOT_FILES="bootcode.bin config.txt fixup.dat fixup_cd.dat \
|
|
fixup_x.dat start.elf start_cd.elf start_x.elf u-boot.bin"
|
|
FATMOUNT="${DESTDIR%${KERNEL}}/fat"
|
|
UFSMOUNT="${DESTDIR%${KERNEL}}/ufs"
|
|
chroot ${CHROOTDIR} mkdir -p "${FATMOUNT}" "${UFSMOUNT}"
|
|
chroot ${CHROOTDIR} mount_msdosfs /dev/${mddev}s1 ${FATMOUNT}
|
|
chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${UFSMOUNT}
|
|
for _UF in ${UBOOT_FILES}; do
|
|
chroot ${CHROOTDIR} cp -p ${UBOOT_DIR}/${_UF} \
|
|
${FATMOUNT}/${_UF}
|
|
done
|
|
chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr ${FATMOUNT}/ubldr
|
|
chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr.bin \
|
|
${FATMOUNT}/ubldr.bin
|
|
chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/dtb/rpi2.dtb \
|
|
${FATMOUNT}/rpi2.dtb
|
|
chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot
|
|
sync
|
|
umount_loop ${CHROOTDIR}/${FATMOUNT}
|
|
umount_loop ${CHROOTDIR}/${UFSMOUNT}
|
|
chroot ${CHROOTDIR} rmdir ${FATMOUNT}
|
|
chroot ${CHROOTDIR} rmdir ${UFSMOUNT}
|
|
|
|
return 0
|
|
}
|