diff mbox

trying to use https://github.com/beagleboard/linux.git with buildroot

Message ID n5mdi8$5go$1@ger.gmane.org
State Not Applicable
Headers show

Commit Message

Chris LaRocque Dec. 26, 2015, 4 p.m. UTC
Craig Swank wrote:

> Here is another thing I've found:
> 
> https://github.com/beagleboard/linux/issues/49
> 
> In that issue the person had some addresses set incorrectly in uEnv.txt,
> but mine doesn't have any addresses set:
> 
> bootpart=0:1
> bootdir=
> uenvcmd=run loadimage;run loadramdisk;run findfdt;run loadfdt;run ram
> boot
> 
> Is there something that needs to be set in uEnv.txt?
> 
> 
> On Wed, Dec 23, 2015, at 02:52 PM, Thomas Petazzoni wrote:
>> Dear Craig Swank,
>> 
>> On Wed, 23 Dec 2015 14:45:36 -0800, Craig Swank wrote:
>> > Is it strange to you that when I do the build the output/build
>> > directory has both of these dirs?
>> > 
>> > ➜  buildroot git:(master) ✗ ls output/build/linux-*
>> > output/build/linux-4.1.4-ti-r9
>> > output/build/linux-headers-3.12.10
>> 
>> No, it is perfectly fine. linux-headers is used when building the
>> toolchain. linux is used to build the kernel itself.
>> 
>> Thomas
>> --
>> Thomas Petazzoni, CTO, Free Electrons
>> Embedded Linux, Kernel and Android engineering
>> http://free-electrons.com
> 
> 
Hello Craig

Hopefully the attachments will be accepted.

The kernel defconfig from beagleboard.org:

1> doesn't set DEPRECATED_PARAM_STRUCT [=y] in the kernel .config. uEnv.txt 
(uboot) passes in the console config as "console=ttyO0,115200n8"

2> doesn't set EXT2_FS [=y] and the default buildroot .config FS image is 
ext2. at least for the beaglebone black and I'm trying to keep things sane.

You'll want to do a make source and them make linux-menuconfig and change 
the parameters above.

I haven't created a patch file because I'm lazy.

Also attached is my patch (hack) for dtc, derived from Robert Nelsons 
bb.org-overlays.

The dtc patch file goes into BR2_GLOBAL_PATCH_DIR , 
BR2_GLOBAL_PATCH_DIR"/dtc"

Look in the buildroot .config for how I set BR2_GLOBAL_PATCH_DIR. you'll 
need to point that to your own global patch directory.

Regards

Chris
#
# Automatically generated file; DO NOT EDIT.
# Buildroot 2015.11-rc2-dirty Configuration
#
BR2_HAVE_DOT_CONFIG=y

#
# Target options
#
BR2_ARCH_HAS_MMU_OPTIONAL=y
# BR2_arcle is not set
# BR2_arceb is not set
BR2_arm=y
# BR2_armeb is not set
# BR2_aarch64 is not set
# BR2_aarch64_be is not set
# BR2_bfin is not set
# BR2_i386 is not set
# BR2_microblazeel is not set
# BR2_microblazebe is not set
# BR2_mips is not set
# BR2_mipsel is not set
# BR2_mips64 is not set
# BR2_mips64el is not set
# BR2_nios2 is not set
# BR2_powerpc is not set
# BR2_powerpc64 is not set
# BR2_powerpc64le is not set
# BR2_sh is not set
# BR2_sparc is not set
# BR2_sparc64 is not set
# BR2_x86_64 is not set
# BR2_xtensa is not set
BR2_ARCH="arm"
BR2_ENDIAN="LITTLE"
BR2_GCC_TARGET_ABI="aapcs-linux"
BR2_GCC_TARGET_CPU="cortex-a8"
BR2_GCC_TARGET_FPU="neon"
BR2_GCC_TARGET_FLOAT_ABI="hard"
BR2_GCC_TARGET_MODE="arm"
BR2_ARCH_HAS_ATOMICS=y
BR2_BINFMT_SUPPORTS_SHARED=y
BR2_BINFMT_ELF=y
BR2_ARM_CPU_HAS_NEON=y
BR2_ARM_CPU_HAS_VFPV2=y
BR2_ARM_CPU_HAS_VFPV3=y
BR2_ARM_CPU_HAS_ARM=y
BR2_ARM_CPU_HAS_THUMB2=y
BR2_ARM_CPU_ARMV7A=y
# BR2_arm920t is not set
# BR2_arm922t is not set
# BR2_arm926t is not set
# BR2_arm1136j_s is not set
# BR2_arm1136jf_s is not set
# BR2_arm1176jz_s is not set
# BR2_arm1176jzf_s is not set
# BR2_cortex_a5 is not set
# BR2_cortex_a7 is not set
BR2_cortex_a8=y
# BR2_cortex_a9 is not set
# BR2_cortex_a12 is not set
# BR2_cortex_a15 is not set
# BR2_cortex_m3 is not set
# BR2_fa526 is not set
# BR2_pj4 is not set
# BR2_strongarm is not set
# BR2_xscale is not set
# BR2_iwmmxt is not set
# BR2_ARM_EABI is not set
BR2_ARM_EABIHF=y
# BR2_ARM_FPU_VFPV2 is not set
# BR2_ARM_FPU_VFPV3 is not set
# BR2_ARM_FPU_VFPV3D16 is not set
BR2_ARM_FPU_NEON=y
BR2_ARM_INSTRUCTIONS_ARM=y
# BR2_ARM_INSTRUCTIONS_THUMB2 is not set

#
# Build options
#

#
# Commands
#
BR2_WGET="wget --passive-ftp -nd -t 3"
BR2_SVN="svn"
BR2_BZR="bzr"
BR2_GIT="git"
BR2_CVS="cvs"
BR2_LOCALFILES="cp"
BR2_SCP="scp"
BR2_SSH="ssh"
BR2_HG="hg"
BR2_ZCAT="gzip -d -c"
BR2_BZCAT="bzcat"
BR2_XZCAT="xzcat"
BR2_TAR_OPTIONS=""
BR2_DEFCONFIG="my_config.config"
BR2_DL_DIR="$(TOPDIR)/dl"
BR2_HOST_DIR="$(BASE_DIR)/host"

#
# Mirrors and Download locations
#
BR2_PRIMARY_SITE=""
BR2_BACKUP_SITE="http://sources.buildroot.net"
BR2_KERNEL_MIRROR="https://www.kernel.org/pub"
BR2_GNU_MIRROR="http://ftp.gnu.org/pub/gnu"
BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org"
BR2_CPAN_MIRROR="http://cpan.metacpan.org"
BR2_JLEVEL=0
# BR2_CCACHE is not set
# BR2_DEPRECATED is not set
# BR2_ENABLE_DEBUG is not set
BR2_STRIP_strip=y
# BR2_STRIP_none is not set
BR2_STRIP_EXCLUDE_FILES=""
BR2_STRIP_EXCLUDE_DIRS=""
# BR2_OPTIMIZE_0 is not set
# BR2_OPTIMIZE_1 is not set
# BR2_OPTIMIZE_2 is not set
# BR2_OPTIMIZE_3 is not set
BR2_OPTIMIZE_S=y

#
# enabling Stack Smashing Protection requires support in the toolchain
#
# BR2_STATIC_LIBS is not set
BR2_SHARED_LIBS=y
# BR2_SHARED_STATIC_LIBS is not set
BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk"
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../beaglebone_buildroot_files/global_package_patch_files"

#
# Advanced
#
# BR2_COMPILER_PARANOID_UNSAFE_PATH is not set

#
# Toolchain
#
BR2_TOOLCHAIN=y
BR2_TOOLCHAIN_USES_UCLIBC=y
BR2_TOOLCHAIN_BUILDROOT=y
# BR2_TOOLCHAIN_EXTERNAL is not set
BR2_TOOLCHAIN_BUILDROOT_VENDOR="buildroot"

#
# Kernel Header Options
#
# BR2_KERNEL_HEADERS_3_2 is not set
# BR2_KERNEL_HEADERS_3_4 is not set
# BR2_KERNEL_HEADERS_3_10 is not set
# BR2_KERNEL_HEADERS_3_12 is not set
# BR2_KERNEL_HEADERS_3_14 is not set
# BR2_KERNEL_HEADERS_3_18 is not set
BR2_KERNEL_HEADERS_4_1=y
# BR2_KERNEL_HEADERS_4_2 is not set
# BR2_KERNEL_HEADERS_4_3 is not set
# BR2_KERNEL_HEADERS_VERSION is not set
BR2_DEFAULT_KERNEL_HEADERS="4.1.13"
BR2_TOOLCHAIN_BUILDROOT_UCLIBC=y
# BR2_TOOLCHAIN_BUILDROOT_GLIBC is not set
# BR2_TOOLCHAIN_BUILDROOT_MUSL is not set
BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
BR2_PACKAGE_UCLIBC=y

#
# uClibc Options
#
BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD=y
BR2_UCLIBC_VERSION_SUPPORTS_NPTL=y
# BR2_UCLIBC_VERSION_0_9_33 is not set
BR2_UCLIBC_VERSION_NG=y
# BR2_UCLIBC_VERSION_SNAPSHOT is not set
BR2_UCLIBC_VERSION_STRING="1.0.9"
BR2_UCLIBC_CONFIG="package/uclibc/uClibc-ng.config"
BR2_UCLIBC_CONFIG_FRAGMENT_FILES=""
# BR2_TOOLCHAIN_BUILDROOT_INET_RPC is not set
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
# BR2_TOOLCHAIN_BUILDROOT_LOCALE is not set
# BR2_PTHREADS_NONE is not set
# BR2_PTHREADS_OLD is not set
BR2_PTHREADS_NATIVE=y
BR2_PTHREAD_DEBUG=y
# BR2_TOOLCHAIN_BUILDROOT_USE_SSP is not set
BR2_UCLIBC_INSTALL_UTILS=y
# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
BR2_UCLIBC_TARGET_ARCH="arm"
BR2_UCLIBC_ARM_BX=y

#
# Binutils Options
#
# BR2_BINUTILS_VERSION_2_23_X is not set
BR2_BINUTILS_VERSION_2_24_X=y
# BR2_BINUTILS_VERSION_2_25_X is not set
BR2_BINUTILS_VERSION="2.24"
BR2_BINUTILS_EXTRA_CONFIG_OPTIONS=""

#
# GCC Options
#
BR2_GCC_NEEDS_MPC=y
BR2_GCC_SUPPORTS_GRAPHITE=y
# BR2_GCC_VERSION_4_7_X is not set
# BR2_GCC_VERSION_4_8_X is not set
BR2_GCC_VERSION_4_9_X=y
# BR2_GCC_VERSION_5_X is not set
BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE=y
BR2_GCC_VERSION="4.9.3"
BR2_EXTRA_GCC_CONFIG_OPTIONS=""
BR2_TOOLCHAIN_BUILDROOT_CXX=y
# BR2_TOOLCHAIN_BUILDROOT_FORTRAN is not set
BR2_GCC_ENABLE_TLS=y
# BR2_GCC_ENABLE_LTO is not set
# BR2_GCC_ENABLE_OPENMP is not set
# BR2_GCC_ENABLE_GRAPHITE is not set
BR2_PACKAGE_HOST_GDB=y
# BR2_PACKAGE_HOST_GDB_TUI is not set
# BR2_PACKAGE_HOST_GDB_PYTHON is not set
# BR2_GDB_VERSION_7_8 is not set
BR2_GDB_VERSION_7_9=y
# BR2_GDB_VERSION_7_10 is not set
BR2_GDB_VERSION="7.9.1"
BR2_USE_WCHAR=y
BR2_INSTALL_LIBSTDCPP=y
BR2_TOOLCHAIN_HAS_THREADS=y
BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y
BR2_TOOLCHAIN_HAS_THREADS_NPTL=y
BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS=y
# BR2_ENABLE_LOCALE_PURGE is not set
BR2_NEEDS_GETTEXT=y
BR2_USE_MMU=y
BR2_TARGET_OPTIMIZATION=""
BR2_TARGET_LDFLAGS=""
BR2_ECLIPSE_REGISTER=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST="4.1"
BR2_TOOLCHAIN_GCC_AT_LEAST_4_3=y
BR2_TOOLCHAIN_GCC_AT_LEAST_4_4=y
BR2_TOOLCHAIN_GCC_AT_LEAST_4_5=y
BR2_TOOLCHAIN_GCC_AT_LEAST_4_6=y
BR2_TOOLCHAIN_GCC_AT_LEAST_4_7=y
BR2_TOOLCHAIN_GCC_AT_LEAST_4_8=y
BR2_TOOLCHAIN_GCC_AT_LEAST_4_9=y
BR2_TOOLCHAIN_GCC_AT_LEAST="4.9"

#
# System configuration
#
BR2_TARGET_GENERIC_HOSTNAME="beaglebone41"
BR2_TARGET_GENERIC_ISSUE="Welcome to my Buildroot"
BR2_TARGET_GENERIC_PASSWD_MD5=y
# BR2_TARGET_GENERIC_PASSWD_SHA256 is not set
# BR2_TARGET_GENERIC_PASSWD_SHA512 is not set
BR2_TARGET_GENERIC_PASSWD_METHOD="md5"
BR2_INIT_BUSYBOX=y
# BR2_INIT_SYSV is not set

#
# systemd needs (e)glibc toolchain, headers >= 3.10
#
# BR2_INIT_NONE is not set
# BR2_ROOTFS_DEVICE_CREATION_STATIC is not set
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV is not set
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is not set
BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt"
BR2_ROOTFS_SKELETON_DEFAULT=y
# BR2_ROOTFS_SKELETON_CUSTOM is not set
# BR2_ROOTFS_MERGED_USR is not set
BR2_TARGET_ENABLE_ROOT_LOGIN=y
BR2_TARGET_GENERIC_ROOT_PASSWD=""
BR2_SYSTEM_BIN_SH_BUSYBOX=y

#
# bash, dash, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
#
# BR2_SYSTEM_BIN_SH_NONE is not set
BR2_SYSTEM_BIN_SH="busybox"
BR2_TARGET_GENERIC_GETTY=y
BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP=y
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 is not set
BR2_TARGET_GENERIC_GETTY_BAUDRATE="0"
BR2_TARGET_GENERIC_GETTY_TERM="vt100"
BR2_TARGET_GENERIC_GETTY_OPTIONS=""
BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y
BR2_SYSTEM_DHCP="eth0"
BR2_TARGET_TZ_INFO=y
BR2_TARGET_TZ_ZONELIST="default"
BR2_TARGET_LOCALTIME="Etc/UTC"
BR2_ROOTFS_USERS_TABLES=""
BR2_ROOTFS_OVERLAY=""
BR2_ROOTFS_POST_BUILD_SCRIPT=""
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/beaglebone/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS=""

#
# Kernel
#
BR2_LINUX_KERNEL=y
# BR2_LINUX_KERNEL_LATEST_VERSION is not set
# BR2_LINUX_KERNEL_SAME_AS_HEADERS is not set
# BR2_LINUX_KERNEL_CUSTOM_VERSION is not set
# BR2_LINUX_KERNEL_CUSTOM_TARBALL is not set
BR2_LINUX_KERNEL_CUSTOM_GIT=y
# BR2_LINUX_KERNEL_CUSTOM_HG is not set
# BR2_LINUX_KERNEL_CUSTOM_LOCAL is not set
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/beagleboard/linux.git"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="4.1.13-ti-r36"
BR2_LINUX_KERNEL_VERSION="4.1.13-ti-r36"
BR2_LINUX_KERNEL_PATCH="$(TOPDIR)/../beaglebone_buildroot_files/Patch_files/linux-4.1.13-ti-r36"
# BR2_LINUX_KERNEL_USE_DEFCONFIG is not set
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(TOPDIR)/output/build/linux-4.1.13-ti-r36/arch/arm/configs/bb.org_defconfig"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES=""
# BR2_LINUX_KERNEL_UIMAGE is not set
# BR2_LINUX_KERNEL_APPENDED_UIMAGE is not set
BR2_LINUX_KERNEL_ZIMAGE=y
# BR2_LINUX_KERNEL_APPENDED_ZIMAGE is not set
# BR2_LINUX_KERNEL_VMLINUX is not set
# BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM is not set
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_USE_INTREE_DTS=y
# BR2_LINUX_KERNEL_USE_CUSTOM_DTS is not set
BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-bone am335x-boneblack"
# BR2_LINUX_KERNEL_INSTALL_TARGET is not set

#
# Linux Kernel Extensions
#
# BR2_LINUX_KERNEL_EXT_XENOMAI is not set
# BR2_LINUX_KERNEL_EXT_RTAI is not set
# BR2_LINUX_KERNEL_EXT_FBTFT is not set

#
# Linux Kernel Tools
#
# BR2_LINUX_KERNEL_TOOL_CPUPOWER is not set
# BR2_LINUX_KERNEL_TOOL_PERF is not set

#
# Target packages
#
BR2_PACKAGE_BUSYBOX=y
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox.config"
BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES=""
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
# BR2_PACKAGE_BUSYBOX_SELINUX is not set
# BR2_PACKAGE_BUSYBOX_WATCHDOG is not set
BR2_PACKAGE_SKELETON=y

#
# Audio and video applications
#
# BR2_PACKAGE_ALSA_UTILS is not set
# BR2_PACKAGE_AUMIX is not set
# BR2_PACKAGE_BELLAGIO is not set
# BR2_PACKAGE_DVBLAST is not set
# BR2_PACKAGE_DVDAUTHOR is not set
# BR2_PACKAGE_DVDRW_TOOLS is not set
# BR2_PACKAGE_ESPEAK is not set
# BR2_PACKAGE_FAAD2 is not set
# BR2_PACKAGE_FFMPEG is not set
# BR2_PACKAGE_FLAC is not set
# BR2_PACKAGE_FLITE is not set
# BR2_PACKAGE_GSTREAMER is not set
# BR2_PACKAGE_GSTREAMER1 is not set
# BR2_PACKAGE_JACK2 is not set
BR2_PACKAGE_KODI_ARCH_SUPPORTS=y

#
# kodi requires an OpenGL ES and EGL backend
#
# BR2_PACKAGE_LAME is not set
# BR2_PACKAGE_MADPLAY is not set
# BR2_PACKAGE_MJPEGTOOLS is not set
# BR2_PACKAGE_MODPLUGTOOLS is not set
# BR2_PACKAGE_MPD is not set
# BR2_PACKAGE_MPD_MPC is not set
# BR2_PACKAGE_MPG123 is not set
BR2_PACKAGE_MPLAYER_ARCH_SUPPORTS=y
# BR2_PACKAGE_MPLAYER is not set
# BR2_PACKAGE_MUSEPACK is not set
# BR2_PACKAGE_NCMPC is not set
# BR2_PACKAGE_OPUS_TOOLS is not set
# BR2_PACKAGE_PULSEAUDIO is not set
# BR2_PACKAGE_SOX is not set
# BR2_PACKAGE_SQUEEZELITE is not set
# BR2_PACKAGE_TIDSP_BINARIES is not set
# BR2_PACKAGE_TOVID is not set
# BR2_PACKAGE_TSTOOLS is not set
# BR2_PACKAGE_TWOLAME is not set
# BR2_PACKAGE_UPMPDCLI is not set
# BR2_PACKAGE_VLC is not set
# BR2_PACKAGE_VORBIS_TOOLS is not set
# BR2_PACKAGE_WAVPACK is not set
# BR2_PACKAGE_YAVTA is not set
# BR2_PACKAGE_YMPD is not set

#
# Compressors and decompressors
#
BR2_PACKAGE_BZIP2=y
# BR2_PACKAGE_INFOZIP is not set
# BR2_PACKAGE_LZ4 is not set
# BR2_PACKAGE_LZIP is not set
# BR2_PACKAGE_LZOP is not set
# BR2_PACKAGE_XZ is not set

#
# Debugging, profiling and benchmark
#

#
# blktrace needs a (e)glibc or musl toolchain
#
# BR2_PACKAGE_BONNIE is not set
# BR2_PACKAGE_CACHE_CALIBRATOR is not set
# BR2_PACKAGE_DHRYSTONE is not set
# BR2_PACKAGE_DMALLOC is not set
# BR2_PACKAGE_DROPWATCH is not set
# BR2_PACKAGE_DSTAT is not set
# BR2_PACKAGE_DUMA is not set
# BR2_PACKAGE_FIO is not set
# BR2_PACKAGE_GDB is not set
BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS=y

#
# google-breakpad requires an (e)glibc toolchain w/ C++ enabled
#
# BR2_PACKAGE_IOZONE is not set
# BR2_PACKAGE_KEXEC is not set
# BR2_PACKAGE_KTAP is not set
# BR2_PACKAGE_LATENCYTOP is not set
# BR2_PACKAGE_LMBENCH is not set
# BR2_PACKAGE_LTP_TESTSUITE is not set
# BR2_PACKAGE_LTRACE is not set

#
# lttng-babeltrace needs a uclibc snapshot or (e)glib toolchain w/ wchar, threads
#
# BR2_PACKAGE_LTTNG_MODULES is not set
# BR2_PACKAGE_LTTNG_TOOLS is not set
# BR2_PACKAGE_MEMSTAT is not set
# BR2_PACKAGE_NETPERF is not set
# BR2_PACKAGE_OPROFILE is not set
# BR2_PACKAGE_PAX_UTILS is not set
# BR2_PACKAGE_PV is not set
# BR2_PACKAGE_RAMSMP is not set
# BR2_PACKAGE_RAMSPEED is not set
# BR2_PACKAGE_RT_TESTS is not set
# BR2_PACKAGE_SPIDEV_TEST is not set
# BR2_PACKAGE_STRACE is not set
# BR2_PACKAGE_STRESS is not set

#
# stress-ng needs a glibc toolchain w/ dynamic library, headers >= 3.3
#
# BR2_PACKAGE_SYSDIG is not set
# BR2_PACKAGE_TINYMEMBENCH is not set
# BR2_PACKAGE_TRACE_CMD is not set
# BR2_PACKAGE_TRINITY is not set
# BR2_PACKAGE_VALGRIND is not set
# BR2_PACKAGE_WHETSTONE is not set

#
# Development tools
#
# BR2_PACKAGE_BINUTILS is not set
# BR2_PACKAGE_BSDIFF is not set
# BR2_PACKAGE_CHECK is not set
BR2_PACKAGE_CMAKE_ARCH_SUPPORTS=y
# BR2_PACKAGE_CMAKE_CTEST is not set
# BR2_PACKAGE_CPPUNIT is not set
# BR2_PACKAGE_CVS is not set
# BR2_PACKAGE_FLEX is not set
BR2_PACKAGE_GETTEXT=y
# BR2_PACKAGE_GIT is not set
# BR2_PACKAGE_GPERF is not set
# BR2_PACKAGE_JQ is not set
# BR2_PACKAGE_LIBTOOL is not set
# BR2_PACKAGE_MAKE is not set
# BR2_PACKAGE_PKGCONF is not set
# BR2_PACKAGE_SSTRIP is not set
# BR2_PACKAGE_SUBVERSION is not set
# BR2_PACKAGE_TREE is not set

