68 Commits

Author SHA1 Message Date
Glen Barber
70437a3a2f Copy the rpi.dtb file to the FAT partition, preventing the
'Unrecognized partition table' error, causing boot failure.

Sponsored by:	The FreeBSD Foundation
2015-05-07 23:49:48 +00:00
Glen Barber
e26ba8ae96 Remove the ZEDBOARD configuration file, as it does not
have a corresponding u-boot port in the Ports Collection.

Sponsored by:	The FreeBSD Foundation
2015-05-07 20:06:39 +00:00
Glen Barber
a3a86d8697 Spell 'u-boot.img' correctly.
Sponsored by:	The FreeBSD Foundation
2015-05-07 20:02:50 +00:00
Glen Barber
57fa7d0f2d Remove the arm/ROADMAP file.
Sponsored by:	The FreeBSD Foundation
2015-05-07 19:48:06 +00:00
Glen Barber
1deb618afd Remove arm/Makefile.{KERNEL} files, as this project
branch is now going in a different direction than
originally planned.

Sponsored by:	The FreeBSD Foundation
2015-05-07 19:47:15 +00:00
Glen Barber
6052b0ac86 Fix creating directories within DESTDIR.
Sponsored by:	The FreeBSD Foundation
2015-05-07 19:10:08 +00:00
Glen Barber
51aa8af2cc Fix a copy/paste mistake.
Sponsored by:	The FreeBSD Foundation
2015-05-07 18:53:48 +00:00
Glen Barber
5287f5496e Add entries to uenv.txt.
Obtained from:	Crochet
Sponsored by:	The FreeBSD Foundation
2015-05-07 18:51:59 +00:00
Glen Barber
77d9ac1703 Set NODOC=1 to avoid building the reldoc target.
Sponsored by:	The FreeBSD Foundation
2015-05-07 18:48:47 +00:00
Glen Barber
b36739d1ea Add initial native suppor for RPI-B:
- Set UBLDR_LOADADDR.
 - Include files to install to the FAT partition.

Obtained from:	Crochet
Sponsored by:	The FreeBSD Foundation
2015-05-07 18:47:59 +00:00
Glen Barber
8c61607444 Remove FDT_DIR definition, which is no longer needed.
Sponsored by:	The FreeBSD Foundation
2015-05-07 18:41:23 +00:00
Glen Barber
91ea0e63de Reduce the number of files copied onto the FAT partition.
The DTB files are loaded from /boot/dtb on the UFS filesystem.

Submitted by:	loos
Sponsored by:	The FreeBSD Foundation
2015-05-07 18:32:11 +00:00
Glen Barber
6bd844ae0d In arm_install_uboot(), mount both FAT and UFS partitions
in the empty DESTDIR, and update path names.
Copy the ubldr to the FAT partition. [1]

Spotted by:	andrew [1]
Sponsored by:	The FreeBSD Foundation
2015-05-07 18:00:12 +00:00
Glen Barber
ab44589d80 Set UBLDR_LOADADDR for the BEAGLEBONE image.
Sponsored by:	The FreeBSD Foundation
2015-05-07 17:50:24 +00:00
Glen Barber
c2b4ad660a Do not rename u-boot.img file when copying to the FAT partition.
Sponsored by:	The FreeBSD Foundation
2015-05-07 17:48:19 +00:00
Glen Barber
379d8dca37 Fix file/directory paths.
Sponsored by:	The FreeBSD Foundation
2015-05-07 17:33:21 +00:00
Glen Barber
4ad8b75d53 Add tools/arm.subr to contain common subroutines used for
building arm images.  This is similar to tools/vmimage.subr
used for building virtual machine disk images.  By default,
only arm_create_disk() and arm_install_base() contain real
functionality here, and arm_install_uboot() must be overridden
in the arm/KERNEL.conf file.

In release.sh, make create_arm_armv6_build_release() do
something now.

In arm/BEAGLEBONE.conf, set IMAGE_SIZE, PART_SCHEME, FAT_SIZE,
FAT_TYPE, and MD_ARGS, as well as make arm_install_uboot()
functional.

Parts of this were taken from disecting a previous BEAGLEBONE
image, and other parts obtained from Crochet sources.

