Blob Blame History Raw
#global candidate

Name:           uboot-tools
Version:        2013.04
Release:        5%{?candidate:.%{candidate}}%{?dist}
Summary:        U-Boot utilities

Group:          Development/Tools
License:        GPLv2+
URL:            http://www.denx.de/wiki/U-Boot
Source0:        ftp://ftp.denx.de/pub/u-boot/u-boot-%{version}%{?candidate:-%{candidate}}.tar.bz2
Source1:        uEnv.txt.beagle
Source2:        uEnv.txt.beaglebone
Source3:        uEnv.txt.beagle_xm
Source4:        uEnv.txt.panda
Source5:        uEnv.txt.panda_a4
Source6:        uEnv.txt.panda_es
Source7:        uEnv.txt.uevm
Patch1:         u-boot-fat.patch
Patch2:         uboot-omap-fit.patch
Patch3:         mlo-ext.patch
Patch4:         exynos-ext.patch

# Beagle Bone Black support
Patch10: 0001-beaglebone-default-to-beaglebone-black-for-unknown-E.patch
Patch11: 0002-am335x-mux-don-t-hang-on-unknown-EEPROMs-assume-Beag.patch
Patch12: 0003-beaglebone-HACK-always-return-1-for-is_bone_lt.patch
Patch13: 0004-beaglebone-HACK-raise-USB-current-limit.patch
Patch14: 0005-beaglebone-use-kloadaddr-to-avoid-copying-the-kernel.patch
Patch15: 0006-beaglebone-try-to-load-uEnv-uImage-from-eMMC-first.patch
Patch16: 0007-beaglebone-Don-t-trigger-uboot-variable-lenght-limit.patch
Patch17: 0008-beaglebone-HACK-change-mmc-order-to-avoid-u-boot-cra.patch
Patch18: 0009-beaglebone-update-bootpart-variable-after-mmc-scan.patch
Patch19: 0010-am335x_evm-enable-gpio-command.patch
Patch20: 0011-am335x_evm-HACK-to-turn-on-BeagleBone-LEDs.patch
Patch21: 0012-Fix-for-screen-rolling-when-video-played-back-in-bro.patch
Patch22: 0013-beaglebone-enable-CONFIG_SUPPORT_RAW_INITRD-option.patch
Patch23: 0014-mmc-Add-RSTN-enable-for-emmc.patch

Patch30: uboot-wandboard-quad.patch

Requires:       dtc

# build the tool for manipulation with environment only on arm
%ifarch %{arm}
%global with_env 1
%endif

%description
This package contains a few U-Boot utilities - mkimage for creating boot images
and fw_printenv/fw_setenv for manipulating the boot environment variables.

%ifarch %{arm}
%package     -n uboot-beagle
Summary:     u-boot bootloader binaries for beagleboard
Requires:    uboot-tools

%description -n uboot-beagle
u-boot bootloader binaries for beagleboard

%package     -n uboot-beaglebone
Summary:     u-boot bootloader binaries for beaglebone
Requires:    uboot-tools

%description -n uboot-beaglebone
u-boot bootloader binaries for beaglebone

%package     -n uboot-highbank
Summary:     u-boot bootloader binaries for calxeda highbank
Requires:    uboot-tools
BuildArch:   noarch

%description -n uboot-highbank
u-boot bootloader binaries for calxeda highbank

%package     -n uboot-panda
Summary:     u-boot bootloader binaries for pandaboard
Requires:    uboot-tools

%description -n uboot-panda
u-boot bootloader binaries for pandaboard

%package     -n uboot-origen
Summary:     u-boot bootloader binaries for origenboard
Requires:    uboot-tools

%description -n uboot-origen
u-boot bootloader binaries for origenboard

%package     -n uboot-smdkv310
Summary:     u-boot bootloader binaries for smdk310 board
Requires:    uboot-tools

%description -n uboot-smdkv310
u-boot bootloader binaries for smdk310 board

%package     -n uboot-uevm
Summary:     u-boot bootloader binaries for uevm, omap5 pandaboard
Requires:    uboot-tools

%description -n uboot-uevm
u-boot bootloader binaries for uevm, omap5 pandaboard

%package     -n uboot-wandboard_dl
Summary:     u-boot bootloader binaries for Wandboard i.MX6 Dual Lite
Requires:    uboot-tools

%description -n uboot-wandboard_dl
u-boot bootloader binaries for Wandboard i.MX6 Dual Lite