#
# Filesystem and flash utilities
#
# BR2_PACKAGE_BTRFS_PROGS is not set
# BR2_PACKAGE_CIFS_UTILS is not set
# BR2_PACKAGE_CPIO is not set
# BR2_PACKAGE_CRAMFS is not set
# BR2_PACKAGE_CURLFTPFS is not set
# BR2_PACKAGE_DOSFSTOOLS is not set
# BR2_PACKAGE_E2FSPROGS is not set
# BR2_PACKAGE_E2TOOLS is not set
# BR2_PACKAGE_ECRYPTFS_UTILS is not set
# BR2_PACKAGE_EXFAT is not set
# BR2_PACKAGE_EXFAT_UTILS is not set
# BR2_PACKAGE_F2FS_TOOLS is not set
# BR2_PACKAGE_FLASHBENCH is not set
# BR2_PACKAGE_GENEXT2FS is not set
# BR2_PACKAGE_GENPART is not set
# BR2_PACKAGE_GENROMFS is not set
# BR2_PACKAGE_MAKEDEVS is not set
# BR2_PACKAGE_MMC_UTILS is not set
# BR2_PACKAGE_MTD is not set
# BR2_PACKAGE_MTOOLS is not set
# BR2_PACKAGE_NFS_UTILS is not set
# BR2_PACKAGE_NTFS_3G is not set
# BR2_PACKAGE_SIMICSFS is not set
# BR2_PACKAGE_SP_OOPS_EXTRACT is not set
# BR2_PACKAGE_SQUASHFS is not set
# BR2_PACKAGE_SSHFS is not set
# BR2_PACKAGE_SUNXI_TOOLS is not set
# BR2_PACKAGE_UNIONFS is not set
# BR2_PACKAGE_XFSPROGS is not set

#
# Fonts, icons, sounds and themes
#

#
# Fonts
#
# BR2_PACKAGE_BITSTREAM_VERA is not set
# BR2_PACKAGE_DEJAVU is not set
# BR2_PACKAGE_GHOSTSCRIPT_FONTS is not set
# BR2_PACKAGE_INCONSOLATA is not set
# BR2_PACKAGE_LIBERATION is not set

#
# Icons
#
# BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS is not set
# BR2_PACKAGE_HICOLOR_ICON_THEME is not set

#
# Sounds
#
# BR2_PACKAGE_SOUND_THEME_BOREALIS is not set
# BR2_PACKAGE_SOUND_THEME_FREEDESKTOP is not set

#
# Themes
#

#
# Games
#
# BR2_PACKAGE_GNUCHESS is not set
# BR2_PACKAGE_LBREAKOUT2 is not set
# BR2_PACKAGE_LTRIS is not set
# BR2_PACKAGE_OPENTYRIAN is not set
# BR2_PACKAGE_PRBOOM is not set
# BR2_PACKAGE_SL is not set

#
# Graphic libraries and applications (graphic/text)
#

#
# Graphic applications
#
# BR2_PACKAGE_FSWEBCAM is not set

#
# glmark2 needs an OpenGL or an openGL ES and EGL backend provided by mesa3d
#

#
# glmark2 needs udev /dev management and a toolchain w/ C++, NPTL
#
# BR2_PACKAGE_GNUPLOT is not set
# BR2_PACKAGE_JHEAD is not set
# BR2_PACKAGE_RRDTOOL is not set

#
# Graphic libraries
#
# BR2_PACKAGE_CEGUI06 is not set
# BR2_PACKAGE_DIRECTFB is not set
# BR2_PACKAGE_FBDUMP is not set
# BR2_PACKAGE_FBGRAB is not set
# BR2_PACKAGE_FB_TEST_APP is not set

#
# fbterm needs a toolchain w/ C++, wchar, locale
#
# BR2_PACKAGE_FBV is not set
# BR2_PACKAGE_FREERDP is not set
# BR2_PACKAGE_IMAGEMAGICK is not set
# BR2_PACKAGE_LINUX_FUSION is not set
# BR2_PACKAGE_MESA3D is not set
# BR2_PACKAGE_OCRAD is not set
# BR2_PACKAGE_PSPLASH is not set
# BR2_PACKAGE_SDL is not set
# BR2_PACKAGE_SDL2 is not set

#
# Other GUIs
#
# BR2_PACKAGE_EFL is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_QT5_JSCORE_AVAILABLE=y
# BR2_PACKAGE_QT5 is not set

#
# weston needs udev and a toolchain w/ locale, threads, dynamic library, headers >= 3.0
#
# BR2_PACKAGE_XORG7 is not set

#
# X applications
#

#
# midori needs libgtk2 and a toolchain w/ C++, wchar, NPTL, gcc >= 4.8
#

#
# pcmanfm needs X.org and a toolchain w/ wchar, threads, C++
#

#
# X libraries and helper libraries
#
# BR2_PACKAGE_XKEYBOARD_CONFIG is not set

#
# X window managers
#

#
# Hardware handling
#

#
# Firmware
#
# BR2_PACKAGE_AM33X_CM3 is not set
# BR2_PACKAGE_B43_FIRMWARE is not set
# BR2_PACKAGE_LINUX_FIRMWARE is not set
# BR2_PACKAGE_RPI_FIRMWARE is not set
# BR2_PACKAGE_SUNXI_BOARDS is not set
# BR2_PACKAGE_UX500_FIRMWARE is not set
# BR2_PACKAGE_ZD1211_FIRMWARE is not set
# BR2_PACKAGE_A10DISP is not set
BR2_PACKAGE_AM335X_PRU_PACKAGE=y
# BR2_PACKAGE_AVRDUDE is not set

#
# bcache-tools needs udev /dev management and a toolchain w/ wchar
#
# BR2_PACKAGE_CC_TOOL is not set
# BR2_PACKAGE_CDRKIT is not set
# BR2_PACKAGE_CRYPTSETUP is not set
# BR2_PACKAGE_CWIID is not set
# BR2_PACKAGE_DBUS is not set
# BR2_PACKAGE_DMRAID is not set
# BR2_PACKAGE_DTV_SCAN_TABLES is not set
# BR2_PACKAGE_DVB_APPS is not set
# BR2_PACKAGE_DVBSNOOP is not set
# BR2_PACKAGE_EEPROG is not set

#
# eudev needs eudev /dev management
#
# BR2_PACKAGE_EVEMU is not set
# BR2_PACKAGE_EVTEST is not set
# BR2_PACKAGE_FAN_CTRL is not set
# BR2_PACKAGE_FCONFIG is not set
# BR2_PACKAGE_FIS is not set
# BR2_PACKAGE_FMTOOLS is not set
# BR2_PACKAGE_FREESCALE_IMX is not set
# BR2_PACKAGE_FXLOAD is not set
# BR2_PACKAGE_GADGETFS_TEST is not set
# BR2_PACKAGE_GPM is not set
# BR2_PACKAGE_GPSD is not set
# BR2_PACKAGE_GPTFDISK is not set
# BR2_PACKAGE_GVFS is not set
# BR2_PACKAGE_HWDATA is not set
# BR2_PACKAGE_HWLOC is not set
# BR2_PACKAGE_I2C_TOOLS is not set
# BR2_PACKAGE_INPUT_EVENT_DAEMON is not set
# BR2_PACKAGE_INPUT_TOOLS is not set
# BR2_PACKAGE_IOSTAT is not set
# BR2_PACKAGE_IPMITOOL is not set
# BR2_PACKAGE_IQVLINUX is not set
# BR2_PACKAGE_IRDA_UTILS is not set
# BR2_PACKAGE_KBD is not set
# BR2_PACKAGE_LCDPROC is not set

#
# libump needs a (e)glibc toolchain
#
# BR2_PACKAGE_LINUX_BACKPORTS is not set
# BR2_PACKAGE_LIRC_TOOLS is not set
# BR2_PACKAGE_LM_SENSORS is not set
# BR2_PACKAGE_LSHW is not set
# BR2_PACKAGE_LSUIO is not set
# BR2_PACKAGE_LVM2 is not set
# BR2_PACKAGE_MDADM is not set
# BR2_PACKAGE_MEMTESTER is not set
# BR2_PACKAGE_MINICOM is not set
# BR2_PACKAGE_NANOCOM is not set
# BR2_PACKAGE_NEARD is not set
# BR2_PACKAGE_OFONO is not set
# BR2_PACKAGE_OLA is not set
# BR2_PACKAGE_OPEN2300 is not set
# BR2_PACKAGE_OPENIPMI is not set
# BR2_PACKAGE_OPENOCD is not set

#
# owl-linux is only supported on ARM9 architecture
#
# BR2_PACKAGE_PARTED is not set
BR2_PACKAGE_PCIUTILS=y
# BR2_PACKAGE_PICOCOM is not set
# BR2_PACKAGE_PIFMRDS is not set
# BR2_PACKAGE_POWERTOP is not set
# BR2_PACKAGE_PPS_TOOLS is not set
# BR2_PACKAGE_READ_EDID is not set
# BR2_PACKAGE_RNG_TOOLS is not set
# BR2_PACKAGE_RPI_USERLAND is not set
# BR2_PACKAGE_RTL8188EU is not set
# BR2_PACKAGE_RTL8821AU is not set
# BR2_PACKAGE_SANE_BACKENDS is not set
# BR2_PACKAGE_SDPARM is not set
# BR2_PACKAGE_SETSERIAL is not set
# BR2_PACKAGE_SG3_UTILS is not set
BR2_PACKAGE_SIGROK_CLI=y
# BR2_PACKAGE_SISPMCTL is not set
# BR2_PACKAGE_SMARTMONTOOLS is not set
# BR2_PACKAGE_SMSTOOLS3 is not set
# BR2_PACKAGE_SNOWBALL_HDMISERVICE is not set
# BR2_PACKAGE_SREDIRD is not set
# BR2_PACKAGE_STATSERIAL is not set
# BR2_PACKAGE_STM32FLASH is not set

#
# sunxi-cedarx needs an (e)glibc toolchain
#

#
# sunxi-mali needs an (e)glibc toolchain
#
# BR2_PACKAGE_SYSSTAT is not set
# BR2_PACKAGE_TARGETCLI_FB is not set

#
# ti-gfx needs an (e)glibc toolchain and a Linux kernel to be built
#
# BR2_PACKAGE_TI_UIM is not set
# BR2_PACKAGE_TI_UTILS is not set
# BR2_PACKAGE_TRIGGERHAPPY is not set
# BR2_PACKAGE_UBOOT_TOOLS is not set

#
# udisks needs udev /dev management
#
# BR2_PACKAGE_USB_MODESWITCH is not set
# BR2_PACKAGE_USB_MODESWITCH_DATA is not set

#
# usbmount requires udev to be enabled
#

#
# usbutils needs udev /dev management and toolchain w/ threads
#
# BR2_PACKAGE_W_SCAN is not set

#
# wf111 needs an (e)glibc toolchain
#
# BR2_PACKAGE_WIPE is not set
# BR2_PACKAGE_XORRISO is not set

#
# Interpreter languages and scripting
#
# BR2_PACKAGE_ENSCRIPT is not set
# BR2_PACKAGE_ERLANG is not set
BR2_PACKAGE_GAUCHE_ARCH_SUPPORTS=y
# BR2_PACKAGE_GAUCHE is not set
# BR2_PACKAGE_GUILE is not set
# BR2_PACKAGE_HASERL is not set
# BR2_PACKAGE_JAMVM is not set
# BR2_PACKAGE_JIMTCL is not set
# BR2_PACKAGE_LUA is not set
BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS=y
# BR2_PACKAGE_LUAJIT is not set
# BR2_PACKAGE_MICROPYTHON is not set
# BR2_PACKAGE_MOARVM is not set
BR2_PACKAGE_MONO_ARCH_SUPPORTS=y
# BR2_PACKAGE_MONO is not set
# BR2_PACKAGE_NODEJS is not set
# BR2_PACKAGE_PERL is not set
# BR2_PACKAGE_PHP is not set
# BR2_PACKAGE_PYTHON is not set
BR2_PACKAGE_PYTHON3=y
# BR2_PACKAGE_PYTHON3_PY_ONLY is not set
BR2_PACKAGE_PYTHON3_PYC_ONLY=y
# BR2_PACKAGE_PYTHON3_PY_PYC is not set

#
# core python3 modules
#

#
# The following modules are unusual or require extra libraries
#
# BR2_PACKAGE_PYTHON3_BZIP2 is not set
# BR2_PACKAGE_PYTHON3_CODECSCJK is not set
# BR2_PACKAGE_PYTHON3_CURSES is not set
# BR2_PACKAGE_PYTHON3_DECIMAL is not set
# BR2_PACKAGE_PYTHON3_OSSAUDIODEV is not set
# BR2_PACKAGE_PYTHON3_READLINE is not set
# BR2_PACKAGE_PYTHON3_SSL is not set
BR2_PACKAGE_PYTHON3_UNICODEDATA=y
# BR2_PACKAGE_PYTHON3_SQLITE is not set
# BR2_PACKAGE_PYTHON3_PYEXPAT is not set
# BR2_PACKAGE_PYTHON3_ZLIB is not set

#
# External python modules
#
# BR2_PACKAGE_PYTHON_ALSAAUDIO is not set
# BR2_PACKAGE_PYTHON_BOTTLE is not set
# BR2_PACKAGE_PYTHON_CAN is not set
# BR2_PACKAGE_PYTHON_CERTIFI is not set
# BR2_PACKAGE_PYTHON_CFFI is not set
# BR2_PACKAGE_PYTHON_CHERRYPY is not set
# BR2_PACKAGE_PYTHON_CONFIGSHELL_FB is not set
# BR2_PACKAGE_PYTHON_DJANGO is not set
# BR2_PACKAGE_PYTHON_DOCOPT is not set
# BR2_PACKAGE_PYTHON_FLASK is not set
# BR2_PACKAGE_PYTHON_GOBJECT is not set
# BR2_PACKAGE_PYTHON_HTTPLIB2 is not set
# BR2_PACKAGE_PYTHON_IPYTHON is not set
# BR2_PACKAGE_PYTHON_ITSDANGEROUS is not set
# BR2_PACKAGE_PYTHON_JINJA2 is not set
# BR2_PACKAGE_PYTHON_LIBCONFIG is not set
# BR2_PACKAGE_PYTHON_LXML is not set
# BR2_PACKAGE_PYTHON_MAKO is not set
# BR2_PACKAGE_PYTHON_MARKDOWN is not set
# BR2_PACKAGE_PYTHON_MARKUPSAFE is not set
# BR2_PACKAGE_PYTHON_NETIFACES is not set
BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS=y
# BR2_PACKAGE_PYTHON_NUMPY is not set
# BR2_PACKAGE_PYTHON_PSUTIL is not set
# BR2_PACKAGE_PYTHON_PYASN is not set
# BR2_PACKAGE_PYTHON_PYCLI is not set
# BR2_PACKAGE_PYTHON_PYCRYPTO is not set
# BR2_PACKAGE_PYTHON_PYDAL is not set
# BR2_PACKAGE_PYTHON_PYFTPDLIB is not set
# BR2_PACKAGE_PYTHON_PYGAME is not set
# BR2_PACKAGE_PYTHON_PYINOTIFY is not set
# BR2_PACKAGE_PYTHON_PYPARSING is not set
# BR2_PACKAGE_PYTHON_PYQT is not set
# BR2_PACKAGE_PYTHON_PYRATEMP is not set
# BR2_PACKAGE_PYTHON_PYROUTE2 is not set
# BR2_PACKAGE_PYTHON_PYSENDFILE is not set
# BR2_PACKAGE_PYTHON_PYSNMP is not set
# BR2_PACKAGE_PYTHON_PYSNMP_APPS is not set
# BR2_PACKAGE_PYTHON_PYSNMP_MIBS is not set
# BR2_PACKAGE_PYTHON_PYXB is not set
# BR2_PACKAGE_PYTHON_PYYAML is not set
# BR2_PACKAGE_PYTHON_PYZMQ is not set
# BR2_PACKAGE_PYTHON_REQUESTS is not set
# BR2_PACKAGE_PYTHON_RTSLIB_FB is not set
# BR2_PACKAGE_PYTHON_SERIAL is not set
# BR2_PACKAGE_PYTHON_SIP is not set
# BR2_PACKAGE_PYTHON_SIX is not set
# BR2_PACKAGE_PYTHON_SPIDEV is not set
# BR2_PACKAGE_PYTHON_TORNADO is not set
# BR2_PACKAGE_PYTHON_URWID is not set
# BR2_PACKAGE_PYTHON_WERKZEUG is not set
# BR2_PACKAGE_PYTHON_WS4PY is not set
# BR2_PACKAGE_PYTHON_ZOPE_INTERFACE is not set
# BR2_PACKAGE_RUBY is not set
# BR2_PACKAGE_TCL is not set

#
# Libraries
#

#
# Audio/Sound
#
# BR2_PACKAGE_ALSA_LIB is not set
# BR2_PACKAGE_AUDIOFILE is not set
# BR2_PACKAGE_CELT051 is not set
# BR2_PACKAGE_FDK_AAC is not set
# BR2_PACKAGE_LIBAO is not set
# BR2_PACKAGE_LIBBROADVOICE is not set
# BR2_PACKAGE_LIBCDAUDIO is not set
# BR2_PACKAGE_LIBCDDB is not set
# BR2_PACKAGE_LIBCDIO is not set
# BR2_PACKAGE_LIBCODEC2 is not set
# BR2_PACKAGE_LIBCUE is not set
# BR2_PACKAGE_LIBCUEFILE is not set
# BR2_PACKAGE_LIBG7221 is not set
# BR2_PACKAGE_LIBID3TAG is not set
# BR2_PACKAGE_LIBILBC is not set
# BR2_PACKAGE_LIBLO is not set
# BR2_PACKAGE_LIBMAD is not set
# BR2_PACKAGE_LIBMODPLUG is not set
# BR2_PACKAGE_LIBMPD is not set
# BR2_PACKAGE_LIBMPDCLIENT is not set
# BR2_PACKAGE_LIBREPLAYGAIN is not set
# BR2_PACKAGE_LIBSAMPLERATE is not set
# BR2_PACKAGE_LIBSIDPLAY2 is not set
# BR2_PACKAGE_LIBSILK is not set
# BR2_PACKAGE_LIBSNDFILE is not set
# BR2_PACKAGE_LIBSOUNDTOUCH is not set
# BR2_PACKAGE_LIBSOXR is not set
# BR2_PACKAGE_LIBVORBIS is not set
# BR2_PACKAGE_MP4V2 is not set
# BR2_PACKAGE_OPENCORE_AMR is not set
# BR2_PACKAGE_OPUS is not set
# BR2_PACKAGE_OPUSFILE is not set
# BR2_PACKAGE_PORTAUDIO is not set
# BR2_PACKAGE_SPEEX is not set
# BR2_PACKAGE_TAGLIB is not set
# BR2_PACKAGE_TINYALSA is not set
# BR2_PACKAGE_TREMOR is not set
# BR2_PACKAGE_VO_AACENC is not set
# BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING is not set

#
# Compression and decompression
#
# BR2_PACKAGE_LIBARCHIVE is not set
# BR2_PACKAGE_LIBSQUISH is not set
BR2_PACKAGE_LIBZIP=y
# BR2_PACKAGE_LZO is not set
# BR2_PACKAGE_SNAPPY is not set
# BR2_PACKAGE_SZIP is not set
BR2_PACKAGE_ZLIB=y

#
# Crypto
#
# BR2_PACKAGE_BEECRYPT is not set
BR2_PACKAGE_BOTAN_ARCH_SUPPORTS=y
# BR2_PACKAGE_BOTAN is not set
# BR2_PACKAGE_CA_CERTIFICATES is not set
# BR2_PACKAGE_CRYPTODEV is not set
# BR2_PACKAGE_GNUTLS is not set
# BR2_PACKAGE_LIBASSUAN is not set
# BR2_PACKAGE_LIBGCRYPT is not set
# BR2_PACKAGE_LIBGPG_ERROR is not set
# BR2_PACKAGE_LIBGPGME is not set
# BR2_PACKAGE_LIBKSBA is not set
# BR2_PACKAGE_LIBMCRYPT is not set
# BR2_PACKAGE_LIBMHASH is not set
# BR2_PACKAGE_LIBNSS is not set
# BR2_PACKAGE_LIBSECRET is not set
# BR2_PACKAGE_LIBSHA1 is not set
# BR2_PACKAGE_LIBSODIUM is not set
# BR2_PACKAGE_LIBSSH is not set
# BR2_PACKAGE_LIBSSH2 is not set
# BR2_PACKAGE_LIBUECC is not set
# BR2_PACKAGE_NETTLE is not set
# BR2_PACKAGE_OPENSSL is not set
# BR2_PACKAGE_POLARSSL is not set

#
# Database
#
# BR2_PACKAGE_BERKELEYDB is not set
# BR2_PACKAGE_GDBM is not set
# BR2_PACKAGE_KOMPEXSQLITE is not set
# BR2_PACKAGE_LEVELDB is not set
# BR2_PACKAGE_MYSQL is not set
# BR2_PACKAGE_POSTGRESQL is not set
# BR2_PACKAGE_REDIS is not set
# BR2_PACKAGE_SQLCIPHER is not set
# BR2_PACKAGE_SQLITE is not set
# BR2_PACKAGE_UNIXODBC is not set

#
# Filesystem
#
# BR2_PACKAGE_GAMIN is not set
# BR2_PACKAGE_LIBCONFIG is not set
# BR2_PACKAGE_LIBCONFUSE is not set
# BR2_PACKAGE_LIBFUSE is not set
# BR2_PACKAGE_LIBLOCKFILE is not set
# BR2_PACKAGE_LIBNFS is not set
# BR2_PACKAGE_LIBSYSFS is not set
# BR2_PACKAGE_LOCKDEV is not set

#
# Graphics
#
# BR2_PACKAGE_ATK is not set
# BR2_PACKAGE_BULLET is not set
# BR2_PACKAGE_CAIRO is not set
# BR2_PACKAGE_EXIV2 is not set
# BR2_PACKAGE_FONTCONFIG is not set
# BR2_PACKAGE_FREETYPE is not set
# BR2_PACKAGE_GD is not set
# BR2_PACKAGE_GDK_PIXBUF is not set
# BR2_PACKAGE_GIFLIB is not set
# BR2_PACKAGE_GRAPHITE2 is not set
# BR2_PACKAGE_HARFBUZZ is not set
# BR2_PACKAGE_IJS is not set
# BR2_PACKAGE_IMLIB2 is not set
# BR2_PACKAGE_JASPER is not set
# BR2_PACKAGE_JPEG is not set
# BR2_PACKAGE_LCMS2 is not set
# BR2_PACKAGE_LIBART is not set
# BR2_PACKAGE_LIBDMTX is not set
# BR2_PACKAGE_LIBDRM is not set
# BR2_PACKAGE_LIBEXIF is not set

#
# libfm needs X.org and a toolchain w/ wchar, threads, C++
#
# BR2_PACKAGE_LIBFM_EXTRA is not set
# BR2_PACKAGE_LIBFREEIMAGE is not set
# BR2_PACKAGE_LIBGEOTIFF is not set

#
# libglew depends on X.org and needs an OpenGL backend
#

#
# libglu needs an OpenGL backend
#
# BR2_PACKAGE_LIBGTK3 is not set
# BR2_PACKAGE_LIBMNG is not set
# BR2_PACKAGE_LIBPNG is not set
# BR2_PACKAGE_LIBQRENCODE is not set
# BR2_PACKAGE_LIBRAW is not set
# BR2_PACKAGE_LIBRSVG is not set
# BR2_PACKAGE_LIBSVG is not set
# BR2_PACKAGE_LIBSVG_CAIRO is not set
# BR2_PACKAGE_LIBSVGTINY is not set
# BR2_PACKAGE_LIBVA is not set
# BR2_PACKAGE_LIBVIPS is not set
# BR2_PACKAGE_MENU_CACHE is not set
# BR2_PACKAGE_OPENCV is not set
# BR2_PACKAGE_OPENCV3 is not set
# BR2_PACKAGE_OPENJPEG is not set
# BR2_PACKAGE_PANGO is not set
# BR2_PACKAGE_PIXMAN is not set
# BR2_PACKAGE_POPPLER is not set
# BR2_PACKAGE_TIFF is not set
# BR2_PACKAGE_WAYLAND is not set
BR2_PACKAGE_WEBKITGTK24_ARCH_SUPPORTS=y

