yum install with Fedora or apt-get install with Ubuntu or Debian. These commands may require root privileges or being in a correct sudoers group.
$ git clone git://github.com/linux4sam/buildroot-at91.git Cloning into 'buildroot-at91'... remote: Counting objects: 92162, done. remote: Compressing objects: 100% (28955/28955), done. remote: Total 92162 (delta 62800), reused 92139 (delta 62778) Receiving objects: 100% (92162/92162), 29.82 MiB | 2.09 MiB/s, done. Resolving deltas: 100% (62800/62800), done. $ cd buildroot-at91/ $ ls CHANGES COPYING Config.in Config.in.legacy Makefile Makefile.legacy arch board boot configs docs fs linux package support system toolchainThe source code has been taken from the master branch which is pointing on the latest branch we use. If you want to use an older branch, you can list them and use one of them by doing this:
$ git branch -r origin/HEAD -> origin/master origin/buildroot-2012.11.1-at91 origin/master $ git checkout origin/buildroot-2012.11.1-at91 -b buildroot-2012.11.1-at91 Branch buildroot-2012.11.1-at91 set up to track remote branch buildroot-2012.11.1-at91 from origin. Switched to a new branch 'buildroot-2012.11.1-at91'
$ make sama5d3ekdemo_defconfigThen you can build the rootfs to obtain the binary found in BuildRootGet page.
$ makeOnce compilation is done, have a look to
output/images to see what has been generated:
$ ls output/images/ rootfs.jffs2 rootfs.tar rootfs.ubi rootfs.ubifs
JFFS2 filesystem, you can flash the rootfs.jffs2 generated image
UFIFS filesystem, the image to flash is the file named rootfs.ubi
output/host/usr:
$ ls output/host/usr/bin aclocal arm-buildroot-linux-uclibcgnueabi-gcov arm-linux-as arm-linux-ldconfig autoscan gobject-query ncurses5-config aclocal-1.11 arm-buildroot-linux-uclibcgnueabi-gprof arm-linux-c++ arm-linux-ldd autoupdate gperf pkg-config arm-buildroot-linux-uclibcgnueabi-addr2line arm-buildroot-linux-uclibcgnueabi-ld arm-linux-c++filt arm-linux-nm captoinfo gsettings pkgconf arm-buildroot-linux-uclibcgnueabi-ar arm-buildroot-linux-uclibcgnueabi-ld.bfd arm-linux-cc arm-linux-objcopy ccache gtester reset arm-buildroot-linux-uclibcgnueabi-as arm-buildroot-linux-uclibcgnueabi-ldconfig arm-linux-cpp arm-linux-objdump chattr gtester-report tabs arm-buildroot-linux-uclibcgnueabi-c++ arm-buildroot-linux-uclibcgnueabi-ldd arm-linux-elfedit arm-linux-ranlib clear ifnames tic arm-buildroot-linux-uclibcgnueabi-c++filt arm-buildroot-linux-uclibcgnueabi-nm arm-linux-g++ arm-linux-readelf compile_et infocmp toe arm-buildroot-linux-uclibcgnueabi-cc arm-buildroot-linux-uclibcgnueabi-objcopy arm-linux-gcc arm-linux-size faked infotocap tput arm-buildroot-linux-uclibcgnueabi-cpp arm-buildroot-linux-uclibcgnueabi-objdump arm-linux-gcc-4.7.2 arm-linux-strings fakeroot ldconfig tset arm-buildroot-linux-uclibcgnueabi-elfedit arm-buildroot-linux-uclibcgnueabi-ranlib arm-linux-gcc-ar arm-linux-strip gdbus ldd uuidgen arm-buildroot-linux-uclibcgnueabi-g++ arm-buildroot-linux-uclibcgnueabi-readelf arm-linux-gcc-nm autoconf gdbus-codegen libtool arm-buildroot-linux-uclibcgnueabi-gcc arm-buildroot-linux-uclibcgnueabi-size arm-linux-gcc-ranlib autoheader gio-querymodules libtoolize arm-buildroot-linux-uclibcgnueabi-gcc-4.7.2 arm-buildroot-linux-uclibcgnueabi-strings arm-linux-gcov autom4te glib-compile-schemas lsattr arm-buildroot-linux-uclibcgnueabi-gcc-ar arm-buildroot-linux-uclibcgnueabi-strip arm-linux-gprof automake glib-genmarshal m4 arm-buildroot-linux-uclibcgnueabi-gcc-nm arm-linux-addr2line arm-linux-ld automake-1.11 glib-gettextize makedevs arm-buildroot-linux-uclibcgnueabi-gcc-ranlib arm-linux-ar arm-linux-ld.bfd autoreconf glib-mkenums mk_cmds
make clean, you will delete the rootfs but also the cross toolchain. You can save the cross toolchain in another place. Moreover you can tell Buildroot to use it to save time for next compilations. To do it run make menuconfig then go to the Toolchain menu. Then select External toolchain as Toolchain type, Custom toolchain as Toolchain, Pre-installed toolchain as Toolchain origin. Finally set Toolchain path and Toolchain prefix.
make menuconfigand to go to the
Package Selection for the target menu. Packages are sorted by categories:
You simply have to go in the desired category and to select or deselect the packages you want. Once done, you can build your rootfs.
make clean and to rebuild the whole rootfs to be sure that the packages will be removed.
make menuconfig and go to Filesystem images:
For a jffs2 root filesystem, you may have to update the page and erase size from Flash Type.
For a ubifs root filesystem, you may have to update the UBI logical erase block size, the UBI minimum I/O size, the Maximum LEB count, the UBI physical erase block size and the UBI sub-page size. You can find more information about these parameters in the ubi documentation.
make menuconfig, go to Kernel and select Linux Kernel.
In kernel version select Custom Git tree. Set URL of custom git repository to git://github.com/linux4sam/linux-at91.git, set Custom Git version to HEAD or to a branch/tag of your choice.
Set Kernel configuration to Using a defconfig and set Defconfig name to sama5d3. Buildroot can also build the device tree binary so select Device tree support and set Device Tree Source file name to sama5d34ek.
Then run make.
| I | Attachment | Action | Size | Date | Who | Comment |
|---|---|---|---|---|---|---|
| |
buildroot_kernel_linux-at91.png | manage | 62.0 K | 2013-02-01 - 10:23 | LudovicDesroches | buildroot kernel build screenshot |
| |
buildroot_nand_conf.png | manage | 92.6 K | 2013-02-01 - 10:06 | LudovicDesroches | buildroot nand configuration screenshot |
| |
buildroot_package_selection.png | manage | 79.1 K | 2013-02-01 - 09:59 | LudovicDesroches | buildroot package selection screenshot |
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.
Atmel® and others, are registered trademarks or trademarks of Atmel Corporation or its subsidiaries. ![]()
ARM® and others are registered trademarks or trademarks of ARM Ltd. Other terms and product names may be trademarks of others.
Ideas, requests, contributions ? Connect to LinksToCommunities page.