%package     -n uboot-wandboard_quad
Summary:     u-boot bootloader binaries for Wandboard i.MX6 Quad
Requires:    uboot-tools

%description -n uboot-wandboard_quad
u-boot bootloader binaries for Wandboard i.MX6 Quad

%package     -n uboot-wandboard_solo
Summary:     u-boot bootloader binaries for Wandboard i.MX6 Solo
Requires:    uboot-tools

%description -n uboot-wandboard_solo
u-boot bootloader binaries for Wandboard i.MX6 Solo

%package     -n uboot-vexpress
Summary:     u-boot bootloader binaries for vexpress
Requires:    uboot-tools
BuildArch:   noarch

%description -n uboot-vexpress
u-boot bootloader binaries for vexpress
%endif

%prep
%setup -q -n u-boot-%{version}%{?candidate:-%{candidate}}
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1

# Beagle Bone Black support
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1

%patch30 -p1

mkdir builds

%build
%ifarch %{arm}
make CROSS_COMPILE="" am335x_evm_config
make HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE=""
cp -p MLO builds/MLO.beaglebone
cp -p u-boot.img builds/u-boot.img.beaglebone
cp -p u-boot.bin builds/u-boot.bin.beaglebone
make distclean

make CROSS_COMPILE="" ca9x4_ct_vxp_config
make HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE=""
cp -p u-boot.bin builds/u-boot.bin.vexpress
make distclean

make CROSS_COMPILE="" omap3_beagle_config
make HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE=""
cp -p MLO builds/MLO.beagle
cp -p u-boot.img builds/u-boot.img.beagle
cp -p u-boot.bin builds/u-boot.bin.beagle
make distclean

make CROSS_COMPILE="" highbank_config
make HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE=""
cp -p u-boot.bin builds/u-boot.bin.highbank
make distclean

make CROSS_COMPILE="" omap4_panda_config
make HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE=""
cp -p MLO builds/MLO.panda
cp -p u-boot.img builds/u-boot.img.panda
cp -p u-boot.bin builds/u-boot.bin.panda
make distclean

make CROSS_COMPILE="" origen_config
make HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE=""
cp -p spl/origen-spl.bin builds/origen-spl.bin.origen
cp -p u-boot.bin builds/u-boot.bin.origen
make distclean

make CROSS_COMPILE="" smdkv310_config
make HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE=""
cp -p spl/smdkv310-spl.bin builds/smdkv310-spl.bin.smdkv310
cp -p u-boot.bin builds/u-boot.bin.smdkv310
make distclean

make CROSS_COMPILE="" wandboard_dl_config
make HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE=""
cp -p u-boot.imx builds/u-boot.imx.dl
make distclean

make CROSS_COMPILE="" wandboard_quad_config
make HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE=""
cp -p u-boot.imx builds/u-boot.imx.quad
make distclean

make CROSS_COMPILE="" wandboard_solo_config
make HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE=""
cp -p u-boot.imx builds/u-boot.imx.solo
make distclean

make CROSS_COMPILE="" omap5_uevm_config
make HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE=""
cp -p MLO builds/MLO.uevm
cp -p u-boot.img builds/u-boot.img.uevm
cp -p u-boot.bin builds/u-boot.bin.uevm
make distclean

%endif

make tools HOSTCC="gcc $RPM_OPT_FLAGS" HOSTSTRIP=/bin/true CROSS_COMPILE=""

%if 0%{?with_env}
make CROSS_COMPILE="" sheevaplug_config
make env HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE=""
%endif

%install
rm -rf $RPM_BUILD_ROOT

mkdir -p $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
%ifarch %{arm}
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot-panda/
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot-beagle/
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot-beaglebone/
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot-highbank/
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot-origen/
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot-smdkv310/
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot-imx6dl/
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot-imx6quad/
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot-imx6solo/
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot-uevm/
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot-vexpress/

for board in beaglebone beagle panda uevm
do
install -p -m 0644 builds/u-boot.bin.$(echo $board) $RPM_BUILD_ROOT%{_datadir}/uboot-$(echo $board)/u-boot.bin
install -p -m 0644 builds/u-boot.img.$(echo $board) $RPM_BUILD_ROOT%{_datadir}/uboot-$(echo $board)/u-boot.img
install -p -m 0644 builds/MLO.$(echo $board) $RPM_BUILD_ROOT%{_datadir}/uboot-$(echo $board)/MLO
done