#
# webkitgtk24 needs libgtk2 and a toolchain w/ C++, wchar, NPTL, gcc >=4.8
#
# BR2_PACKAGE_WEBP is not set
# BR2_PACKAGE_ZXING_CPP is not set

#
# Hardware handling
#
BR2_PACKAGE_C_PERIPHERY=y
# BR2_PACKAGE_CCID is not set
# BR2_PACKAGE_DTC is not set
# BR2_PACKAGE_LCDAPI is not set
BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS=y
BR2_PACKAGE_LIBAIO=y

#
# libatasmart requires udev to be enabled
#
# BR2_PACKAGE_LIBCEC is not set
# BR2_PACKAGE_LIBFREEFARE is not set
# BR2_PACKAGE_LIBFTDI is not set
# BR2_PACKAGE_LIBFTDI1 is not set
# BR2_PACKAGE_LIBHID is not set
# BR2_PACKAGE_LIBIIO is not set

#
# libinput needs udev /dev management and a toolchain w/ locale
#
# BR2_PACKAGE_LIBIQRF is not set
# BR2_PACKAGE_LIBLLCP is not set

#
# libmbim needs udev /dev management and a toolchain w/ wchar, threads
#
# BR2_PACKAGE_LIBNFC is not set
# BR2_PACKAGE_LIBPCIACCESS is not set
# BR2_PACKAGE_LIBPHIDGET is not set
# BR2_PACKAGE_LIBQMI is not set
# BR2_PACKAGE_LIBRAW1394 is not set
# BR2_PACKAGE_LIBRTLSDR is not set
# BR2_PACKAGE_LIBSERIAL is not set
BR2_PACKAGE_LIBSERIALPORT=y
BR2_PACKAGE_LIBSIGROK=y
# BR2_PACKAGE_LIBSIGROKCXX is not set
BR2_PACKAGE_LIBSIGROKDECODE=y
BR2_PACKAGE_LIBSOC=y
# BR2_PACKAGE_LIBUSB is not set
# BR2_PACKAGE_LIBV4L is not set
# BR2_PACKAGE_LIBXKBCOMMON is not set
# BR2_PACKAGE_MTDEV is not set
BR2_PACKAGE_NE10=y
# BR2_PACKAGE_NEARDAL is not set
# BR2_PACKAGE_PCSC_LITE is not set
# BR2_PACKAGE_TSLIB is not set
# BR2_PACKAGE_URG is not set

#
# Javascript
#
# BR2_PACKAGE_ANGULARJS is not set
# BR2_PACKAGE_BOOTSTRAP is not set
# BR2_PACKAGE_EXPLORERCANVAS is not set
# BR2_PACKAGE_FLOT is not set
# BR2_PACKAGE_JQUERY is not set
# BR2_PACKAGE_JQUERY_DATETIMEPICKER is not set
# BR2_PACKAGE_JQUERY_KEYBOARD is not set
# BR2_PACKAGE_JQUERY_MOBILE is not set
# BR2_PACKAGE_JQUERY_SPARKLINE is not set
# BR2_PACKAGE_JQUERY_UI is not set
# BR2_PACKAGE_JQUERY_VALIDATION is not set
# BR2_PACKAGE_JSMIN is not set
# BR2_PACKAGE_JSON_JAVASCRIPT is not set

#
# JSON/XML
#
# BR2_PACKAGE_BENEJSON is not set
# BR2_PACKAGE_CJSON is not set
# BR2_PACKAGE_EXPAT is not set
# BR2_PACKAGE_EZXML is not set
# BR2_PACKAGE_JANSSON is not set
# BR2_PACKAGE_JSON_C is not set
# BR2_PACKAGE_JSON_GLIB is not set
# BR2_PACKAGE_JSONCPP is not set
# BR2_PACKAGE_LIBJSON is not set
# BR2_PACKAGE_LIBROXML is not set
# BR2_PACKAGE_LIBUCL is not set
# BR2_PACKAGE_LIBXML2 is not set
# BR2_PACKAGE_LIBXMLPP is not set
# BR2_PACKAGE_LIBXMLRPC is not set
# BR2_PACKAGE_LIBXSLT is not set
# BR2_PACKAGE_LIBYAML is not set
# BR2_PACKAGE_MXML is not set
# BR2_PACKAGE_RAPIDJSON is not set
# BR2_PACKAGE_RAPIDXML is not set
# BR2_PACKAGE_TINYXML is not set
# BR2_PACKAGE_TINYXML2 is not set
# BR2_PACKAGE_XERCES is not set
# BR2_PACKAGE_YAJL is not set
# BR2_PACKAGE_YAML_CPP is not set

#
# Logging
#
# BR2_PACKAGE_EVENTLOG is not set
# BR2_PACKAGE_GLOG is not set
# BR2_PACKAGE_LIBLOG4C_LOCALTIME is not set
# BR2_PACKAGE_LIBLOGGING is not set
# BR2_PACKAGE_LOG4CPLUS is not set
# BR2_PACKAGE_LOG4CXX is not set
# BR2_PACKAGE_ZLOG is not set

#
# Multimedia
#
# BR2_PACKAGE_BITSTREAM is not set
# BR2_PACKAGE_LIBASS is not set
# BR2_PACKAGE_LIBBLURAY is not set
# BR2_PACKAGE_LIBDCADEC is not set
# BR2_PACKAGE_LIBDVBCSA is not set
# BR2_PACKAGE_LIBDVBSI is not set
# BR2_PACKAGE_LIBDVDNAV is not set
# BR2_PACKAGE_LIBDVDREAD is not set
# BR2_PACKAGE_LIBEBML is not set

#
# libfslcodec needs an (e)glibc toolchain
#
# BR2_PACKAGE_LIBFSLPARSER is not set
# BR2_PACKAGE_LIBFSLVPUWRAP is not set
# BR2_PACKAGE_LIBMATROSKA is not set
# BR2_PACKAGE_LIBMMS is not set
# BR2_PACKAGE_LIBMPEG2 is not set
# BR2_PACKAGE_LIBOGG is not set
BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBOPENH264 is not set
# BR2_PACKAGE_LIBPLAYER is not set
# BR2_PACKAGE_LIBTHEORA is not set
# BR2_PACKAGE_LIBVPX is not set
# BR2_PACKAGE_LIBYUV is not set
# BR2_PACKAGE_LIVE555 is not set
# BR2_PACKAGE_MEDIASTREAMER is not set
# BR2_PACKAGE_X264 is not set
# BR2_PACKAGE_X265 is not set

#
# Networking
#
# BR2_PACKAGE_AGENTPP is not set
# BR2_PACKAGE_C_ARES is not set
BR2_PACKAGE_CANFESTIVAL_ARCH_SUPPORTS=y
# BR2_PACKAGE_CANFESTIVAL is not set
# BR2_PACKAGE_CGIC is not set
# BR2_PACKAGE_CPPZMQ is not set
# BR2_PACKAGE_CZMQ is not set
# BR2_PACKAGE_FILEMQ is not set
# BR2_PACKAGE_FLICKCURL is not set
# BR2_PACKAGE_FREERADIUS_CLIENT is not set
# BR2_PACKAGE_GEOIP is not set
# BR2_PACKAGE_GLIB_NETWORKING is not set
# BR2_PACKAGE_GSSDP is not set
# BR2_PACKAGE_GUPNP is not set
# BR2_PACKAGE_GUPNP_AV is not set
# BR2_PACKAGE_IBRCOMMON is not set
# BR2_PACKAGE_IBRDTN is not set
# BR2_PACKAGE_LIBCGI is not set
# BR2_PACKAGE_LIBCGICC is not set
# BR2_PACKAGE_LIBCURL is not set
# BR2_PACKAGE_LIBDNET is not set
# BR2_PACKAGE_LIBEXOSIP2 is not set
# BR2_PACKAGE_LIBFCGI is not set
# BR2_PACKAGE_LIBGSASL is not set
# BR2_PACKAGE_LIBHTTPPARSER is not set
# BR2_PACKAGE_LIBIDN is not set
# BR2_PACKAGE_LIBISCSI is not set
# BR2_PACKAGE_LIBLDNS is not set
# BR2_PACKAGE_LIBMBUS is not set
# BR2_PACKAGE_LIBMEMCACHED is not set
# BR2_PACKAGE_LIBMICROHTTPD is not set
# BR2_PACKAGE_LIBMNL is not set
# BR2_PACKAGE_LIBMODBUS is not set
# BR2_PACKAGE_LIBNDP is not set
# BR2_PACKAGE_LIBNETFILTER_ACCT is not set
# BR2_PACKAGE_LIBNETFILTER_CONNTRACK is not set
# BR2_PACKAGE_LIBNETFILTER_CTHELPER is not set
# BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT is not set
# BR2_PACKAGE_LIBNETFILTER_LOG is not set
# BR2_PACKAGE_LIBNETFILTER_QUEUE is not set
# BR2_PACKAGE_LIBNFNETLINK is not set
# BR2_PACKAGE_LIBNFTNL is not set
# BR2_PACKAGE_LIBNICE is not set
# BR2_PACKAGE_LIBNL is not set
# BR2_PACKAGE_LIBOAUTH is not set
# BR2_PACKAGE_LIBOPING is not set
# BR2_PACKAGE_LIBOSIP2 is not set
# BR2_PACKAGE_LIBPCAP is not set
# BR2_PACKAGE_LIBRSYNC is not set
# BR2_PACKAGE_LIBSHAIRPLAY is not set
# BR2_PACKAGE_LIBSHOUT is not set
# BR2_PACKAGE_LIBSOCKETCAN is not set
# BR2_PACKAGE_LIBSOUP is not set
# BR2_PACKAGE_LIBSRTP is not set
# BR2_PACKAGE_LIBSTROPHE is not set
# BR2_PACKAGE_LIBTIRPC is not set
# BR2_PACKAGE_LIBTORRENT is not set
# BR2_PACKAGE_LIBUPNP is not set
# BR2_PACKAGE_LIBUPNPP is not set
# BR2_PACKAGE_LIBURIPARSER is not set
# BR2_PACKAGE_LIBVNCSERVER is not set
# BR2_PACKAGE_LIBWEBSOCK is not set
# BR2_PACKAGE_LIBWEBSOCKETS is not set
# BR2_PACKAGE_NEON is not set
# BR2_PACKAGE_OMNIORB is not set
# BR2_PACKAGE_OPENLDAP is not set
# BR2_PACKAGE_OPENPGM is not set
# BR2_PACKAGE_ORTP is not set
# BR2_PACKAGE_QDECODER is not set
# BR2_PACKAGE_QPID_PROTON is not set
# BR2_PACKAGE_RTMPDUMP is not set
# BR2_PACKAGE_SLIRP is not set
# BR2_PACKAGE_SNMPPP is not set
# BR2_PACKAGE_SOFIA_SIP is not set
# BR2_PACKAGE_THRIFT is not set
# BR2_PACKAGE_USBREDIR is not set
# BR2_PACKAGE_WVSTREAMS is not set
# BR2_PACKAGE_ZEROMQ is not set
# BR2_PACKAGE_ZMQPP is not set
# BR2_PACKAGE_ZYRE is not set

#
# Other
#
# BR2_PACKAGE_APR is not set
# BR2_PACKAGE_APR_UTIL is not set
# BR2_PACKAGE_ARGP_STANDALONE is not set
# BR2_PACKAGE_ARMADILLO is not set
# BR2_PACKAGE_ATF is not set
# BR2_PACKAGE_BDWGC is not set
BR2_PACKAGE_BOOST_ARCH_SUPPORTS=y
# BR2_PACKAGE_BOOST is not set
# BR2_PACKAGE_CLAPACK is not set
# BR2_PACKAGE_CPPCMS is not set
# BR2_PACKAGE_DAWGDIC is not set
# BR2_PACKAGE_DING_LIBS is not set
# BR2_PACKAGE_EIGEN is not set
# BR2_PACKAGE_ELFUTILS is not set
# BR2_PACKAGE_FFTW is not set
# BR2_PACKAGE_FLANN is not set
# BR2_PACKAGE_GFLAGS is not set
# BR2_PACKAGE_GLIBMM is not set
# BR2_PACKAGE_GLM is not set
# BR2_PACKAGE_GMOCK is not set
# BR2_PACKAGE_GMP is not set
# BR2_PACKAGE_GSL is not set
# BR2_PACKAGE_GTEST is not set
# BR2_PACKAGE_LIBARGTABLE2 is not set
BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBATOMIC_OPS is not set
BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS=y

#
# libbsd needs an (e)glibc toolchain w/ threads
#
# BR2_PACKAGE_LIBCAP is not set
# BR2_PACKAGE_LIBCAP_NG is not set

#
# libcgroup needs an (e)glibc toolchain w/ C++
#
# BR2_PACKAGE_LIBCOFI is not set
# BR2_PACKAGE_LIBCROSSGUID is not set
# BR2_PACKAGE_LIBDAEMON is not set
# BR2_PACKAGE_LIBEE is not set
# BR2_PACKAGE_LIBEV is not set
# BR2_PACKAGE_LIBEVDEV is not set
# BR2_PACKAGE_LIBEVENT is not set
BR2_PACKAGE_LIBFFI=y
BR2_PACKAGE_LIBGLIB2=y
# BR2_PACKAGE_LIBICAL is not set
# BR2_PACKAGE_LIBLINEAR is not set
BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT=y
# BR2_PACKAGE_LIBNSPR is not set
# BR2_PACKAGE_LIBPFM4 is not set
# BR2_PACKAGE_LIBPLIST is not set
# BR2_PACKAGE_LIBPTHREAD_STUBS is not set
# BR2_PACKAGE_LIBPTHSEM is not set
# BR2_PACKAGE_LIBSIGC is not set
# BR2_PACKAGE_LIBSIGSEGV is not set
# BR2_PACKAGE_LIBTASN1 is not set
# BR2_PACKAGE_LIBTPL is not set
# BR2_PACKAGE_LIBUBOX is not set
# BR2_PACKAGE_LIBUCI is not set

#
# libunwind needs a uclibc snapshot or (e)glibc toolchain w/ threads
#
# BR2_PACKAGE_LIBURCU is not set
# BR2_PACKAGE_LIBUV is not set
# BR2_PACKAGE_LIGHTNING is not set

#
# linux-pam needs a uClibc or (e)glibc toolchain w/ wchar, locale, dynamic library
#

#
# liquid-dsp requires a (e)glibc/musl toolchain w/ dynamic library
#
# BR2_PACKAGE_LTTNG_LIBUST is not set
# BR2_PACKAGE_MPC is not set
# BR2_PACKAGE_MPDECIMAL is not set
# BR2_PACKAGE_MPFR is not set
# BR2_PACKAGE_MSGPACK is not set
# BR2_PACKAGE_MTDEV2TUIO is not set
# BR2_PACKAGE_ORC is not set
# BR2_PACKAGE_P11_KIT is not set
# BR2_PACKAGE_POCO is not set
# BR2_PACKAGE_PROTOBUF is not set
# BR2_PACKAGE_PROTOBUF_C is not set
# BR2_PACKAGE_QHULL is not set
# BR2_PACKAGE_QLIBC is not set
BR2_PACKAGE_TZ=y

#
# Security
#
# BR2_PACKAGE_LIBSELINUX is not set
# BR2_PACKAGE_LIBSEMANAGE is not set
# BR2_PACKAGE_LIBSEPOL is not set

#
# Text and terminal handling
#
# BR2_PACKAGE_ENCHANT is not set
# BR2_PACKAGE_ICU is not set
# BR2_PACKAGE_LIBCLI is not set
# BR2_PACKAGE_LIBEDIT is not set
# BR2_PACKAGE_LIBENCA is not set
# BR2_PACKAGE_LIBESTR is not set
# BR2_PACKAGE_LIBFRIBIDI is not set
BR2_PACKAGE_LIBICONV=y
# BR2_PACKAGE_LIBUNISTRING is not set
# BR2_PACKAGE_LINENOISE is not set
# BR2_PACKAGE_NCURSES is not set
# BR2_PACKAGE_NEWT is not set
# BR2_PACKAGE_PCRE is not set
# BR2_PACKAGE_POPT is not set
# BR2_PACKAGE_READLINE is not set
# BR2_PACKAGE_SLANG is not set
# BR2_PACKAGE_TCLAP is not set
# BR2_PACKAGE_USTR is not set

#
# Mail
#
# BR2_PACKAGE_DOVECOT is not set
# BR2_PACKAGE_EXIM is not set
# BR2_PACKAGE_FETCHMAIL is not set
# BR2_PACKAGE_HEIRLOOM_MAILX is not set
# BR2_PACKAGE_LIBESMTP is not set
# BR2_PACKAGE_MSMTP is not set
# BR2_PACKAGE_MUTT is not set

#
# Miscellaneous
#
# BR2_PACKAGE_AESPIPE is not set
# BR2_PACKAGE_BC is not set
# BR2_PACKAGE_CLAMAV is not set
# BR2_PACKAGE_COLLECTD is not set
# BR2_PACKAGE_EMPTY is not set
# BR2_PACKAGE_GNURADIO is not set
# BR2_PACKAGE_GOOGLEFONTDIRECTORY is not set
# BR2_PACKAGE_HAVEGED is not set
# BR2_PACKAGE_MCRYPT is not set
# BR2_PACKAGE_MOBILE_BROADBAND_PROVIDER_INFO is not set
# BR2_PACKAGE_QPDF is not set
# BR2_PACKAGE_SHARED_MIME_INFO is not set
# BR2_PACKAGE_SNOWBALL_INIT is not set

#
# Networking applications
#
# BR2_PACKAGE_AICCU is not set
# BR2_PACKAGE_AIRCRACK_NG is not set
# BR2_PACKAGE_APACHE is not set
# BR2_PACKAGE_ARGUS is not set
# BR2_PACKAGE_ARPTABLES is not set
# BR2_PACKAGE_ATFTP is not set
# BR2_PACKAGE_AUTOSSH is not set
# BR2_PACKAGE_AVAHI is not set
# BR2_PACKAGE_AXEL is not set
# BR2_PACKAGE_BANDWIDTHD is not set
# BR2_PACKAGE_BATCTL is not set
# BR2_PACKAGE_BCUSDK is not set
# BR2_PACKAGE_BIND is not set
# BR2_PACKAGE_BLUEZ_UTILS is not set
# BR2_PACKAGE_BLUEZ5_UTILS is not set
# BR2_PACKAGE_BMON is not set
# BR2_PACKAGE_BOA is not set
# BR2_PACKAGE_BRIDGE_UTILS is not set
# BR2_PACKAGE_BWM_NG is not set
# BR2_PACKAGE_C_ICAP is not set
# BR2_PACKAGE_CAN_UTILS is not set
# BR2_PACKAGE_CHRONY is not set
# BR2_PACKAGE_CIVETWEB is not set
# BR2_PACKAGE_CONNMAN is not set
# BR2_PACKAGE_CONNTRACK_TOOLS is not set
# BR2_PACKAGE_CRDA is not set
# BR2_PACKAGE_CTORRENT is not set
# BR2_PACKAGE_DHCPCD is not set
# BR2_PACKAGE_DHCPDUMP is not set
# BR2_PACKAGE_DNSMASQ is not set
# BR2_PACKAGE_DRBD_UTILS is not set
BR2_PACKAGE_DROPBEAR=y
BR2_PACKAGE_DROPBEAR_CLIENT=y
# BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS is not set
BR2_PACKAGE_DROPBEAR_SMALL=y
# BR2_PACKAGE_DROPBEAR_WTMP is not set
# BR2_PACKAGE_DROPBEAR_LASTLOG is not set
# BR2_PACKAGE_EBTABLES is not set

#
# ejabberd needs erlang
#
BR2_PACKAGE_ETHTOOL=y
# BR2_PACKAGE_FAIFA is not set
# BR2_PACKAGE_FASTD is not set
# BR2_PACKAGE_FCGIWRAP is not set
# BR2_PACKAGE_FPING is not set
BR2_PACKAGE_GESFTPSERVER=y
# BR2_PACKAGE_HANS is not set
# BR2_PACKAGE_HIAWATHA is not set
# BR2_PACKAGE_HOSTAPD is not set
# BR2_PACKAGE_HTTPING is not set
# BR2_PACKAGE_IBRDTN_TOOLS is not set
# BR2_PACKAGE_IBRDTND is not set
# BR2_PACKAGE_IFTOP is not set
# BR2_PACKAGE_IGH_ETHERCAT is not set
# BR2_PACKAGE_IGMPPROXY is not set
# BR2_PACKAGE_INADYN is not set
# BR2_PACKAGE_IODINE is not set
# BR2_PACKAGE_IPERF is not set
# BR2_PACKAGE_IPERF3 is not set
# BR2_PACKAGE_IPROUTE2 is not set
# BR2_PACKAGE_IPSEC_TOOLS is not set
# BR2_PACKAGE_IPSET is not set
# BR2_PACKAGE_IPTABLES is not set
# BR2_PACKAGE_IPTRAF_NG is not set
# BR2_PACKAGE_IPUTILS is not set
# BR2_PACKAGE_IRSSI is not set
# BR2_PACKAGE_IW is not set
# BR2_PACKAGE_JANUS_GATEWAY is not set
# BR2_PACKAGE_KISMET is not set
# BR2_PACKAGE_KNOCK is not set
# BR2_PACKAGE_LEAFNODE2 is not set
# BR2_PACKAGE_LFTP is not set
# BR2_PACKAGE_LIGHTTPD is not set
# BR2_PACKAGE_LINKNX is not set
# BR2_PACKAGE_LINKS is not set
# BR2_PACKAGE_LINPHONE is not set
# BR2_PACKAGE_LINUX_ZIGBEE is not set
# BR2_PACKAGE_LRZSZ is not set
# BR2_PACKAGE_MACCHANGER is not set
# BR2_PACKAGE_MEMCACHED is not set
# BR2_PACKAGE_MII_DIAG is not set
# BR2_PACKAGE_MINIDLNA is not set
# BR2_PACKAGE_MJPG_STREAMER is not set

#
# modemmanager needs udev /dev management and a toolchain w/ wchar, threads
#
# BR2_PACKAGE_MONGOOSE is not set
# BR2_PACKAGE_MONGREL2 is not set
# BR2_PACKAGE_MONKEY is not set
# BR2_PACKAGE_MOSH is not set
# BR2_PACKAGE_MOSQUITTO is not set
# BR2_PACKAGE_MROUTED is not set
# BR2_PACKAGE_MTR is not set
# BR2_PACKAGE_NBD is not set
# BR2_PACKAGE_NCFTP is not set
# BR2_PACKAGE_NDISC6 is not set
# BR2_PACKAGE_NETATALK is not set
# BR2_PACKAGE_NETPLUG is not set
# BR2_PACKAGE_NETSNMP is not set
# BR2_PACKAGE_NETSTAT_NAT is not set

#
# NetworkManager needs udev /dev management and a (e)glibc toolchain w/ headers >= 3.7
#
# BR2_PACKAGE_NFACCT is not set
# BR2_PACKAGE_NFTABLES is not set
# BR2_PACKAGE_NGINX is not set
# BR2_PACKAGE_NGIRCD is not set
# BR2_PACKAGE_NGREP is not set
# BR2_PACKAGE_NMAP is not set
# BR2_PACKAGE_NOIP is not set
# BR2_PACKAGE_NTP is not set
# BR2_PACKAGE_NUTTCP is not set
# BR2_PACKAGE_ODHCP6C is not set
# BR2_PACKAGE_ODHCPLOC is not set
# BR2_PACKAGE_OLSR is not set
# BR2_PACKAGE_OPEN_PLC_UTILS is not set
# BR2_PACKAGE_OPENNTPD is not set
# BR2_PACKAGE_OPENOBEX is not set
# BR2_PACKAGE_OPENSSH is not set
# BR2_PACKAGE_OPENSWAN is not set
# BR2_PACKAGE_OPENVPN is not set
# BR2_PACKAGE_P910ND is not set
# BR2_PACKAGE_PHIDGETWEBSERVICE is not set

