Vous êtes sur la page 1sur 2

Building FreeBSD for ARM: No Sissies Edition

#To permenantly set the -E flag in sudo that preserves your environment variables
sudo visudo
#add this
Defaults env_keep += "MAKEOBJDIRPREFIX MODULES_OVERRIDE SUBDIR_OVERRIDE"

***GET u-boot and build***


#make u-boot first
cd .../ports/sysutils/u-boot-cubox-hummingboard
#sudo make install

cd ~/FreeBSD/rh-armv6
setenv BASEDIR `pwd`
setenv MAKEOBJDIRPREFIX $BASEDIR/obj
cd $BASEDIR/src

https://svn.FreeBSD.org
svn checkout svn://svn.FreeBSD.org/base/head .

#!!!PORTS NOT SRC


svn checkout svn://svn.FreeBSD.org/ports/head/ .

mkdir /mnt/memdisk
mkdir /mnt/uboot

truncate -s 1100M bbb.img


sudo mdconfig -f bbb.img

gpart create -s mbr md0


gpart add -t fat32 -b 1M -s 50M md0 # should this be *fat* not fat32? below we use
F16 for fat.
sudo newfs_msdos -F16 /dev/md0s1
gpart add -t freebsd md0
sudo newfs /dev/md0s2

make TARGET_ARCH=armv6 -j10 buildworld


make TARGET_ARCH=armv6 KERNCONF=BEAGLEBONE-MMCCAM -j10 buildkernel

make buildkernel -j5 TARGET_ARCH=armv6 MAKEOBJDIRPREFIX=../obj KERNCONF=BEAGLEBONE

sudo mount_msdosfs /dev/md0s1 /mnt/uboot/


sudo mount /dev/md0s2 /mnt/memdisk/

#The -E is very important. It preserves the environment for sudo


sudo -E make TARGET_ARCH=armv6 DESTDIR=/mnt/memdisk installworld distribution
sudo -E make installkernel TARGET_ARCH=armv6 KERNCONF=BEAGLEBONE-MMCCAM
DESTDIR=/mnt/memdisk
sudo -E make installkernel TARGET_ARCH=armv6 KERNCONF=BEAGLEBONE-MMCCAM
DESTDIR=/mnt/sd-ufs
sudo -E make installkernel TARGET_ARCH=armv6 KERNCONF=BEAGLEBONE DESTDIR=/mnt/sd-
ufs
cp
~/FreeBSD/hummingboard/obj/arm.armv6/usr/home/russellh/FreeBSD/hummingboard/src/sys
/boot/arm/uboot/ubldr /mnt/uboot
#
cd ~/FreeBSD/hummingboard/obj/arm.armv6/usr/home/russellh/FreeBSD/hummingboard/src
~/FreeBSD/hummingboard/obj/arm.armv6/usr/home/russellh/FreeBSD/hummingboard/src% cp
./sys/BEAGLEBONE-
MMCCAM/modules/usr/home/russellh/FreeBSD/hummingboard/src/sys/modules/dtb/am335x/am
335x-boneblack.dtb /mnt/uboot/

cd /usr/ports/sysutils/u-boot-beaglebone/

make

cp work/u-boot-ports-v2017.01.00.2/MLO /mnt/uboot
cp work/u-boot-ports-v2017.01.00.2/u-boot.img /mnt/uboot

sudo umount /dev/md0s1


sudo umount /dev/md0s2
sudo mdconfig -du md0

sysctl kern.geom.debugflags=16
dd if=bbb.img of=/dev/da5 bs=4096k

total ufs size used: 948M

Vous aimerez peut-être aussi