install -p -m 0644 builds/u-boot.bin.highbank $RPM_BUILD_ROOT%{_datadir}/uboot-highbank/u-boot.bin

install -p -m 0644 builds/origen-spl.bin.origen $RPM_BUILD_ROOT%{_datadir}/uboot-origen/origen-spl.bin
install -p -m 0644 builds/u-boot.bin.origen $RPM_BUILD_ROOT%{_datadir}/uboot-origen/u-boot.bin

install -p -m 0644 builds/smdkv310-spl.bin.smdkv310 $RPM_BUILD_ROOT%{_datadir}/uboot-smdkv310/smdkv310-spl.bin
install -p -m 0644 builds/u-boot.bin.smdkv310 $RPM_BUILD_ROOT%{_datadir}/uboot-smdkv310/u-boot.bin

install -p -m 0644 builds/u-boot.imx.dl $RPM_BUILD_ROOT%{_datadir}/uboot-imx6dl/u-boot.bin
install -p -m 0644 builds/u-boot.imx.quad $RPM_BUILD_ROOT%{_datadir}/uboot-imx6quad/u-boot.bin
install -p -m 0644 builds/u-boot.imx.solo $RPM_BUILD_ROOT%{_datadir}/uboot-imx6solo/u-boot.bin

install -p -m 0644 builds/u-boot.bin.vexpress $RPM_BUILD_ROOT%{_datadir}/uboot-vexpress/u-boot.bin

install -p -m 0644 %{SOURCE1}  $RPM_BUILD_ROOT%{_datadir}/uboot-beagle/uEnv.txt.beagle
install -p -m 0644 %{SOURCE2}  $RPM_BUILD_ROOT%{_datadir}/uboot-beaglebone/uEnv.txt.beaglebone
install -p -m 0644 %{SOURCE3}  $RPM_BUILD_ROOT%{_datadir}/uboot-beagle/uEnv.txt.beagle_xm
install -p -m 0644 %{SOURCE4}  $RPM_BUILD_ROOT%{_datadir}/uboot-panda/uEnv.txt.panda
install -p -m 0644 %{SOURCE5}  $RPM_BUILD_ROOT%{_datadir}/uboot-panda/uEnv.txt.panda_a4
install -p -m 0644 %{SOURCE6}  $RPM_BUILD_ROOT%{_datadir}/uboot-panda/uEnv.txt.panda_es
install -p -m 0644 %{SOURCE7}  $RPM_BUILD_ROOT%{_datadir}/uboot-uevm/uEnv.txt.uevm

%endif

install -p -m 0755 tools/mkimage $RPM_BUILD_ROOT%{_bindir}
install -p -m 0644 doc/mkimage.1 $RPM_BUILD_ROOT%{_mandir}/man1

%if 0%{?with_env}
install -p -m 0755 tools/env/fw_printenv $RPM_BUILD_ROOT%{_bindir}
( cd $RPM_BUILD_ROOT%{_bindir}; ln -sf fw_printenv fw_setenv )

install -p -m 0644 tools/env/fw_env.config $RPM_BUILD_ROOT%{_sysconfdir}
%endif

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
%doc COPYING README doc/README.imximage doc/README.kwbimage doc/uImage.FIT
%{_bindir}/mkimage
%{_mandir}/man1/mkimage.1*
%if 0%{?with_env}
%{_bindir}/fw_printenv
%{_bindir}/fw_setenv
%config(noreplace) %{_sysconfdir}/fw_env.config
%endif
%ifarch %{arm}
%files -n uboot-beaglebone
%defattr(-,root,root,-)
%{_datadir}/uboot-beaglebone/

%files -n uboot-beagle
%defattr(-,root,root,-)
%{_datadir}/uboot-beagle/

%files -n uboot-highbank
%defattr(-,root,root,-)
%{_datadir}/uboot-highbank/

%files -n uboot-panda
%defattr(-,root,root,-)
%{_datadir}/uboot-panda/

%files -n uboot-origen
%defattr(-,root,root,-)
%{_datadir}/uboot-origen/

%files -n uboot-smdkv310
%defattr(-,root,root,-)
%{_datadir}/uboot-smdkv310/

%files -n uboot-wandboard_dl
%defattr(-,root,root,-)
%{_datadir}/uboot-imx6dl/