#
# portmap needs a toolchain w/ RPC
#
# BR2_PACKAGE_PPPD is not set
# BR2_PACKAGE_PPTP_LINUX is not set
# BR2_PACKAGE_PROFTPD is not set
# BR2_PACKAGE_PROXYCHAINS_NG is not set
# BR2_PACKAGE_PTPD is not set
# BR2_PACKAGE_PTPD2 is not set
# BR2_PACKAGE_PURE_FTPD is not set
# BR2_PACKAGE_QUAGGA is not set
# BR2_PACKAGE_RADVD is not set
# BR2_PACKAGE_RPCBIND is not set
# BR2_PACKAGE_RSH_REDONE is not set
# BR2_PACKAGE_RSYNC is not set
# BR2_PACKAGE_RTORRENT is not set
# BR2_PACKAGE_RTPTOOLS is not set

#
# samba4 needs an (e)glibc or uClibc-ng toolchain w/ RPC, wchar, dynamic library, threads
#
# BR2_PACKAGE_SCONESERVER is not set
# BR2_PACKAGE_SER2NET is not set
# BR2_PACKAGE_SHAIRPORT_SYNC is not set
# BR2_PACKAGE_SMCROUTE is not set
# BR2_PACKAGE_SOCAT is not set
# BR2_PACKAGE_SOCKETCAND is not set
# BR2_PACKAGE_SOFTETHER is not set
# BR2_PACKAGE_SPAWN_FCGI is not set
# BR2_PACKAGE_SPICE_PROTOCOL is not set
# BR2_PACKAGE_SQUID is not set
# BR2_PACKAGE_SSHPASS is not set
# BR2_PACKAGE_STRONGSWAN is not set
# BR2_PACKAGE_STUNNEL is not set
# BR2_PACKAGE_TCPDUMP is not set
# BR2_PACKAGE_TCPING is not set
# BR2_PACKAGE_TCPREPLAY is not set
# BR2_PACKAGE_THTTPD is not set
# BR2_PACKAGE_TINC is not set
# BR2_PACKAGE_TINYHTTPD is not set
# BR2_PACKAGE_TN5250 is not set
# BR2_PACKAGE_TOR is not set
# BR2_PACKAGE_TRANSMISSION is not set
# BR2_PACKAGE_TVHEADEND is not set
# BR2_PACKAGE_UDPCAST is not set
# BR2_PACKAGE_ULOGD is not set
# BR2_PACKAGE_USHARE is not set
# BR2_PACKAGE_USSP_PUSH is not set
# BR2_PACKAGE_VDE2 is not set
# BR2_PACKAGE_VNSTAT is not set
# BR2_PACKAGE_VPNC is not set
# BR2_PACKAGE_VSFTPD is not set
# BR2_PACKAGE_VTUN is not set
# BR2_PACKAGE_WIRELESS_REGDB is not set
# BR2_PACKAGE_WIRELESS_TOOLS is not set
# BR2_PACKAGE_WIRESHARK is not set
# BR2_PACKAGE_WPA_SUPPLICANT is not set
# BR2_PACKAGE_WVDIAL is not set
# BR2_PACKAGE_XINETD is not set
# BR2_PACKAGE_XL2TP is not set
# BR2_PACKAGE_XTABLES_ADDONS is not set
# BR2_PACKAGE_ZNC is not set

#
# Package managers
#

#
# -------------------------------------------------------
#

#
# Please note:                                           
#

#
# - Buildroot does *not* generate binary packages,       
#

#
# - Buildroot does *not* install any package database.   
#

#
# *                                                      
#

#
# It is up to you to provide those by yourself if you    
#

#
# want to use any of those package managers.             
#

#
# *                                                      
#

#
# See the manual:                                        
#

#
# http://buildroot.org/manual.html#faq-no-binary-packages
#

#
# -------------------------------------------------------
#
# BR2_PACKAGE_IPKG is not set
# BR2_PACKAGE_OPKG is not set

#
# Real-Time
#
# BR2_PACKAGE_XENOMAI is not set

#
# Security
#
# BR2_PACKAGE_SETOOLS is not set

#
# Shell and utilities
#

#
# Shells
#

#
# Utilities
#
# BR2_PACKAGE_AT is not set
# BR2_PACKAGE_CCRYPT is not set
# BR2_PACKAGE_DIALOG is not set
# BR2_PACKAGE_DTACH is not set
# BR2_PACKAGE_FILE is not set
# BR2_PACKAGE_GNUPG is not set
# BR2_PACKAGE_GNUPG2 is not set
# BR2_PACKAGE_INOTIFY_TOOLS is not set
# BR2_PACKAGE_LOCKFILE_PROGS is not set
# BR2_PACKAGE_LOGROTATE is not set
# BR2_PACKAGE_LOGSURFER is not set
# BR2_PACKAGE_PINENTRY is not set
# BR2_PACKAGE_RANGER is not set
# BR2_PACKAGE_SCREEN is not set
# BR2_PACKAGE_SUDO is not set
# BR2_PACKAGE_TMUX is not set
# BR2_PACKAGE_XMLSTARLET is not set
# BR2_PACKAGE_XXHASH is not set

#
# System tools
#
# BR2_PACKAGE_ACL is not set
# BR2_PACKAGE_ATTR is not set
BR2_PACKAGE_AUDIT_ARCH_SUPPORTS=y
# BR2_PACKAGE_AUDIT is not set
# BR2_PACKAGE_CPULOAD is not set
# BR2_PACKAGE_DSP_TOOLS is not set
# BR2_PACKAGE_FTOP is not set
# BR2_PACKAGE_GETENT is not set
# BR2_PACKAGE_HTOP is not set
BR2_PACKAGE_INITSCRIPTS=y
# BR2_PACKAGE_IOTOP is not set
# BR2_PACKAGE_IPRUTILS is not set
# BR2_PACKAGE_IRQBALANCE is not set
# BR2_PACKAGE_KEYUTILS is not set
# BR2_PACKAGE_KMOD is not set

#
# kvmtool needs a (e)glibc or musl toolchain w/ dynamic library
#
# BR2_PACKAGE_LXC is not set
# BR2_PACKAGE_MONIT is not set
# BR2_PACKAGE_NCDU is not set
# BR2_PACKAGE_NUT is not set
# BR2_PACKAGE_POLKIT is not set
# BR2_PACKAGE_PWGEN is not set
# BR2_PACKAGE_QUOTA is not set
# BR2_PACKAGE_SCRYPT is not set
# BR2_PACKAGE_SMACK is not set

#
# supervisor needs the python interpreter
#
# BR2_PACKAGE_SWUPDATE is not set
BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS=y
# BR2_PACKAGE_UTIL_LINUX is not set

#
# Text editors and viewers
#
# BR2_PACKAGE_ED is not set
# BR2_PACKAGE_JOE is not set
# BR2_PACKAGE_MC is not set
# BR2_PACKAGE_NANO is not set
# BR2_PACKAGE_UEMACS is not set

#
# Filesystem images
#
# BR2_TARGET_ROOTFS_AXFS is not set
# BR2_TARGET_ROOTFS_CLOOP is not set
# BR2_TARGET_ROOTFS_CPIO is not set
# BR2_TARGET_ROOTFS_CRAMFS is not set
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_2=y
BR2_TARGET_ROOTFS_EXT2_2r0=y
# BR2_TARGET_ROOTFS_EXT2_2r1 is not set
# BR2_TARGET_ROOTFS_EXT2_3 is not set
# BR2_TARGET_ROOTFS_EXT2_4 is not set
BR2_TARGET_ROOTFS_EXT2_GEN=2
BR2_TARGET_ROOTFS_EXT2_REV=0
BR2_TARGET_ROOTFS_EXT2_LABEL=""
BR2_TARGET_ROOTFS_EXT2_BLOCKS=0
BR2_TARGET_ROOTFS_EXT2_INODES=0
BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS=0
BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES=0
BR2_TARGET_ROOTFS_EXT2_RESBLKS=0
BR2_TARGET_ROOTFS_EXT2_NONE=y
# BR2_TARGET_ROOTFS_EXT2_GZIP is not set
# BR2_TARGET_ROOTFS_EXT2_BZIP2 is not set
# BR2_TARGET_ROOTFS_EXT2_LZMA is not set
# BR2_TARGET_ROOTFS_EXT2_LZO is not set
# BR2_TARGET_ROOTFS_EXT2_XZ is not set
# BR2_TARGET_ROOTFS_INITRAMFS is not set
# BR2_TARGET_ROOTFS_JFFS2 is not set
# BR2_TARGET_ROOTFS_ROMFS is not set
# BR2_TARGET_ROOTFS_SQUASHFS is not set
# BR2_TARGET_ROOTFS_TAR is not set
# BR2_TARGET_ROOTFS_UBIFS is not set
# BR2_TARGET_ROOTFS_YAFFS2 is not set

#
# Bootloaders
#
# BR2_TARGET_BAREBOX is not set
# BR2_TARGET_MXS_BOOTLETS is not set
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY=y
# BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG is not set
BR2_TARGET_UBOOT_BOARDNAME="am335x_evm"
BR2_TARGET_UBOOT_LATEST_VERSION=y
# BR2_TARGET_UBOOT_CUSTOM_VERSION is not set
# BR2_TARGET_UBOOT_CUSTOM_TARBALL is not set
# BR2_TARGET_UBOOT_CUSTOM_GIT is not set
# BR2_TARGET_UBOOT_CUSTOM_HG is not set
BR2_TARGET_UBOOT_VERSION="2015.10"
BR2_TARGET_UBOOT_PATCH=""
BR2_TARGET_UBOOT_NEEDS_DTC=y
# BR2_TARGET_UBOOT_FORMAT_AIS is not set
# BR2_TARGET_UBOOT_FORMAT_BIN is not set
# BR2_TARGET_UBOOT_FORMAT_DTB_IMG is not set
BR2_TARGET_UBOOT_FORMAT_IMG=y
# BR2_TARGET_UBOOT_FORMAT_IMX is not set
# BR2_TARGET_UBOOT_FORMAT_NAND_BIN is not set
# BR2_TARGET_UBOOT_FORMAT_KWB is not set
# BR2_TARGET_UBOOT_FORMAT_ELF is not set
# BR2_TARGET_UBOOT_FORMAT_SB is not set
# BR2_TARGET_UBOOT_FORMAT_SD is not set
# BR2_TARGET_UBOOT_FORMAT_NAND is not set
# BR2_TARGET_UBOOT_FORMAT_CUSTOM is not set
BR2_TARGET_UBOOT_SPL=y
BR2_TARGET_UBOOT_SPL_NAME="MLO"
# BR2_TARGET_UBOOT_ENVIMAGE is not set
# BR2_TARGET_XLOADER is not set

#
# Host utilities
#
# BR2_PACKAGE_HOST_CHECKPOLICY is not set
# BR2_PACKAGE_HOST_CRAMFS is not set
# BR2_PACKAGE_HOST_DFU_UTIL is not set
# BR2_PACKAGE_HOST_DOS2UNIX is not set
# BR2_PACKAGE_HOST_DOSFSTOOLS is not set
BR2_PACKAGE_HOST_DTC=y
BR2_PACKAGE_HOST_E2FSPROGS=y
# BR2_PACKAGE_HOST_E2TOOLS is not set
# BR2_PACKAGE_HOST_FAKETIME is not set
BR2_PACKAGE_HOST_GENEXT2FS=y
# BR2_PACKAGE_HOST_GENIMAGE is not set
# BR2_PACKAGE_HOST_GENPART is not set
# BR2_PACKAGE_HOST_IMX_USB_LOADER is not set
# BR2_PACKAGE_HOST_JQ is not set
# BR2_PACKAGE_HOST_LPC3250LOADER is not set
BR2_PACKAGE_HOST_MKE2IMG=y
# BR2_PACKAGE_HOST_MTD is not set
# BR2_PACKAGE_HOST_MTOOLS is not set
BR2_PACKAGE_HOST_OMAP_U_BOOT_UTILS=y
# BR2_PACKAGE_HOST_OPENOCD is not set
# BR2_PACKAGE_HOST_PARTED is not set
# BR2_PACKAGE_HOST_PATCHELF is not set
# BR2_PACKAGE_HOST_PWGEN is not set
# BR2_PACKAGE_HOST_QEMU is not set
# BR2_PACKAGE_HOST_SAM_BA is not set
# BR2_PACKAGE_HOST_SQUASHFS is not set
# BR2_PACKAGE_HOST_SUNXI_TOOLS is not set
# BR2_PACKAGE_HOST_UBOOT_TOOLS is not set
# BR2_PACKAGE_HOST_UTIL_LINUX is not set

#
# Legacy config options
#

#
# Legacy options removed in 2015.11
#
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REAL is not set
# BR2_PACKAGE_MEDIA_CTL is not set
# BR2_PACKAGE_SCHIFRA is not set
# BR2_PACKAGE_ZXING is not set
# BR2_PACKAGE_BLACKBOX is not set
# BR2_KERNEL_HEADERS_3_0 is not set
# BR2_KERNEL_HEADERS_3_11 is not set
# BR2_KERNEL_HEADERS_3_13 is not set
# BR2_KERNEL_HEADERS_3_15 is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_BLTLOAD is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_CPULOAD is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_DATABUFFER is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_DIOLOAD is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_DOK is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_DRIVERTEST is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_FIRE is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_FLIP is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_FONTS is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_INPUT is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_JOYSTICK is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_KNUCKLES is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_LAYER is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX_WATER is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_NEO is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_NETLOAD is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_PALETTE is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_PARTICLE is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_PORTER is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_STRESS is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_TEXTURE is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO_PARTICLE is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_WINDOW is not set
# BR2_PACKAGE_KOBS_NG is not set
# BR2_PACKAGE_SAWMAN is not set
# BR2_PACKAGE_DIVINE is not set

#
# Legacy options removed in 2015.08
#
# BR2_PACKAGE_KODI_PVR_ADDONS is not set
# BR2_BINUTILS_VERSION_2_23_2 is not set
# BR2_BINUTILS_VERSION_2_24 is not set
# BR2_BINUTILS_VERSION_2_25 is not set
# BR2_PACKAGE_PERF is not set
# BR2_BINUTILS_VERSION_2_22 is not set
# BR2_PACKAGE_GPU_VIV_BIN_MX6Q is not set
# BR2_TARGET_UBOOT_NETWORK is not set

#
# Legacy options removed in 2015.05
#
# BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_512_16K is not set
# BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K is not set
# BR2_PACKAGE_MONO_20 is not set
# BR2_PACKAGE_MONO_40 is not set
# BR2_PACKAGE_MONO_45 is not set
# BR2_CIVETWEB_WITH_LUA is not set
# BR2_PACKAGE_TIFF_TIFF2PDF is not set
# BR2_PACKAGE_TIFF_TIFFCP is not set
# BR2_LINUX_KERNEL_EXT_RTAI_PATCH is not set
# BR2_TARGET_GENERIC_PASSWD_DES is not set
# BR2_PACKAGE_GTK2_THEME_HICOLOR is not set
# BR2_PACKAGE_VALGRIND_PTRCHECK is not set

#
# Legacy options removed in 2015.02
#
# BR2_PACKAGE_LIBGC is not set
# BR2_PACKAGE_WDCTL is not set
# BR2_PACKAGE_UTIL_LINUX_ARCH is not set
# BR2_PACKAGE_UTIL_LINUX_DDATE is not set
# BR2_PACKAGE_RPM_BZIP2_PAYLOADS is not set
# BR2_PACKAGE_RPM_XZ_PAYLOADS is not set
# BR2_PACKAGE_M4 is not set
# BR2_PACKAGE_FLEX_BINARY is not set
# BR2_PACKAGE_BISON is not set
# BR2_PACKAGE_GOB2 is not set
# BR2_PACKAGE_DISTCC is not set
# BR2_PACKAGE_HASERL_VERSION_0_8_X is not set
# BR2_PACKAGE_STRONGSWAN_TOOLS is not set
# BR2_PACKAGE_XBMC_ADDON_XVDR is not set
# BR2_PACKAGE_XBMC_PVR_ADDONS is not set
# BR2_PACKAGE_XBMC is not set
# BR2_PACKAGE_XBMC_ALSA_LIB is not set
# BR2_PACKAGE_XBMC_AVAHI is not set
# BR2_PACKAGE_XBMC_DBUS is not set
# BR2_PACKAGE_XBMC_LIBBLURAY is not set
# BR2_PACKAGE_XBMC_GOOM is not set
# BR2_PACKAGE_XBMC_RSXS is not set
# BR2_PACKAGE_XBMC_LIBCEC is not set
# BR2_PACKAGE_XBMC_LIBMICROHTTPD is not set
# BR2_PACKAGE_XBMC_LIBNFS is not set
# BR2_PACKAGE_XBMC_RTMPDUMP is not set
# BR2_PACKAGE_XBMC_LIBSHAIRPLAY is not set
# BR2_PACKAGE_XBMC_LIBSMBCLIENT is not set
# BR2_PACKAGE_XBMC_LIBTHEORA is not set
# BR2_PACKAGE_XBMC_LIBUSB is not set
# BR2_PACKAGE_XBMC_LIBVA is not set
# BR2_PACKAGE_XBMC_WAVPACK is not set
# BR2_PREFER_STATIC_LIB is not set

#
# Legacy options removed in 2014.11
#
# BR2_x86_generic is not set
# BR2_GCC_VERSION_4_4_X is not set
# BR2_sparc_sparchfleon is not set
# BR2_sparc_sparchfleonv8 is not set
# BR2_sparc_sparcsfleon is not set
# BR2_sparc_sparcsfleonv8 is not set
# BR2_PACKAGE_LINUX_FIRMWARE_XC5000 is not set
# BR2_PACKAGE_LINUX_FIRMWARE_CXGB4 is not set
# BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160_7260_7 is not set
# BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160_7260_8 is not set

#
# Legacy options removed in 2014.08
#
# BR2_PACKAGE_LIBELF is not set
# BR2_KERNEL_HEADERS_3_8 is not set
# BR2_PACKAGE_GETTEXT_TOOLS is not set
# BR2_PACKAGE_PROCPS is not set
# BR2_BINUTILS_VERSION_2_20_1 is not set
# BR2_BINUTILS_VERSION_2_21 is not set
# BR2_BINUTILS_VERSION_2_23_1 is not set
# BR2_UCLIBC_VERSION_0_9_32 is not set
# BR2_GCC_VERSION_4_3_X is not set
# BR2_GCC_VERSION_4_6_X is not set
# BR2_GDB_VERSION_7_4 is not set
# BR2_GDB_VERSION_7_5 is not set
# BR2_BUSYBOX_VERSION_1_19_X is not set
# BR2_BUSYBOX_VERSION_1_20_X is not set
# BR2_BUSYBOX_VERSION_1_21_X is not set
# BR2_PACKAGE_LIBV4L_DECODE_TM6000 is not set
# BR2_PACKAGE_LIBV4L_IR_KEYTABLE is not set
# BR2_PACKAGE_LIBV4L_V4L2_COMPLIANCE is not set
# BR2_PACKAGE_LIBV4L_V4L2_CTL is not set
# BR2_PACKAGE_LIBV4L_V4L2_DBG is not set

#
# Legacy options removed in 2014.05
#
# BR2_PACKAGE_EVTEST_CAPTURE is not set
# BR2_KERNEL_HEADERS_3_6 is not set
# BR2_KERNEL_HEADERS_3_7 is not set
# BR2_PACKAGE_VALA is not set
BR2_PACKAGE_TZDATA_ZONELIST=""
# BR2_PACKAGE_LUA_INTERPRETER_EDITING_NONE is not set
# BR2_PACKAGE_LUA_INTERPRETER_READLINE is not set
# BR2_PACKAGE_LUA_INTERPRETER_LINENOISE is not set
# BR2_PACKAGE_DVB_APPS_UTILS is not set
# BR2_KERNEL_HEADERS_SNAP is not set
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV is not set
# BR2_PACKAGE_UDEV is not set
# BR2_PACKAGE_UDEV_RULES_GEN is not set
# BR2_PACKAGE_UDEV_ALL_EXTRAS is not set

#
# Legacy options removed in 2014.02
#
# BR2_sh2 is not set
# BR2_sh3 is not set
# BR2_sh3eb is not set
# BR2_KERNEL_HEADERS_3_1 is not set
# BR2_KERNEL_HEADERS_3_3 is not set
# BR2_KERNEL_HEADERS_3_5 is not set
# BR2_GDB_VERSION_7_2 is not set
# BR2_GDB_VERSION_7_3 is not set
# BR2_PACKAGE_CCACHE is not set
# BR2_HAVE_DOCUMENTATION is not set
# BR2_PACKAGE_AUTOMAKE is not set
# BR2_PACKAGE_AUTOCONF is not set
# BR2_PACKAGE_XSTROKE is not set
# BR2_PACKAGE_LZMA is not set
# BR2_PACKAGE_TTCP is not set
# BR2_PACKAGE_LIBNFC_LLCP is not set
# BR2_PACKAGE_MYSQL_CLIENT is not set
# BR2_PACKAGE_SQUASHFS3 is not set
# BR2_TARGET_ROOTFS_SQUASHFS3 is not set
# BR2_PACKAGE_NETKITBASE is not set
# BR2_PACKAGE_NETKITTELNET is not set
# BR2_PACKAGE_LUASQL is not set
# BR2_PACKAGE_LUACJSON is not set

#
# Legacy options removed in 2013.11
#
# BR2_PACKAGE_LVM2_DMSETUP_ONLY is not set
# BR2_PACKAGE_QT_JAVASCRIPTCORE is not set
# BR2_PACKAGE_MODULE_INIT_TOOLS is not set
BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL=""
BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION=""
BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL=""
BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION=""

#
# Legacy options removed in 2013.08
#
# BR2_ARM_OABI is not set
# BR2_PACKAGE_DOSFSTOOLS_DOSFSCK is not set
# BR2_PACKAGE_DOSFSTOOLS_DOSFSLABEL is not set
# BR2_PACKAGE_DOSFSTOOLS_MKDOSFS is not set
# BR2_ELF2FLT is not set
# BR2_VFP_FLOAT is not set
# BR2_PACKAGE_GCC_TARGET is not set
# BR2_HAVE_DEVFILES is not set

#
# Legacy options removed in 2013.05
#
# BR2_PACKAGE_LINUX_FIRMWARE_RTL_8192 is not set
# BR2_PACKAGE_LINUX_FIRMWARE_RTL_8712 is not set

#
# Legacy options removed in 2013.02
#
# BR2_sa110 is not set
# BR2_sa1100 is not set
# BR2_PACKAGE_GDISK is not set
# BR2_PACKAGE_GDISK_GDISK is not set
# BR2_PACKAGE_GDISK_SGDISK is not set
# BR2_PACKAGE_GDB_HOST is not set
# BR2_PACKAGE_DIRECTB_DITHER_RGB16 is not set
# BR2_PACKAGE_DIRECTB_TESTS is not set

#
# Legacy options removed in 2012.11
#
# BR2_PACKAGE_CUSTOMIZE is not set
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set
# BR2_PACKAGE_PTHREAD_STUBS is not set