Sponsored by:	The FreeBSD Foundation
2015-05-06 19:58:12 +00:00
Glen Barber
cf582ac56f Update the arm/*.conf configuration files to only set
EMBEDDEDBUILD, EMBEDDED_TARGET, EMBEDDED_TARGET_ARCH,
EMBEDDEDPORTS, and KERNEL.

In release.sh, set TARGET and TARGET_ARCH to the
EMBEDDED_* variants from the configuration file.

Sponsored by:	The FreeBSD Foundation
2015-05-06 15:58:21 +00:00
Glen Barber
a03128832c In extra_chroot_setup(), use 'uname -U' to determine OSVERSION.
Move the port build for EMBEDDEDPORTS (if set) from arm/release.sh
to release.sh.

Remove arm/release.sh.

Sponsored by:	The FreeBSD Foundation
2015-05-06 15:41:43 +00:00
Glen Barber
2252f43bdc MFH: r282315-r282534
Sponsored by:	The FreeBSD Foundation
2015-05-06 11:50:30 +00:00
Glen Barber
ace79aa796 Fix building BEAGLEBONE images with Crochet using the
sysutils/u-boot-beaglebone port:

 - In arm/BEAGLEBONE.conf, set EMBEDDEDPORTS to the
   sysutils/u-boot-beaglebone port.
 - In arm/release.sh, remove BEAGLEBONE from setting WANT_UBOOT
 - In tools/arm/crochet-BEAGLEBONE.conf, override the
   beaglebone_check_uboot(), and set BEAGLEBONE_UBOOT to
   /tmp/external/u-boot-beaglebone, and create symlinks to the
   u-boot files in /usr/local/share/u-boot-beaglebone and the
   uEnv.txt file in crochet/board/Beaglebone/files.

Sponsored by:	The FreeBSD Foundation
2015-05-05 21:08:50 +00:00
Glen Barber
86be889b61 Remove buildenv_setup(), and set EMBEDDEDPORTS to the
sysutils/u-boot-rpi2 port, since these cases are already
handled by arm/release.sh.

Sponsored by:	The FreeBSD Foundation
2015-05-05 16:37:59 +00:00
Glen Barber
20a67b0520 Add initial support for building RPI2 images.
In release.sh, allow overriding buildenv_setup() before
the handoff to arm/release.sh.

Copy arm/RPI-B.conf -> arm/RPI2.conf, set UBOOT_PORT and
the correct KERNEL, and add the buildenv_setup() override
to install the sysutils/u-boot-rpi2 port/package.

Copy tools/arm/crochet-RPI-B.conf -> tools/arm/crochet-RPI2.conf,
and set the correct entries for the RaspberryPi2 board.

Thanks to:	loos@
Sponsored by:	The FreeBSD Foundation
2015-05-05 16:28:04 +00:00
Glen Barber
de7df74b48 MFH: r281855-r282312
Sponsored by:	The FreeBSD Foundation
2015-05-01 18:07:18 +00:00
Glen Barber
a3d1b9c24a Fix CROCHETBRANCH, forgotten in r280640.
Submitted by:	ruben.kerkhof@gmail.com
PR:		199760
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2015-04-28 15:32:59 +00:00
Glen Barber
6d81f38c6a Attempt to create the final image (though not nearly ready
for it yet).

This is probably very broken and/or wrong, but that's why
we have projects branches.

Sponsored by:	The FreeBSD Foundation
2015-03-26 03:05:07 +00:00
Glen Barber
e6e746bfb0 MFH: r278968-r280640
Sponsored by:	The FreeBSD Foundation
2015-03-25 22:35:08 +00:00
Glen Barber
6fb3faab63 Crochet sources moved to a new home; update accordingly.
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2015-03-25 22:08:02 +00:00
Glen Barber
ff9b6b61e6 Properly evaluate XZ_CMD from the chroot.
Sponsored by:	The FreeBSD Foundation
2015-03-02 18:10:58 +00:00
Glen Barber
e37709dbab Use xz(1) to compress FreeBSD/arm images.
Sponsored by:	The FreeBSD Foundation
2015-03-02 18:04:57 +00:00
Glen Barber
11a5d9d33b Add a ROADMAP file for FreeBSD/arm release builds, which
will make final documentation much easier when done.

Sponsored by:	The FreeBSD Foundation
2015-02-12 00:50:54 +00:00
Glen Barber
5860267369 Fix build-arm-ports target for WANDBOARD-QUAD.
Sponsored by:	The FreeBSD Foundation
2015-02-11 20:51:58 +00:00
Glen Barber
879c1339e2 Add CROSS_TOOLCHAIN for arm builds.
Remove a BOARDS entry left in while testing.
Add build-arm-ports${BOARD} target as a prerequisite when
ARMPORTS is set.
Add build-arm-KERNCONF and build-arm-ports to CLEANFILES.

Sponsored by:	The FreeBSD Foundation
2015-02-11 20:50:25 +00:00
Glen Barber
d8d0f3dc20 Initial restructure for FreeBSD/arm release builds.
Sponsored by:	The FreeBSD Foundation
2015-02-11 20:25:21 +00:00
Ed Maste
04fef9c446 Build gperf before gcc
The ARM image builds build the in-tree gcc in order to build u-boot
and gperf is needed to build gcc, but is no longer installed on archs
that use clang.

Invoking the make targets as separate steps is done to work around
a build failure which is not yet fully understood.

Reviewed by:	gjb, imp
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D1317
2014-12-24 18:51:25 +00:00
Glen Barber
41ab81a556 Set a static revision of the Crochet checkout to avoid
surprise build failures.

MFC after:	3 days
X-10.1-MFC:	yes
X-MFC-With:	r271676, r271677
Sponsored by:	The FreeBSD Foundation
2014-09-16 15:35:13 +00:00
Glen Barber
094be940b6 Catch up with Crochet changes to fix the WANDBOARD-QUAD
build.

Tested on:	stable/10@r271618
MFC after:	3 days
X-10.1-MFC:	yes
X-MFC-With:	r271676
Sponsored by:	The FreeBSD Foundation
2014-09-16 15:31:50 +00:00
Glen Barber
98e600cc4a Catch up with Crochet changes to fix the BEAGLEBONE
build.

Tested on:	stable/10@r271618
MFC after:	3 days
X-10.1-MFC:	yes
Sponsored by:	The FreeBSD Foundation
2014-09-16 15:31:12 +00:00
Glen Barber
ce470233d4 Also export UNAME_r to fix arm builds.
MFC after:	3 days
X-MFC-with:	r270417
Sponsored by:	The FreeBSD Foundation
2014-08-23 16:15:16 +00:00
Glen Barber
f64f30c974 Fix arm build breakage when building stable/10 on
head/.

MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2014-08-23 15:59:31 +00:00
Glen Barber
2f40fb9ce2 In arm/release.sh, continue if 'xdev-links' target fails
where the target is not valid (stable/10), instead of doing
per-branch evaluation on if xdev-links needs to be invoked.

Sponsored by:	The FreeBSD Foundation
2014-08-11 16:31:28 +00:00
Glen Barber
95d901dba9 Merge the following from ^/projects/release-noxdev:
r269549, r269551, r269552, r269553, r269554, r269555, r269558, r269559,
r269560, r269561, r269628, r269629, r269630, r269635, r269637:

r269549:
  Create a new project branch, release-noxdev, for
  a sandbox workspace outside of head/ to update the
  release bits for arm builds since the deprecation of
  the XDEV and XDEV_ARCH make(1) variables.

r269551:
  Define load_chroot_env() and load_target_env()
  prototypes.

r269552:
  Call load_chroot_env() and load_target_env() where
  they can be mutually conflicting with regard to
  TARGET, TARGET_ARCH, XDEV, and XDEV_ARCH.

r269553:
  Add shebang line to arm/*.conf files since these
  should be considered to be executable (albeit not
  on their own) shell scripts.

r269554:
  Redefine load_chroot_env() and load_target_env() in
  the arm/*.conf files, and reindent.

r269555:
  Simplify where load_chroot_env() and load_target_env() are
  called.

r269558:
  Provide example in release.conf.sample for overriding the
  load_chroot_env() and load_target_env() prototypes.

r269559:
  Remove a gratuitous newline.

r269560:
  Unset potentially conflicting variables in load_chroot_env()
  and load_target_env().

r269561:
  Make global variables global, and accessible outside of
  the functions within which they were once defined.

r269628:
  Remove XDEV/XDEV_ARCH evaluation if EMBEDDEDBUILD is set.

r269629:
  In arm/release.sh, switch TARGET/TARGET_ARCH back to the
  original XDEV/XDEV_ARCH make(1) variables.

  In theory, this should have been a no-op, but the TARGET and
  TARGET_ARCH are now unset in load_target_env() to avoid
  collision with the chroot userland.

r269630:
  Export variables in the arm/*.conf files because they
  need to be passed through release.sh to arm/release.sh.

  Set MK_TESTS=no for the xdev target.

r269635:
  As part of the XDEV/XDEV_ARCH deprecation, the
  'xdev-links' target was intentionally no longer
  invoked automatically.

  Invoke the xdev-links target after xdev, which
  creates, for example, /usr/bin/armv6-freebsd-cc
  symlink to /usr/armv6-freebsd/usr/bin/cc.

r269637:
  Set TARGET and TARGET_ARCH to the XDEV and XDEV_ARCH
  counterparts for the xdev and xdev-links make(1)
  targets.

Sponsored by:	The FreeBSD Foundation
2014-08-06 19:04:05 +00:00
Glen Barber
9b4b426a62 Fake out the deprecation of XDEV and XDEV_ARCH by
continuing to use the variables in the configuration
file, but switch XDEV= and XDEV_ARCH= to TARGET= and
TARGET_ARCH= appropriately.

Sponsored by:	The FreeBSD Foundation
2014-07-23 22:35:23 +00:00
Glen Barber
13c36b4884 The u-boot tarball needed for some boards, BEAGLEBONE for
example, explicitly hard-code gcc(1) as the compiler.

Partially revert r264703, which did a post-chroot install
of gcc(1).  This was initially removed because gcc(1) fails
to build usr.bin/dtc/ causing the xdev target to fail.  So
this time, move the gcc(1) installation after xdev is built.

This change is likely applicable to stable/10 arm build
failures, as well.

MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2014-07-03 19:37:25 +00:00
Glen Barber
192daa5d18 Move xdev knobs from release/arm/release.sh and into an
XDEV_FLAGS variable in ${KERNCONF}.conf file.

MFC after:	3 days
X-MFC-Note:	fix stable/10 XDEV_FLAGS local for branch
Sponsored by:	The FreeBSD Foundation
2014-04-23 02:01:22 +00:00
Glen Barber
70ba1fc251 Play musical-KNOBS a bit more with release/arm/release.sh.
For stable/10, r264703 sets the correct WITH/WITHOUT
knobs to get xdev built with the arm-freebsd-gcc binary
installed.  Unfortunately, the same fix does not work on
head/.

Also, quite to my amazement, WITH_GCC=1 and WITH_GNUCXX=1
causes xdev to fail spectactularly at least on r264791.

The situation as it stands is:

 - gcc(1) is needed for the u-boot build.
 - cc(1) *cannot* be clang(1)

To shoe-horn the toolchain to make 'xdev' give what is
needed, remove WITH_GNUCXX=1 and add WITH_GCC_BOOTSTRAP=1.

MFC After:	1 week
X-MFC-To:	stable/10 only
X-MFC-Note:	after stable/10 is broken in this way...
Sponsored by:	The FreeBSD Foundation
2014-04-23 01:47:07 +00:00
Glen Barber
4f52dde357 Apply a slightly different color hammer to arm/release.sh:
- gcc(1) fails to build usr.bin/dtc
 - lack of WITH_GNUCXX=1 causes cc1plus(1) calls to fail
 - u-boot fails to build with clang (hard-coded gcc(1) calls)

Implement the proper incantation of WITH_/WITHOUT_ knobs
to get arm snapshot builds working again.

Since the cc(1) binary is no longer expected to be clang(1),
remove the chroot(8) post-install cc(1) overwrite.

MFC After:	3 days
X-MFC-With:	r264518,r264697,r264698
Tested on:	stable/10@r264677 RPI-B
Sponsored by:	The FreeBSD Foundation
2014-04-20 20:46:06 +00:00
Glen Barber
3654a9b190 Fix EOL escape.
MFC after:	3 days
X-MFC-With:	r264697
Sponsored by:	The FreeBSD Foundation
2014-04-20 16:34:10 +00:00
Glen Barber
2093b3b701 When building the 'xdev' target when WITH_GCC=1 and
WITHOUT_CLANG_IS_CC=1, it appears WITHOUT_CLANG=1 must
also be set.

While here, reorder the lines to put the WITH_* and
WITHOUT_* entries on the same line.

MFC After:	3 days
X-MFC-With:	r264518
Tested on:	stable/10@r264677
Sponsored by:	The FreeBSD Foundation
2014-04-20 16:33:28 +00:00
Glen Barber
f83d85861b Fix armv6 build failure: "armv6-freebsd-gcc: not found"
Help from:	imp
Sponsored by:	The FreeBSD Foundation
2014-04-15 23:27:14 +00:00