%files -n uboot-wandboard_quad
%defattr(-,root,root,-)
%{_datadir}/uboot-imx6quad/

%files -n uboot-wandboard_solo
%defattr(-,root,root,-)
%{_datadir}/uboot-imx6solo/

%files -n uboot-uevm
%defattr(-,root,root,-)
%{_datadir}/uboot-uevm/

%files -n uboot-vexpress
%defattr(-,root,root,-)
%{_datadir}/uboot-vexpress/
%endif

%changelog
* Wed Jun 05 2013 Dennis Gilmore <dennis@ausil.us> - 2013.04-5
- add patches to support ext filesystems in exynos and omap SPL's
- drop bringing in arm-boot-config on arm systems
- build a highbank u-boot (intention is to use in qemu)
- add wandboard quad u-boot

* Wed May 22 2013 Dennis Gilmore <dennis@ausil.us> - 2013.04-4
- build vexpress image
- add uEnv.txt files for various supported omap systems

* Sat May 18 2013 Dennis Gilmore <dennis@ausil.us> - 2013.04-3
- add uevm, the omap5 based pandaboard
- Require arm-boot-config on arm arches 

* Mon May 13 2013 Peter Robinson <pbrobinson@fedoraproject.org> 2013.04-2
- Add patches for initial support for the Beagle Bone Black

* Sun Apr 21 2013 Peter Robinson <pbrobinson@fedoraproject.org> 2013.04-1
- Update to 2013.04 release
- Build i.MX6 Wandboard Dual Lite and Solo Boards

* Sun Mar 31 2013 Dennis Gilmore <dennis@ausil.us> - 2013.04-0.1.rc1
- update to 2013.04-rc2

* Fri Mar 01 2013 Dennis Gilmore <dennis@ausil.us> - 2013.01.01-1
- update to 2013.01.01 for bug#907139

* Thu Jan 24 2013 Dennis Gilmore <dennis@ausil.us> - 2013.01-1
- update to 2013.01 release

* Wed Oct 17 2012 Dennis Gilmore <dennis@ausil.us> - 2012.10-1
- update to final 2012.10 release

* Thu Oct 11 2012 Mauro Carvalho Chehab <mchehab@redhat.com>
- Also generate uboot for SMDK310

* Tue Oct 09 2012 Dennis Gilmore <dennis@ausil.us> - 2012.10-0.1.rc3
- update to 2010.10 rc3

* Fri Aug 24 2012 Dennis Gilmore <dennis@ausil.us> - 2012.01-1
- update to 2012.07 release

* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2012.07-0.2.rc1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Thu Jul 12 2012 Dennis Gilmore <dennis@ausil.us> - 2012.07-0.1.rc1
- update to rc1 of 2012.07 release

* Sat Jul 07 2012 Dennis Gilmore <dennis@ausil.us> - 2012.04.01-4
- still build the beagleboard image

* Sat Jul 07 2012 Dennis Gilmore <dennis@ausil.us> - 2012.04.01-3
- build beaglebone uboot images

* Mon Jun 25 2012 Dennis Gilmore <dennis@ausil.us> - 2012.04.01-2
- add patch so the MLO detects fat16 partitions correctly

* Mon May 07 2012 Dennis Gilmore <dennis@ausil.us> - 2012.04.01-1
- update to 2012.04.01 release
- http://lists.denx.de/pipermail/u-boot/2012-April/123011.html

* Tue Apr 24 2012 Dennis Gilmore <dennis@ausil.us> - 2012.04-1
- update to final 2012.04 release

* Thu Apr 19 2012 Dennis Gilmore <dennis@ausil.us> - 2012.04-0.1.rc3
- update to 2012.04-rc3
- build uboot binaries for beagle, panda and origen boards

* Thu Mar 08 2012 Dennis Gilmore <dennis@ausil.us> - 2011.12-1
- update to 2011.12 release

* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2011.03-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Thu Apr 14 2011 Dan Horák <dan[at]danny.cz> - 2011.03-1
- updated to to 2011.03
- build the tool for manipulation with environment only on arm

* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2010.03-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Thu May 27 2010 Dan Horák <dan[at]danny.cz> 2010.03-1
- updated to to 2010.03
- applied review feedback - added docs and expanded description
- pass proper CFLAGS to the compiler

* Sat Nov 14 2009 Dan Horák <dan[at]danny.cz> 2009.08-1
- initial Fedora version