#
# Legacy options removed in 2012.08
#
# BR2_PACKAGE_GETTEXT_STATIC is not set
# BR2_PACKAGE_LIBINTL is not set
# BR2_PACKAGE_INPUT_TOOLS_EVTEST is not set
# BR2_BFIN_FDPIC is not set
# BR2_BFIN_FLAT is not set

Comments

Craig Swank Dec. 26, 2015, 4:31 p.m. UTC | #1
Thanks again, Chris.  I was sitting here thinking whether or not I
should bug you when you email arrived.

'make linux-menuconfig' fails because:

BR2_LINUX_KERNEL_PATCH="$(TOPDIR)/../beaglebone_buildroot_files/Patch_files/linux-4.1.13-ti-r36"

Is there anything I need to put in that directory?



On Sat, Dec 26, 2015, at 08:00 AM, Chris LaRocque wrote:
> Craig Swank wrote:
> 
> > Here is another thing I've found:
> > 
> > https://github.com/beagleboard/linux/issues/49
> > 
> > In that issue the person had some addresses set incorrectly in uEnv.txt,
> > but mine doesn't have any addresses set:
> > 
> > bootpart=0:1
> > bootdir=
> > uenvcmd=run loadimage;run loadramdisk;run findfdt;run loadfdt;run ram
> > boot
> > 
> > Is there something that needs to be set in uEnv.txt?
> > 
> > 
> > On Wed, Dec 23, 2015, at 02:52 PM, Thomas Petazzoni wrote:
> >> Dear Craig Swank,
> >> 
> >> On Wed, 23 Dec 2015 14:45:36 -0800, Craig Swank wrote:
> >> > Is it strange to you that when I do the build the output/build
> >> > directory has both of these dirs?
> >> > 
> >> > ➜  buildroot git:(master) ✗ ls output/build/linux-*
> >> > output/build/linux-4.1.4-ti-r9
> >> > output/build/linux-headers-3.12.10
> >> 
> >> No, it is perfectly fine. linux-headers is used when building the
> >> toolchain. linux is used to build the kernel itself.
> >> 
> >> Thomas
> >> --
> >> Thomas Petazzoni, CTO, Free Electrons
> >> Embedded Linux, Kernel and Android engineering
> >> http://free-electrons.com
> > 
> > 
> Hello Craig
> 
> Hopefully the attachments will be accepted.
> 
> The kernel defconfig from beagleboard.org:
> 
> 1> doesn't set DEPRECATED_PARAM_STRUCT [=y] in the kernel .config.
> uEnv.txt 
> (uboot) passes in the console config as "console=ttyO0,115200n8"
> 
> 2> doesn't set EXT2_FS [=y] and the default buildroot .config FS image is 
> ext2. at least for the beaglebone black and I'm trying to keep things
> sane.
> 
> You'll want to do a make source and them make linux-menuconfig and change 
> the parameters above.
> 
> I haven't created a patch file because I'm lazy.
> 
> Also attached is my patch (hack) for dtc, derived from Robert Nelsons 
> bb.org-overlays.
> 
> The dtc patch file goes into BR2_GLOBAL_PATCH_DIR , 
> BR2_GLOBAL_PATCH_DIR"/dtc"
> 
> Look in the buildroot .config for how I set BR2_GLOBAL_PATCH_DIR. you'll 
> need to point that to your own global patch directory.
> 
> Regards
> 
> Chris
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
> Email had 2 attachments:
> + host-dtc-1.4.1.patch
>   33k (text/x-patch)
> + cleaned_buildroot_v41_12182015_01.config
>   61k (text/plain)
Craig Swank Dec. 26, 2015, 6:34 p.m. UTC | #2
My build succeeded, but I'm having trouble with booting now.  When I
boot with the uEnv.txt you pasted:

bootfile=zImage
fdtfile=am335x-boneblack.dtb
loadaddr=0x80007fc0
fdtaddr=0x80F80000
loadfdt=fatload mmc 0:1 ${fdtaddr} ${fdtfile}
loaduimage=fatload mmc 0:1 ${loadaddr} ${bootfile}
console=ttyO0,115200n8
mmcroot=/dev/mmcblk0p2
mmcrootfstype=ext2
uenvcmd=mmc rescan; run loaduimage; run loadfdt; run fdtboot
fdtboot=run mmc_args; run mmcargs; bootz ${loadaddr} - ${fdtaddr}
mmc_args=setenv bootargs console=${console} ${optargs} root=${mmcroot}
rw
rootfstype=${mmcrootfstype} root wait

I got an error about mmcargs not being defined.  The fdtboot line has
both "run mmc_args" and "run mmcargs".  I tried removing the 'run
mmcargs' part so now the uEnv.txt looks like:

bootfile=zImage
fdtfile=am335x-boneblack.dtb
loadaddr=0x80007fc0
fdtaddr=0x80F80000
loadfdt=fatload mmc 0:1 ${fdtaddr} ${fdtfile}
loaduimage=fatload mmc 0:1 ${loadaddr} ${bootfile}
console=ttyO0,115200n8
mmcroot=/dev/mmcblk0p2
mmcrootfstype=ext2
uenvcmd=mmc rescan; run loaduimage; run loadfdt; run fdtboot
fdtboot=run mmc_args; bootz ${loadaddr} - ${fdtaddr}
mmc_args=setenv bootargs console=${console} ${optargs} root=${mmcroot}
rw
rootfstype=${mmcrootfstype} root wait


Next, when I boot with the new uEnv.txt file the error I get is:

U-Boot 2015.10 (Dec 26 2015 - 10:23:47 -0700)

       Watchdog enabled
I2C:   ready
DRAM:  512 MiB
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Error - No Valid Environment Area found
*** Warning - bad CRC, using default environment

Net:   <ethaddr> not set. Validating first E-fuse MAC
cpsw, usb_ether
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
reading boot.scr
** Unable to read file boot.scr **
reading uEnv.txt
471 bytes read in 3 ms (153.3 KiB/s)
Loaded environment from uEnv.txt
Importing environment from mmc ...
Running uenvcmd ...
reading zImage
7462256 bytes read in 404 ms (17.6 MiB/s)
reading am335x-boneblack.dtb
59295 bytes read in 10 ms (5.7 MiB/s)
Kernel image @ 0x80007fc0 [ 0x000000 - 0x71dd70 ]
data abort
pc : [<9ff62ef8>]          lr : [<9ff62f55>]
reloc pc : [<80810ef8>]    lr : [<80810f55>]
sp : 9ef31778  ip : 80725d30     fp : 9ef34f74
r10: 00000002  r9 : 9ef31ed8     r8 : 9ffa35ac
r7 : 9ffa35b0  r6 : 00000003     r5 : 9ef34f74  r4 : 9ffa3514
r3 : 00000000  r2 : 9ffa3514     r1 : 9ef34f74  r0 : 00000000
Flags: nZcv  IRQs off  FIQs on  Mode SVC_32
Resetting CPU ...

resetting ...

I really need to learn more about u-boot, but google searches suggest
that it means the loadaddr or fdtaddr is incorrect but I'm unable to
find a solution.  Any suggestions?

I appreciate you working with me, Chris.  I'm obsessed with getting this
to work and I feel I'm getting close.




On Sat, Dec 26, 2015, at 08:00 AM, Chris LaRocque wrote:
> Craig Swank wrote:
> 
> > Here is another thing I've found:
> > 
> > https://github.com/beagleboard/linux/issues/49
> > 
> > In that issue the person had some addresses set incorrectly in uEnv.txt,
> > but mine doesn't have any addresses set:
> > 
> > bootpart=0:1
> > bootdir=
> > uenvcmd=run loadimage;run loadramdisk;run findfdt;run loadfdt;run ram
> > boot
> > 
> > Is there something that needs to be set in uEnv.txt?
> > 
> > 
> > On Wed, Dec 23, 2015, at 02:52 PM, Thomas Petazzoni wrote:
> >> Dear Craig Swank,
> >> 
> >> On Wed, 23 Dec 2015 14:45:36 -0800, Craig Swank wrote:
> >> > Is it strange to you that when I do the build the output/build
> >> > directory has both of these dirs?
> >> > 
> >> > ➜  buildroot git:(master) ✗ ls output/build/linux-*
> >> > output/build/linux-4.1.4-ti-r9
> >> > output/build/linux-headers-3.12.10
> >> 
> >> No, it is perfectly fine. linux-headers is used when building the
> >> toolchain. linux is used to build the kernel itself.
> >> 
> >> Thomas
> >> --
> >> Thomas Petazzoni, CTO, Free Electrons
> >> Embedded Linux, Kernel and Android engineering
> >> http://free-electrons.com
> > 
> > 
> Hello Craig
> 
> Hopefully the attachments will be accepted.
> 
> The kernel defconfig from beagleboard.org:
> 
> 1> doesn't set DEPRECATED_PARAM_STRUCT [=y] in the kernel .config.
> uEnv.txt 
> (uboot) passes in the console config as "console=ttyO0,115200n8"
> 
> 2> doesn't set EXT2_FS [=y] and the default buildroot .config FS image is 
> ext2. at least for the beaglebone black and I'm trying to keep things
> sane.
> 
> You'll want to do a make source and them make linux-menuconfig and change 
> the parameters above.
> 
> I haven't created a patch file because I'm lazy.
> 
> Also attached is my patch (hack) for dtc, derived from Robert Nelsons 
> bb.org-overlays.
> 
> The dtc patch file goes into BR2_GLOBAL_PATCH_DIR , 
> BR2_GLOBAL_PATCH_DIR"/dtc"
> 
> Look in the buildroot .config for how I set BR2_GLOBAL_PATCH_DIR. you'll 
> need to point that to your own global patch directory.
> 
> Regards
> 
> Chris
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
> Email had 2 attachments:
> + host-dtc-1.4.1.patch
>   33k (text/x-patch)
> + cleaned_buildroot_v41_12182015_01.config
>   61k (text/plain)
Frank Hunleth Dec. 26, 2015, 11:02 p.m. UTC | #3
Hi Craig,

On Sat, Dec 26, 2015 at 1:34 PM, Craig Swank <craigswank@fastmail.fm> wrote:
> My build succeeded, but I'm having trouble with booting now.  When I
> boot with the uEnv.txt you pasted:
>
> bootfile=zImage
> fdtfile=am335x-boneblack.dtb
> loadaddr=0x80007fc0
> fdtaddr=0x80F80000
> loadfdt=fatload mmc 0:1 ${fdtaddr} ${fdtfile}
> loaduimage=fatload mmc 0:1 ${loadaddr} ${bootfile}
> console=ttyO0,115200n8
> mmcroot=/dev/mmcblk0p2
> mmcrootfstype=ext2
> uenvcmd=mmc rescan; run loaduimage; run loadfdt; run fdtboot
> fdtboot=run mmc_args; run mmcargs; bootz ${loadaddr} - ${fdtaddr}
> mmc_args=setenv bootargs console=${console} ${optargs} root=${mmcroot}
> rw
> rootfstype=${mmcrootfstype} root wait
>
> I got an error about mmcargs not being defined.  The fdtboot line has
> both "run mmc_args" and "run mmcargs".  I tried removing the 'run
> mmcargs' part so now the uEnv.txt looks like:
>
> bootfile=zImage
> fdtfile=am335x-boneblack.dtb
> loadaddr=0x80007fc0
> fdtaddr=0x80F80000
> loadfdt=fatload mmc 0:1 ${fdtaddr} ${fdtfile}
> loaduimage=fatload mmc 0:1 ${loadaddr} ${bootfile}
> console=ttyO0,115200n8
> mmcroot=/dev/mmcblk0p2
> mmcrootfstype=ext2
> uenvcmd=mmc rescan; run loaduimage; run loadfdt; run fdtboot
> fdtboot=run mmc_args; bootz ${loadaddr} - ${fdtaddr}
> mmc_args=setenv bootargs console=${console} ${optargs} root=${mmcroot}
> rw
> rootfstype=${mmcrootfstype} root wait
>
>
> Next, when I boot with the new uEnv.txt file the error I get is:
>
> U-Boot 2015.10 (Dec 26 2015 - 10:23:47 -0700)
>
>        Watchdog enabled
> I2C:   ready
> DRAM:  512 MiB
> NAND:  0 MiB
> MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
> *** Error - No Valid Environment Area found
> *** Warning - bad CRC, using default environment
>
> Net:   <ethaddr> not set. Validating first E-fuse MAC
> cpsw, usb_ether
> Hit any key to stop autoboot:  0
> switch to partitions #0, OK
> mmc0 is current device
> SD/MMC found on device 0
> reading boot.scr
> ** Unable to read file boot.scr **
> reading uEnv.txt
> 471 bytes read in 3 ms (153.3 KiB/s)
> Loaded environment from uEnv.txt
> Importing environment from mmc ...
> Running uenvcmd ...
> reading zImage
> 7462256 bytes read in 404 ms (17.6 MiB/s)
> reading am335x-boneblack.dtb
> 59295 bytes read in 10 ms (5.7 MiB/s)
> Kernel image @ 0x80007fc0 [ 0x000000 - 0x71dd70 ]
> data abort
> pc : [<9ff62ef8>]          lr : [<9ff62f55>]
> reloc pc : [<80810ef8>]    lr : [<80810f55>]
> sp : 9ef31778  ip : 80725d30     fp : 9ef34f74
> r10: 00000002  r9 : 9ef31ed8     r8 : 9ffa35ac
> r7 : 9ffa35b0  r6 : 00000003     r5 : 9ef34f74  r4 : 9ffa3514
> r3 : 00000000  r2 : 9ffa3514     r1 : 9ef34f74  r0 : 00000000
> Flags: nZcv  IRQs off  FIQs on  Mode SVC_32
> Resetting CPU ...
>
> resetting ...
>
> I really need to learn more about u-boot, but google searches suggest
> that it means the loadaddr or fdtaddr is incorrect but I'm unable to
> find a solution.  Any suggestions?

I ran into this issue too. My workaround was to specify a custom uboot
version and use the 2015.07 version instead. I didn't have time to
debug what had changed, so I'm curious as well what the right solution
is.

Frank

>
> I appreciate you working with me, Chris.  I'm obsessed with getting this
> to work and I feel I'm getting close.
>
>
>
>
> On Sat, Dec 26, 2015, at 08:00 AM, Chris LaRocque wrote:
>> Craig Swank wrote:
>>
>> > Here is another thing I've found:
>> >
>> > https://github.com/beagleboard/linux/issues/49
>> >
>> > In that issue the person had some addresses set incorrectly in uEnv.txt,
>> > but mine doesn't have any addresses set:
>> >
>> > bootpart=0:1
>> > bootdir=
>> > uenvcmd=run loadimage;run loadramdisk;run findfdt;run loadfdt;run ram
>> > boot
>> >
>> > Is there something that needs to be set in uEnv.txt?
>> >
>> >
>> > On Wed, Dec 23, 2015, at 02:52 PM, Thomas Petazzoni wrote:
>> >> Dear Craig Swank,
>> >>
>> >> On Wed, 23 Dec 2015 14:45:36 -0800, Craig Swank wrote:
>> >> > Is it strange to you that when I do the build the output/build
>> >> > directory has both of these dirs?
>> >> >
>> >> > ➜  buildroot git:(master) ✗ ls output/build/linux-*
>> >> > output/build/linux-4.1.4-ti-r9
>> >> > output/build/linux-headers-3.12.10
>> >>
>> >> No, it is perfectly fine. linux-headers is used when building the
>> >> toolchain. linux is used to build the kernel itself.
>> >>
>> >> Thomas
>> >> --
>> >> Thomas Petazzoni, CTO, Free Electrons
>> >> Embedded Linux, Kernel and Android engineering
>> >> http://free-electrons.com
>> >
>> >
>> Hello Craig
>>
>> Hopefully the attachments will be accepted.
>>
>> The kernel defconfig from beagleboard.org:
>>
>> 1> doesn't set DEPRECATED_PARAM_STRUCT [=y] in the kernel .config.
>> uEnv.txt
>> (uboot) passes in the console config as "console=ttyO0,115200n8"
>>
>> 2> doesn't set EXT2_FS [=y] and the default buildroot .config FS image is
>> ext2. at least for the beaglebone black and I'm trying to keep things
>> sane.
>>
>> You'll want to do a make source and them make linux-menuconfig and change
>> the parameters above.
>>
>> I haven't created a patch file because I'm lazy.
>>
>> Also attached is my patch (hack) for dtc, derived from Robert Nelsons
>> bb.org-overlays.
>>
>> The dtc patch file goes into BR2_GLOBAL_PATCH_DIR ,
>> BR2_GLOBAL_PATCH_DIR"/dtc"
>>
>> Look in the buildroot .config for how I set BR2_GLOBAL_PATCH_DIR. you'll
>> need to point that to your own global patch directory.
>>
>> Regards
>>
>> Chris
>> _______________________________________________
>> buildroot mailing list
>> buildroot@busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
>> Email had 2 attachments:
>> + host-dtc-1.4.1.patch
>>   33k (text/x-patch)
>> + cleaned_buildroot_v41_12182015_01.config
>>   61k (text/plain)
>
>
> --
>   Craig Swank
>   craigswank@fastmail.fm
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Craig Swank Dec. 26, 2015, 11:44 p.m. UTC | #4
YES!  Using Chris's uEnv.txt and u-boot 2015.07 instead of 2015.10 it
finally booted up correctly.  Many thanks to Thomas, Chris, and, last
but not least, Frank, who swooped in with the secret sauce at the very
end.

I'm not even close to being able to figure out why the 07 version worked
and 10 did not, but I'm just too happy to care.

Craig


On Sat, Dec 26, 2015, at 03:02 PM, Frank Hunleth wrote:
> Hi Craig,
> 
> On Sat, Dec 26, 2015 at 1:34 PM, Craig Swank <craigswank@fastmail.fm>
> wrote:
> > My build succeeded, but I'm having trouble with booting now.  When I
> > boot with the uEnv.txt you pasted:
> >
> > bootfile=zImage
> > fdtfile=am335x-boneblack.dtb
> > loadaddr=0x80007fc0
> > fdtaddr=0x80F80000
> > loadfdt=fatload mmc 0:1 ${fdtaddr} ${fdtfile}
> > loaduimage=fatload mmc 0:1 ${loadaddr} ${bootfile}
> > console=ttyO0,115200n8
> > mmcroot=/dev/mmcblk0p2
> > mmcrootfstype=ext2
> > uenvcmd=mmc rescan; run loaduimage; run loadfdt; run fdtboot
> > fdtboot=run mmc_args; run mmcargs; bootz ${loadaddr} - ${fdtaddr}
> > mmc_args=setenv bootargs console=${console} ${optargs} root=${mmcroot}
> > rw
> > rootfstype=${mmcrootfstype} root wait
> >
> > I got an error about mmcargs not being defined.  The fdtboot line has
> > both "run mmc_args" and "run mmcargs".  I tried removing the 'run
> > mmcargs' part so now the uEnv.txt looks like:
> >
> > bootfile=zImage
> > fdtfile=am335x-boneblack.dtb
> > loadaddr=0x80007fc0
> > fdtaddr=0x80F80000
> > loadfdt=fatload mmc 0:1 ${fdtaddr} ${fdtfile}
> > loaduimage=fatload mmc 0:1 ${loadaddr} ${bootfile}
> > console=ttyO0,115200n8
> > mmcroot=/dev/mmcblk0p2
> > mmcrootfstype=ext2
> > uenvcmd=mmc rescan; run loaduimage; run loadfdt; run fdtboot
> > fdtboot=run mmc_args; bootz ${loadaddr} - ${fdtaddr}
> > mmc_args=setenv bootargs console=${console} ${optargs} root=${mmcroot}
> > rw
> > rootfstype=${mmcrootfstype} root wait
> >
> >
> > Next, when I boot with the new uEnv.txt file the error I get is:
> >
> > U-Boot 2015.10 (Dec 26 2015 - 10:23:47 -0700)
> >
> >        Watchdog enabled
> > I2C:   ready
> > DRAM:  512 MiB
> > NAND:  0 MiB
> > MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
> > *** Error - No Valid Environment Area found
> > *** Warning - bad CRC, using default environment
> >
> > Net:   <ethaddr> not set. Validating first E-fuse MAC
> > cpsw, usb_ether
> > Hit any key to stop autoboot:  0
> > switch to partitions #0, OK
> > mmc0 is current device
> > SD/MMC found on device 0
> > reading boot.scr
> > ** Unable to read file boot.scr **
> > reading uEnv.txt
> > 471 bytes read in 3 ms (153.3 KiB/s)
> > Loaded environment from uEnv.txt
> > Importing environment from mmc ...
> > Running uenvcmd ...
> > reading zImage
> > 7462256 bytes read in 404 ms (17.6 MiB/s)
> > reading am335x-boneblack.dtb
> > 59295 bytes read in 10 ms (5.7 MiB/s)
> > Kernel image @ 0x80007fc0 [ 0x000000 - 0x71dd70 ]
> > data abort
> > pc : [<9ff62ef8>]          lr : [<9ff62f55>]
> > reloc pc : [<80810ef8>]    lr : [<80810f55>]
> > sp : 9ef31778  ip : 80725d30     fp : 9ef34f74
> > r10: 00000002  r9 : 9ef31ed8     r8 : 9ffa35ac
> > r7 : 9ffa35b0  r6 : 00000003     r5 : 9ef34f74  r4 : 9ffa3514
> > r3 : 00000000  r2 : 9ffa3514     r1 : 9ef34f74  r0 : 00000000
> > Flags: nZcv  IRQs off  FIQs on  Mode SVC_32
> > Resetting CPU ...
> >
> > resetting ...
> >
> > I really need to learn more about u-boot, but google searches suggest
> > that it means the loadaddr or fdtaddr is incorrect but I'm unable to
> > find a solution.  Any suggestions?
> 
> I ran into this issue too. My workaround was to specify a custom uboot
> version and use the 2015.07 version instead. I didn't have time to
> debug what had changed, so I'm curious as well what the right solution
> is.
> 
> Frank
> 
> >
> > I appreciate you working with me, Chris.  I'm obsessed with getting this
> > to work and I feel I'm getting close.
> >
> >
> >
> >
> > On Sat, Dec 26, 2015, at 08:00 AM, Chris LaRocque wrote:
> >> Craig Swank wrote:
> >>
> >> > Here is another thing I've found:
> >> >
> >> > https://github.com/beagleboard/linux/issues/49
> >> >
> >> > In that issue the person had some addresses set incorrectly in uEnv.txt,
> >> > but mine doesn't have any addresses set:
> >> >
> >> > bootpart=0:1
> >> > bootdir=
> >> > uenvcmd=run loadimage;run loadramdisk;run findfdt;run loadfdt;run ram
> >> > boot
> >> >
> >> > Is there something that needs to be set in uEnv.txt?
> >> >
> >> >
> >> > On Wed, Dec 23, 2015, at 02:52 PM, Thomas Petazzoni wrote:
> >> >> Dear Craig Swank,
> >> >>
> >> >> On Wed, 23 Dec 2015 14:45:36 -0800, Craig Swank wrote:
> >> >> > Is it strange to you that when I do the build the output/build
> >> >> > directory has both of these dirs?
> >> >> >
> >> >> > ➜  buildroot git:(master) ✗ ls output/build/linux-*
> >> >> > output/build/linux-4.1.4-ti-r9
> >> >> > output/build/linux-headers-3.12.10
> >> >>
> >> >> No, it is perfectly fine. linux-headers is used when building the
> >> >> toolchain. linux is used to build the kernel itself.
> >> >>
> >> >> Thomas
> >> >> --
> >> >> Thomas Petazzoni, CTO, Free Electrons
> >> >> Embedded Linux, Kernel and Android engineering
> >> >> http://free-electrons.com
> >> >
> >> >
> >> Hello Craig
> >>
> >> Hopefully the attachments will be accepted.
> >>
> >> The kernel defconfig from beagleboard.org:
> >>
> >> 1> doesn't set DEPRECATED_PARAM_STRUCT [=y] in the kernel .config.
> >> uEnv.txt
> >> (uboot) passes in the console config as "console=ttyO0,115200n8"
> >>
> >> 2> doesn't set EXT2_FS [=y] and the default buildroot .config FS image is
> >> ext2. at least for the beaglebone black and I'm trying to keep things
> >> sane.
> >>
> >> You'll want to do a make source and them make linux-menuconfig and change
> >> the parameters above.
> >>
> >> I haven't created a patch file because I'm lazy.
> >>
> >> Also attached is my patch (hack) for dtc, derived from Robert Nelsons
> >> bb.org-overlays.
> >>
> >> The dtc patch file goes into BR2_GLOBAL_PATCH_DIR ,
> >> BR2_GLOBAL_PATCH_DIR"/dtc"
> >>
> >> Look in the buildroot .config for how I set BR2_GLOBAL_PATCH_DIR. you'll
> >> need to point that to your own global patch directory.
> >>
> >> Regards
> >>
> >> Chris
> >> _______________________________________________
> >> buildroot mailing list
> >> buildroot@busybox.net
> >> http://lists.busybox.net/mailman/listinfo/buildroot
> >> Email had 2 attachments:
> >> + host-dtc-1.4.1.patch
> >>   33k (text/x-patch)
> >> + cleaned_buildroot_v41_12182015_01.config
> >>   61k (text/plain)
> >
> >
> > --
> >   Craig Swank
> >   craigswank@fastmail.fm
> > _______________________________________________
> > buildroot mailing list
> > buildroot@busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot
Chris LaRocque Dec. 27, 2015, 12:09 a.m. UTC | #5
Glad that you're up and running Craig.

I use the August 2015 uboot and the only change I make is to disable mmc 0
'cause I want to use the pins for something else.

Have fun.

Pushing back the boundaries of ignorance.
On Dec 26, 2015 18:44, "Craig Swank" <craigswank@fastmail.fm> wrote:

> YES!  Using Chris's uEnv.txt and u-boot 2015.07 instead of 2015.10 it
> finally booted up correctly.  Many thanks to Thomas, Chris, and, last
> but not least, Frank, who swooped in with the secret sauce at the very
> end.
>
> I'm not even close to being able to figure out why the 07 version worked
> and 10 did not, but I'm just too happy to care.
>
> Craig
>
>
> On Sat, Dec 26, 2015, at 03:02 PM, Frank Hunleth wrote:
> > Hi Craig,
> >
> > On Sat, Dec 26, 2015 at 1:34 PM, Craig Swank <craigswank@fastmail.fm>
> > wrote:
> > > My build succeeded, but I'm having trouble with booting now.  When I
> > > boot with the uEnv.txt you pasted:
> > >
> > > bootfile=zImage
> > > fdtfile=am335x-boneblack.dtb
> > > loadaddr=0x80007fc0
> > > fdtaddr=0x80F80000
> > > loadfdt=fatload mmc 0:1 ${fdtaddr} ${fdtfile}
> > > loaduimage=fatload mmc 0:1 ${loadaddr} ${bootfile}
> > > console=ttyO0,115200n8
> > > mmcroot=/dev/mmcblk0p2
> > > mmcrootfstype=ext2
> > > uenvcmd=mmc rescan; run loaduimage; run loadfdt; run fdtboot
> > > fdtboot=run mmc_args; run mmcargs; bootz ${loadaddr} - ${fdtaddr}
> > > mmc_args=setenv bootargs console=${console} ${optargs} root=${mmcroot}
> > > rw
> > > rootfstype=${mmcrootfstype} root wait
> > >
> > > I got an error about mmcargs not being defined.  The fdtboot line has
> > > both "run mmc_args" and "run mmcargs".  I tried removing the 'run
> > > mmcargs' part so now the uEnv.txt looks like:
> > >
> > > bootfile=zImage
> > > fdtfile=am335x-boneblack.dtb
> > > loadaddr=0x80007fc0
> > > fdtaddr=0x80F80000
> > > loadfdt=fatload mmc 0:1 ${fdtaddr} ${fdtfile}
> > > loaduimage=fatload mmc 0:1 ${loadaddr} ${bootfile}
> > > console=ttyO0,115200n8
> > > mmcroot=/dev/mmcblk0p2
> > > mmcrootfstype=ext2
> > > uenvcmd=mmc rescan; run loaduimage; run loadfdt; run fdtboot
> > > fdtboot=run mmc_args; bootz ${loadaddr} - ${fdtaddr}
> > > mmc_args=setenv bootargs console=${console} ${optargs} root=${mmcroot}
> > > rw
> > > rootfstype=${mmcrootfstype} root wait
> > >
> > >
> > > Next, when I boot with the new uEnv.txt file the error I get is:
> > >
> > > U-Boot 2015.10 (Dec 26 2015 - 10:23:47 -0700)
> > >
> > >        Watchdog enabled
> > > I2C:   ready
> > > DRAM:  512 MiB
> > > NAND:  0 MiB
> > > MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
> > > *** Error - No Valid Environment Area found
> > > *** Warning - bad CRC, using default environment
> > >
> > > Net:   <ethaddr> not set. Validating first E-fuse MAC
> > > cpsw, usb_ether
> > > Hit any key to stop autoboot:  0
> > > switch to partitions #0, OK
> > > mmc0 is current device
> > > SD/MMC found on device 0
> > > reading boot.scr
> > > ** Unable to read file boot.scr **
> > > reading uEnv.txt
> > > 471 bytes read in 3 ms (153.3 KiB/s)
> > > Loaded environment from uEnv.txt
> > > Importing environment from mmc ...
> > > Running uenvcmd ...
> > > reading zImage
> > > 7462256 bytes read in 404 ms (17.6 MiB/s)
> > > reading am335x-boneblack.dtb
> > > 59295 bytes read in 10 ms (5.7 MiB/s)
> > > Kernel image @ 0x80007fc0 [ 0x000000 - 0x71dd70 ]
> > > data abort
> > > pc : [<9ff62ef8>]          lr : [<9ff62f55>]
> > > reloc pc : [<80810ef8>]    lr : [<80810f55>]
> > > sp : 9ef31778  ip : 80725d30     fp : 9ef34f74
> > > r10: 00000002  r9 : 9ef31ed8     r8 : 9ffa35ac
> > > r7 : 9ffa35b0  r6 : 00000003     r5 : 9ef34f74  r4 : 9ffa3514
> > > r3 : 00000000  r2 : 9ffa3514     r1 : 9ef34f74  r0 : 00000000
> > > Flags: nZcv  IRQs off  FIQs on  Mode SVC_32
> > > Resetting CPU ...
> > >
> > > resetting ...
> > >
> > > I really need to learn more about u-boot, but google searches suggest
> > > that it means the loadaddr or fdtaddr is incorrect but I'm unable to
> > > find a solution.  Any suggestions?
> >
> > I ran into this issue too. My workaround was to specify a custom uboot
> > version and use the 2015.07 version instead. I didn't have time to
> > debug what had changed, so I'm curious as well what the right solution
> > is.
> >
> > Frank
> >
> > >
> > > I appreciate you working with me, Chris.  I'm obsessed with getting
> this
> > > to work and I feel I'm getting close.
> > >
> > >
> > >
> > >
> > > On Sat, Dec 26, 2015, at 08:00 AM, Chris LaRocque wrote:
> > >> Craig Swank wrote:
> > >>
> > >> > Here is another thing I've found:
> > >> >
> > >> > https://github.com/beagleboard/linux/issues/49
> > >> >
> > >> > In that issue the person had some addresses set incorrectly in
> uEnv.txt,
> > >> > but mine doesn't have any addresses set:
> > >> >
> > >> > bootpart=0:1
> > >> > bootdir=
> > >> > uenvcmd=run loadimage;run loadramdisk;run findfdt;run loadfdt;run
> ram
> > >> > boot
> > >> >
> > >> > Is there something that needs to be set in uEnv.txt?
> > >> >
> > >> >
> > >> > On Wed, Dec 23, 2015, at 02:52 PM, Thomas Petazzoni wrote:
> > >> >> Dear Craig Swank,
> > >> >>
> > >> >> On Wed, 23 Dec 2015 14:45:36 -0800, Craig Swank wrote:
> > >> >> > Is it strange to you that when I do the build the output/build
> > >> >> > directory has both of these dirs?
> > >> >> >
> > >> >> > ➜  buildroot git:(master) ✗ ls output/build/linux-*
> > >> >> > output/build/linux-4.1.4-ti-r9
> > >> >> > output/build/linux-headers-3.12.10
> > >> >>
> > >> >> No, it is perfectly fine. linux-headers is used when building the
> > >> >> toolchain. linux is used to build the kernel itself.
> > >> >>
> > >> >> Thomas
> > >> >> --
> > >> >> Thomas Petazzoni, CTO, Free Electrons
> > >> >> Embedded Linux, Kernel and Android engineering
> > >> >> http://free-electrons.com
> > >> >
> > >> >
> > >> Hello Craig
> > >>
> > >> Hopefully the attachments will be accepted.
> > >>
> > >> The kernel defconfig from beagleboard.org:
> > >>
> > >> 1> doesn't set DEPRECATED_PARAM_STRUCT [=y] in the kernel .config.
> > >> uEnv.txt
> > >> (uboot) passes in the console config as "console=ttyO0,115200n8"
> > >>
> > >> 2> doesn't set EXT2_FS [=y] and the default buildroot .config FS
> image is
> > >> ext2. at least for the beaglebone black and I'm trying to keep things
> > >> sane.
> > >>
> > >> You'll want to do a make source and them make linux-menuconfig and
> change
> > >> the parameters above.
> > >>
> > >> I haven't created a patch file because I'm lazy.
> > >>
> > >> Also attached is my patch (hack) for dtc, derived from Robert Nelsons
> > >> bb.org-overlays.
> > >>
> > >> The dtc patch file goes into BR2_GLOBAL_PATCH_DIR ,
> > >> BR2_GLOBAL_PATCH_DIR"/dtc"
> > >>
> > >> Look in the buildroot .config for how I set BR2_GLOBAL_PATCH_DIR.
> you'll
> > >> need to point that to your own global patch directory.
> > >>
> > >> Regards
> > >>
> > >> Chris
> > >> _______________________________________________
> > >> buildroot mailing list
> > >> buildroot@busybox.net
> > >> http://lists.busybox.net/mailman/listinfo/buildroot
> > >> Email had 2 attachments:
> > >> + host-dtc-1.4.1.patch
> > >>   33k (text/x-patch)
> > >> + cleaned_buildroot_v41_12182015_01.config
> > >>   61k (text/plain)
> > >
> > >
> > > --
> > >   Craig Swank
> > >   craigswank@fastmail.fm
> > > _______________________________________________
> > > buildroot mailing list
> > > buildroot@busybox.net
> > > http://lists.busybox.net/mailman/listinfo/buildroot
>
>
> --
>   Craig Swank
>   craigswank@fastmail.fm
>
Thomas Petazzoni Dec. 27, 2015, 10:08 a.m. UTC | #6
Hello all,

On Sat, 26 Dec 2015 15:44:48 -0800, Craig Swank wrote:

> YES!  Using Chris's uEnv.txt and u-boot 2015.07 instead of 2015.10 it
> finally booted up correctly.  Many thanks to Thomas, Chris, and, last
> but not least, Frank, who swooped in with the secret sauce at the very
> end.
> 
> I'm not even close to being able to figure out why the 07 version worked
> and 10 did not, but I'm just too happy to care.

Glad to hear that you solved the different problems.

Our beaglebone_defconfig is utterly old, and it would be really great
to update it to use newer kernel and u-boot versions.

Thanks!

Thomas
Craig Swank Dec. 27, 2015, 1:34 p.m. UTC | #7
I'd like to help out, but it might take a bit of hand holding for me
since I'm pretty new to buildroot and submitting patches.  I suppose the
things that would need to be changed would be

1. configs/beaglbone_defconfig
2. the uEnv.txt file needs to be different in output/images
3. Chris attached a patch for the host dtc 
4. Two configs for the kernel build need to change

I have a diff for configs/beaglebone_defconfig but everything else I'm
not sure where to start.

If someone has time to coach me through this I'm happy to learn, but if
it is easier for someone else to do this I could learn from that too.  



On Sun, Dec 27, 2015, at 02:08 AM, Thomas Petazzoni wrote:
> Hello all,
> 
> On Sat, 26 Dec 2015 15:44:48 -0800, Craig Swank wrote:
> 
> > YES!  Using Chris's uEnv.txt and u-boot 2015.07 instead of 2015.10 it
> > finally booted up correctly.  Many thanks to Thomas, Chris, and, last
> > but not least, Frank, who swooped in with the secret sauce at the very
> > end.
> > 
> > I'm not even close to being able to figure out why the 07 version worked
> > and 10 did not, but I'm just too happy to care.
> 
> Glad to hear that you solved the different problems.
> 
> Our beaglebone_defconfig is utterly old, and it would be really great
> to update it to use newer kernel and u-boot versions.
> 
> Thanks!
> 
> Thomas
> -- 
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
Craig Swank Dec. 27, 2015, 1:35 p.m. UTC | #8
Oh yeah, and u-boot needs to be version 2015.07

On Sun, Dec 27, 2015, at 05:34 AM, Craig Swank wrote:
> I'd like to help out, but it might take a bit of hand holding for me
> since I'm pretty new to buildroot and submitting patches.  I suppose the
> things that would need to be changed would be
> 
> 1. configs/beaglbone_defconfig
> 2. the uEnv.txt file needs to be different in output/images
> 3. Chris attached a patch for the host dtc 
> 4. Two configs for the kernel build need to change
> 
> I have a diff for configs/beaglebone_defconfig but everything else I'm
> not sure where to start.
> 
> If someone has time to coach me through this I'm happy to learn, but if
> it is easier for someone else to do this I could learn from that too.  
> 
> 
> 
> On Sun, Dec 27, 2015, at 02:08 AM, Thomas Petazzoni wrote:
> > Hello all,
> > 
> > On Sat, 26 Dec 2015 15:44:48 -0800, Craig Swank wrote:
> > 
> > > YES!  Using Chris's uEnv.txt and u-boot 2015.07 instead of 2015.10 it
> > > finally booted up correctly.  Many thanks to Thomas, Chris, and, last
> > > but not least, Frank, who swooped in with the secret sauce at the very
> > > end.
> > > 
> > > I'm not even close to being able to figure out why the 07 version worked
> > > and 10 did not, but I'm just too happy to care.
> > 
> > Glad to hear that you solved the different problems.
> > 
> > Our beaglebone_defconfig is utterly old, and it would be really great
> > to update it to use newer kernel and u-boot versions.
> > 
> > Thanks!
> > 
> > Thomas
> > -- 
> > Thomas Petazzoni, CTO, Free Electrons
> > Embedded Linux, Kernel and Android engineering
> > http://free-electrons.com
> 
> 
> -- 
>   Craig Swank
>   craigswank@fastmail.fm
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Chris LaRocque Dec. 27, 2015, 4:28 p.m. UTC | #9
Hello

I'm running a new beaglebone_defconfig as we speak and may be able to post
a patch this afternoon.

The DTC patch will take me a couple of days to test. What I posted earlier
was a hack that accomplished my needs but it needs to be a little more
refined. I'll review the debian install script at
github.com/beagleboard/bb.org-overlays to see how to best incorporate both
the DTC patch and the device tree overlays. Can I put the DTC patch into
the /board/beaglebone directory and have it specified for application in
the board defconfig? Suggestions on this aspect would be much appreciated.

Regards

C


Pushing back the boundaries of ignorance.
I'd like to help out, but it might take a bit of hand holding for me
since I'm pretty new to buildroot and submitting patches.  I suppose the
things that would need to be changed would be

1. configs/beaglbone_defconfig
2. the uEnv.txt file needs to be different in output/images
3. Chris attached a patch for the host dtc
4. Two configs for the kernel build need to change

I have a diff for configs/beaglebone_defconfig but everything else I'm
not sure where to start.

If someone has time to coach me through this I'm happy to learn, but if
it is easier for someone else to do this I could learn from that too.



On Sun, Dec 27, 2015, at 02:08 AM, Thomas Petazzoni wrote:
> Hello all,
>
> On Sat, 26 Dec 2015 15:44:48 -0800, Craig Swank wrote:
>
> > YES!  Using Chris's uEnv.txt and u-boot 2015.07 instead of 2015.10 it
> > finally booted up correctly.  Many thanks to Thomas, Chris, and, last
> > but not least, Frank, who swooped in with the secret sauce at the very
> > end.
> >
> > I'm not even close to being able to figure out why the 07 version worked
> > and 10 did not, but I'm just too happy to care.
>
> Glad to hear that you solved the different problems.
>
> Our beaglebone_defconfig is utterly old, and it would be really great
> to update it to use newer kernel and u-boot versions.
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com


--
  Craig Swank
  craigswank@fastmail.fm
Chris LaRocque Dec. 27, 2015, 6:36 p.m. UTC | #10
Yes, I'll test the DTC. I've already created some overlays but there is a
difference between the version 3.X and 4.X capemanager. You need to look at
the structure of the new device trees and patch the old cape overlays to
make them work. I'm struggling with that as well.

You might want to verify that the modules are built.

C

Pushing back the boundaries of ignorance.
On Dec 27, 2015 12:01, "Craig Swank" <craigswank@fastmail.fm> wrote:

> I'll be interested in how your tests for the DTC patch go.  I'm not having
> luck with the bone_capemgr at the moment and am considering filing a bug at
> beagleboard/linux.
>
> Will your tests involve compiling a .dtbo file and doing an echo command
> to /sys/devices/platform/bone_capemgr/slots?  When I try to load my dtbo
> file (for dallas one wire temperature sensor), the expected kernel modules
> don't get loaded even though no errors show up in dmesg.
>
>
>
>
> On Sun, Dec 27, 2015, at 08:28 AM, Chris LaRocque wrote:
>
>
> Hello
>
> I'm running a new beaglebone_defconfig as we speak and may be able to post
> a patch this afternoon.
>
> The DTC patch will take me a couple of days to test. What I posted earlier
> was a hack that accomplished my needs but it needs to be a little more
> refined. I'll review the debian install script at
> github.com/beagleboard/bb.org-overlays to see how to best incorporate
> both the DTC patch and the device tree overlays. Can I put the DTC patch
> into the /board/beaglebone directory and have it specified for application
> in the board defconfig? Suggestions on this aspect would be much
> appreciated.
>
> Regards
>
> C
>
>
> Pushing back the boundaries of ignorance.
> I'd like to help out, but it might take a bit of hand holding for me
> since I'm pretty new to buildroot and submitting patches.  I suppose the
> things that would need to be changed would be
>
> 1. configs/beaglbone_defconfig
> 2. the uEnv.txt file needs to be different in output/images
> 3. Chris attached a patch for the host dtc
> 4. Two configs for the kernel build need to change
>
> I have a diff for configs/beaglebone_defconfig but everything else I'm
> not sure where to start.
>
> If someone has time to coach me through this I'm happy to learn, but if
> it is easier for someone else to do this I could learn from that too.
>
>
>
> On Sun, Dec 27, 2015, at 02:08 AM, Thomas Petazzoni wrote:
> > Hello all,
> >
> > On Sat, 26 Dec 2015 15:44:48 -0800, Craig Swank wrote:
> >
> > > YES!  Using Chris's uEnv.txt and u-boot 2015.07 instead of 2015.10 it
> > > finally booted up correctly.  Many thanks to Thomas, Chris, and, last
> > > but not least, Frank, who swooped in with the secret sauce at the very
> > > end.
> > >
> > > I'm not even close to being able to figure out why the 07 version
> worked
> > > and 10 did not, but I'm just too happy to care.
> >
> > Glad to hear that you solved the different problems.
> >
> > Our beaglebone_defconfig is utterly old, and it would be really great
> > to update it to use newer kernel and u-boot versions.
> >
> > Thanks!
> >
> > Thomas
> > --
> > Thomas Petazzoni, CTO, Free Electrons
> > Embedded Linux, Kernel and Android engineering
> > http://free-electrons.com
>
>
> --
>   Craig Swank
> craigswank@fastmail.fm
>
>
> --
>   Craig Swank
>   craigswank@fastmail.fm
>
>
>
Craig Swank Dec. 27, 2015, 6:48 p.m. UTC | #11
The modules are there.  I'm able to modprobe them from the command line.

As far as the difference between the device tree structures, I'm just
trying to learn about this.  For instance, my overlay looks like:

/dts-v1/; /plugin/; / {        compatible = "ti,beaglebone", "ti,beaglebone-
black";        part-number = "BB-W1";        version = "00A0";

exclusive-use = "P8.11";

fragment@0 {                target = <&am33xx_pinmux>;
__overlay__ {                        bb_w1_pins: pinmux_bb_w1_pins {
pinctrl-single,pins =  <0x34 0x37 /* gpmc_ad13.gpio1_13,
OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE7 - w1-gpio */ >;
};                };        };

fragment@1 {                target = <&ocp>;                __overlay__
{                        onewire@0 {
status          = "okay";                                compatible
= "w1-gpio";                                pinctrl-names   =
"default";                                pinctrl-0       =
<&bb_w1_pins>;                                gpios           = <&gpio2
13 0>;                        };                };        }; };

I see am33xx_pinmux in am335x-boneblack.dts, but I don't see 'ocp'.  Is
this what you mean by looking at the structure of the new device tree?
Since I don't see 'ocp' then does that mean that target (target =
<&ocp>;) could be my problem?


On Sun, Dec 27, 2015, at 10:36 AM, Chris LaRocque wrote:
> Yes, I'll test the DTC. I've already created some overlays but there
> is a difference between the version 3.X and 4.X capemanager. You need
> to look at the structure of the new device trees and patch the old
> cape overlays to make them work. I'm struggling with that as well.


> You might want to verify that the modules are built.


> C


> Pushing back the boundaries of ignorance.


> On Dec 27, 2015 12:01, "Craig Swank" <craigswank@fastmail.fm> wrote:
>> __
>> I'll be interested in how your tests for the DTC patch go.  I'm not
>> having luck with the bone_capemgr at the moment and am considering
>> filing a bug at beagleboard/linux.
>>
>> Will your tests involve compiling a .dtbo file and doing an echo
>> command to /sys/devices/platform/bone_capemgr/slots?  When I try to
>> load my dtbo file (for dallas one wire temperature sensor), the
>> expected kernel modules don't get loaded even though no errors show
>> up in dmesg.
>>
>>
>>
>>
>> On Sun, Dec 27, 2015, at 08:28 AM, Chris LaRocque wrote:
>>>


>>>
>>> Hello
>>>


>>> I'm running a new beaglebone_defconfig as we speak and may be able
>>> to post a patch this afternoon.


>>> The DTC patch will take me a couple of days to test. What I posted
>>> earlier was a hack that accomplished my needs but it needs to be a
>>> little more refined. I'll review the debian install script at github.com/beagleboard/bb.org-
>>> overlays to see how to best incorporate both the DTC patch and the
>>> device tree overlays. Can I put the DTC patch into the
>>> /board/beaglebone directory and have it specified for application in
>>> the board defconfig? Suggestions on this aspect would be much
>>> appreciated.


>>> Regards


>>> C


>>>


>>> Pushing back the boundaries of ignorance.


>>> I'd like to help out, but it might take a bit of hand holding for me
>>> since I'm pretty new to buildroot and submitting patches.  I suppose
>>> the things that would need to be changed would be
>>>
>>> 1. configs/beaglbone_defconfig
>>> 2. the uEnv.txt file needs to be different in output/images
>>> 3. Chris attached a patch for the host dtc
>>> 4. Two configs for the kernel build need to change
>>>
>>> I have a diff for configs/beaglebone_defconfig but everything else
>>> I'm not sure where to start.
>>>
>>> If someone has time to coach me through this I'm happy to learn,
>>> but if it is easier for someone else to do this I could learn from
>>> that too.
>>>
>>>
>>>
>>> On Sun, Dec 27, 2015, at 02:08 AM, Thomas Petazzoni wrote:
>>> > Hello all,
>>> >
>>> > On Sat, 26 Dec 2015 15:44:48 -0800, Craig Swank wrote:
>>> >
>>> > > YES!  Using Chris's uEnv.txt and u-boot 2015.07 instead of
>>> > > 2015.10 it finally booted up correctly.  Many thanks to Thomas,
>>> > > Chris, and, last but not least, Frank, who swooped in with the
>>> > > secret sauce at the very end.
>>> > >
>>> > > I'm not even close to being able to figure out why the 07
>>> > > version worked and 10 did not, but I'm just too happy to care.
>>> >
>>> > Glad to hear that you solved the different problems.
>>> >
>>> > Our beaglebone_defconfig is utterly old, and it would be really
>>> > great to update it to use newer kernel and u-boot versions.
>>> >
>>> > Thanks!
>>> >
>>> > Thomas
>>> > --
>>> > Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and
>>> > Android engineering http://free-electrons.com
>>>
>>>
>>> --
>>> Craig Swank craigswank@fastmail.fm
>>
>> --
>> Craig Swank craigswank@fastmail.fm
>>
>>

--
  Craig Swank
  craigswank@fastmail.fm
Craig Swank Dec. 27, 2015, 7:27 p.m. UTC | #12
Never mind.  I found that the 'ocp' section is in am33xx.dtsi.  And
looking at the history of that file you can see that gpio in the
ocp node used to go from 1-4 and now they are 0-3 (gpio0, gpio1,
...).  Fixing that doesn't help with the kernel modules not being
loaded, however.



On Sun, Dec 27, 2015, at 10:48 AM, Craig Swank wrote:
> The modules are there.  I'm able to modprobe them from the
> command line.
>
> As far as the difference between the device tree structures, I'm just
> trying to learn about this.  For instance, my overlay looks like:
>
> /dts-v1/; /plugin/; / {        compatible = "ti,beaglebone", "ti,beaglebone-
> black";        part-number = "BB-W1";        version = "00A0";
>
> exclusive-use = "P8.11";
>
> fragment@0 {                target = <&am33xx_pinmux>;
> __overlay__ {                        bb_w1_pins: pinmux_bb_w1_pins {
> pinctrl-single,pins =  <0x34 0x37 /* gpmc_ad13.gpio1_13,
> OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE7 - w1-gpio */ >;
> };                };        };
>
> fragment@1 {                target = <&ocp>;
> __overlay__ {                        onewire@0 {
> status          = "okay";                                compatible
> = "w1-gpio";                                pinctrl-names   =
> "default";                                pinctrl-0       =
> <&bb_w1_pins>;                                gpios           =
> <&gpio2 13 0>;                        };                };        };
> };
>
> I see am33xx_pinmux in am335x-boneblack.dts, but I don't see 'ocp'.
> Is this what you mean by looking at the structure of the new device
> tree?  Since I don't see 'ocp' then does that mean that target (target
> = <&ocp>;) could be my problem?
>
>
> On Sun, Dec 27, 2015, at 10:36 AM, Chris LaRocque wrote:
>> Yes, I'll test the DTC. I've already created some overlays but there
>> is a difference between the version 3.X and 4.X capemanager. You need
>> to look at the structure of the new device trees and patch the old
>> cape overlays to make them work. I'm struggling with that as well.


>> You might want to verify that the modules are built.


>> C


>> Pushing back the boundaries of ignorance.


>> On Dec 27, 2015 12:01, "Craig Swank" <craigswank@fastmail.fm> wrote:
>>> __
>>> I'll be interested in how your tests for the DTC patch go.  I'm not
>>> having luck with the bone_capemgr at the moment and am considering
>>> filing a bug at beagleboard/linux.
>>>
>>> Will your tests involve compiling a .dtbo file and doing an echo
>>> command to /sys/devices/platform/bone_capemgr/slots?  When I try to
>>> load my dtbo file (for dallas one wire temperature sensor), the
>>> expected kernel modules don't get loaded even though no errors show
>>> up in dmesg.
>>>
>>>
>>>
>>>
>>> On Sun, Dec 27, 2015, at 08:28 AM, Chris LaRocque wrote:
>>>>


>>>>
>>>> Hello
>>>>


>>>> I'm running a new beaglebone_defconfig as we speak and may be able
>>>> to post a patch this afternoon.


>>>> The DTC patch will take me a couple of days to test. What I posted
>>>> earlier was a hack that accomplished my needs but it needs to be a
>>>> little more refined. I'll review the debian install script at github.com/beagleboard/bb.org-
>>>> overlays to see how to best incorporate both the DTC patch and the
>>>> device tree overlays. Can I put the DTC patch into the
>>>> /board/beaglebone directory and have it specified for application
>>>> in the board defconfig? Suggestions on this aspect would be much
>>>> appreciated.


>>>> Regards


>>>> C


>>>>


>>>> Pushing back the boundaries of ignorance.


>>>> I'd like to help out, but it might take a bit of hand holding for
>>>> me since I'm pretty new to buildroot and submitting patches.  I
>>>> suppose the things that would need to be changed would be
>>>>
>>>> 1. configs/beaglbone_defconfig
>>>> 2. the uEnv.txt file needs to be different in output/images
>>>> 3. Chris attached a patch for the host dtc
>>>> 4. Two configs for the kernel build need to change
>>>>
>>>> I have a diff for configs/beaglebone_defconfig but everything else
>>>> I'm not sure where to start.
>>>>
>>>> If someone has time to coach me through this I'm happy to learn,
>>>> but if it is easier for someone else to do this I could learn from
>>>> that too.
>>>>
>>>>
>>>>
>>>> On Sun, Dec 27, 2015, at 02:08 AM, Thomas Petazzoni wrote:
>>>> > Hello all,
>>>> >
>>>> > On Sat, 26 Dec 2015 15:44:48 -0800, Craig Swank wrote:
>>>> >
>>>> > > YES!  Using Chris's uEnv.txt and u-boot 2015.07 instead of
>>>> > > 2015.10 it finally booted up correctly.  Many thanks to Thomas,
>>>> > > Chris, and, last but not least, Frank, who swooped in with the
>>>> > > secret sauce at the very end.
>>>> > >
>>>> > > I'm not even close to being able to figure out why the 07
>>>> > > version worked and 10 did not, but I'm just too happy to care.
>>>> >
>>>> > Glad to hear that you solved the different problems.
>>>> >
>>>> > Our beaglebone_defconfig is utterly old, and it would be really
>>>> > great to update it to use newer kernel and u-boot versions.
>>>> >
>>>> > Thanks!
>>>> >
>>>> > Thomas
>>>> > --
>>>> > Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and
>>>> > Android engineering http://free-electrons.com
>>>>
>>>>
>>>> --
>>>> Craig Swank craigswank@fastmail.fm
>>>
>>> --
>>> Craig Swank craigswank@fastmail.fm
>>>
>>>
>
> --
> Craig Swank  craigswank@fastmail.fm
>
>
> _________________________________________________
> buildroot mailing list buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

--
  Craig Swank
  craigswank@fastmail.fm
diff mbox

Patch

--- a/checks.c	2015-12-10 14:50:21.537561920 -0500
+++ b/checks.c	2015-12-01 17:11:59.266242047 -0500
@@ -458,6 +458,8 @@ 
 				     struct node *node, struct property *prop)
 {
 	struct marker *m = prop->val.markers;
+	struct fixup *f, **fp;
+	struct fixup_entry *fe, **fep;
 	struct node *refnode;
 	cell_t phandle;
 
@@ -466,14 +468,73 @@ 
 
 		refnode = get_node_by_ref(dt, m->ref);
 		if (! refnode) {
+			if (!dt->is_plugin) {
 			FAIL(c, "Reference to non-existent node or label \"%s\"\n",
 			     m->ref);
 			continue;
 		}
 
+			/* allocate fixup entry */
+			fe = xmalloc(sizeof(*fe));
+
+			fe->node = node;
+			fe->prop = prop;
+			fe->offset = m->offset;
+			fe->next = NULL;
+
+			/* search for an already existing fixup */
+			for_each_fixup(dt, f)
+				if (strcmp(f->ref, m->ref) == 0)
+					break;
+
+			/* no fixup found, add new */
+			if (f == NULL) {
+				f = xmalloc(sizeof(*f));
+				f->ref = m->ref;
+				f->entries = NULL;
+				f->next = NULL;
+
+				/* add it to the tree */
+				fp = &dt->fixups;
+				while (*fp)
+					fp = &(*fp)->next;
+				*fp = f;
+			}
+
+			/* and now append fixup entry */
+			fep = &f->entries;
+			while (*fep)
+				fep = &(*fep)->next;
+			*fep = fe;
+
+			/* mark the entry as unresolved */
+			*((cell_t *)(prop->val.val + m->offset)) =
+				cpu_to_fdt32(0xdeadbeef);
+			continue;
+		}
+
+		/* if it's a local reference, we need to record it */
+		if (symbol_fixup_support) {
+
+			/* allocate a new local fixup entry */
+			fe = xmalloc(sizeof(*fe));
+
+			fe->node = node;
+			fe->prop = prop;
+			fe->offset = m->offset;
+			fe->next = NULL;
+
+			/* append it to the local fixups */
+			fep = &dt->local_fixups;
+			while (*fep)
+				fep = &(*fep)->next;
+			*fep = fe;
+		}
+
 		phandle = get_node_phandle(dt, refnode);
 		*((cell_t *)(prop->val.val + m->offset)) = cpu_to_fdt32(phandle);
 	}
+
 }
 ERROR(phandle_references, NULL, NULL, fixup_phandle_references, NULL,
       &duplicate_node_names, &explicit_phandles);
@@ -652,6 +713,45 @@ 
 }
 TREE_WARNING(obsolete_chosen_interrupt_controller, NULL);
 
+static void check_auto_label_phandles(struct check *c, struct node *dt,
+				       struct node *node)
+{
+	struct label *l;
+	struct symbol *s, **sp;
+	int has_label;
+
+	if (!symbol_fixup_support)
+		return;
+
+	has_label = 0;
+	for_each_label(node->labels, l) {
+		has_label = 1;
+		break;
+	}
+
+	if (!has_label)
+		return;
+
+	/* force allocation of a phandle for this node */
+	(void)get_node_phandle(dt, node);
+
+	/* add the symbol */
+	for_each_label(node->labels, l) {
+
+		s = xmalloc(sizeof(*s));
+		s->label = l;
+		s->node = node;
+		s->next = NULL;
+
+		/* add it to the symbols list */
+		sp = &dt->symbols;
+		while (*sp)
+			sp = &((*sp)->next);
+		*sp = s;
+	}
+}
+NODE_WARNING(auto_label_phandles, NULL);
+
 static struct check *check_table[] = {
 	&duplicate_node_names, &duplicate_property_names,
 	&node_name_chars, &node_name_format, &property_name_chars,
@@ -670,6 +770,8 @@ 
 	&avoid_default_addr_size,
 	&obsolete_chosen_interrupt_controller,
 
+	&auto_label_phandles,
+
 	&always_fail,
 };
 
--- a/Documentation/dt-object-internal.txt	1969-12-31 19:00:00.000000000 -0500
+++ b/Documentation/dt-object-internal.txt	2015-12-01 17:11:59.249242025 -0500
@@ -0,0 +1,301 @@ 
+Device Tree Dynamic Object format internals
+-------------------------------------------
+
+The Device Tree for most platforms is a static representation of
+the hardware capabilities. This is insufficient for many platforms
+that need to dynamically insert device tree fragments to the
+running kernel's live tree.
+
+This document explains the the device tree object format and the
+modifications made to the device tree compiler, which make it possible.
+
+1. Simplified Problem Definition
+--------------------------------
+
+Assume we have a platform which boots using following simplified device tree.
+
+---- foo.dts -----------------------------------------------------------------
+	/* FOO platform */
+	/ {
+		compatible = "corp,foo";
+
+		/* shared resources */
+		res: res {
+		};
+
+		/* On chip peripherals */
+		ocp: ocp {
+			/* peripherals that are always instantiated */
+			peripheral1 { ... };
+		}
+	};
+---- foo.dts -----------------------------------------------------------------
+
+We have a number of peripherals that after probing (using some undefined method)
+should result in different device tree configuration.
+
+We cannot boot with this static tree because due to the configuration of the
+foo platform there exist multiple conficting peripherals DT fragments.
+
+So for the bar peripheral we would have this:
+
+---- foo+bar.dts -------------------------------------------------------------
+	/* FOO platform + bar peripheral */
+	/ {
+		compatible = "corp,foo";
+
+		/* shared resources */
+		res: res {
+		};
+
+		/* On chip peripherals */
+		ocp: ocp {
+			/* peripherals that are always instantiated */
+			peripheral1 { ... };
+
+			/* bar peripheral */
+			bar {
+				compatible = "corp,bar";
+				... /* various properties and child nodes */
+			}
+		}
+	};
+---- foo+bar.dts -------------------------------------------------------------
+
+While for the baz peripheral we would have this:
+
+---- foo+baz.dts -------------------------------------------------------------
+	/* FOO platform + baz peripheral */
+	/ {
+		compatible = "corp,foo";
+
+		/* shared resources */
+		res: res {
+			/* baz resources */
+			baz_res: res_baz { ... };
+		};
+
+		/* On chip peripherals */
+		ocp: ocp {
+			/* peripherals that are always instantiated */
+			peripheral1 { ... };
+
+			/* baz peripheral */
+			baz {
+				compatible = "corp,baz";
+				/* reference to another point in the tree */
+				ref-to-res = <&baz_res>;
+				... /* various properties and child nodes */
+			}
+		}
+	};
+---- foo+baz.dts -------------------------------------------------------------
+
+We note that the baz case is more complicated, since the baz peripheral needs to
+reference another node in the DT tree.
+
+2. Device Tree Object Format Requirements
+-----------------------------------------
+
+Since the device tree is used for booting a number of very different hardware
+platforms it is imperative that we tread very carefully.
+
+2.a) No changes to the Device Tree binary format. We cannot modify the tree
+format at all and all the information we require should be encoded using device
+tree itself. We can add nodes that can be safely ignored by both bootloaders and
+the kernel.
+
+2.b) Changes to the DTS source format should be absolutely minimal, and should
+only be needed for the DT fragment definitions, and not the base boot DT.
+
+2.c) An explicit option should be used to instruct DTC to generate the required
+information needed for object resolution. Platforms that don't use the
+dynamic object format can safely ignore it.
+
+2.d) Finally, DT syntax changes should be kept to a minimum. It should be
+possible to express everything using the existing DT syntax.
+
+3. Implementation
+-----------------
+
+The basic unit of addressing in Device Tree is the phandle. Turns out it's
+relatively simple to extend the way phandles are generated and referenced
+so that it's possible to dynamically convert symbolic references (labels)
+to phandle values.
+
+We can roughly divide the operation into two steps.
+
+3.a) Compilation of the base board DTS file using the '-@' option
+generates a valid DT blob with an added __symbols__ node at the root node,
+containing a list of all nodes that are marked with a label.
+
+Using the foo.dts file above the following node will be generated;
+
+$ dtc -@ -O dtb -o foo.dtb -b 0 foo.dts
+$ fdtdump foo.dtb
+...
+/ {
+	...
+	res {
+		...
+		linux,phandle = <0x00000001>;
+		phandle = <0x00000001>;
+		...
+	};
+	ocp {
+		...
+		linux,phandle = <0x00000002>;
+		phandle = <0x00000002>;
+		...
+	};
+	__symbols__ {
+		res="/res";
+		ocp="/ocp";
+	};
+};
+
+Notice that all the nodes that had a label have been recorded, and that
+phandles have been generated for them.
+
+This blob can be used to boot the board normally, the __symbols__ node will
+be safely ignored both by the bootloader and the kernel (the only loss will
+be a few bytes of memory and disk space).
+
+3.b) The Device Tree fragments must be compiled with the same option but they
+must also have a tag (/plugin/) that allows undefined references to labels
+that are not present at compilation time to be recorded so that the runtime
+loader can fix them.
+
+So the bar peripheral's DTS format would be of the form:
+
+/plugin/;	/* allow undefined label references and record them */
+/ {
+	....	/* various properties for loader use; i.e. part id etc. */
+	fragment@0 {
+		target = <&ocp>;
+		__overlay__ {
+			/* bar peripheral */
+			bar {
+				compatible = "corp,bar";
+				... /* various properties and child nodes */
+			}
+		};
+	};
+};
+
+Note that there's a target property that specifies the location where the
+contents of the overlay node will be placed, and it references the label
+in the foo.dts file.
+
+$ dtc -@ -O dtb -o bar.dtbo -b 0 bar.dts
+$ fdtdump bar.dtbo
+...
+/ {
+	... /* properties */
+	fragment@0 {
+		target = <0xdeadbeef>;
+		__overlay__ {
+			bar {
+				compatible = "corp,bar";
+				... /* various properties and child nodes */
+			}
+		};
+	};
+	__fixups__ {
+	    ocp = "/fragment@0:target:0";
+	};
+};
+
+No __symbols__ has been generated (no label in bar.dts).
+Note that the target's ocp label is undefined, so the phandle handle
+value is filled with the illegal value '0xdeadbeef', while a __fixups__
+node has been generated, which marks the location in the tree where
+the label lookup should store the runtime phandle value of the ocp node.
+
+The format of the __fixups__ node entry is
+
+	<label> = "<local-full-path>:<property-name>:<offset>";
+
+<label> 		Is the label we're referring
+<local-full-path>	Is the full path of the node the reference is
+<property-name>		Is the name of the property containing the
+			reference
+<offset>		The offset (in bytes) of where the property's
+			phandle value is located.
+
+Doing the same with the baz peripheral's DTS format is a little bit more
+involved, since baz contains references to local labels which require
+local fixups.
+
+/plugin/;	/* allow undefined label references and record them */
+/ {
+	....	/* various properties for loader use; i.e. part id etc. */
+	fragment@0 {
+		target = <&res>;
+		__overlay__ {
+			/* baz resources */
+			baz_res: res_baz { ... };
+		};
+	};
+	fragment@1 {
+		target = <&ocp>;
+		__overlay__ {
+			/* baz peripheral */
+			baz {
+				compatible = "corp,baz";
+				/* reference to another point in the tree */
+				ref-to-res = <&baz_res>;
+				... /* various properties and child nodes */
+			}
+		};
+	};
+};
+
+Note that &bar_res reference.
+
+$ dtc -@ -O dtb -o baz.dtbo -b 0 baz.dts
+$ fdtdump baz.dtbo
+...
+/ {
+	... /* properties */
+	fragment@0 {
+		target = <0xdeadbeef>;
+		__overlay__ {
+			res_baz {
+				....
+				linux,phandle = <0x00000001>;
+				phandle = <0x00000001>;
+			};
+		};
+	};
+	fragment@1 {
+		target = <0xdeadbeef>;
+		__overlay__ {
+			baz {
+				compatible = "corp,baz";
+				... /* various properties and child nodes */
+				ref-to-res = <0x00000001>;
+			}
+		};
+	};
+	__fixups__ {
+		res = "/fragment@0:target:0";
+		ocp = "/fragment@1:target:0";
+	};
+	__local_fixups__ {
+		fragment@1 {
+			__overlay__ {
+				baz {
+					ref-to-res = <0>;
+				};
+			};
+		};
+	};
+};
+
+This is similar to the bar case, but the reference of a local label by the
+baz node generates a __local_fixups__ entry that records the place that the
+local reference is being made. Since phandles are allocated starting at 1
+the run time loader must apply an offset to each phandle in every dynamic
+DT object loaded. The __local_fixups__ node records the place of every
+local reference so that the loader can apply the offset.

--- a/Documentation/manual.txt	2015-12-10 14:50:21.537561920 -0500
+++ b/Documentation/manual.txt	2015-12-01 17:11:59.249242025 -0500
@@ -119,6 +119,14 @@ 
 	Make space for <number> reserve map entries
 	Relevant for dtb and asm output only.
 
+    -@
+        Generates a __symbols__ node at the root node of the resulting blob
+	for any node labels used, and for any local references using phandles
+	it also generates a __local_fixups__ node that tracks them.
+
+	When using the /plugin/ tag all unresolved label references to
+	be tracked in the __fixups__ node, making dynamic resolution possible.
+
     -S <bytes>
 	Ensure the blob at least <bytes> long, adding additional
 	space if needed.
@@ -153,6 +161,8 @@ 
 
     devicetree:   '/' nodedef
 
+    plugindecl:   '/' 'plugin' '/' ';'
+
     nodedef:      '{' list_of_property list_of_subnode '}' ';'
 
     property:     label PROPNAME '=' propdata ';'
--- a/dtc.c	2015-12-10 14:50:21.537561920 -0500
+++ b/dtc.c	2015-12-01 17:11:59.264242045 -0500
@@ -31,6 +31,7 @@ 
 int minsize;		/* Minimum blob size */
 int padsize;		/* Additional padding to blob */
 int phandle_format = PHANDLE_BOTH;	/* Use linux,phandle or phandle properties */
+int symbol_fixup_support = 0;
 
 static void fill_fullpaths(struct node *tree, const char *prefix)
 {
@@ -53,7 +54,7 @@ 
 #define FDT_VERSION(version)	_FDT_VERSION(version)
 #define _FDT_VERSION(version)	#version
 static const char usage_synopsis[] = "dtc [options] <input file>";
-static const char usage_short_opts[] = "qI:O:o:V:d:R:S:p:fb:i:H:sW:E:hv";
+static const char usage_short_opts[] = "qI:O:o:V:d:R:S:p:fb:i:H:sW:E:@hv";
 static struct option const usage_long_opts[] = {
 	{"quiet",            no_argument, NULL, 'q'},
 	{"in-format",         a_argument, NULL, 'I'},
@@ -71,6 +72,7 @@ 
 	{"phandle",           a_argument, NULL, 'H'},
 	{"warning",           a_argument, NULL, 'W'},
 	{"error",             a_argument, NULL, 'E'},
+	{"symbols",	     no_argument, NULL, '@'},
 	{"help",             no_argument, NULL, 'h'},
 	{"version",          no_argument, NULL, 'v'},
 	{NULL,               no_argument, NULL, 0x0},
@@ -101,6 +103,7 @@ 
 	 "\t\tboth   - Both \"linux,phandle\" and \"phandle\" properties",
 	"\n\tEnable/disable warnings (prefix with \"no-\")",
 	"\n\tEnable/disable errors (prefix with \"no-\")",
+	"\n\tEnable symbols/fixup support",
 	"\n\tPrint this help and exit",
 	"\n\tPrint version and exit",
 	NULL,
@@ -233,7 +236,9 @@ 
 		case 'E':
 			parse_checks_option(false, true, optarg);
 			break;
-
+		case '@':
+			symbol_fixup_support = 1;
+			break;
 		case 'h':
 			usage(NULL);
 		default:
--- a/dtc.h	2015-12-10 14:50:21.538561922 -0500
+++ b/dtc.h	2015-12-01 17:11:59.250242026 -0500
@@ -54,6 +54,7 @@ 
 extern int minsize;		/* Minimum blob size */
 extern int padsize;		/* Additional padding to blob */
 extern int phandle_format;	/* Use linux,phandle or phandle properties */
+extern int symbol_fixup_support;/* enable symbols & fixup support */
 
 #define PHANDLE_LEGACY	0x1
 #define PHANDLE_EPAPR	0x2
@@ -132,6 +133,26 @@ 
 	struct label *next;
 };
 
+struct fixup_entry {
+	int offset;
+	struct node *node;
+	struct property *prop;
+	struct fixup_entry *next;
+	bool local_fixup_generated;
+};
+
+struct fixup {
+	char *ref;
+	struct fixup_entry *entries;
+	struct fixup *next;
+};
+
+struct symbol {
+	struct label *label;
+	struct node *node;
+	struct symbol *next;
+};
+
 struct property {
 	bool deleted;
 	char *name;
@@ -158,6 +179,13 @@ 
 	int addr_cells, size_cells;
 
 	struct label *labels;
+
+	struct symbol *symbols;
+	struct fixup_entry *local_fixups;
+	bool emit_local_fixup_node;
+
+	bool is_plugin;
+	struct fixup *fixups;
 };
 
 #define for_each_label_withdel(l0, l) \
@@ -181,6 +209,18 @@ 
 	for_each_child_withdel(n, c) \
 		if (!(c)->deleted)
 
+#define for_each_fixup(n, f) \
+	for ((f) = (n)->fixups; (f); (f) = (f)->next)
+
+#define for_each_fixup_entry(f, fe) \
+	for ((fe) = (f)->entries; (fe); (fe) = (fe)->next)
+
+#define for_each_symbol(n, s) \
+	for ((s) = (n)->symbols; (s); (s) = (s)->next)
+
+#define for_each_local_fixup_entry(n, fe) \
+	for ((fe) = (n)->local_fixups; (fe); (fe) = (fe)->next)
+
 void add_label(struct label **labels, char *label);
 void delete_labels(struct label **labels);
 
--- a/dtc-lexer.l	2015-12-10 14:50:21.537561920 -0500
+++ b/dtc-lexer.l	2015-12-01 17:11:59.249242025 -0500
@@ -113,6 +113,11 @@ 
 			return DT_V1;
 		}
 
+<*>"/plugin/"	{
+			DPRINT("Keyword: /plugin/\n");
+			return DT_PLUGIN;
+		}
+
 <*>"/memreserve/"	{
 			DPRINT("Keyword: /memreserve/\n");
 			BEGIN_DEFAULT();
--- a/dtc-parser.y	2015-12-10 14:50:21.537561920 -0500
+++ b/dtc-parser.y	2015-12-01 17:11:59.249242025 -0500
@@ -19,6 +19,7 @@ 
  */
 %{
 #include <stdio.h>
+#include <inttypes.h>
 
 #include "dtc.h"
 #include "srcpos.h"
@@ -52,9 +53,11 @@ 
 	struct node *nodelist;
 	struct reserve_info *re;
 	uint64_t integer;
+	bool is_plugin;
 }
 
 %token DT_V1
+%token DT_PLUGIN
 %token DT_MEMRESERVE
 %token DT_LSHIFT DT_RSHIFT DT_LE DT_GE DT_EQ DT_NE DT_AND DT_OR
 %token DT_BITS
@@ -71,6 +74,7 @@ 
 
 %type <data> propdata
 %type <data> propdataprefix
+%type <is_plugin> plugindecl
 %type <re> memreserve
 %type <re> memreserves
 %type <array> arrayprefix
@@ -101,10 +105,22 @@ 
 %%
 
 sourcefile:
-	  DT_V1 ';' memreserves devicetree
+	  DT_V1 ';' plugindecl memreserves devicetree
 		{
-			the_boot_info = build_boot_info($3, $4,
-							guess_boot_cpuid($4));
+			$5->is_plugin = $3;
+			the_boot_info = build_boot_info($4, $5,
+							guess_boot_cpuid($5));
+		}
+	;
+
+plugindecl:
+	/* empty */
+		{
+			$$ = false;
+		}
+	| DT_PLUGIN ';'
+		{
+			$$ = true;
 		}
 	;
 
--- a/fdtdump.c	2015-12-10 14:50:21.538561922 -0500
+++ b/fdtdump.c	2015-12-01 17:11:59.250242026 -0500
@@ -8,6 +8,14 @@ 
 #include <stdlib.h>
 #include <string.h>
 #include <ctype.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <alloca.h>
+#include <dirent.h>
+#include <limits.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <errno.h>
 
 #include <libfdt.h>
 #include <libfdt_env.h>
@@ -143,6 +151,95 @@ 
 	}
 }
 
+static void dump_live_internal(const char *path, bool debug, int depth)
+{
+	int maxsz = strlen(path) + 1 + PATH_MAX;
+	char *new_path = alloca(maxsz + 1);
+	struct stat sb;
+	struct dirent *de;
+	char *buf, *p;
+	int buf_alloc, shift, chunk, left, fd, ret;
+	DIR *d;
+
+	shift = 4;
+	buf_alloc = 4 * 1024;	/* 4K (maximum chunk) */
+	buf = alloca(buf_alloc + sizeof(uint32_t));
+	buf[buf_alloc] = '\0';	/* always terminate (just in case) */
+
+	d = opendir(path);
+	if (d == NULL)
+		die("Could not open %s directory\n", path);
+
+	/* first dump the properties (files) */
+	while ((de = readdir(d)) != NULL) {
+		/* properties are files */
+		if (de->d_type != DT_REG)
+			continue;
+		snprintf(new_path, maxsz, "%s/%s", path, de->d_name);
+		new_path[maxsz] = '\0';
+		printf("%*s%s", depth * shift, "", de->d_name);
+
+		if (stat(new_path, &sb) != 0)
+			die("could not open: %s\n", new_path);
+
+		fd = open(new_path, O_RDONLY);
+		if (fd == -1)
+			die("Could not open: %s\n", new_path);
+
+		chunk = sb.st_size > buf_alloc ? buf_alloc : sb.st_size;
+		p = buf;
+		left = chunk;
+		while (left > 0) {
+			do {
+				ret = read(fd, p, left);
+			} while (ret == -1 && (errno == EAGAIN || errno == EINTR));
+			if (ret == -1)
+				die("Read failed on: %s\n", new_path);
+			left -= ret;
+			p += ret;
+		}
+		close(fd);
+
+		if (chunk < sb.st_size)
+			printf(" (trunc)");
+		utilfdt_print_data(buf, chunk);
+		printf(";\n");
+	}
+
+	/* now recurse to the directories */
+	rewinddir(d);
+	while ((de = readdir(d)) != NULL) {
+		/* properties are files */
+		if (de->d_type != DT_DIR)
+			continue;
+		/* skip current and parent directories */
+		if (strcmp(de->d_name, ".") == 0 ||
+				strcmp(de->d_name, "..") == 0)
+			continue;
+		snprintf(new_path, maxsz, "%s/%s", path, de->d_name);
+		new_path[maxsz] = '\0';
+		printf("%*s%s {\n", depth * shift, "", de->d_name);
+		dump_live_internal(new_path, debug, depth + 1);
+		printf("%*s};\n", depth * shift, "");
+	}
+}
+
+static void dump_live(const char *path, bool debug)
+{
+	char *fixed_path = alloca(strlen(path) + 1);
+	char *p;
+
+	/* strip trailing / */
+	strcpy(fixed_path, path);
+	p = fixed_path + strlen(fixed_path) - 1;
+	while (*p == '/' && p > fixed_path)
+		*p-- = '\0';
+	printf("/* dump of live tree at %s */\n", fixed_path);
+	printf("/ {\n");
+	dump_live_internal(fixed_path, debug, 1);
+	printf("};\n");
+}
+
 /* Usage related data. */
 static const char usage_synopsis[] = "fdtdump [options] <file>";
 static const char usage_short_opts[] = "ds" USAGE_COMMON_SHORT_OPTS;
@@ -165,6 +262,7 @@ 
 	bool debug = false;
 	bool scan = false;
 	off_t len;
+	struct stat sb;
 
 	while ((opt = util_getopt_long()) != EOF) {
 		switch (opt) {
@@ -182,6 +280,15 @@ 
 		usage("missing input filename");
 	file = argv[optind];
 
+	if (stat(file, &sb) != 0)
+		die("could not open: %s\n", file);
+
+	/* dump live tree if it's a directory */
+	if (S_ISDIR(sb.st_mode)) {
+		dump_live(file, debug);
+		return 0;
+	}
+
 	buf = utilfdt_read_len(file, &len);
 	if (!buf)
 		die("could not read: %s\n", file);
--- a/flattree.c	2015-12-10 14:50:21.538561922 -0500
+++ b/flattree.c	2015-12-01 17:11:59.250242026 -0500
@@ -255,6 +255,204 @@ 
 	return i;
 }
 
+static void emit_local_fixups(struct node *tree, struct emitter *emit,
+		void *etarget, struct data *strbuf, struct version_info *vi,
+		struct node *node)
+{
+	struct fixup_entry *fe, *fen;
+	struct node *child;
+	int nameoff, count;
+	cell_t *buf;
+	struct data d;
+
+	if (node->emit_local_fixup_node) {
+
+		/* emit the external fixups (do not emit /) */
+		if (node != tree) {
+			emit->beginnode(etarget, NULL);
+			emit->string(etarget, node->name, 0);
+			emit->align(etarget, sizeof(cell_t));
+		}
+
+		for_each_local_fixup_entry(tree, fe) {
+			if (fe->node != node || fe->local_fixup_generated)
+				continue;
+
+			/* count the number of fixup entries */
+			count = 0;
+			for_each_local_fixup_entry(tree, fen) {
+				if (fen->prop != fe->prop)
+					continue;
+				fen->local_fixup_generated = true;
+				count++;
+			}
+
+			/* allocate buffer */
+			buf = xmalloc(count * sizeof(cell_t));
+
+			/* collect all the offsets in buffer */
+			count = 0;
+			for_each_local_fixup_entry(tree, fen) {
+				if (fen->prop != fe->prop)
+					continue;
+				fen->local_fixup_generated = true;
+				buf[count++] = cpu_to_fdt32(fen->offset);
+			}
+			d = empty_data;
+			d.len = count * sizeof(cell_t);
+			d.val = (char *)buf;
+
+			nameoff = stringtable_insert(strbuf, fe->prop->name);
+			emit->property(etarget, fe->prop->labels);
+			emit->cell(etarget, count * sizeof(cell_t));
+			emit->cell(etarget, nameoff);
+
+			if ((vi->flags & FTF_VARALIGN) &&
+					(count * sizeof(cell_t)) >= 8)
+				emit->align(etarget, 8);
+
+			emit->data(etarget, d);
+			emit->align(etarget, sizeof(cell_t));
+
+			free(buf);
+		}
+	}
+
+	for_each_child(node, child)
+		emit_local_fixups(tree, emit, etarget, strbuf, vi, child);
+
+	if (node->emit_local_fixup_node && node != tree)
+		emit->endnode(etarget, tree->labels);
+}
+
+static void emit_symbols_node(struct node *tree, struct emitter *emit,
+			      void *etarget, struct data *strbuf,
+			      struct version_info *vi)
+{
+	struct symbol *sym;
+	int nameoff, vallen;
+
+	/* do nothing if no symbols */
+	if (!tree->symbols)
+		return;
+
+	emit->beginnode(etarget, NULL);
+	emit->string(etarget, "__symbols__", 0);
+	emit->align(etarget, sizeof(cell_t));
+
+	for_each_symbol(tree, sym) {
+
+		vallen = strlen(sym->node->fullpath);
+
+		nameoff = stringtable_insert(strbuf, sym->label->label);
+
+		emit->property(etarget, NULL);
+		emit->cell(etarget, vallen + 1);
+		emit->cell(etarget, nameoff);
+
+		if ((vi->flags & FTF_VARALIGN) && vallen >= 8)
+			emit->align(etarget, 8);
+
+		emit->string(etarget, sym->node->fullpath,
+				strlen(sym->node->fullpath));
+		emit->align(etarget, sizeof(cell_t));
+	}
+
+	emit->endnode(etarget, NULL);
+}
+
+static void emit_local_fixups_node(struct node *tree, struct emitter *emit,
+				   void *etarget, struct data *strbuf,
+				   struct version_info *vi)
+{
+	struct fixup_entry *fe;
+	struct node *node;
+
+	/* do nothing if no local fixups */
+	if (!tree->local_fixups)
+		return;
+
+	/* mark all nodes that need a local fixup generated (and parents) */
+	for_each_local_fixup_entry(tree, fe) {
+		node = fe->node;
+		while (node != NULL && !node->emit_local_fixup_node) {
+			node->emit_local_fixup_node = true;
+			node = node->parent;
+		}
+	}
+
+	/* emit the local fixups node now */
+	emit->beginnode(etarget, NULL);
+	emit->string(etarget, "__local_fixups__", 0);
+	emit->align(etarget, sizeof(cell_t));
+
+	emit_local_fixups(tree, emit, etarget, strbuf, vi, tree);
+
+	emit->endnode(etarget, tree->labels);
+}
+
+static void emit_fixups_node(struct node *tree, struct emitter *emit,
+			     void *etarget, struct data *strbuf,
+			     struct version_info *vi)
+{
+	struct fixup *f;
+	struct fixup_entry *fe;
+	char *name, *s;
+	const char *fullpath;
+	int namesz, nameoff, vallen;
+
+	/* do nothing if no fixups */
+	if (!tree->fixups)
+		return;
+
+	/* emit the external fixups */
+	emit->beginnode(etarget, NULL);
+	emit->string(etarget, "__fixups__", 0);
+	emit->align(etarget, sizeof(cell_t));
+
+	for_each_fixup(tree, f) {
+
+		namesz = 0;
+		for_each_fixup_entry(f, fe) {
+			fullpath = fe->node->fullpath;
+			if (fullpath[0] == '\0')
+				fullpath = "/";
+			namesz += strlen(fullpath) + 1;
+			namesz += strlen(fe->prop->name) + 1;
+			namesz += 32;	/* space for :<number> + '\0' */
+		}
+
+		name = xmalloc(namesz);
+
+		s = name;
+		for_each_fixup_entry(f, fe) {
+			fullpath = fe->node->fullpath;
+			if (fullpath[0] == '\0')
+				fullpath = "/";
+			snprintf(s, name + namesz - s, "%s:%s:%d", fullpath,
+					fe->prop->name, fe->offset);
+			s += strlen(s) + 1;
+		}
+
+		nameoff = stringtable_insert(strbuf, f->ref);
+		vallen = s - name - 1;
+
+		emit->property(etarget, NULL);
+		emit->cell(etarget, vallen + 1);
+		emit->cell(etarget, nameoff);
+
+		if ((vi->flags & FTF_VARALIGN) && vallen >= 8)
+			emit->align(etarget, 8);
+
+		emit->string(etarget, name, vallen);
+		emit->align(etarget, sizeof(cell_t));
+
+		free(name);
+	}
+
+	emit->endnode(etarget, tree->labels);
+}
+
 static void flatten_tree(struct node *tree, struct emitter *emit,
 			 void *etarget, struct data *strbuf,
 			 struct version_info *vi)
@@ -310,6 +508,10 @@ 
 		flatten_tree(child, emit, etarget, strbuf, vi);
 	}
 
+	emit_symbols_node(tree, emit, etarget, strbuf, vi);
+	emit_local_fixups_node(tree, emit, etarget, strbuf, vi);
+	emit_fixups_node(tree, emit, etarget, strbuf, vi);
+
 	emit->endnode(etarget, tree->labels);
 }

--- a/libfdt/fdt_ro.c	2014-11-11 22:29:16.000000000 -0500
+++ b/libfdt/fdt_ro.c	2015-12-01 17:11:42.213219672 -0500
@@ -154,9 +154,9 @@ 
 	return fdt_subnode_offset_namelen(fdt, parentoffset, name, strlen(name));
 }
 
-int fdt_path_offset(const void *fdt, const char *path)
+int fdt_path_offset_namelen(const void *fdt, const char *path, int namelen)
 {
-	const char *end = path + strlen(path);
+	const char *end = path + namelen;
 	const char *p = path;
 	int offset = 0;
 
@@ -164,7 +164,7 @@ 
 
 	/* see if we have an alias */
 	if (*path != '/') {
-		const char *q = strchr(path, '/');
+		const char *q = memchr(path, '/', end - p);
 
 		if (!q)
 			q = end;
@@ -177,14 +177,15 @@ 
 		p = q;
 	}
 
-	while (*p) {
+	while (p < end) {
 		const char *q;
 
-		while (*p == '/')
+		while (*p == '/') {
 			p++;
-		if (! *p)
-			return offset;
-		q = strchr(p, '/');
+			if (p == end)
+				return offset;
+		}
+		q = memchr(p, '/', end - p);
 		if (! q)
 			q = end;
 
@@ -198,6 +199,11 @@ 
 	return offset;
 }
 
+int fdt_path_offset(const void *fdt, const char *path)
+{
+	return fdt_path_offset_namelen(fdt, path, strlen(path));
+}
+
 const char *fdt_get_name(const void *fdt, int nodeoffset, int *len)
 {
 	const struct fdt_node_header *nh = _fdt_offset_ptr(fdt, nodeoffset);

--- a/libfdt/libfdt.h	2014-11-11 22:29:16.000000000 -0500
+++ b/libfdt/libfdt.h	2015-12-01 17:11:42.213219672 -0500
@@ -323,6 +323,17 @@ 
 int fdt_subnode_offset(const void *fdt, int parentoffset, const char *name);
 
 /**
+ * fdt_path_offset_namelen - find a tree node by its full path
+ * @fdt: pointer to the device tree blob
+ * @path: full path of the node to locate
+ * @namelen: number of characters of path to consider
+ *
+ * Identical to fdt_path_offset(), but only consider the first namelen
+ * characters of path as the path name.
+ */
+int fdt_path_offset_namelen(const void *fdt, const char *path, int namelen);
+
+/**
  * fdt_path_offset - find a tree node by its full path
  * @fdt: pointer to the device tree blob
  * @path: full path of the node to locate

--- a/libfdt/version.lds	2014-11-11 22:29:16.000000000 -0500
+++ b/libfdt/version.lds	2015-12-01 17:11:42.213219672 -0500
@@ -8,6 +8,7 @@ 
 		fdt_get_mem_rsv;
 		fdt_subnode_offset_namelen;
 		fdt_subnode_offset;
+		fdt_path_offset_namelen;
 		fdt_path_offset;
 		fdt_get_name;
 		fdt_get_property_namelen;
@@ -54,6 +55,8 @@ 
 		fdt_get_property_by_offset;
 		fdt_getprop_by_offset;
 		fdt_next_property_offset;
+		fdt_first_subnode;
+		fdt_next_subnode;
 
 	local:
 		*;


--- a/tests/run_tests.sh	2014-11-11 22:29:16.000000000 -0500
+++ b/tests/run_tests.sh	2015-12-01 17:11:42.213219672 -0500
@@ -42,20 +42,20 @@ 
 
 shorten_echo () {
     limit=32
-    echo -n "$1"
+    printf "$1"
     shift
     for x; do
 	if [ ${#x} -le $limit ]; then
-	    echo -n " $x"
+	    printf " $x"
 	else
 	    short=$(echo "$x" | head -c$limit)
-	    echo -n " \"$short\"...<${#x} bytes>"
+	    printf " \"$short\"...<${#x} bytes>"
 	fi
     done
 }
 
 run_test () {
-    echo -n "$@:	"
+    printf "$*:	"
     if [ -n "$VALGRIND" -a -f $1.supp ]; then
 	VGSUPP="--suppressions=$1.supp"
     fi
@@ -63,7 +63,7 @@ 
 }
 
 run_sh_test () {
-    echo -n "$@:	"
+    printf "$*:	"
     base_run_test sh "$@"
 }
 
@@ -106,12 +106,12 @@ 
 
 run_wrap_error_test () {
     shorten_echo "$@"
-    echo -n " {!= 0}:	"
+    printf " {!= 0}:	"
     base_run_test wrap_error "$@"
 }
 
 run_dtc_test () {
-    echo -n "dtc $@:	"
+    printf "dtc $*:	"
     base_run_test wrap_test $VALGRIND $DTC "$@"
 }
 
@@ -126,7 +126,7 @@ 
 run_fdtget_test () {
     expect="$1"
     shift
-    echo -n "fdtget-runtest.sh "$expect" $@:	"
+    printf "fdtget-runtest.sh %s $*:	" "$(echo $expect)"
     base_run_test sh fdtget-runtest.sh "$expect" "$@"
 }
 
@@ -134,14 +134,14 @@ 
     expect="$1"
     shift
     shorten_echo fdtput-runtest.sh "$expect" "$@"
-    echo -n ":	"
+    printf ":	"
     base_run_test sh fdtput-runtest.sh "$expect" "$@"
 }
 
 run_fdtdump_test() {
     file="$1"
     shorten_echo fdtdump-runtest.sh "$file"
-    echo -n ":	"
+    printf ":	"
     base_run_test sh fdtdump-runtest.sh "$file"
 }
 
@@ -279,6 +279,8 @@ 
     run_dtc_test -I dts -O dtb -o embedded_nul.test.dtb embedded_nul.dts
     run_dtc_test -I dts -O dtb -o embedded_nul_equiv.test.dtb embedded_nul_equiv.dts
     run_test dtbs_equal_ordered embedded_nul.test.dtb embedded_nul_equiv.test.dtb
+
+    run_dtc_test -I dts -O dtb bad-size-cells.dts
 }
 
 dtc_tests () {
@@ -399,6 +401,8 @@ 
     tree1_tests dtc_tree1_merge.test.dtb test_tree1.dtb
     run_dtc_test -I dts -O dtb -o dtc_tree1_merge_labelled.test.dtb test_tree1_merge_labelled.dts
     tree1_tests dtc_tree1_merge_labelled.test.dtb test_tree1.dtb
+    run_dtc_test -I dts -O dtb -o dtc_tree1_label_noderef.test.dtb test_tree1_label_noderef.dts
+    run_test dtbs_equal_unordered dtc_tree1_label_noderef.test.dtb test_tree1.dtb
     run_dtc_test -I dts -O dtb -o multilabel_merge.test.dtb multilabel_merge.dts
     run_test references multilabel.test.dtb
     run_test dtbs_equal_ordered multilabel.test.dtb multilabel_merge.test.dtb
@@ -610,6 +614,28 @@ 
     run_wrap_test $DTPUT $dtb -cp /chosen
     run_wrap_test $DTPUT $dtb -cp /chosen/son
 
+    # Start again with a fresh dtb
+    run_dtc_test -O dtb -p $(stat -c %s $text) -o $dtb $dts
+
+    # Node delete
+    run_wrap_test $DTPUT $dtb -c /chosen/node1 /chosen/node2 /chosen/node3
+    run_fdtget_test "node3\nnode2\nnode1" $dtb -l  /chosen
+    run_wrap_test $DTPUT $dtb -r /chosen/node1 /chosen/node2
+    run_fdtget_test "node3" $dtb -l  /chosen
+
+    # Delete the non-existent node
+    run_wrap_error_test $DTPUT $dtb -r /non-existent/node
+
+    # Property delete
+    run_fdtput_test "eva" $dtb /chosen/ name "" -ts "eva"
+    run_fdtput_test "016" $dtb /chosen/ age  "" -ts "016"
+    run_fdtget_test "age\nname\nbootargs\nlinux,platform" $dtb -p  /chosen
+    run_wrap_test $DTPUT $dtb -d /chosen/ name age
+    run_fdtget_test "bootargs\nlinux,platform" $dtb -p  /chosen
+
+    # Delete the non-existent property
+    run_wrap_error_test $DTPUT $dtb -d /chosen   non-existent-prop
+
     # TODO: Add tests for verbose mode?
 }