diff --git a/.dockerignore b/.dockerignore index b26efd9e6..205dc540d 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,7 @@ -*.iso__BROKEN *.iso -persist.raw +*.md +*.qcow2 +*.sh +.dockerignore +.git +Dockerfile diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..2ba803f01 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,48 @@ +name: GitHub CI + +on: + + pull_request: + + push: + + schedule: + - cron: 0 0 * * 0 + +jobs: + + build-test: + + runs-on: ubuntu-latest + + steps: + + - uses: actions/checkout@v1 + with: + fetch-depth: 1 + + - name: Prepare Environment + run: docker system prune --all --force --volumes + - name: Happy Eyeballs + run: wget -qO- 'https://github.com/tianon/pgp-happy-eyeballs/raw/master/hack-my-builds.sh' | bash + + - name: Check Kernel Config + run: | + kernDups="$(files/kernel-config.d/.check-dups.sh)" + if [ -n "$kernDups" ]; then + echo >&2 "KERNEL CONFIG DUPLICATES!" + echo >&2 "$kernDups" + exit 1 + fi + + - name: Build ISO + run: | + set -Eeuo pipefail -x + docker build -t boot2docker/boot2docker . + docker run --rm boot2docker/boot2docker > boot2docker.iso + + - name: '"ls"' + run: ls -lh boot2docker.iso + + - name: '"docker images"' + run: docker images diff --git a/.gitignore b/.gitignore index 196547584..646ffdd68 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,2 @@ -# OS or Editor folders -.DS_Store -Thumbs.db -.cache -.project -.settings -.tmproj -*.esproj -nbproject -*.sublime-project -*.sublime-workspace +*.iso +*.qcow2 diff --git a/Dockerfile b/Dockerfile index f48b5ce88..fa74cb532 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,161 +1,543 @@ -FROM debian:jessie -MAINTAINER Steeve Morin "steeve.morin@gmail.com" - -RUN apt-get update && apt-get -y install unzip \ - xz-utils \ - curl \ - bc \ - git \ - build-essential \ - cpio \ - gcc-multilib libc6-i386 libc6-dev-i386 \ - kmod \ - squashfs-tools \ - genisoimage \ - xorriso \ - syslinux \ - automake \ - pkg-config - -ENV KERNEL_VERSION 3.15.3 -ENV AUFS_BRANCH aufs3.15 - -# Fetch the kernel sources -RUN curl --retry 10 https://www.kernel.org/pub/linux/kernel/v3.x/linux-$KERNEL_VERSION.tar.xz | tar -C / -xJ && \ - mv /linux-$KERNEL_VERSION /linux-kernel - -# Download AUFS and apply patches and files, then remove it -RUN git clone git://git.code.sf.net/p/aufs/aufs3-standalone && \ - cd aufs3-standalone && \ - git checkout $AUFS_BRANCH && \ - cd /linux-kernel && \ - for patch in aufs3-kbuild aufs3-base aufs3-mmap aufs3-standalone; do \ - patch -p1 < /aufs3-standalone/$patch.patch; \ - done && \ - cp -r /aufs3-standalone/Documentation /linux-kernel && \ - cp -r /aufs3-standalone/fs /linux-kernel && \ - cp -r /aufs3-standalone/include/uapi/linux/aufs_type.h /linux-kernel/include/uapi/linux/ - -ADD kernel_config /linux-kernel/.config - -RUN jobs=$(nproc); \ - cd /linux-kernel && \ - make -j ${jobs} oldconfig && \ - make -j ${jobs} bzImage && \ - make -j ${jobs} modules - -# The post kernel build process - -ENV ROOTFS /rootfs -ENV TCL_REPO_BASE http://tinycorelinux.net/5.x/x86 -ENV TCZ_DEPS iptables \ - iproute2 \ - openssh openssl-1.0.0 \ - tar \ - gcc_libs \ - acpid \ - xz liblzma \ - git expat2 libiconv libidn libgpg-error libgcrypt libssh2 \ - nfs-utils tcp_wrappers portmap rpcbind libtirpc \ - curl ntpclient - -# Make the ROOTFS -RUN mkdir -p $ROOTFS - -# Install the kernel modules in $ROOTFS -RUN cd /linux-kernel && \ - make INSTALL_MOD_PATH=$ROOTFS modules_install firmware_install - -# Remove useless kernel modules, based on unclejack/debian2docker -RUN cd $ROOTFS/lib/modules && \ - rm -rf ./*/kernel/sound/* && \ - rm -rf ./*/kernel/drivers/gpu/* && \ - rm -rf ./*/kernel/drivers/infiniband/* && \ - rm -rf ./*/kernel/drivers/isdn/* && \ - rm -rf ./*/kernel/drivers/media/* && \ - rm -rf ./*/kernel/drivers/staging/lustre/* && \ - rm -rf ./*/kernel/drivers/staging/comedi/* && \ - rm -rf ./*/kernel/fs/ocfs2/* && \ - rm -rf ./*/kernel/net/bluetooth/* && \ - rm -rf ./*/kernel/net/mac80211/* && \ - rm -rf ./*/kernel/net/wireless/* - -# Install libcap -RUN curl -L ftp://ftp.de.debian.org/debian/pool/main/libc/libcap2/libcap2_2.22.orig.tar.gz | tar -C / -xz && \ - cd /libcap-2.22 && \ - sed -i 's/LIBATTR := yes/LIBATTR := no/' Make.Rules && \ - sed -i 's/\(^CFLAGS := .*\)/\1 -m32/' Make.Rules && \ - make && \ - mkdir -p output && \ - make prefix=`pwd`/output install && \ - mkdir -p $ROOTFS/usr/local/lib && \ - cp -av `pwd`/output/lib64/* $ROOTFS/usr/local/lib - -# Make sure the kernel headers are installed for aufs-util, and then build it -RUN cd /linux-kernel && \ - make INSTALL_HDR_PATH=/tmp/kheaders headers_install && \ - cd / && \ - git clone git://git.code.sf.net/p/aufs/aufs-util && \ - cd /aufs-util && \ - git checkout aufs3.9 && \ - CPPFLAGS="-m32 -I/tmp/kheaders/include" CLFAGS=$CPPFLAGS LDFLAGS=$CPPFLAGS make && \ - DESTDIR=$ROOTFS make install && \ - rm -rf /tmp/kheaders - -# Download the rootfs, don't unpack it though: -RUN curl -L -o /tcl_rootfs.gz $TCL_REPO_BASE/release/distribution_files/rootfs.gz - -# Install the TCZ dependencies -RUN for dep in $TCZ_DEPS; do \ - echo "Download $TCL_REPO_BASE/tcz/$dep.tcz" &&\ - curl -L -o /tmp/$dep.tcz $TCL_REPO_BASE/tcz/$dep.tcz && \ - unsquashfs -f -d $ROOTFS /tmp/$dep.tcz && \ - rm -f /tmp/$dep.tcz ;\ - done - -ADD rootfs/isolinux /isolinux -ADD rootfs/make_iso.sh / - -# Copy over out custom rootfs -ADD rootfs/rootfs $ROOTFS - -# Make sure init scripts are executable -RUN find $ROOTFS/etc/rc.d/ -exec chmod +x {} \; && \ - find $ROOTFS/usr/local/etc/init.d/ -exec chmod +x {} \; - -# get the latest docker -# Note: `docker version` returns non-true when there is no server to ask -RUN curl -L -o $ROOTFS/usr/local/bin/docker https://get.docker.io/builds/Linux/x86_64/docker-latest && \ - chmod +x $ROOTFS/usr/local/bin/docker && \ - ( $ROOTFS/usr/local/bin/docker version || true ) - -# get the git versioning info -ADD . /gitrepo -RUN cd /gitrepo && \ - GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null) && \ - GITSHA1=$(git rev-parse --short HEAD) && \ - DATE=$(date) && \ - echo "${GIT_BRANCH} : ${GITSHA1} - ${DATE}" > $ROOTFS/etc/boot2docker - -# Download Tiny Core Linux rootfs -RUN cd $ROOTFS && zcat /tcl_rootfs.gz | cpio -f -i -H newc -d --no-absolute-filenames - -# Change MOTD -RUN mv $ROOTFS/usr/local/etc/motd $ROOTFS/etc/motd - -# Make sure we have the correct bootsync -RUN mv $ROOTFS/bootsync.sh $ROOTFS/opt/bootsync.sh -RUN chmod +x $ROOTFS/opt/bootsync.sh - -# Make sure we have the correct shutdown -RUN mv $ROOTFS/shutdown.sh $ROOTFS/opt/shutdown.sh -RUN chmod +x $ROOTFS/opt/shutdown.sh - -#add serial console -RUN echo "ttyS0:2345:respawn:/sbin/getty -l /usr/local/bin/autologin 9600 ttyS0 vt100" >> $ROOTFS/etc/inittab -RUN echo "#!/bin/sh" > $ROOTFS/usr/local/bin/autologin && \ - echo "/bin/login -f docker" >> $ROOTFS/usr/local/bin/autologin && \ - chmod 755 $ROOTFS/usr/local/bin/autologin - -RUN /make_iso.sh -CMD ["cat", "boot2docker.iso"] +FROM debian:buster-slim + +SHELL ["/bin/bash", "-Eeuo", "pipefail", "-xc"] + +RUN apt-get update; \ + apt-get install -y --no-install-recommends \ + bash-completion \ + bc \ + bison \ + ca-certificates \ + cpio \ + flex \ + gcc \ + git \ + gnupg dirmngr \ + golang-go \ + kmod \ + libc6-dev \ + libelf-dev \ + libssl-dev \ + make \ + p7zip-full \ + patch \ + squashfs-tools \ + wget \ + xorriso \ + xz-utils \ + ; \ + rm -rf /var/lib/apt/lists/* + +# cleaner wget output +RUN echo 'progress = dot:giga' >> ~/.wgetrc; \ +# color prompt (better debugging/devel) + cp /etc/skel/.bashrc ~/ + +WORKDIR /rootfs + +# updated via "update.sh" +ENV TCL_MIRRORS http://distro.ibiblio.org/tinycorelinux http://repo.tinycorelinux.net +ENV TCL_MAJOR 11.x +ENV TCL_VERSION 11.0 + +# http://distro.ibiblio.org/tinycorelinux/8.x/x86_64/archive/8.2.1/distribution_files/rootfs64.gz.md5.txt +# updated via "update.sh" +ENV TCL_ROOTFS="rootfs64.gz" TCL_ROOTFS_MD5="ea8699a39115289ed00d807eac4c3118" + +COPY files/tce-load.patch files/udhcpc.patch /tcl-patches/ + +RUN for mirror in $TCL_MIRRORS; do \ + if \ + { \ + wget -O /rootfs.gz "$mirror/$TCL_MAJOR/x86_64/archive/$TCL_VERSION/distribution_files/$TCL_ROOTFS" \ +# 9.x doesn't seem to use ".../archive/X.Y.Z/..." in the same way as 8.x :( + || wget -O /rootfs.gz "$mirror/$TCL_MAJOR/x86_64/release/distribution_files/$TCL_ROOTFS" \ + ; } && echo "$TCL_ROOTFS_MD5 */rootfs.gz" | md5sum -c - \ + ; then \ + break; \ + fi; \ + done; \ + echo "$TCL_ROOTFS_MD5 */rootfs.gz" | md5sum -c -; \ + zcat /rootfs.gz | cpio \ + --extract \ + --make-directories \ + --no-absolute-filenames \ + ; \ + rm /rootfs.gz; \ + \ + for patch in /tcl-patches/*.patch; do \ + patch \ + --input "$patch" \ + --strip 1 \ + --verbose \ + ; \ + done; \ + \ + { \ + echo '# https://1.1.1.1/'; \ + echo 'nameserver 1.1.1.1'; \ + echo 'nameserver 1.0.0.1'; \ + echo; \ + echo '# https://developers.google.com/speed/public-dns/'; \ + echo 'nameserver 8.8.8.8'; \ + echo 'nameserver 8.8.4.4'; \ + } > etc/resolv.conf; \ + cp etc/resolv.conf etc/resolv.conf.b2d; \ + { \ + echo '#!/usr/bin/env bash'; \ + echo 'set -Eeuo pipefail'; \ + echo "cd '$PWD'"; \ + echo 'cp -T etc/resolv.conf etc/resolv.conf.bak'; \ + echo 'cp -T /etc/resolv.conf etc/resolv.conf'; \ + echo 'cp -T /proc/cpuinfo proc/cpuinfo 2>/dev/null || :'; \ + echo 'trap "mv -T etc/resolv.conf.bak etc/resolv.conf || :; rm proc/cpuinfo 2>/dev/null || :" EXIT'; \ + echo 'env -i PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" TERM="$TERM" chroot '"'$PWD'"' "$@"'; \ + } > /usr/local/bin/tcl-chroot; \ + chmod +x /usr/local/bin/tcl-chroot + +# add new "docker" user (and replace "tc" user usage with "docker") +RUN tcl-chroot adduser \ + -h /home/docker \ + -g 'Docker' \ + -s /bin/sh \ + -G staff \ + -D \ + -u 1000 \ + docker \ + ; \ + echo 'docker:tcuser' | tcl-chroot chpasswd; \ + echo 'docker ALL = NOPASSWD: ALL' >> etc/sudoers; \ + sed -i 's/USER="tc"/USER="docker"/g' etc/init.d/tc-* etc/init.d/services/* + +# https://github.com/tatsushid/docker-tinycore/blob/017b258a08a41399f65250c9865a163226c8e0bf/8.2/x86_64/Dockerfile +RUN mkdir -p proc; \ + touch proc/cmdline; \ + mkdir -p tmp/tce/optional usr/local/tce.installed/optional; \ + chown -R root:staff tmp/tce usr/local/tce.installed; \ + chmod -R g+w tmp/tce; \ + ln -sT ../../tmp/tce etc/sysconfig/tcedir; \ + echo -n docker > etc/sysconfig/tcuser; \ + tcl-chroot sh -c '. /etc/init.d/tc-functions && setupHome' + +# as of squashfs-tools 4.4, TCL's unsquashfs is broken... (fails to unsquashfs *many* core tcz files) +# https://github.com/plougher/squashfs-tools/releases +ENV SQUASHFS_VERSION 4.4 +RUN wget -O squashfs.tgz "https://github.com/plougher/squashfs-tools/archive/$SQUASHFS_VERSION.tar.gz"; \ + tar --directory=/usr/src --extract --file=squashfs.tgz; \ + make -C "/usr/src/squashfs-tools-$SQUASHFS_VERSION/squashfs-tools" \ + -j "$(nproc)" \ +# https://github.com/plougher/squashfs-tools/blob/4.4/squashfs-tools/Makefile#L1 + GZIP_SUPPORT=1 \ +# XZ_SUPPORT=1 \ +# LZO_SUPPORT=1 \ +# LZ4_SUPPORT=1 \ +# ZSTD_SUPPORT=1 \ + EXTRA_CFLAGS='-static' \ + EXTRA_LDFLAGS='-static' \ + INSTALL_DIR="$PWD/usr/local/bin" \ + install \ + ; \ + tcl-chroot unsquashfs -v || : + +RUN { \ + echo '#!/bin/bash -Eeux'; \ + echo 'tcl-chroot su -c "tce-load -wicl \"\$@\"" docker -- - "$@"'; \ + } > /usr/local/bin/tcl-tce-load; \ + chmod +x /usr/local/bin/tcl-tce-load + +RUN tcl-tce-load bash; \ + tcl-chroot bash --version; \ +# delete all the TCL user-specific profile/rc files -- they have odd settings like auto-login from interactive root directly to "tcuser" +# (and the bash-provided defaults are reasonably sane) + rm -vf \ + home/docker/.ashrc \ + home/docker/.bashrc \ + home/docker/.profile \ + root/.ashrc \ + root/.bashrc \ + root/.profile \ + ; \ + echo 'source /etc/profile' > home/docker/.profile; \ + echo 'source /etc/profile' > root/.profile; \ +# swap "docker" (and "root") user shell from /bin/sh to /bin/bash now that it exists + sed -ri '/^(docker|root):/ s!:[^:]*$!:/bin/bash!' etc/passwd; \ + grep -E '^root:' etc/passwd | grep bash; \ + grep -E '^docker:' etc/passwd | grep bash; \ +# /etc/profile has a minor root bug where it uses "\#" in PS1 instead of "\$" (so we get a counter in our prompt instead of a "#") +# but also, does not use \[ and \] for escape sequences, so Bash readline gets confused, so let's replace it outright with something perty + grep '\\#' etc/profile; \ + echo 'PS1='"'"'\[\e[1;32m\]\u@\h\[\e[0m\]:\[\e[1;34m\]\w\[\e[0m\]\$ '"'"'' > etc/profile.d/boot2docker-ps1.sh; \ + source etc/profile.d/boot2docker-ps1.sh; \ + [ "$PS1" = '\[\e[1;32m\]\u@\h\[\e[0m\]:\[\e[1;34m\]\w\[\e[0m\]\$ ' ] + +# https://www.kernel.org/category/signatures.html#important-fingerprints +ENV LINUX_GPG_KEYS \ +# Linus Torvalds + ABAF11C65A2970B130ABE3C479BE3E4300411886 \ +# Greg Kroah-Hartman + 647F28654894E3BD457199BE38DBBDC86092693E + +# updated via "update.sh" +ENV LINUX_VERSION 4.19.103 + +RUN wget -O /linux.tar.xz "https://cdn.kernel.org/pub/linux/kernel/v${LINUX_VERSION%%.*}.x/linux-${LINUX_VERSION}.tar.xz"; \ + wget -O /linux.tar.asc "https://cdn.kernel.org/pub/linux/kernel/v${LINUX_VERSION%%.*}.x/linux-${LINUX_VERSION}.tar.sign"; \ + \ +# decompress (signature is for the decompressed file) + xz --decompress /linux.tar.xz; \ + [ -f /linux.tar ] && [ ! -f /linux.tar.xz ]; \ + \ +# verify + export GNUPGHOME="$(mktemp -d)"; \ + for key in $LINUX_GPG_KEYS; do \ + for mirror in \ + ha.pool.sks-keyservers.net \ + pgp.mit.edu \ + hkp://p80.pool.sks-keyservers.net:80 \ + ipv4.pool.sks-keyservers.net \ + keyserver.ubuntu.com \ + hkp://keyserver.ubuntu.com:80 \ + ; do \ + if gpg --batch --verbose --keyserver "$mirror" --keyserver-options timeout=5 --recv-keys "$key"; then \ + break; \ + fi; \ + done; \ + gpg --batch --fingerprint "$key"; \ + done; \ + gpg --batch --verify /linux.tar.asc /linux.tar; \ + gpgconf --kill all; \ + rm -rf "$GNUPGHOME"; \ + \ +# extract + tar --extract --file /linux.tar --directory /usr/src; \ + rm /linux.tar /linux.tar.asc; \ + ln -sT "linux-$LINUX_VERSION" /usr/src/linux; \ + [ -d /usr/src/linux ] + +RUN { \ + echo '#!/usr/bin/env bash'; \ + echo 'set -Eeuo pipefail'; \ + echo 'while [ "$#" -gt 0 ]; do'; \ + echo 'conf="${1%%=*}"; shift'; \ + echo 'conf="${conf#CONFIG_}"'; \ +# https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt +# TODO somehow capture "if" directives (https://github.com/torvalds/linux/blob/52e60b754438f34d23348698534e9ca63cd751d7/drivers/message/fusion/Kconfig#L12) since they're dependency related (can't set "CONFIG_FUSION_SAS" without first setting "CONFIG_FUSION") + echo 'find /usr/src/linux/ \ + -name Kconfig \ + -exec awk -v conf="$conf" '"'"' \ + $1 ~ /^(menu)?config$/ && $2 == conf { \ + yes = 1; \ + printf "-- %s:%s --\n", FILENAME, FNR; \ + print; \ + next; \ + } \ + $1 ~ /^(end)?((menu)?config|choice|comment|menu|if|source)$/ { yes = 0; next } \ +# TODO parse help text properly (indentation-based) to avoid false positives when scraping deps + yes { print; next } \ + '"'"' "{}" + \ + '; \ + echo 'done'; \ + } > /usr/local/bin/linux-kconfig-info; \ + chmod +x /usr/local/bin/linux-kconfig-info; \ + linux-kconfig-info CGROUPS + +COPY files/kernel-config.d /kernel-config.d + +RUN setConfs="$(grep -vEh '^[#-]' /kernel-config.d/* | sort -u)"; \ + unsetConfs="$(sed -n 's/^-//p' /kernel-config.d/* | sort -u)"; \ + IFS=$'\n'; \ + setConfs=( $setConfs ); \ + unsetConfs=( $unsetConfs ); \ + unset IFS; \ + \ + make -C /usr/src/linux \ + defconfig \ + kvmconfig \ + xenconfig \ + > /dev/null; \ + \ + ( \ + set +x; \ + for conf in "${unsetConfs[@]}"; do \ + sed -i -e "s!^$conf=.*\$!# $conf is not set!" /usr/src/linux/.config; \ + done; \ + for confV in "${setConfs[@]}"; do \ + conf="${confV%%=*}"; \ + sed -ri -e "s!^($conf=.*|# $conf is not set)\$!$confV!" /usr/src/linux/.config; \ + if ! grep -q "^$confV\$" /usr/src/linux/.config; then \ + echo "$confV" >> /usr/src/linux/.config; \ + fi; \ + done; \ + ); \ + make -C /usr/src/linux olddefconfig; \ + set +x; \ + ret=; \ + for conf in "${unsetConfs[@]}"; do \ + if grep "^$conf=" /usr/src/linux/.config; then \ + echo "$conf is set!"; \ + ret=1; \ + fi; \ + done; \ + for confV in "${setConfs[@]}"; do \ + if ! grep -q "^$confV\$" /usr/src/linux/.config; then \ + kconfig="$(linux-kconfig-info "$confV")"; \ + echo >&2; \ + echo >&2 "'$confV' is not set:"; \ + echo >&2; \ + echo >&2 "$kconfig"; \ + echo >&2; \ + for dep in $(awk '$1 == "depends" && $2 == "on" { $1 = ""; $2 = ""; gsub(/[^a-zA-Z0-9_-]+/, " "); print }' <<<"$kconfig"); do \ + grep >&2 -E "^CONFIG_$dep=|^# CONFIG_$dep is not set$" /usr/src/linux/.config || :; \ + done; \ + echo >&2; \ + ret=1; \ + fi; \ + done; \ + [ -z "$ret" ] || exit "$ret" + +RUN make -C /usr/src/linux -j "$(nproc)" bzImage modules; \ + make -C /usr/src/linux INSTALL_MOD_PATH="$PWD" modules_install +RUN mkdir -p /tmp/iso/boot; \ + cp -vLT /usr/src/linux/arch/x86_64/boot/bzImage /tmp/iso/boot/vmlinuz + +RUN tcl-tce-load \ + acpid \ + bash-completion \ + ca-certificates \ + curl \ + e2fsprogs \ + git \ + iproute2 \ + iptables \ + ncursesw-terminfo \ + nfs-utils \ + openssh \ + openssl-1.1.1 \ + parted \ + procps-ng \ + rsync \ + tar \ + util-linux \ + xz + +# bash-completion puts auto-load in /usr/local/etc/profile.d instead of /etc/profile.d +# (this one-liner is the same as the loop at the end of /etc/profile with an adjusted search path) +RUN echo 'for i in /usr/local/etc/profile.d/*.sh ; do if [ -r "$i" ]; then . $i; fi; done' > etc/profile.d/usr-local-etc-profile-d.sh; \ +# Docker expects to find certs in /etc/ssl + ln -svT ../usr/local/etc/ssl etc/ssl; \ +# make sure the Docker group exists and we're part of it + tcl-chroot sh -eux -c 'addgroup -S docker && addgroup docker docker' + +# install kernel headers so we can use them for building xen-utils, etc +RUN make -C /usr/src/linux INSTALL_HDR_PATH=/usr/local headers_install + +# http://download.virtualbox.org/virtualbox/ +# updated via "update.sh" +ENV VBOX_VERSION 5.2.36 +# https://www.virtualbox.org/download/hashes/$VBOX_VERSION/SHA256SUMS +ENV VBOX_SHA256 6124287b7a1790436a9b0b2601154b50c6cd6e680aeff45c61d03ee1158f3eb9 +# (VBoxGuestAdditions_X.Y.Z.iso SHA256, for verification) + +RUN wget -O /vbox.iso "https://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso"; \ + echo "$VBOX_SHA256 */vbox.iso" | sha256sum -c -; \ + 7z x -o/ /vbox.iso VBoxLinuxAdditions.run; \ + rm /vbox.iso; \ + sh /VBoxLinuxAdditions.run --noexec --target /usr/src/vbox; \ + mkdir /usr/src/vbox/amd64; \ + 7z x -so /usr/src/vbox/VBoxGuestAdditions-amd64.tar.bz2 | tar --extract --directory /usr/src/vbox/amd64; \ + rm /usr/src/vbox/VBoxGuestAdditions-*.tar.bz2; \ + ln -sT "vboxguest-$VBOX_VERSION" /usr/src/vbox/amd64/src/vboxguest +RUN make -C /usr/src/vbox/amd64/src/vboxguest -j "$(nproc)" \ + KERN_DIR='/usr/src/linux' \ + KERN_VER="$(< /usr/src/linux/include/config/kernel.release)" \ + vboxguest vboxsf \ + ; \ + cp -v /usr/src/vbox/amd64/src/vboxguest/*.ko lib/modules/*/; \ +# create hacky symlink so these binaries can work as-is + ln -sT lib lib64; \ + cp -v /usr/src/vbox/amd64/other/mount.vboxsf /usr/src/vbox/amd64/sbin/VBoxService sbin/; \ + cp -v /usr/src/vbox/amd64/bin/VBoxControl bin/ + +# TCL includes VMware's open-vm-tools 10.2.0.1608+ (no reason to compile that ourselves) +RUN tcl-tce-load open-vm-tools; \ + tcl-chroot vmhgfs-fuse --version; \ + tcl-chroot vmtoolsd --version + +ENV PARALLELS_VERSION 13.3.0-43321 + +RUN wget -O /parallels.tgz "https://download.parallels.com/desktop/v${PARALLELS_VERSION%%.*}/$PARALLELS_VERSION/ParallelsTools-$PARALLELS_VERSION-boot2docker.tar.gz"; \ + mkdir /usr/src/parallels; \ + tar --extract --file /parallels.tgz --directory /usr/src/parallels --strip-components 1; \ + rm /parallels.tgz +RUN cp -vr /usr/src/parallels/tools/* ./; \ + make -C /usr/src/parallels/kmods -f Makefile.kmods -j "$(nproc)" installme \ + SRC='/usr/src/linux' \ + KERNEL_DIR='/usr/src/linux' \ + KVER="$(< /usr/src/linux/include/config/kernel.release)" \ + PRL_FREEZE_SKIP=1 \ + ; \ + find /usr/src/parallels/kmods -name '*.ko' -exec cp -v '{}' lib/modules/*/ ';'; \ + tcl-chroot prltoolsd -V + +# https://github.com/xenserver/xe-guest-utilities/tags +# updated via "update.sh" +ENV XEN_VERSION 7.18.0 + +RUN wget -O /xen.tgz "https://github.com/xenserver/xe-guest-utilities/archive/v$XEN_VERSION.tar.gz"; \ + mkdir /usr/src/xen; \ + tar --extract --file /xen.tgz --directory /usr/src/xen --strip-components 1; \ + rm /xen.tgz +# download "golang.org/x/sys/unix" dependency (new in 7.14.0) +RUN cd /usr/src/xen; \ + mkdir -p GOPATH/src/golang.org/x/sys; \ + wget -O sys.tgz 'https://github.com/golang/sys/archive/fc99dfbffb4e5ed5758a37e31dd861afe285406b.tar.gz'; \ + tar -xf sys.tgz -C GOPATH/src/golang.org/x/sys --strip-components 1; \ + rm sys.tgz +RUN GOPATH='/usr/src/xen/GOPATH' make -C /usr/src/xen -j "$(nproc)" PRODUCT_VERSION="$XEN_VERSION" RELEASE='boot2docker'; \ + tar --extract --file "/usr/src/xen/build/dist/xe-guest-utilities_$XEN_VERSION-boot2docker_x86_64.tgz"; \ + tcl-chroot xenstore || [ "$?" = 1 ] + +# Hyper-V KVP Daemon +RUN make -C /usr/src/linux/tools/hv hv_kvp_daemon; \ + cp /usr/src/linux/tools/hv/hv_kvp_daemon usr/local/sbin/; \ + tcl-chroot hv_kvp_daemon --help || [ "$?" = 1 ] + +# scan all built modules for kernel loading +RUN tcl-chroot depmod "$(< /usr/src/linux/include/config/kernel.release)" + +# https://github.com/tianon/cgroupfs-mount/releases +ENV CGROUPFS_MOUNT_VERSION 1.4 + +RUN wget -O usr/local/sbin/cgroupfs-mount "https://github.com/tianon/cgroupfs-mount/raw/${CGROUPFS_MOUNT_VERSION}/cgroupfs-mount"; \ + chmod +x usr/local/sbin/cgroupfs-mount; \ + tcl-chroot cgroupfs-mount + +ENV DOCKER_VERSION 19.03.6 + +# Get the Docker binaries with version that matches our boot2docker version. +RUN DOCKER_CHANNEL='edge'; \ + case "$DOCKER_VERSION" in \ +# all the pre-releases go in the "test" channel + *-rc* | *-beta* | *-tp* ) DOCKER_CHANNEL='test' ;; \ + esac; \ + \ + wget -O /docker.tgz "https://download.docker.com/linux/static/$DOCKER_CHANNEL/x86_64/docker-$DOCKER_VERSION.tgz"; \ + tar -zxvf /docker.tgz -C "usr/local/bin" --strip-components=1; \ + rm /docker.tgz; \ + \ +# download bash-completion too + wget -O usr/local/share/bash-completion/completions/docker "https://github.com/docker/docker-ce/raw/v${DOCKER_VERSION}/components/cli/contrib/completion/bash/docker"; \ + \ + for binary in \ + containerd \ + ctr \ + docker \ + docker-init \ + dockerd \ + runc \ + ; do \ + chroot . "$binary" --version; \ + done + +# set up a few branding bits +RUN { \ + echo 'NAME=Boot2Docker'; \ + echo "VERSION=$DOCKER_VERSION"; \ + echo 'ID=boot2docker'; \ + echo 'ID_LIKE=tcl'; \ + echo "VERSION_ID=$DOCKER_VERSION"; \ + echo "PRETTY_NAME=\"Boot2Docker $DOCKER_VERSION (TCL $TCL_VERSION)\""; \ + echo 'ANSI_COLOR="1;34"'; \ + echo 'HOME_URL="https://github.com/boot2docker/boot2docker"'; \ + echo 'SUPPORT_URL="https://blog.docker.com/2016/11/introducing-docker-community-directory-docker-community-slack/"'; \ + echo 'BUG_REPORT_URL="https://github.com/boot2docker/boot2docker/issues"'; \ + } > etc/os-release; \ + sed -i 's/HOSTNAME="box"/HOSTNAME="boot2docker"/g' usr/bin/sethostname; \ + tcl-chroot sethostname; \ + [ "$(< etc/hostname)" = 'boot2docker' ]; \ + for num in 0 1 2 3; do \ + echo "server $num.boot2docker.pool.ntp.org"; \ + done > etc/ntp.conf; \ + rm -v etc/sysconfig/ntpserver + +COPY files/forgiving-getty files/shutdown ./usr/local/sbin/ + +# getty/inittab setup +RUN awk -F: ' \ + $1 == "tty1" { \ + print "tty1::respawn:/usr/local/sbin/forgiving-getty tty1"; \ + print "ttyS0::respawn:/usr/local/sbin/forgiving-getty ttyS0"; \ + next; \ + } \ + $1 ~ /^#?tty/ { next } \ + { print } \ + ' etc/inittab > etc/inittab.new; \ + mv etc/inittab.new etc/inittab; \ + grep forgiving-getty etc/inittab; \ +# /sbin/autologin likes to invoke getty directly, so we skip that noise (especially since we want to always autologin) +# (and getty's "-l" argument cannot accept anything but a single command to "exec" directly -- no args) +# (and getty's "-n" argument to autologin doesn't seem to work properly) + { \ + echo '#!/bin/sh'; \ + echo 'user="$(cat /etc/sysconfig/tcuser 2>/dev/null)"'; \ + echo 'exec login -f "${user:-docker}"'; \ + } > usr/local/sbin/autologin; \ + chmod +x usr/local/sbin/autologin + +# ssh config prep +RUN [ ! -f usr/local/etc/sshd_config ]; \ + sed -r \ + -e 's/^#(UseDNS[[:space:]])/\1/' \ + -e 's/^#(PermitUserEnvironment)[[:space:]].*$/\1 yes/' \ + usr/local/etc/ssh/sshd_config.orig \ + > usr/local/etc/ssh/sshd_config; \ + grep '^UseDNS no$' usr/local/etc/ssh/sshd_config; \ +# "This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin +# (and there are several important binaries in /usr/local/sbin that "docker-machine" needs to invoke like "ip" and "iptables") + grep '^PermitUserEnvironment yes$' usr/local/etc/ssh/sshd_config; \ + mkdir -p home/docker/.ssh; \ + echo 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' > home/docker/.ssh/environment; \ +# acpid prep (looks in the wrong path for /etc/acpi) + ln -sT ../usr/local/etc/acpi etc/acpi; \ + [ -z "$(ls -A etc/acpi/events)" ]; \ + { echo 'event=button/power'; echo 'action=/usr/bin/env poweroff'; } > etc/acpi/events/power; \ +# explicit UTC timezone (especially for container bind-mounting) + echo 'UTC' > etc/timezone; \ + cp -vL /usr/share/zoneinfo/UTC etc/localtime; \ +# "dockremap" user/group so "--userns-remap=default" works out-of-the-box + tcl-chroot addgroup -S dockremap; \ + tcl-chroot adduser -S -G dockremap dockremap; \ + echo 'dockremap:165536:65536' | tee etc/subuid | tee etc/subgid + +RUN savedAptMark="$(apt-mark showmanual)"; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + isolinux \ + syslinux-common \ + ; \ + rm -rf /var/lib/apt/lists/*; \ + mkdir -p /tmp/iso/isolinux; \ + cp -v \ + /usr/lib/ISOLINUX/isolinux.bin \ + /usr/lib/syslinux/modules/bios/ldlinux.c32 \ + /usr/lib/syslinux/modules/bios/libutil.c32 \ + /usr/lib/syslinux/modules/bios/menu.c32 \ + /tmp/iso/isolinux/ \ + ; \ + cp -v /usr/lib/ISOLINUX/isohdpfx.bin /tmp/; \ + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark; \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false +COPY files/isolinux.cfg /tmp/iso/isolinux/ + +COPY files/init.d/* ./etc/init.d/ +COPY files/bootsync.sh ./opt/ + +# temporary boot debugging aid +#RUN sed -i '2i set -x' etc/init.d/tc-config + +COPY files/make-b2d-iso.sh /usr/local/bin/ +RUN time make-b2d-iso.sh; \ + du -hs /tmp/boot2docker.iso + +CMD ["sh", "-c", "[ -t 1 ] && exec bash || exec cat /tmp/boot2docker.iso"] diff --git a/FAQ.md b/FAQ.md new file mode 100644 index 000000000..ec9e58241 --- /dev/null +++ b/FAQ.md @@ -0,0 +1,68 @@ +# FAQ + +## I've just installed a new Boot2Docker and I get `client and server don't have the same version` + +There's a good chance that your Boot2Docker virtual machine existed before you +upgraded your Docker client. + +## How can I solve my problems with SSH? + +If `ssh` complains about the keys: + +``` +$ ssh-keygen -R '[localhost]:2022' +``` + +## Login as root + +Run `sudo -s` as the docker user. + +## What is the Boot2Docker distribution based on? + +It is based on a stripped down [Tiny Core Linux](http://tinycorelinux.net). + +## Persistent partition choice + +Boot2Docker will first try to mount a partition labeled `boot2docker-data`, if +that doesn't exist, it will pick the first `ext4` partition listed by `blkid`. + +## Local Customisation (with persistent partition) + +Changes outside of the `/var/lib/docker` and `/var/lib/boot2docker` directories +will be lost after powering down or restarting the boot2docker VM. However, if +you have a persistence partition (created automatically by `boot2docker init`), +you can make customisations that are run at the end of boot initialisation by +creating a script at `/var/lib/boot2docker/bootlocal.sh`. + +From Boot2Docker version 1.6.0, you can also specify steps that are run before +the Docker daemon is started, using `/var/lib/boot2docker/bootsync.sh`. + +You can also set variables that will be used during the boot initialisation (after +the automount) by setting them in `/var/lib/boot2docker/profile` + +For example, to download `pipework`, install its pre-requisites (which you can +download using `tce-load -w package.tcz`), and then start a container: + +```bash +#!/bin/sh + + +if [ ! -e /var/lib/boot2docker/pipework ]; then + curl -o /var/lib/boot2docker/pipework https://raw.github.com/jpetazzo/pipework/master/pipework + chmod 777 /var/lib/boot2docker/pipework +fi + +#need ftp://ftp.nl.netbsd.org/vol/2/metalab/distributions/tinycorelinux/4.x/x86/tcz/bridge-utils.tcz +#and iproute2 (and its friends) +su - docker -c "tce-load -i /var/lib/boot2docker/*.tcz" + +#start my management container if its not already there +docker run -d -v /var/run/docker.sock:/var/run/docker.sock $(which docker):$(which docker) -name dom0 svens-dom0 +``` + +Or, if you need to tell the Docker daemon to use a specific DNS server, add the +following to `/var/lib/boot2docker/profile`: + +```bash +EXTRA_ARGS="$EXTRA_ARGS --dns 192.168.1.2" +``` diff --git a/LICENSE b/LICENSE index e06d20818..9c8e20ab8 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,7 @@ -Apache License + + Apache License Version 2.0, January 2004 - http://www.apache.org/licenses/ + https://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION @@ -175,28 +176,16 @@ Apache License END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} + Copyright 2013-2017 Docker, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. - diff --git a/MAINTAINERS b/MAINTAINERS index 95a9b507a..fb7fea178 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1,4 +1,2 @@ -Steeve Morin (@steeve) -Sven Dowideit (@SvenDowideit) Tianon Gravi (@tianon) -Michael Crosby (@crosbymichael) +Joseph Ferguson (@yosifkit) diff --git a/README.md b/README.md index 615da235b..2e40699f1 100644 --- a/README.md +++ b/README.md @@ -1,180 +1,161 @@ -Boot2Docker -=========== +# DEPRECATED -Boot2Docker is a lightweight Linux distribution made specifically to run [Docker] -(https://www.docker.io/) containers. It runs completely from RAM, is a small ~24MB -download and boots in ~5s (YMMV). +Boot2Docker is officially deprecated and unmaintained. It is recommended that users transition from Boot2Docker over to [Docker Desktop](https://www.docker.com/products/docker-desktop) instead (especially with [the new WSL2 backend, which supports Windows 10 Home](https://www.docker.com/blog/docker-desktop-for-windows-home-is-here/)). +These days there are a *lot* of tools designed to help spin up environments, and it's relatively easy to get something up and running with Docker installed with minimal effort. -Installation instructions for [OS X](http://docs.docker.io/installation/mac/) and [Windows](http://docs.docker.io/installation/windows/) available on the Docker documentation site. +# Boot2Docker +[![Build Status](https://travis-ci.org/boot2docker/boot2docker.svg?branch=master)](https://travis-ci.org/boot2docker/boot2docker) -The [ISO can be download here]( -https://github.com/boot2docker/boot2docker/releases). - +Boot2Docker is a lightweight Linux distribution made specifically to run +[Docker](https://www.docker.com/) containers. It runs completely from RAM, is a +~45MB download and boots quickly. ## Features -* Kernel 3.15.3 with AUFS, Docker v1.1.1 - using libcontainer + +* Recent Linux Kernel, Docker pre-installed and ready-to-use +* VM guest additions (VirtualBox, Parallels, VMware, XenServer) * Container persistence via disk automount on `/var/lib/docker` * SSH keys persistence via disk automount -> **Note:** This version of Docker uses port **2375**, the newly registered [IANA +> **Note:** Boot2Docker uses port **2376**, the [registered IANA Docker TLS > port](http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=docker) -## Installation +## Caveat Emptor -### All in one Installers for OS X and MS Windows +Boot2Docker is designed and tuned for development. +**Using it for any kind of production workloads is highly discouraged.** -We have built installers for [OS X]( -https://github.com/boot2docker/osx-installer/releases) and [MS Windows]( -https://github.com/boot2docker/windows-installer/releases) which will install -the boot2docker management tool, VirtualBox and any tools needed to run Boot2Docker. +## Installation -### Installation using the boot2docker management tool +Installation should be performed via [Docker Toolbox](https://docs.docker.com/toolbox/) +which installs [Docker Machine](https://docs.docker.com/machine/overview/), +the Boot2Docker VM, and other necessary tools. -If you have the prerequisites, or want to help develop Boot2Docker, you can -also download the appropriate [boot2docker management release]( -https://github.com/boot2docker/boot2docker-cli/releases) and use it to download -the [`boot2docker.iso`]( -https://github.com/boot2docker/boot2docker/releases). +The [ISO can be downloaded +here](https://github.com/boot2docker/boot2docker/releases). ## How to use -The `boot2docker` managment tool leverages VirtualBox's `VBoxManage` to -initialise, start, stop and delete the VM right from the command line. - -#### Initialize -``` -$ boot2docker init -``` - -#### Start VM -``` -$ boot2docker up -``` - -#### Upgrade the Boot2docker VM image -``` -$ boot2docker stop -$ boot2docker download -$ boot2docker up -``` - -If your Boot2Docker virtual machine was created prior to 0.11.1-pre1, its best to -delete - `boot2docker delete` and then `boot2docker init` to create a new VM. - -The main changes are to add a `/var/lib/boot2docker/userdata.tar` file that is -un-tarred into the `/home/docker` directory on boot. This file contains a -`.ssh/authorized_keys` and `.ssh/authorized_keys2` files containing a public sshkey. +Boot2Docker is used via [Docker Machine](https://docs.docker.com/machine/overview/) +(installed as part of Docker Toolbox) which leverages VirtualBox's `VBoxManage` to +initialise, start, stop and delete the VM right from the command line. ## More information -See [Frequently asked questions](doc/FAQ.md) for more details. +See [Frequently asked questions](FAQ.md) for more details. -#### Container Port redirection +#### Boot script log -The latest version of `boot2docker` sets up two network adaptors, one using NAT -to allow the VM to download images and files from the internet, and a host only -network that Docker container's ports will be exposed on. +The bootup script output is logged to `/boot.log`, so you can see (and +potentially debug) what happens. Note that this is not persistent between boots +because we're logging from before the persistence partition is mounted (and it +may not exist at all). -If you run a container with an exposed port: +#### Docker daemon options -``` - $ docker run --rm -i -t -p 80:80 apache -``` +If you need to customize the options used to start the Docker daemon, you can +do so by adding entries to the `/var/lib/boot2docker/profile` file on the +persistent partition inside the Boot2Docker virtual machine. Then restart the +daemon. -Then you should be able to access that apache server using the IP address reported -to you using: +The following example will enable core dumps inside containers, but you can +specify any other options you may need. +```console +docker-machine ssh default -t sudo vi /var/lib/boot2docker/profile +# Add something like: +# EXTRA_ARGS="--default-ulimit core=-1" +docker-machine restart default ``` - $ boot2docker ip - 192.168.59.103 -``` - -Typically, it is 192.168.59.103, but it can change as its dynamically allocated -by the VirtualBox DHCP server. -If you want to share container ports with other computers on your LAN, you will -need to set up [NAT adaptor based port forwarding]( -https://github.com/boot2docker/boot2docker/blob/master/doc/WORKAROUNDS.md) +#### Installing secure Registry certificates -#### Folder sharing +As discussed in the [Docker Engine documentation](https://docs.docker.com/engine/security/certificates/#/understanding-the-configuration) +certificates should be placed at `/etc/docker/certs.d/hostname/ca.crt` +where `hostname` is your Registry server's hostname. -Boot2Docker is essentially a remote Docker engine with a read only filesystem -(other than Docker images, containers and volumes). The most scalable and portable -way to share disk space between your local desktop and a Docker container is by -creating a volume container and then sharing that to where it's needed. +```console +docker-machine scp certfile default:ca.crt +docker-machine ssh default +sudo mv ~/ca.crt /etc/docker/certs.d/hostname/ca.crt +exit +docker-machine restart +``` -One well tested approach is to use a file sharing container like `svendowideit/samba` +Alternatively the older Boot2Docker method can be used and you can add your +Registry server's public certificate (in `.pem` or `.crt` format) into +the `/var/lib/boot2docker/certs/` directory, and Boot2Docker will automatically +load it from the persistence partition at boot. -e.g: +You may need to add several certificates (as separate `.pem` or `.crt` files) to this +directory, depending on the CA signing chain used for your certificate. -``` - # Make a volume container (only need to do this once) - $ docker run -v /data --name my-data busybox true - # Share it using Samba (Windows file sharing) - $ docker run --rm -v /usr/local/bin/docker:/docker -v /var/run/docker.sock:/docker.sock svendowideit/samba my-data - # then find out the IP address of your Boot2Docker host - $ boot2docker ip - 192.168.59.103 -``` -Connect to the shared folder using Finder (OS X): +##### Insecure Registry - Connect to cifs://192.168.59.103/data - Once mounted, will appear as /Volumes/data +As of Docker version 1.3.1, if your registry doesn't support HTTPS, you must add it as an +insecure registry. +```console +$ docker-machine ssh default "echo $'EXTRA_ARGS=\"--insecure-registry \"' | sudo tee -a /var/lib/boot2docker/profile && sudo /etc/init.d/docker restart" +``` -Or on Windows, use Explorer to Connect to: +then you should be able to do a docker push/pull. - \\192.168.59.103\data +#### Running behind a VPN (Cisco AnyConnect, etc) +So sometimes if you are behind a VPN, you'll get an `i/o timeout` error. +The current work around is to forward the port in the boot2docker-vm. -You can then use your data container from any container you like: +If you get an error like the following: +```no-highlight +Sending build context to Docker daemon +2014/11/19 13:53:33 Post https://192.168.59.103:2376/v1.15/build?rm=1&t=your-tag: dial tcp 192.168.59.103:2376: i/o timeout ``` - docker run -it --volumes-from my-data ubuntu -``` - -You will find the "data" volume mounted as "/data" in that container. Note that "my-data" is the name of volume container, this is shared via the "network" by the "samba" container that refers to it by name. So, in this example, if you were on OS-X you now have /Volumes/data and /data in container being shared. You can change the paths as needed. - -#### Customize -The `boot2docker` management tool allows you to customise many options from both the -commandline, or by setting them in its configuration file. -see `boot2docker config` for more (including the format of the configuration file). +That means you have to forward port `2376`, which can be done like so: +* Open VirtualBox +* Open Settings > Network for your 'default' VM +* Select the adapter that is 'Attached To': 'NAT' and click 'Port Forwarding'. +* Add a new rule: + - Protocol: TCP + - Host IP: 127.0.0.1 + - Host Port: 5555 + - Guest Port: 2376 +* Set `DOCKER_HOST` to 'tcp://127.0.0.1:5555' #### SSH into VM + +```console +$ docker-machine ssh default ``` -$ boot2docker ssh -``` -Boot2Docker auto logs in using the generated SSH key, but if you want to SSH into -the machine manually (or you're not using a `boot2docker` managed VM), the credentials are: + +Docker Machine auto logs in using the generated SSH key, but if you want to SSH +into the machine manually (or you're not using a Docker Machine managed VM), the +credentials are: + ``` user: docker pass: tcuser ``` - #### Persist data -When you run `boot2docker init`, the `boot2docker` tool auto-creates -a disk that will be automounted and used to persist your docker data in -`/var/lib/docker` and `/var/lib/boot2docker`. -This virtual disk will be removed when you run `boot2docker delete`. -It will also persist the SSH keys of the machine. - -If you are not using the `boot2docker` VirtualBox manage tool, you can create -an `ext4` or `btrfs` formatted partition with the label `boot2docker-data` -(`mkfs.ext4 -L boot2docker-data /dev/sdX5`) to your VM or host, and -boot2docker will automount it on `/mnt/sdX` and then softlink -`/mnt/sdX/var/lib/docker` to `/var/lib/docker`. - - -#### Install on any device -To 'install' the ISO onto an SD card, USB-Stick or even empty hard disk, you can -use `dd if=boot2docker.iso of=/dev/sdX`. -This will create the small boot partition, and install an MBR. - -#### Build your own boot2docker.iso -Goto [How to build](doc/BUILD.md) for Documentation on how to build your own boot2docker ISOs. +Boot2docker uses [Tiny Core Linux](http://tinycorelinux.net), which runs from +RAM and so does not persist filesystem changes by default. + +When you run `docker-machine`, the tool auto-creates a disk that +will be automounted and used to persist your docker data in `/var/lib/docker` +and `/var/lib/boot2docker`. This virtual disk will be removed when you run +`docker-machine delete default`. It will also persist the SSH keys of the machine. +Changes outside of these directories will be lost after powering down or +restarting the VM. + +If you are not using the Docker Machine management tool, you can create an `ext4` +formatted partition with the label `boot2docker-data` (`mkfs.ext4 -L +boot2docker-data /dev/sdX5`) to your VM or host, and Boot2Docker will automount +it on `/mnt/sdX` and then softlink `/mnt/sdX/var/lib/docker` to +`/var/lib/docker`. diff --git a/boot2docker.go b/boot2docker.go deleted file mode 100644 index d078555ba..000000000 --- a/boot2docker.go +++ /dev/null @@ -1,4 +0,0 @@ -/* -The Go port of boot2docker management script has been split into its own repo, -please visit https://github.com/boot2docker/boot2docker-cli. -*/ diff --git a/doc/BUILD.md b/doc/BUILD.md deleted file mode 100644 index eaa457158..000000000 --- a/doc/BUILD.md +++ /dev/null @@ -1,48 +0,0 @@ -How to build boot2docker.iso locally -================================ - -The boot2docker.iso is built with Docker, via a Dockerfile. - -During `docker build` we -* fetch, patch with AUFS support and build the 3.15.3 Linux Kernel with Tiny Core base configuration -* build the base rootfs for boot2docker (not complete) -* build the rootfs, download the latest Docker release and create the `.iso` file on `/` of the container. - -Running the resultant image will cat the iso file to STDOUT. - -So the full build process goes like this: - -``` -# you will need more than 2GB memory -$ docker build -t boot2docker . && docker run --rm boot2docker > boot2docker.iso -``` - -Now you can install the iso to a USB drive, SD card, CD-Rom or hard-disk. The image contains -a Master Boot Record, and a partition table, so can be written to a raw device. - -``` - sudo dd if=boot2docker.iso of=/dev/sdX -``` - -Making your own customised boot2docker ISO -========================================== - -The boot2docker.iso release process takes advantage of -[docker.io Trusted Builds](https://index.docker.io/u/boot2docker/) so -rather than modifying the Dockerfile and re-building from scratch, -you can make a new ``Dockerfile`` that builds ``FROM boot2docker/boot2docker-rootfs`` -and then run that to generate your boot2docker.iso file: - - -``` -$ sudo docker pull boot2docker/boot2docker -$ echo "FROM boot2docker/boot2docker" > Dockerfile -$ echo "ADD . $ROOTFS/data/" >> Dockerfile -$ echo "RUN somescript.sh" >> Dockerfile -$ echo "RUN /make_iso.sh" >> Dockerfile -$ echo 'CMD ["cat", "boot2docker.iso"]' >> Dockerfile - -$ sudo docker build -t my-boot2docker-img . -$ sudo docker run --rm my-boot2docker-img > boot2docker.iso - -``` diff --git a/doc/FAQ.md b/doc/FAQ.md deleted file mode 100644 index 06e6723b8..000000000 --- a/doc/FAQ.md +++ /dev/null @@ -1,86 +0,0 @@ -FAQ -==== - -**What are the specs of the VM?** - -* CPU Cores: same as host (physical, not logical) -* 40gb HDD (auto-initialized at first boot) -* 1gb memory -* Autoboots to Boot2Docker -* `virtio` high performance networking -* NAT networked (Docker `2375->2375` and SSH `22->2022` are forwarded to the host) - -**How can I solve my problems with SSH?** - -If `ssh` complains about the keys: - -``` -$ ssh-keygen -R '[localhost]:2022' -``` - -**Login as root** - -Run `sudo -s` as the docker user. - -**What is the Boot2Docker distribution based on?** - -It is based on a stripped down [Tiny Core Linux](http://tinycorelinux.net). - -**Why not CoreOS?** - -I got asked that question a lot, so I thought I should put it here once and for -all. [CoreOS](http://coreos.com/) is targeted at building infrastructure and -distributed systems. I just wanted the fastest way to boot to Docker. - -**Persistent partition choice** - -Boot2Docker will first try to mount a partition labeled ``boot2docker-data``, if -that doesn't exist, it will pick the first ``ext4`` partition listed by ``blkid``. - -**Local Customisation (with persistent partition)** - -If you have a persistence partition, you can make customisations that are run at -the end of the boot initialisation in the ``/var/lib/boot2docker/bootlocal.sh`` file. - -You can also set variables that will be used during the boot initialisation (after -the automount) by setting them in `/var/lib/boot2docker/profile` - -For example, to download ``pipework``, install its pre-requisites (which you can -download using ``tce-load -w package.tcz``), and then start a container: - -``` -#!/bin/sh - - -if [ ! -e /var/lib/boot2docker/pipework ]; then - curl -o /var/lib/boot2docker/pipework https://raw.github.com/jpetazzo/pipework/master/pipework - chmod 777 /var/lib/boot2docker/pipework -fi - -#need ftp://ftp.nl.netbsd.org/vol/2/metalab/distributions/tinycorelinux/4.x/x86/tcz/bridge-utils.tcz -#and iproute2 (and its friends) -su - docker -c "tce-load -i /var/lib/boot2docker/*.tcz" - -#start my management container if its not already there -docker run -d -v /var/run/docker.sock:/var/run/docker.sock $(which docker):$(which docker) -name dom0 svens-dom0 -``` - -Or, if you need to tell the Docker daemon to use a specific DNS server, add the -following to ``/var/lib/boot2docker/profile``: - -``` -EXTRA_ARGS="--dns 192.168.1.2" -``` - -**What is the development process** - -We are implementing the same process as [Docker merge approval]( -https://github.com/dotcloud/docker/blob/master/CONTRIBUTING.md#merge-approval), -so all commits need to be done via pull requests, and will need 2 or more LGTMs. - -**Is boot2docker only for VirtualBox?** - -There are two parts of Boot2Docker: the ISO image, and the `boot2docker` management -tool to set up and mange a VM. The management tool only works with VirtualBox, -but the ISO image is designed to also be used with physical hardware. There -are no plans to make separate ISO images for different configurations. diff --git a/doc/WORKAROUNDS.md b/doc/WORKAROUNDS.md deleted file mode 100644 index 651904019..000000000 --- a/doc/WORKAROUNDS.md +++ /dev/null @@ -1,81 +0,0 @@ -Workarounds -=========== - -*Note: The following steps are meant as a temporary solution and won't be needed anymore in the future.* - -## Port forwarding - -Let's say your Docker container exposes the port 8000 and you want access it from -your other computers on your LAN. Run following command (and keep it open): - -```sh -$ boot2docker ssh -L 8000:localhost:8000 -``` - -Now you can access your container from your host machine under `localhost:8000`. - -## Port forwarding on steroids - -If you use a lot of containers which expose the same port, you have to use docker dynamic port forwarding. - -For example, running 3 **nginx** containers: - - - container-1 : 80 -> 49153 - - container-2 : 80 -> 49154 - - container-3 : 80 -> 49155 - -If you forward all 49XXX ports to your host, you can easily access all 3 web servers in you browser, without -using SSH port forwarding. - -``` sh -# vm must be powered off -for i in {49000..49900}; do - VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port$i,tcp,,$i,,$i"; - VBoxManage modifyvm "boot2docker-vm" --natpf1 "udp-port$i,udp,,$i,,$i"; -done -``` - -This makes `container-1` accessible at `localhost:49153`, and so on. - -In order to reverse this change, you can do: - -``` sh -# vm must be powered off -for i in {49000..49900}; do - VBoxManage modifyvm "boot2docker-vm" --natpf1 delete "tcp-port$i"; - VBoxManage modifyvm "boot2docker-vm" --natpf1 delete "udp-port$i"; -done -``` - -## BTRFS (ie, mkfs inside a privileged container) - -Note: AUFS on top of BTRFS has many, many issues, so the Docker engine's init script -will autodetect that `/var/lib/docker` is a `btrfs` partition and will set `-s btrfs` -for you. - -```console -docker@boot2docker:~$ docker pull debian:latest -Pulling repository debian -... -docker@boot2docker:~$ docker run -i -t --rm --privileged -v /dev:/hostdev debian bash -root@5c3507fcae63:/# fdisk /hostdev/sda # if you need to partition your disk -Command: o -Command: n -Select: p -Partition: -First sector: -Last sector: -Command: w -root@5c3507fcae63:/# apt-get update && apt-get install btrfs-tools -... -The following NEW package will be installed: - btrfs-tools -... -Setting up btrfs-tools (...) ... -root@5c3507fcae63:/# mkfs.btrfs -L boot2docker-data /hostdev/sda1 -... -fs created label boot2docker-data on /hostdev/sda1 -... -root@5c3507fcae63:/# exit -docker@boot2docker:~$ sudo reboot -``` diff --git a/files/bootsync.sh b/files/bootsync.sh new file mode 100755 index 000000000..39f59425f --- /dev/null +++ b/files/bootsync.sh @@ -0,0 +1,85 @@ +#!/bin/sh + +/etc/init.d/autoformat start +mkdir -p /var/lib/boot2docker +chown docker:docker /var/lib/boot2docker + +# make sure "/var/lib/boot2docker/etc" exists for docker-machine to write into and read "hostname" from it if it exists from a previous boot +# https://github.com/docker/machine/blob/7a9ce457496353549916e840874012a97e3d2782/libmachine/provision/boot2docker.go#L113 +mkdir -p /var/lib/boot2docker/etc +if [ -s /var/lib/boot2docker/etc/hostname ]; then + hostname="$(cat /var/lib/boot2docker/etc/hostname)" + sethostname "$hostname" +fi + +cgroupfs-mount + +mkdir -p /var/lib/boot2docker/log +chown docker /var/lib/boot2docker/log + +# wouldn't it be great if ntpd had a "log to XYZ file" option? (like crond does!) +ntpd -d -n -q >> /var/lib/boot2docker/log/ntp.log 2>&1 +ntpd -d -n >> /var/lib/boot2docker/log/ntp.log 2>&1 & + +# install certs from "/var/lib/boot2docker/certs" +for f in /var/lib/boot2docker/certs/*.pem /var/lib/boot2docker/certs/*.crt; do + [ -e "$f" ] || continue + # /usr/local/share/ca-certificates/**.crt gets loaded by "update-ca-certificates" + targetFile="/usr/local/share/ca-certificates/boot2docker/$(basename "$f")" + if [ "$targetFile" = "${targetFile%.crt}" ]; then + targetFile="$targetFile.crt" + fi + mkdir -p "$(dirname "$targetFile")" + ln -sfT "$f" "$targetFile" +done +if [ -d /usr/local/share/ca-certificates/boot2docker ]; then + /usr/local/tce.installed/ca-certificates +fi + +if [ -f /var/lib/boot2docker/profile ]; then + . /var/lib/boot2docker/profile +fi + +crond -L /var/lib/boot2docker/log/crond.log + +/etc/init.d/vbox start +if grep -qi vmware /sys/class/dmi/id/sys_vendor 2>/dev/null; then + # try to mount the root shared folder; this command can fail (if shared folders are disabled on the host, vmtoolsd will take care of the mount if they are enabled while the machine is running) + [ -d /mnt/hgfs ] || { mkdir -p /mnt/hgfs; vmhgfs-fuse -o allow_other .host:/ /mnt/hgfs; } + vmtoolsd --background /var/run/vmtoolsd.pid + # TODO evaluate /usr/local/etc/init.d/open-vm-tools further (does more than this short blurb, and doesn't invoke vmhgfs-fuse) +fi +if modprobe hv_utils > /dev/null 2>&1; then + hv_kvp_daemon +fi +/usr/local/etc/init.d/prltoolsd start +/etc/init.d/xe-linux-distribution start + +if [ -d /var/lib/boot2docker/ssh ]; then + rm -rf /usr/local/etc/ssh +else + mv /usr/local/etc/ssh /var/lib/boot2docker/ +fi +ln -sT /var/lib/boot2docker/ssh /usr/local/etc/ssh +for keyType in rsa dsa ecdsa ed25519; do # pre-generate a few SSH host keys to decrease the verbosity of /usr/local/etc/init.d/openssh + keyFile="/usr/local/etc/ssh/ssh_host_${keyType}_key" + [ ! -f "$keyFile" ] || continue + echo "Generating $keyFile" + ssh-keygen -q -t "$keyType" -N '' -f "$keyFile" +done +/usr/local/etc/init.d/openssh start + +/usr/local/etc/init.d/acpid start + +if [ -e /var/lib/boot2docker/bootsync.sh ]; then + sh /var/lib/boot2docker/bootsync.sh +fi + +# "env -i" thanks to https://github.com/moby/moby/issues/39009 ... +env -i PATH="$PATH" /etc/init.d/docker start + +if [ -e /var/lib/boot2docker/bootlocal.sh ]; then + sh /var/lib/boot2docker/bootlocal.sh & +fi + +/opt/bootlocal.sh & diff --git a/files/forgiving-getty b/files/forgiving-getty new file mode 100755 index 000000000..a2da60ae9 --- /dev/null +++ b/files/forgiving-getty @@ -0,0 +1,44 @@ +#!/bin/sh +set -e + +self="$(basename "$0")" +usage() { + cat <<-EOUSAGE + usage: $self + ie: $self tty1 -nl /sbin/autologin 38400 + $self ttyS1 -nl /sbin/autologin 9600 + EOUSAGE +} + +tty="$1" +if ! shift || [ -z "$tty" ]; then + usage >&2 + exit 1 +fi + +# https://github.com/systemd/systemd/blob/6a47fd894d601f7e8e88dec4cb35dfb7d7c15eff/src/getty-generator/getty-generator.c#L94-L116 +verify_tty() { + local dev="/dev/$1" + # can we read the given TTY file at all? + test -r "$dev" || return 1 + # we can! let's open it to file descriptor 42 + # (random file descriptor not likely to be in use already) + exec 42<"$dev" || return 1 + local ret=1 + # now that we've got it open, let's use "test" to check whether it's a TTY + # (we can't test a file directly, which is why we opened it first) + if test -t 42; then + ret=0 + fi + # finally, close our file descriptor (no longer necessary to keep open) + exec 42<&- || return 1 + return "$ret" +} + +while true; do + if verify_tty "$tty"; then + getty -n -l /usr/local/sbin/autologin 0 "$tty" + else + sleep 10 + fi +done diff --git a/files/init.d/autoformat b/files/init.d/autoformat new file mode 100755 index 000000000..dc89328f2 --- /dev/null +++ b/files/init.d/autoformat @@ -0,0 +1,196 @@ +#!/bin/sh +set -e + +if [ "$(id -u)" != 0 ]; then + echo >&2 "error: must be root to invoke $0" + exit 1 +fi + +diskLabel='boot2docker-data' +swapLabel='boot2dockerswap' # (swap has a character limit on labels) +b2dMagic='boot2docker, please format-me' + +# use blockdev to return the disk with the biggest size +_blockdev_report() { + # always ignore "zram" (compressed RAM / swap) + blockdev --report "$@" \ + | awk 'NR > 1 && $7 ~ /^\/dev\// { print $6, $7 }' \ + | sort -nr \ + | cut -d' ' -f2 \ + | grep -vE '^/dev/zram[0-9]*$' +} + +_find_device_to_format() { + local devices device deviceHeader deviceData + + # get a list of all attached storage (excluding CDs like sr0 and partitions like sda1 and xvda3) listed in order from biggest to smallest + devices="$(_blockdev_report | grep -vE '^/dev/(sr[0-9]+|(s|xv)d[a-z]+[0-9]+)$' || :)" + [ -n "$devices" ] || return + + # check all disks for "boot2docker, please format-me" magic string + for device in $devices; do + deviceHeader="$(dd if="$device" bs="${#b2dMagic}" count=1 2>/dev/null | tr -d '\0')" || continue + [ "$deviceHeader" = "$b2dMagic" ] || continue + + # save the "userdata" tarball for later use + echo >&2 "Saving userdata.tar" + dd if="$device" of=/userdata.tar bs=4096 count=1 > /dev/null + + echo "$device" + return + done + + # otherwise, return first unpartitioned disk + for device in $devices; do + deviceData="$(blkid "$device" 2>/dev/null || :)" + [ -z "$deviceData" ] || continue + echo "$device" + return + done +} + +_find_device() { + local device + + # check for an existing data partition (with the right label) + device="$(blkid -o device -l -t "LABEL=$diskLabel" || :)" + if [ -n "$device" ]; then + echo "$device" + return + fi + + device="$(_find_device_to_format || :)" + [ -n "$device" ] || return + + echo >&2 "Partitioning $device" + { + # use GPT (wave of the future and all that) + echo g + + # add a swap partition (so Docker doesn't complain about it missing) + echo n; echo 2; echo; echo +1000M + echo t; echo 19 + + # rest of the disk for boot2docker data + echo n; echo 1; echo; echo + + # write it! + echo w + } | fdisk "$device" > /dev/null + + echo >&2 "Formatting ${device}2 (swap)" + mkswap -L "$swapLabel" "${device}2" > /dev/null + + echo >&2 "Formatting ${device}1 (ext4)" + mkfs.ext4 -q -L "$diskLabel" -i 8192 "${device}1" > /dev/null + + echo "${device}1" + return +} + +_is_swap() { + # TCL will auto-swapon possible swap partitions, so chances are very high that our swap partition is already swapped -- we should check /proc/swaps + + grep -qE '^'"$1"'[[:space:]]' /proc/swaps +} + +_find_swap() { + local device devices + + # if we've got a swap device with _our_ label, use that + device="$(blkid -o device -l -t "LABEL=$swapLabel" || :)" + if [ -n "$device" ] && ! _is_swap "$device"; then + echo "$device" + return + fi + + # otherwise, find the biggest swap device available (ignoring the compressed swap device / zram TCL set up) + devices="$(blkid -o device -t 'TYPE=swap' || :)" + [ -n "$devices" ] || return + devices="$(_blockdev_report $devices || :)" + [ -n "$devices" ] || return + + for device in $devices; do + if ! _is_swap "$device"; then + echo "$device" + return + fi + done +} + +_mount() { + local device partName dockerUid dockerGid + + device="$(_find_device || :)" + [ -n "$device" ] || return + + partName="$(basename "$device")" + mkdir -p "/mnt/$partName" + + echo >&2 "Mounting $device to /mnt/$partName" + mount "$device" "/mnt/$partName" > /dev/null || return + + umount -f -l /var/lib/docker > /dev/null 2>&1 || : + + rm -rf /var/lib/docker /var/lib/boot2docker + mkdir -p \ + "/mnt/$partName/var/lib/boot2docker" \ + "/mnt/$partName/var/lib/docker" \ + /var/lib + ln -sf "/mnt/$partName/var/lib/boot2docker" /var/lib/boot2docker + ln -sf "/mnt/$partName/var/lib/docker" /var/lib/docker + + rm -rf "/mnt/$partName/tmp" + mv /tmp "/mnt/$partName/tmp" + ln -sf "/mnt/$partName/tmp" /tmp + + if [ -e /userdata.tar ]; then + mv /userdata.tar /var/lib/boot2docker/ + fi + + if [ -e /var/lib/boot2docker/userdata.tar ]; then + echo >&2 "Extracting userdata.tar into /home/docker" + tar -xf /var/lib/boot2docker/userdata.tar -C /home/docker + rm -f "/home/docker/$b2dMagic" + dockerUid="$(id -u docker)" + dockerGid="$(id -g docker)" + chown -R "$dockerUid:$dockerGid" /home/docker + fi + + echo "$device" + return +} +_swapon() { + local device + + device="$(_find_swap || :)" # _find_device will sometimes _create_ a swap device, so make sure it runs before this line + [ -n "$device" ] || return + + echo >&2 "Enabling swap device $device" + swapon "$device" > /dev/null + + echo "$device" + return +} + +start() { + local mountDevice swapDevice + + mountDevice="$(_mount || :)" + swapDevice="$(_swapon || :)" + + if [ -z "$mountDevice" ]; then + echo >&2 "error: unable to find a partition with the appropriate label ($diskLabel), an unpartitioned disk, or a disk containing the magic string ($b2dMagic)" + exit 1 + fi + + if [ -z "$swapDevice" ]; then + echo >&2 "warning: unable to find a partition with the swap label ($swapLabel) or TYPE=swap (so Docker will likely complain about swap)" + echo >&2 " - this could also mean TCL already mounted it! (see 'free' or '/proc/swaps')" + fi +} + +case "$1" in + start) "$1" ;; + *) echo "Usage $0 {start}"; exit 1 ;; +esac diff --git a/files/init.d/docker b/files/init.d/docker new file mode 100755 index 000000000..f6681bfe9 --- /dev/null +++ b/files/init.d/docker @@ -0,0 +1,279 @@ +#!/bin/sh +# dockerd start script + +if [ "$(id -u)" != 0 ]; then + echo >&2 "error: must be root to invoke $0" + exit 1 +fi + +#import settings from profile (e.g. HTTP_PROXY, HTTPS_PROXY) +test -f '/var/lib/boot2docker/profile' && . '/var/lib/boot2docker/profile' + +: ${DOCKER_STORAGE:=auto} +: ${DOCKER_DIR:=/var/lib/docker} + +_backwards_compat_should_remote() { + # if userdata.tar exists and profile doesn't (yet), we must be using docker-machine, which expects to check that the daemon is up and running _before_ it configures TLS (?????) + # https://github.com/docker/machine/blob/19035310d4ba1b58056aae427ea669d1db5fc618/libmachine/provision/boot2docker.go#L242-L246 + if [ -e '/var/lib/boot2docker/userdata.tar' ] && [ ! -e '/var/lib/boot2docker/profile' ]; then + return 0 + fi + + # if /var/lib/boot2docker/profile sets either of DOCKER_TLS or DOCKER_HOST but not DOCKER_REMOTE, so let's assume the user intended for DOCKER_REMOTE=yes (backwards compat / Docker Machine compat) + # https://github.com/docker/machine/blob/97c1136d1ec9ae4c3ab69fda615e3dd577809e5c/libmachine/provision/boot2docker.go#L143-L160 + if { [ -n "$DOCKER_TLS" ] || [ -n "$DOCKER_HOST" ]; } && [ -z "$DOCKER_REMOTE" ]; then + return 0 + fi + + # vmware drivers don't create a disk image (so no "userdata.tar") -- they copy "userdata.tar" after startup and then look for 2376 in netstat, so checking only for "userdata.tar" creates a race + # https://github.com/machine-drivers/docker-machine-driver-vmware/blob/abd4e62c279b39fdb3fec9b23e8e2b1f2abd3f60/pkg/drivers/vmware/driver.go#L301-L308 + if grep -qi vmware /sys/class/dmi/id/sys_vendor 2>/dev/null; then + return 0 + fi + + return 1 +} + +# before setting defaults, check whether we need to default DOCKER_REMOTE to "yes" +if _backwards_compat_should_remote; then + DOCKER_REMOTE=yes +fi + +: ${DOCKER_REMOTE:=no} # 'yes' or anything else for 'no' +: ${DOCKER_TLS:=yes} # 'no' or anything else for 'yes' (obviously has no effect if DOCKER_REMOTE is not explicitly "yes") +: ${CERT_INTERFACES:='eth0 eth1'} +: ${CERTDIR:=/var/lib/boot2docker/tls} +: ${CACERT:="${CERTDIR}/ca.pem"} +: ${CAKEY:="${CERTDIR}/cakey.pem"} +: ${CASRL:="${CERTDIR}/ca.srl"} +: ${SERVERCERT:="${CERTDIR}/server.pem"} +: ${SERVERKEY:="${CERTDIR}/serverkey.pem"} +: ${SERVERCSR:="${CERTDIR}/server.csr"} +: ${CERT:="${CERTDIR}/client.pem"} +: ${KEY:="${CERTDIR}/clientkey.pem"} +: ${CSR:="${CERTDIR}/client.csr"} +: ${ORG:=Boot2Docker} +: ${SERVERORG:="${ORG}"} +: ${CAORG:="${ORG} CA"} # append 'CA'; see https://rt.openssl.org/Ticket/History.html?id=3979&user=guest&pass=guest + +USERHOME="$(awk -F: '$1 == "docker" { print $6; exit }' /etc/passwd)" +: ${USERHOME:=/home/docker} +USERUIDGID="$(awk -F: '$1 == "docker" { print $3 ":" $4; exit }' /etc/passwd)" +: ${USERUIDGID:=docker} +USERCFG="$USERHOME/.docker" + +PIDFILE='/var/run/docker.pid' +pid() { + if [ -s "$PIDFILE" ]; then + local pid + pid="$(cat "$PIDFILE")" + if ps "$pid" > /dev/null 2>&1; then + echo "$pid" + return 0 + fi + fi + return 1 +} + +_ensure_resolvconf() { + # sometimes (especially on VBox), "/etc/resolv.conf" ends up empty + # we detect that here and replace it with our original version since Docker needs it + if [ ! -s /etc/resolv.conf ]; then + cp -fT /etc/resolv.conf.b2d /etc/resolv.conf + fi +} + +start() { + if pid="$(pid)"; then + echo >&2 "error: Docker daemon is already running ($pid)" + exit 1 + fi + + _ensure_resolvconf + + if [ ! -e /etc/docker ]; then + echo 'Linking /etc/docker to /var/lib/boot2docker for persistence' + mkdir -p /var/lib/boot2docker/etc/docker + rm -rf /etc/docker + ln -sf /var/lib/boot2docker/etc/docker /etc/docker + fi + + if [ 'yes' = "$DOCKER_REMOTE" ]; then + if [ 'no' = "$DOCKER_TLS" ]; then + [ -n "$DOCKER_HOST" ] || DOCKER_HOST='-H tcp://0.0.0.0:2375' + EXTRA_ARGS="$EXTRA_ARGS $DOCKER_HOST" + else + # see https://docs.docker.com/articles/https/ + # and https://gist.github.com/Stono/7e6fed13cfd79598eb15 + [ -n "$DOCKER_HOST" ] || DOCKER_HOST='-H tcp://0.0.0.0:2376' + EXTRA_ARGS="$EXTRA_ARGS $DOCKER_HOST --tlsverify" + mkdir -p "$CERTDIR" + chmod 700 "$CERTDIR" + if [ ! -f "$CAKEY" ]; then + echo "Generating $CAKEY" + openssl genrsa \ + -out "$CAKEY" \ + 4096 + fi + if [ ! -f "$CACERT" ]; then + echo "Generating $CACERT" + openssl req \ + -new \ + -key "$CAKEY" \ + -x509 \ + -days 365 \ + -nodes \ + -subj "/O=$CAORG" \ + -out "$CACERT" + fi + EXTRA_ARGS="$EXTRA_ARGS --tlscacert=$CACERT" + if [ ! -f "$CASRL" ]; then + echo '01' > "$CASRL" + fi + if [ ! -f "$SERVERKEY" ]; then + echo "Generating $SERVERKEY" + openssl genrsa \ + -out "$SERVERKEY" \ + 4096 + fi + EXTRA_ARGS="$EXTRA_ARGS --tlskey=$SERVERKEY" + if [ ! -f "$SERVERCERT" ]; then + echo "Generating $SERVERCERT" + commonName="$(hostname -s)" + altName="IP:$(hostname -i)" + altName="$altName,IP:127.0.0.1" + altName="$altName,DNS:localhost,DNS:localhost.local" + altName="$altName,IP:::1" + altName="$altName,DNS:ip6-localhost,DNS:ip6-loopback" + for interface in $CERT_INTERFACES; do + ips=$(ip addr show "$interface" | awk -F '[/[:space:]]+' '$2 == "inet" { print $3 }') + for ip in $ips; do + altName="$altName,IP:$ip" + done + done + openssl req \ + -new \ + -key "$SERVERKEY" \ + -subj "/O=$SERVERORG/CN=$commonName" \ + -out "$SERVERCSR" + extfile="$CERTDIR/extfile.cnf" + echo "subjectAltName = $altName" > "$extfile" + openssl x509 \ + -req \ + -days 365 \ + -in "$SERVERCSR" \ + -CA "$CACERT" \ + -CAkey "$CAKEY" \ + -out "$SERVERCERT" \ + -extfile "$extfile" + rm "$extfile" + fi + EXTRA_ARGS="$EXTRA_ARGS --tlscert=$SERVERCERT" + if [ ! -f "$KEY" ]; then + echo "Generating $KEY" + openssl genrsa \ + -out "$KEY" \ + 4096 + fi + if [ ! -f "$CERT" ]; then + echo "Generating $CERT" + openssl req \ + -new \ + -key "$KEY" \ + -subj "/O=$ORG" \ + -out "$CSR" + extfile="$CERTDIR/extfile.cnf" + echo 'extendedKeyUsage = clientAuth' > "$extfile" + openssl x509 \ + -req \ + -days 365 \ + -in "$CSR" \ + -CA "$CACERT" \ + -CAkey "$CAKEY" \ + -out "$CERT" \ + -extfile "$extfile" + rm "$extfile" + fi + mkdir -p "$USERCFG" + chmod 700 "$USERCFG" + chown "$USERUIDGID" "$USERCFG" + cp "$CACERT" "$USERCFG/ca.pem" + chown "$USERUIDGID" "$USERCFG/ca.pem" + cp "$CERT" "$USERCFG/cert.pem" + chown "$USERUIDGID" "$USERCFG/cert.pem" + cp "$KEY" "$USERCFG/key.pem" + chmod 700 "$USERCFG/key.pem" + chown "$USERUIDGID" "$USERCFG/key.pem" + fi + fi + + if [ "$DOCKER_STORAGE" = 'aufs' ]; then + echo >&2 "warning: '$DOCKER_STORAGE' is not a supported storage driver for this boot2docker install -- ignoring request!" + echo >&2 " - see https://github.com/boot2docker/boot2docker/issues/1326 for more details" + DOCKER_STORAGE='auto' + fi + if [ -n "$DOCKER_STORAGE" ] && [ "$DOCKER_STORAGE" != 'auto' ]; then + EXTRA_ARGS="$EXTRA_ARGS --storage-driver $DOCKER_STORAGE" + fi + + # https://github.com/docker/docker-ce-packaging/blob/468d37e0d6d303b785eb9bfc42612397d683c7e5/deb/systemd/docker.service#L15-L19 + ulimit -n 1048576 # LimitNOFILE + ulimit -p unlimited # LimitNPROC + ulimit -c unlimited # LimitCORE + + mkdir -p /var/lib/boot2docker/log + + echo 'Starting dockerd' + dockerd --data-root "$DOCKER_DIR" -H unix:// $EXTRA_ARGS --pidfile "$PIDFILE" >> /var/lib/boot2docker/log/docker.log 2>&1 & +} + +stop() { + if pid="$(pid)"; then + echo "Stopping dockerd ($pid)" + kill "$pid" + + i=30 + while pid > /dev/null; do + sleep 1 + i=$(expr $i - 1) + if [ "$i" -le 0 ]; then + echo >&2 'error: failed to stop Docker daemon' + exit 1 + fi + done + fi +} + +restart() { + stop + start +} + +reload() { + if ! pid="$(pid)"; then + echo >&2 'error: Docker daemon is not running' + exit 1 + fi + kill -s HUP "$pid" +} + +status() { + if pid > /dev/null; then + echo 'Docker daemon is running' + exit 0 + else + echo 'Docker daemon is not running' + exit 1 + fi +} + +case "$1" in + start|stop|restart|reload|status) + "$1" + ;; + + *) + echo "Usage $0 {start|stop|restart|reload|status}" + exit 1 + ;; +esac diff --git a/files/init.d/vbox b/files/init.d/vbox new file mode 100755 index 000000000..8f9adfbd3 --- /dev/null +++ b/files/init.d/vbox @@ -0,0 +1,57 @@ +#!/bin/sh +set -e + +if [ "$(id -u)" != 0 ]; then + echo >&2 "error: must be root to invoke $0" + exit 1 +fi + +start() { + # VirtualBox Guest Additions + # - this will bail quickly and gracefully if we're not in VBox + if modprobe vboxguest > /dev/null 2>&1 && modprobe vboxsf > /dev/null 2>&1; then + # fire up VBoxService to do timesync, etc + VBoxService --disable-automount + # TODO some testing with VBoxService automount so we can potentially trim down this hacky script + + dockerUid="$(id -u docker)" + dockerGid="$(id -g docker)" + mountOptions="defaults,iocharset=utf8,uid=$dockerUid,gid=$dockerGid" + + # try mounting "$name" (which defaults to "$dir") at "$dir", + # but quietly clean up empty directories if it fails + try_mount_share() { + dir="$1" + name="${2:-$dir}" + + # normalize "dir" to be definitively root-relative + # ie, "/Users" and "Users" will both translate to "/Users" explicitly + dir="/${dir#/}" + + echo "Attempting mount of '$name' to '$dir' (vboxsf)" + + mkdir -p "$dir" 2>/dev/null + if ! mount -t vboxsf -o "$mountOptions" "$name" "$dir" 2>/dev/null; then + rmdir "$dir" 2>/dev/null || true + while [ "$(dirname "$dir")" != "$dir" ]; do + dir="$(dirname "$dir")" + rmdir "$dir" 2>/dev/null || break + done + + return 1 + fi + + return 0 + } + + shares="$(VBoxControl --nologo sharedfolder list -automount | tail -n+3 | cut -d ' ' -f 3)" + for line in $shares; do + try_mount_share "$line" + done + fi +} + +case "$1" in + start) "$1" ;; + *) echo "Usage $0 {start}"; exit 1 ;; +esac diff --git a/files/isolinux.cfg b/files/isolinux.cfg new file mode 100644 index 000000000..a847525ad --- /dev/null +++ b/files/isolinux.cfg @@ -0,0 +1,14 @@ +serial 0 + +ui menu.c32 +prompt 1 +menu title Boot2Docker +timeout 2 + +label boot2docker + menu label Boot2Docker + kernel /boot/vmlinuz + initrd /boot/initrd.img +# http://tinycorelinux.net/corebook.pdf (chapter 10 -- bootcodes explained) +# noembed: put / on a tmpfs instead of the kernel "rootfs" (ramdisk); https://github.com/docker/docker/issues/4095 + append loglevel=3 console=ttyS0 console=tty0 waitusb=5:LABEL=boot2docker-data base norestore noembed diff --git a/files/kernel-config.d/.check-dups.sh b/files/kernel-config.d/.check-dups.sh new file mode 100755 index 000000000..a1328c8bf --- /dev/null +++ b/files/kernel-config.d/.check-dups.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +set -Eeuo pipefail + +cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" + +files=( * ) + +p() { + cut -d= -f1 "$1" \ + | sed 's!^-!!' \ + | sort -u +} + +for (( i = 0; i < ${#files[@]}; ++i )); do + for (( j = i + 1; j < ${#files[@]}; ++j )); do + f1="${files[$i]}" + f2="${files[$j]}" + comm -12 <(p "$f1") <(p "$f2") + done +done diff --git a/files/kernel-config.d/boot2docker b/files/kernel-config.d/boot2docker new file mode 100644 index 000000000..bbfd9ba22 --- /dev/null +++ b/files/kernel-config.d/boot2docker @@ -0,0 +1,10 @@ +-CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE +-CONFIG_KERNEL_GZIP +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_DEFAULT_HOSTNAME="boot2docker" +CONFIG_EFI_STUB=y +CONFIG_IKCONFIG=m +CONFIG_IKCONFIG_PROC=y +CONFIG_KERNEL_XZ=y +CONFIG_KSM=y +CONFIG_LOCALVERSION="-boot2docker" diff --git a/files/kernel-config.d/ceph b/files/kernel-config.d/ceph new file mode 100644 index 000000000..9538fce91 --- /dev/null +++ b/files/kernel-config.d/ceph @@ -0,0 +1,5 @@ +# https://github.com/boot2docker/boot2docker/issues/1254 +CONFIG_CEPH_FS=m +CONFIG_CEPH_FSCACHE=y +CONFIG_CEPH_FS_POSIX_ACL=y +CONFIG_FSCACHE=m diff --git a/files/kernel-config.d/cifs b/files/kernel-config.d/cifs new file mode 100644 index 000000000..bcf2d83eb --- /dev/null +++ b/files/kernel-config.d/cifs @@ -0,0 +1,13 @@ +CONFIG_CIFS=m +CONFIG_CIFS_ACL=y +CONFIG_CIFS_FSCACHE=y +CONFIG_CIFS_XATTR=y + +# https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2a38e12053b760a8f5e85030eb89512660077c15 +#CONFIG_CIFS_SMB2=y + +# https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6e785302dad32228819d8066e5376acd15d0e6ba +#CONFIG_CIFS_POSIX=y + +# https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0fdfef9aa7ee68ddd508aef7c98630cfc054f8d6 +#CONFIG_CIFS_SMB311=y diff --git a/files/kernel-config.d/docker b/files/kernel-config.d/docker new file mode 100644 index 000000000..54a215a28 --- /dev/null +++ b/files/kernel-config.d/docker @@ -0,0 +1,78 @@ +# adapted mostly from https://github.com/docker/docker/blob/0c1006f1abc1af7aa6b9847754370d054dfa6c68/contrib/check-config.sh +CONFIG_BLK_CGROUP=y +CONFIG_BLK_DEV_DM=m +CONFIG_BLK_DEV_THROTTLING=y +CONFIG_BRIDGE=m +CONFIG_BRIDGE_NETFILTER=m +CONFIG_BTRFS_FS=m +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_CFQ_GROUP_IOSCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_CGROUPS=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_HUGETLB=y +CONFIG_CGROUP_NET_PRIO=y +CONFIG_CGROUP_PERF=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_SCHED=y +CONFIG_CPUSETS=y +CONFIG_CRYPTO=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_GCM=y +CONFIG_CRYPTO_GHASH=y +CONFIG_CRYPTO_SEQIV=y +CONFIG_DM_THIN_PROVISIONING=m +CONFIG_DUMMY=m +CONFIG_EXT4_FS=m +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_INET_ESP=m +CONFIG_INET_XFRM_MODE_TRANSPORT=m +CONFIG_IOSCHED_CFQ=m +CONFIG_IPC_NS=y +CONFIG_IPVLAN=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_NAT=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_IP_VS=m +CONFIG_IP_VS_NFCT=y +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +CONFIG_IP_VS_RR=m +CONFIG_KEYS=y +CONFIG_LEGACY_VSYSCALL_EMULATE=y +CONFIG_MACVLAN=m +CONFIG_MEMCG=y +CONFIG_MEMCG_SWAP=y +CONFIG_MEMCG_SWAP_ENABLED=y +CONFIG_NAMESPACES=y +CONFIG_NETFILTER_ADVANCED=y +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_IPVS=m +CONFIG_NET_CLS_CGROUP=m +CONFIG_NET_L3_MASTER_DEV=y +CONFIG_NET_NS=y +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_NAT=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_IPV4=m +CONFIG_NF_NAT_NEEDED=y +CONFIG_NF_NAT_TFTP=m +CONFIG_OVERLAY_FS=m +CONFIG_PID_NS=y +CONFIG_POSIX_MQUEUE=y +CONFIG_RT_GROUP_SCHED=y +CONFIG_SECCOMP=y +CONFIG_USER_NS=y +CONFIG_UTS_NS=y +CONFIG_VETH=m +CONFIG_VXLAN=m +CONFIG_XFRM=y +CONFIG_XFRM_ALGO=y +CONFIG_XFRM_USER=m diff --git a/files/kernel-config.d/ebpf b/files/kernel-config.d/ebpf new file mode 100644 index 000000000..4adb0f7e9 --- /dev/null +++ b/files/kernel-config.d/ebpf @@ -0,0 +1 @@ +CONFIG_BPF_SYSCALL=y diff --git a/files/kernel-config.d/hyperv b/files/kernel-config.d/hyperv new file mode 100644 index 000000000..bdf6bd530 --- /dev/null +++ b/files/kernel-config.d/hyperv @@ -0,0 +1,4 @@ +CONFIG_HYPERV=m +CONFIG_HYPERV_NET=m +CONFIG_HYPERV_STORAGE=m +CONFIG_HYPERV_UTILS=m diff --git a/files/kernel-config.d/kvm b/files/kernel-config.d/kvm new file mode 100644 index 000000000..9c35a874c --- /dev/null +++ b/files/kernel-config.d/kvm @@ -0,0 +1,3 @@ +CONFIG_KVM=m +CONFIG_KVM_AMD=m +CONFIG_KVM_INTEL=m diff --git a/files/kernel-config.d/networking b/files/kernel-config.d/networking new file mode 100644 index 000000000..c4028d771 --- /dev/null +++ b/files/kernel-config.d/networking @@ -0,0 +1,4 @@ +CONFIG_TUN=y + +# https://github.com/boot2docker/boot2docker/issues/1384 +CONFIG_NET_SCH_NETEM=m diff --git a/files/kernel-config.d/rancher b/files/kernel-config.d/rancher new file mode 100644 index 000000000..3ee16317f --- /dev/null +++ b/files/kernel-config.d/rancher @@ -0,0 +1,18 @@ +# Required for Rancher to set up networking in stacks correctly +# https://github.com/rancher/rancher/issues/10499#issuecomment-393297923 +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_SET=m +CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_NET=m +CONFIG_NETFILTER_NETLINK=y +CONFIG_NETFILTER_XTABLES=y +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_SET=m +CONFIG_NF_CONNTRACK=m + +# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a0ae2562c6c4b2721d9fddba63b7286c13517d9f +#CONFIG_NF_CONNTRACK_IPV4=m diff --git a/files/kernel-config.d/rng b/files/kernel-config.d/rng new file mode 100644 index 000000000..c8b77224e --- /dev/null +++ b/files/kernel-config.d/rng @@ -0,0 +1,2 @@ +CONFIG_HW_RANDOM=m +CONFIG_HW_RANDOM_VIRTIO=m diff --git a/files/kernel-config.d/tinycorelinux b/files/kernel-config.d/tinycorelinux new file mode 100644 index 000000000..c9df9679b --- /dev/null +++ b/files/kernel-config.d/tinycorelinux @@ -0,0 +1,3 @@ +CONFIG_SQUASHFS=m +CONFIG_ZRAM=y +CONFIG_ZSMALLOC=y diff --git a/files/kernel-config.d/usb-serial b/files/kernel-config.d/usb-serial new file mode 100644 index 000000000..49cc53d74 --- /dev/null +++ b/files/kernel-config.d/usb-serial @@ -0,0 +1,52 @@ +# https://salsa.debian.org/kernel-team/linux/blob/0a50b0efbc995f6c5710f4d52e321ef6102ee298/debian/config/config#L4994-5049 +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_DEBUG=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_F81232=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_METRO=m +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MXUPORT=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QT2=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_SAFE=m +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SIMPLE=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_SSU100=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_WISHBONE=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SERIAL_XSENS_MT=m diff --git a/files/kernel-config.d/virtualbox b/files/kernel-config.d/virtualbox new file mode 100644 index 000000000..eb27a2bef --- /dev/null +++ b/files/kernel-config.d/virtualbox @@ -0,0 +1,3 @@ +# LsiLogic SAS storage controller support (https://github.com/boot2docker/boot2docker/issues/1375) +CONFIG_FUSION=y +CONFIG_FUSION_SAS=m diff --git a/files/kernel-config.d/vmware b/files/kernel-config.d/vmware new file mode 100644 index 000000000..76ac434d8 --- /dev/null +++ b/files/kernel-config.d/vmware @@ -0,0 +1,7 @@ +CONFIG_FUSE_FS=m +CONFIG_VMWARE_BALLOON=m +CONFIG_VMWARE_PVSCSI=m +CONFIG_VMWARE_VMCI=m +CONFIG_VMWARE_VMCI_VSOCKETS=m +CONFIG_VMXNET3=m +CONFIG_VSOCKETS=m diff --git a/files/make-b2d-iso.sh b/files/make-b2d-iso.sh new file mode 100755 index 000000000..2c058ccfe --- /dev/null +++ b/files/make-b2d-iso.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash +set -Eeuo pipefail + +find -not -name '*.tcz' \ + | cpio --create --format newc --dot \ + | xz -9 --format=lzma --verbose --verbose --threads=0 --extreme \ + > /tmp/iso/boot/initrd.img + +# volume label (https://github.com/boot2docker/boot2docker/issues/1347) +volumeLabel="b2d-v$DOCKER_VERSION" + +xorriso \ + -as mkisofs -o /tmp/boot2docker.iso \ + -A 'Boot2Docker' \ + -V "$volumeLabel" \ + -isohybrid-mbr /tmp/isohdpfx.bin \ + -b isolinux/isolinux.bin \ + -c isolinux/boot.cat \ + -no-emul-boot \ + -boot-load-size 4 \ + -boot-info-table \ + /tmp/iso + +mkdir -p /tmp/stats +( + cd /tmp + echo '```console' + for cmd in sha512sum sha256sum sha1sum md5sum; do + echo "\$ $cmd boot2docker.iso" + "$cmd" boot2docker.iso + done + echo '```' +) | tee /tmp/stats/sums.md +{ + echo "- Docker [v$DOCKER_VERSION](https://github.com/docker/docker-ce/releases/tag/v$DOCKER_VERSION)" + + echo "- Linux [v$LINUX_VERSION](https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-$LINUX_VERSION)" + + echo "- Tiny Core Linux [v$TCL_VERSION](http://forum.tinycorelinux.net/index.php?board=31.0)" + + echo "- Parallels Tools v$PARALLELS_VERSION" # https://github.com/boot2docker/boot2docker/pull/1332#issuecomment-420273330 + + ovtVersion="$(tcl-chroot vmtoolsd --version | grep -oE 'version [^ ]+' | cut -d' ' -f2)" + echo "- VMware Tools (\`open-vm-tools\`) [v$ovtVersion](http://distro.ibiblio.org/tinycorelinux/$TCL_MAJOR/x86_64/tcz/open-vm-tools.tcz.info)" + + echo "- VirtualBox Guest Additions [v$VBOX_VERSION](https://download.virtualbox.org/virtualbox/$VBOX_VERSION/)" + + echo "- XenServer Tools (\`xe-guest-utilities\`) [v$XEN_VERSION](https://github.com/xenserver/xe-guest-utilities/tree/v$XEN_VERSION)" +} | tee /tmp/stats/state.md diff --git a/files/shutdown b/files/shutdown new file mode 100755 index 000000000..e804ec96d --- /dev/null +++ b/files/shutdown @@ -0,0 +1,26 @@ +#!/bin/sh + +usage() { + cat <<-'EOF' + Usage: shutdown [-rh] time + -r: reboot after shutdown. + -h: halt after shutdown. + ** the "time" argument is mandatory! (try "now") ** + EOF +} + +case "$1" in + -r) CMD='reboot' ;; + -h) CMD='poweroff' ;; + *) usage >&2; exit 1 ;; +esac + +shift + +case "$1" in + now|+0) ;; + +[0-9]*) CMD="$CMD -d $(( $1 * 60))" ;; + *) usage >&2; exit 1 ;; +esac + +exec $CMD diff --git a/files/tce-load.patch b/files/tce-load.patch new file mode 100644 index 000000000..20152e0ed --- /dev/null +++ b/files/tce-load.patch @@ -0,0 +1,48 @@ +Description: replace "mount" with "unsquashfs" and ignore "-KERNEL" deps +Author: Tatsushi Demachi, Tianon Gravi +Partial-Origin: https://github.com/tatsushid/docker-tinycore/blob/017b258a08a41399f65250c9865a163226c8e0bf/8.2/x86_64/src/tce-load.patch +Unpatched-Source: https://github.com/tinycorelinux/Core-scripts/blob/1a3285fb230f4894c3fda75ab5401318793c1bd8/usr/bin/tce-load + +diff --git a/usr/bin/tce-load b/usr/bin/tce-load +index 1378b90..fea2aa8 100755 +--- a/usr/bin/tce-load ++++ b/usr/bin/tce-load +@@ -81,15 +81,15 @@ fetch_app() { + + copyInstall() { + [ -d /mnt/test ] || sudo /bin/mkdir -p /mnt/test +- sudo /bin/mount $1 /mnt/test -t squashfs -o loop,ro ++ sudo /usr/local/bin/unsquashfs -force -dest /mnt/test $1 || exit 1 + if [ "$?" == 0 ]; then + if [ "$(ls -A /mnt/test)" ]; then + yes "$FORCE" | sudo /bin/cp -ai /mnt/test/. / 2>/dev/null + [ -n "`find /mnt/test/ -type d -name modules`" ] && MODULES=TRUE + fi +- sudo /bin/umount -d /mnt/test ++ sudo rm -rf /mnt/test + fi +- [ "$BOOTING" ] || rmdir /mnt/test ++ [ "$BOOTING" ] || [ -d /mnt/test ] && rmdir /mnt/test + } + + update_system() { +@@ -161,8 +161,8 @@ recursive_scan_dep() { + echo -e "$@"|awk ' + function recursive_scan(name, optional, mirror, _, depfile, line, i) { + gsub(/[\t ]+/, "", name) +- if (name) { +- sub(/\-KERNEL\.tcz/, "-"KERNELVER".tcz", name) ++ # in boot2docker, we install a custom kernel, so ignore "xyz-KERNEL" dependencies ++ if (name && name !~ /\-KERNEL\.tcz/) { + if (name in MARK) { + if (MARK[name] == 2) { + if (! SUPPRESS) +@@ -225,7 +225,7 @@ FROMWHERE="" + for TARGETAPP in $@; do + + TARGETAPP="${TARGETAPP%.tcz}.tcz" +-TARGETAPP="${TARGETAPP/-KERNEL.tcz/-${KERNELVER}.tcz}" ++[ "$TARGETAPP" = "${TARGETAPP/-KERNEL.tcz/}" ] || continue # in boot2docker, we install a custom kernel, so ignore "xyz-KERNEL" dependencies + EXTENSION="${TARGETAPP##*/}" + APPNAME="${EXTENSION%.*}" + diff --git a/files/udhcpc.patch b/files/udhcpc.patch new file mode 100644 index 000000000..0f4c57ce7 --- /dev/null +++ b/files/udhcpc.patch @@ -0,0 +1,58 @@ +Description: DHCP adjustments; only empty "resolv.conf" when we get DNS from DHCP, run DHCP synchronously, use NTP servers from DHCP +Author: "aheissenberger", Tianon Gravi +Origin: http://forum.tinycorelinux.net/index.php/topic,16482.msg98078.html#msg98078 (partial) + +diff --git a/etc/init.d/dhcp.sh b/etc/init.d/dhcp.sh +index f4ef2a4..c7b59fd 100755 +--- a/etc/init.d/dhcp.sh ++++ b/etc/init.d/dhcp.sh +@@ -12,7 +12,7 @@ for DEVICE in $NETDEVICES; do + if [ "$?" != 0 ]; then + # echo -e "\n${GREEN}Network device ${MAGENTA}$DEVICE${GREEN} detected, DHCP broadcasting for IP.${NORMAL}" + trap 2 3 11 +- /sbin/udhcpc -b -i $DEVICE -x hostname:$(/bin/hostname) -p /var/run/udhcpc.$DEVICE.pid >/dev/null 2>&1 & ++ /sbin/udhcpc -b -i $DEVICE -x hostname:$(/bin/hostname) -p /var/run/udhcpc.$DEVICE.pid > /var/log/dhcp.log 2>&1 + trap "" 2 3 11 + sleep 1 + fi +diff --git a/etc/init.d/tc-config b/etc/init.d/tc-config +index f1f9785..0a5088a 100755 +--- a/etc/init.d/tc-config ++++ b/etc/init.d/tc-config +@@ -612,7 +612,7 @@ fi + if [ -n "$NODHCP" ]; then + echo "${GREEN}Skipping DHCP broadcast/network detection as requested on boot commandline.${NORMAL}" + else +- [ -z "$DHCP_RAN" ] && /etc/init.d/dhcp.sh & ++ [ -z "$DHCP_RAN" ] && /etc/init.d/dhcp.sh + [ -z "$NORTC" ] || /etc/init.d/settime.sh & + fi + +diff --git a/usr/share/udhcpc/default.script b/usr/share/udhcpc/default.script +index 98ebc15..ab71278 100755 +--- a/usr/share/udhcpc/default.script ++++ b/usr/share/udhcpc/default.script +@@ -28,12 +28,22 @@ case "$1" in + done + fi + +- echo -n > $RESOLV_CONF ++ [ -n "$dns" ] && echo -n > $RESOLV_CONF + [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF + for i in $dns ; do + echo adding dns $i + echo nameserver $i >> $RESOLV_CONF + done ++ ++ # https://udhcp.busybox.net/README.udhcpc ++ if [ -n "$ntpsrv" ]; then ++ NTP_CONF='/etc/ntp.conf' ++ echo -n > "$NTP_CONF" ++ for svr in $ntpsrv; do ++ echo "adding NTP $svr" ++ echo "server $svr" >> "$NTP_CONF" ++ done ++ fi + ;; + esac + diff --git a/kernel_config b/kernel_config deleted file mode 100644 index 4b46de586..000000000 --- a/kernel_config +++ /dev/null @@ -1,4282 +0,0 @@ -# -# Automatically generated file; DO NOT EDIT. -# Linux/x86 3.15.3 Kernel Configuration -# -CONFIG_64BIT=y -CONFIG_X86_64=y -CONFIG_X86=y -CONFIG_INSTRUCTION_DECODER=y -CONFIG_OUTPUT_FORMAT="elf64-x86-64" -CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" -CONFIG_LOCKDEP_SUPPORT=y -CONFIG_STACKTRACE_SUPPORT=y -CONFIG_HAVE_LATENCYTOP_SUPPORT=y -CONFIG_MMU=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_SG_DMA_LENGTH=y -CONFIG_GENERIC_ISA_DMA=y -CONFIG_GENERIC_BUG=y -CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y -CONFIG_GENERIC_HWEIGHT=y -CONFIG_ARCH_MAY_HAVE_PC_FDC=y -CONFIG_RWSEM_XCHGADD_ALGORITHM=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_ARCH_HAS_CPU_RELAX=y -CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y -CONFIG_HAVE_SETUP_PER_CPU_AREA=y -CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y -CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y -CONFIG_ARCH_WANT_GENERAL_HUGETLB=y -CONFIG_ZONE_DMA32=y -CONFIG_AUDIT_ARCH=y -CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y -CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y -CONFIG_HAVE_INTEL_TXT=y -CONFIG_X86_64_SMP=y -CONFIG_X86_HT=y -CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" -CONFIG_ARCH_SUPPORTS_UPROBES=y -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" -CONFIG_IRQ_WORK=y -CONFIG_BUILDTIME_EXTABLE_SORT=y - -# -# General setup -# -CONFIG_INIT_ENV_ARG_LIMIT=32 -CONFIG_CROSS_COMPILE="" -# CONFIG_COMPILE_TEST is not set -CONFIG_LOCALVERSION="-tinycore64" -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_HAVE_KERNEL_GZIP=y -CONFIG_HAVE_KERNEL_BZIP2=y -CONFIG_HAVE_KERNEL_LZMA=y -CONFIG_HAVE_KERNEL_XZ=y -CONFIG_HAVE_KERNEL_LZO=y -CONFIG_HAVE_KERNEL_LZ4=y -# CONFIG_KERNEL_GZIP is not set -# CONFIG_KERNEL_BZIP2 is not set -# CONFIG_KERNEL_LZMA is not set -CONFIG_KERNEL_XZ=y -# CONFIG_KERNEL_LZO is not set -# CONFIG_KERNEL_LZ4 is not set -CONFIG_DEFAULT_HOSTNAME="box" -CONFIG_SWAP=y -CONFIG_SYSVIPC=y -CONFIG_SYSVIPC_SYSCTL=y -CONFIG_POSIX_MQUEUE=y -CONFIG_POSIX_MQUEUE_SYSCTL=y -CONFIG_FHANDLE=y -CONFIG_USELIB=y -# CONFIG_AUDIT is not set -CONFIG_HAVE_ARCH_AUDITSYSCALL=y - -# -# IRQ subsystem -# -CONFIG_GENERIC_IRQ_PROBE=y -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GENERIC_PENDING_IRQ=y -CONFIG_IRQ_DOMAIN=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_SPARSE_IRQ=y -CONFIG_CLOCKSOURCE_WATCHDOG=y -CONFIG_ARCH_CLOCKSOURCE_DATA=y -CONFIG_GENERIC_TIME_VSYSCALL=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y -CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y -CONFIG_GENERIC_CMOS_UPDATE=y - -# -# Timers subsystem -# -CONFIG_TICK_ONESHOT=y -CONFIG_NO_HZ_COMMON=y -# CONFIG_HZ_PERIODIC is not set -CONFIG_NO_HZ_IDLE=y -# CONFIG_NO_HZ_FULL is not set -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y - -# -# CPU/Task time and stats accounting -# -CONFIG_TICK_CPU_ACCOUNTING=y -# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set -# CONFIG_IRQ_TIME_ACCOUNTING is not set -CONFIG_BSD_PROCESS_ACCT=y -CONFIG_BSD_PROCESS_ACCT_V3=y -CONFIG_TASKSTATS=y -CONFIG_TASK_DELAY_ACCT=y -# CONFIG_TASK_XACCT is not set - -# -# RCU Subsystem -# -CONFIG_TREE_RCU=y -# CONFIG_PREEMPT_RCU is not set -CONFIG_RCU_STALL_COMMON=y -# CONFIG_RCU_USER_QS is not set -CONFIG_RCU_FANOUT=32 -CONFIG_RCU_FANOUT_LEAF=16 -# CONFIG_RCU_FANOUT_EXACT is not set -# CONFIG_RCU_FAST_NO_HZ is not set -# CONFIG_TREE_RCU_TRACE is not set -# CONFIG_RCU_NOCB_CPU is not set -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=17 -CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y -CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y -CONFIG_ARCH_SUPPORTS_INT128=y -CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y -CONFIG_CGROUPS=y -# CONFIG_CGROUP_DEBUG is not set -CONFIG_CGROUP_FREEZER=y -CONFIG_CGROUP_DEVICE=y -CONFIG_CPUSETS=y -CONFIG_PROC_PID_CPUSET=y -CONFIG_CGROUP_CPUACCT=y -CONFIG_RESOURCE_COUNTERS=y -CONFIG_MEMCG=y -CONFIG_MEMCG_SWAP=y -CONFIG_MEMCG_SWAP_ENABLED=y -CONFIG_MEMCG_KMEM=y -CONFIG_CGROUP_PERF=y -CONFIG_CGROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -# CONFIG_CFS_BANDWIDTH is not set -CONFIG_RT_GROUP_SCHED=y -CONFIG_BLK_CGROUP=y -# CONFIG_DEBUG_BLK_CGROUP is not set -# CONFIG_CHECKPOINT_RESTORE is not set -CONFIG_NAMESPACES=y -CONFIG_UTS_NS=y -CONFIG_IPC_NS=y -CONFIG_USER_NS=y -CONFIG_PID_NS=y -CONFIG_NET_NS=y -CONFIG_SCHED_AUTOGROUP=y -CONFIG_MM_OWNER=y -# CONFIG_SYSFS_DEPRECATED is not set -# CONFIG_RELAY is not set -CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_RD_GZIP=y -CONFIG_RD_BZIP2=y -CONFIG_RD_LZMA=y -CONFIG_RD_XZ=y -CONFIG_RD_LZO=y -CONFIG_RD_LZ4=y -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_SYSCTL=y -CONFIG_ANON_INODES=y -CONFIG_HAVE_UID16=y -CONFIG_SYSCTL_EXCEPTION_TRACE=y -CONFIG_HAVE_PCSPKR_PLATFORM=y -CONFIG_EXPERT=y -CONFIG_UID16=y -CONFIG_SYSFS_SYSCALL=y -CONFIG_SYSCTL_SYSCALL=y -# CONFIG_KALLSYMS is not set -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_PCSPKR_PLATFORM=y -CONFIG_BASE_FULL=y -CONFIG_FUTEX=y -CONFIG_EPOLL=y -CONFIG_SIGNALFD=y -CONFIG_TIMERFD=y -CONFIG_EVENTFD=y -CONFIG_SHMEM=y -CONFIG_AIO=y -CONFIG_PCI_QUIRKS=y -CONFIG_EMBEDDED=y -CONFIG_HAVE_PERF_EVENTS=y - -# -# Kernel Performance Events And Counters -# -CONFIG_PERF_EVENTS=y -# CONFIG_DEBUG_PERF_USE_VMALLOC is not set -CONFIG_VM_EVENT_COUNTERS=y -# CONFIG_COMPAT_BRK is not set -CONFIG_SLAB=y -# CONFIG_SLUB is not set -# CONFIG_SLOB is not set -# CONFIG_SYSTEM_TRUSTED_KEYRING is not set -CONFIG_PROFILING=y -CONFIG_OPROFILE=m -# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set -CONFIG_HAVE_OPROFILE=y -CONFIG_OPROFILE_NMI_TIMER=y -# CONFIG_KPROBES is not set -CONFIG_JUMP_LABEL=y -# CONFIG_UPROBES is not set -# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set -CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y -CONFIG_ARCH_USE_BUILTIN_BSWAP=y -CONFIG_USER_RETURN_NOTIFIER=y -CONFIG_HAVE_IOREMAP_PROT=y -CONFIG_HAVE_KPROBES=y -CONFIG_HAVE_KRETPROBES=y -CONFIG_HAVE_OPTPROBES=y -CONFIG_HAVE_KPROBES_ON_FTRACE=y -CONFIG_HAVE_ARCH_TRACEHOOK=y -CONFIG_HAVE_DMA_ATTRS=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y -CONFIG_HAVE_DMA_API_DEBUG=y -CONFIG_HAVE_HW_BREAKPOINT=y -CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y -CONFIG_HAVE_USER_RETURN_NOTIFIER=y -CONFIG_HAVE_PERF_EVENTS_NMI=y -CONFIG_HAVE_PERF_REGS=y -CONFIG_HAVE_PERF_USER_STACK_DUMP=y -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y -CONFIG_HAVE_CMPXCHG_LOCAL=y -CONFIG_HAVE_CMPXCHG_DOUBLE=y -CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y -CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y -CONFIG_HAVE_ARCH_SECCOMP_FILTER=y -CONFIG_SECCOMP_FILTER=y -CONFIG_HAVE_CC_STACKPROTECTOR=y -# CONFIG_CC_STACKPROTECTOR is not set -CONFIG_CC_STACKPROTECTOR_NONE=y -# CONFIG_CC_STACKPROTECTOR_REGULAR is not set -# CONFIG_CC_STACKPROTECTOR_STRONG is not set -CONFIG_HAVE_CONTEXT_TRACKING=y -CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y -CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y -CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y -CONFIG_HAVE_ARCH_SOFT_DIRTY=y -CONFIG_MODULES_USE_ELF_RELA=y -CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y -CONFIG_OLD_SIGSUSPEND3=y -CONFIG_COMPAT_OLD_SIGACTION=y - -# -# GCOV-based kernel profiling -# -# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set -CONFIG_SLABINFO=y -CONFIG_RT_MUTEXES=y -CONFIG_BASE_SMALL=0 -CONFIG_MODULES=y -# CONFIG_MODULE_FORCE_LOAD is not set -CONFIG_MODULE_UNLOAD=y -CONFIG_MODULE_FORCE_UNLOAD=y -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -# CONFIG_MODULE_SIG is not set -CONFIG_STOP_MACHINE=y -CONFIG_BLOCK=y -CONFIG_BLK_DEV_BSG=y -CONFIG_BLK_DEV_BSGLIB=y -# CONFIG_BLK_DEV_INTEGRITY is not set -# CONFIG_BLK_DEV_THROTTLING is not set -# CONFIG_BLK_CMDLINE_PARSER is not set - -# -# Partition Types -# -CONFIG_PARTITION_ADVANCED=y -# CONFIG_ACORN_PARTITION is not set -# CONFIG_AIX_PARTITION is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set -CONFIG_MSDOS_PARTITION=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set -# CONFIG_SGI_PARTITION is not set -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set -# CONFIG_KARMA_PARTITION is not set -CONFIG_EFI_PARTITION=y -# CONFIG_SYSV68_PARTITION is not set -# CONFIG_CMDLINE_PARTITION is not set -CONFIG_BLOCK_COMPAT=y - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -CONFIG_IOSCHED_DEADLINE=y -# CONFIG_IOSCHED_CFQ is not set -CONFIG_DEFAULT_DEADLINE=y -# CONFIG_DEFAULT_NOOP is not set -CONFIG_DEFAULT_IOSCHED="deadline" -CONFIG_PREEMPT_NOTIFIERS=y -CONFIG_INLINE_SPIN_UNLOCK_IRQ=y -CONFIG_INLINE_READ_UNLOCK=y -CONFIG_INLINE_READ_UNLOCK_IRQ=y -CONFIG_INLINE_WRITE_UNLOCK=y -CONFIG_INLINE_WRITE_UNLOCK_IRQ=y -CONFIG_MUTEX_SPIN_ON_OWNER=y -CONFIG_FREEZER=y - -# -# Processor type and features -# -CONFIG_ZONE_DMA=y -CONFIG_SMP=y -CONFIG_X86_MPPARSE=y -# CONFIG_X86_EXTENDED_PLATFORM is not set -# CONFIG_X86_INTEL_LPSS is not set -CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y -CONFIG_SCHED_OMIT_FRAME_POINTER=y -CONFIG_HYPERVISOR_GUEST=y -CONFIG_PARAVIRT=y -# CONFIG_PARAVIRT_DEBUG is not set -# CONFIG_PARAVIRT_SPINLOCKS is not set -CONFIG_XEN=y -CONFIG_XEN_DOM0=y -CONFIG_XEN_PVHVM=y -CONFIG_XEN_MAX_DOMAIN_MEMORY=500 -CONFIG_XEN_SAVE_RESTORE=y -# CONFIG_XEN_PVH is not set -CONFIG_KVM_GUEST=y -# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set -CONFIG_PARAVIRT_CLOCK=y -CONFIG_NO_BOOTMEM=y -# CONFIG_MEMTEST is not set -# CONFIG_MK8 is not set -# CONFIG_MPSC is not set -# CONFIG_MCORE2 is not set -# CONFIG_MATOM is not set -CONFIG_GENERIC_CPU=y -CONFIG_X86_INTERNODE_CACHE_SHIFT=6 -CONFIG_X86_L1_CACHE_SHIFT=6 -CONFIG_X86_TSC=y -CONFIG_X86_CMPXCHG64=y -CONFIG_X86_CMOV=y -CONFIG_X86_MINIMUM_CPU_FAMILY=64 -CONFIG_X86_DEBUGCTLMSR=y -# CONFIG_PROCESSOR_SELECT is not set -CONFIG_CPU_SUP_INTEL=y -CONFIG_CPU_SUP_AMD=y -CONFIG_CPU_SUP_CENTAUR=y -CONFIG_HPET_TIMER=y -CONFIG_HPET_EMULATE_RTC=y -CONFIG_DMI=y -CONFIG_GART_IOMMU=y -# CONFIG_CALGARY_IOMMU is not set -CONFIG_SWIOTLB=y -CONFIG_IOMMU_HELPER=y -# CONFIG_MAXSMP is not set -CONFIG_NR_CPUS=8 -# CONFIG_SCHED_SMT is not set -CONFIG_SCHED_MC=y -# CONFIG_PREEMPT_NONE is not set -CONFIG_PREEMPT_VOLUNTARY=y -# CONFIG_PREEMPT is not set -CONFIG_X86_LOCAL_APIC=y -CONFIG_X86_IO_APIC=y -CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y -CONFIG_X86_MCE=y -CONFIG_X86_MCE_INTEL=y -CONFIG_X86_MCE_AMD=y -CONFIG_X86_MCE_THRESHOLD=y -# CONFIG_X86_MCE_INJECT is not set -CONFIG_X86_THERMAL_VECTOR=y -CONFIG_I8K=m -CONFIG_MICROCODE=m -CONFIG_MICROCODE_INTEL=y -CONFIG_MICROCODE_AMD=y -CONFIG_MICROCODE_OLD_INTERFACE=y -# CONFIG_MICROCODE_INTEL_EARLY is not set -# CONFIG_MICROCODE_AMD_EARLY is not set -CONFIG_X86_MSR=m -CONFIG_X86_CPUID=m -CONFIG_ARCH_PHYS_ADDR_T_64BIT=y -CONFIG_ARCH_DMA_ADDR_T_64BIT=y -CONFIG_DIRECT_GBPAGES=y -# CONFIG_NUMA is not set -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_SPARSEMEM_DEFAULT=y -CONFIG_ARCH_SELECT_MEMORY_MODEL=y -CONFIG_ARCH_PROC_KCORE_TEXT=y -CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 -CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_SPARSEMEM_MANUAL=y -CONFIG_SPARSEMEM=y -CONFIG_HAVE_MEMORY_PRESENT=y -CONFIG_SPARSEMEM_EXTREME=y -CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y -CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y -CONFIG_SPARSEMEM_VMEMMAP=y -CONFIG_HAVE_MEMBLOCK=y -CONFIG_HAVE_MEMBLOCK_NODE_MAP=y -CONFIG_ARCH_DISCARD_MEMBLOCK=y -# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set -# CONFIG_MEMORY_HOTPLUG is not set -CONFIG_PAGEFLAGS_EXTENDED=y -CONFIG_SPLIT_PTLOCK_CPUS=4 -CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y -CONFIG_BALLOON_COMPACTION=y -CONFIG_COMPACTION=y -CONFIG_MIGRATION=y -CONFIG_PHYS_ADDR_T_64BIT=y -CONFIG_ZONE_DMA_FLAG=1 -CONFIG_BOUNCE=y -CONFIG_VIRT_TO_BUS=y -CONFIG_MMU_NOTIFIER=y -CONFIG_KSM=y -CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 -CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y -# CONFIG_MEMORY_FAILURE is not set -CONFIG_TRANSPARENT_HUGEPAGE=y -CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y -# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set -CONFIG_CROSS_MEMORY_ATTACH=y -CONFIG_CLEANCACHE=y -CONFIG_FRONTSWAP=y -# CONFIG_CMA is not set -# CONFIG_ZBUD is not set -# CONFIG_ZSWAP is not set -CONFIG_ZSMALLOC=y -# CONFIG_PGTABLE_MAPPING is not set -CONFIG_GENERIC_EARLY_IOREMAP=y -# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set -CONFIG_X86_RESERVE_LOW=64 -CONFIG_MTRR=y -CONFIG_MTRR_SANITIZER=y -CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 -CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 -CONFIG_X86_PAT=y -CONFIG_ARCH_USES_PG_UNCACHED=y -CONFIG_ARCH_RANDOM=y -CONFIG_X86_SMAP=y -CONFIG_EFI=y -CONFIG_EFI_STUB=y -# CONFIG_EFI_MIXED is not set -CONFIG_SECCOMP=y -CONFIG_HZ_100=y -# CONFIG_HZ_250 is not set -# CONFIG_HZ_300 is not set -# CONFIG_HZ_1000 is not set -CONFIG_HZ=100 -CONFIG_SCHED_HRTICK=y -CONFIG_KEXEC=y -# CONFIG_CRASH_DUMP is not set -# CONFIG_KEXEC_JUMP is not set -CONFIG_PHYSICAL_START=0x100000 -# CONFIG_RELOCATABLE is not set -CONFIG_PHYSICAL_ALIGN=0x1000000 -CONFIG_HOTPLUG_CPU=y -# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set -# CONFIG_DEBUG_HOTPLUG_CPU0 is not set -# CONFIG_COMPAT_VDSO is not set -# CONFIG_CMDLINE_BOOL is not set -CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y - -# -# Power management and ACPI options -# -CONFIG_ARCH_HIBERNATION_HEADER=y -CONFIG_SUSPEND=y -CONFIG_SUSPEND_FREEZER=y -CONFIG_HIBERNATE_CALLBACKS=y -CONFIG_HIBERNATION=y -CONFIG_PM_STD_PARTITION="" -CONFIG_PM_SLEEP=y -CONFIG_PM_SLEEP_SMP=y -# CONFIG_PM_AUTOSLEEP is not set -# CONFIG_PM_WAKELOCKS is not set -CONFIG_PM_RUNTIME=y -CONFIG_PM=y -# CONFIG_PM_DEBUG is not set -# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set -CONFIG_ACPI=y -CONFIG_ACPI_SLEEP=y -# CONFIG_ACPI_PROCFS_POWER is not set -# CONFIG_ACPI_EC_DEBUGFS is not set -CONFIG_ACPI_AC=m -CONFIG_ACPI_BATTERY=m -CONFIG_ACPI_BUTTON=y -CONFIG_ACPI_VIDEO=m -CONFIG_ACPI_FAN=y -CONFIG_ACPI_DOCK=y -CONFIG_ACPI_PROCESSOR=y -CONFIG_ACPI_HOTPLUG_CPU=y -CONFIG_ACPI_PROCESSOR_AGGREGATOR=y -CONFIG_ACPI_THERMAL=y -# CONFIG_ACPI_CUSTOM_DSDT is not set -CONFIG_ACPI_INITRD_TABLE_OVERRIDE=y -# CONFIG_ACPI_DEBUG is not set -# CONFIG_ACPI_PCI_SLOT is not set -CONFIG_X86_PM_TIMER=y -CONFIG_ACPI_CONTAINER=y -CONFIG_ACPI_SBS=m -CONFIG_ACPI_HED=y -# CONFIG_ACPI_BGRT is not set -# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set -CONFIG_ACPI_APEI=y -CONFIG_ACPI_APEI_GHES=y -# CONFIG_ACPI_APEI_ERST_DEBUG is not set -# CONFIG_ACPI_EXTLOG is not set -# CONFIG_SFI is not set - -# -# CPU Frequency scaling -# -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_GOV_COMMON=y -CONFIG_CPU_FREQ_STAT=m -# CONFIG_CPU_FREQ_STAT_DETAILS is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set -CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y -# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set -CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=m -CONFIG_CPU_FREQ_GOV_USERSPACE=m -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m - -# -# x86 CPU frequency scaling drivers -# -# CONFIG_X86_INTEL_PSTATE is not set -CONFIG_X86_PCC_CPUFREQ=y -CONFIG_X86_ACPI_CPUFREQ=m -CONFIG_X86_ACPI_CPUFREQ_CPB=y -CONFIG_X86_POWERNOW_K8=m -# CONFIG_X86_AMD_FREQ_SENSITIVITY is not set -# CONFIG_X86_SPEEDSTEP_CENTRINO is not set -CONFIG_X86_P4_CLOCKMOD=m - -# -# shared options -# -CONFIG_X86_SPEEDSTEP_LIB=m - -# -# CPU Idle -# -CONFIG_CPU_IDLE=y -# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set -CONFIG_CPU_IDLE_GOV_LADDER=y -CONFIG_CPU_IDLE_GOV_MENU=y -# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set -CONFIG_INTEL_IDLE=y - -# -# Memory power savings -# -# CONFIG_I7300_IDLE is not set - -# -# Bus options (PCI etc.) -# -CONFIG_PCI=y -CONFIG_PCI_DIRECT=y -CONFIG_PCI_MMCONFIG=y -CONFIG_PCI_XEN=y -CONFIG_PCI_DOMAINS=y -# CONFIG_PCI_CNB20LE_QUIRK is not set -CONFIG_PCIEPORTBUS=y -CONFIG_HOTPLUG_PCI_PCIE=y -# CONFIG_PCIEAER is not set -CONFIG_PCIEASPM=y -# CONFIG_PCIEASPM_DEBUG is not set -CONFIG_PCIEASPM_DEFAULT=y -# CONFIG_PCIEASPM_POWERSAVE is not set -# CONFIG_PCIEASPM_PERFORMANCE is not set -CONFIG_PCIE_PME=y -CONFIG_PCI_MSI=y -# CONFIG_PCI_DEBUG is not set -# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set -CONFIG_PCI_STUB=m -CONFIG_XEN_PCIDEV_FRONTEND=y -CONFIG_HT_IRQ=y -CONFIG_PCI_ATS=y -CONFIG_PCI_IOV=y -CONFIG_PCI_PRI=y -CONFIG_PCI_PASID=y -CONFIG_PCI_IOAPIC=y -CONFIG_PCI_LABEL=y - -# -# PCI host controller drivers -# -CONFIG_ISA_DMA_API=y -CONFIG_AMD_NB=y -CONFIG_PCCARD=y -CONFIG_PCMCIA=y -CONFIG_PCMCIA_LOAD_CIS=y -CONFIG_CARDBUS=y - -# -# PC-card bridges -# -CONFIG_YENTA=y -CONFIG_YENTA_O2=y -CONFIG_YENTA_RICOH=y -CONFIG_YENTA_TI=y -CONFIG_YENTA_ENE_TUNE=y -CONFIG_YENTA_TOSHIBA=y -CONFIG_PD6729=m -CONFIG_I82092=m -CONFIG_PCCARD_NONSTATIC=y -CONFIG_HOTPLUG_PCI=y -# CONFIG_HOTPLUG_PCI_ACPI is not set -# CONFIG_HOTPLUG_PCI_CPCI is not set -CONFIG_HOTPLUG_PCI_SHPC=m -# CONFIG_RAPIDIO is not set -# CONFIG_X86_SYSFB is not set - -# -# Executable file formats / Emulations -# -CONFIG_BINFMT_ELF=y -CONFIG_COMPAT_BINFMT_ELF=y -CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y -# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set -CONFIG_BINFMT_SCRIPT=y -# CONFIG_HAVE_AOUT is not set -# CONFIG_BINFMT_MISC is not set -CONFIG_COREDUMP=y -CONFIG_IA32_EMULATION=y -# CONFIG_IA32_AOUT is not set -# CONFIG_X86_X32 is not set -CONFIG_COMPAT=y -CONFIG_COMPAT_FOR_U64_ALIGNMENT=y -CONFIG_SYSVIPC_COMPAT=y -CONFIG_KEYS_COMPAT=y -CONFIG_X86_DEV_DMA_OPS=y -CONFIG_NET=y - -# -# Networking options -# -CONFIG_PACKET=y -CONFIG_PACKET_DIAG=y -CONFIG_UNIX=y -CONFIG_UNIX_DIAG=y -CONFIG_XFRM=y -CONFIG_XFRM_ALGO=y -CONFIG_XFRM_USER=y -# CONFIG_XFRM_SUB_POLICY is not set -# CONFIG_XFRM_MIGRATE is not set -# CONFIG_XFRM_STATISTICS is not set -CONFIG_XFRM_IPCOMP=y -CONFIG_NET_KEY=y -# CONFIG_NET_KEY_MIGRATE is not set -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_ADVANCED_ROUTER=y -# CONFIG_IP_FIB_TRIE_STATS is not set -CONFIG_IP_MULTIPLE_TABLES=y -CONFIG_IP_ROUTE_MULTIPATH=y -CONFIG_IP_ROUTE_VERBOSE=y -CONFIG_IP_ROUTE_CLASSID=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -# CONFIG_IP_PNP_BOOTP is not set -# CONFIG_IP_PNP_RARP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE_DEMUX is not set -CONFIG_NET_IP_TUNNEL=m -CONFIG_IP_MROUTE=y -CONFIG_IP_MROUTE_MULTIPLE_TABLES=y -CONFIG_IP_PIMSM_V1=y -CONFIG_IP_PIMSM_V2=y -CONFIG_SYN_COOKIES=y -CONFIG_INET_AH=y -CONFIG_INET_ESP=y -CONFIG_INET_IPCOMP=y -CONFIG_INET_XFRM_TUNNEL=y -CONFIG_INET_TUNNEL=y -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -CONFIG_INET_LRO=y -CONFIG_INET_DIAG=y -CONFIG_INET_TCP_DIAG=y -CONFIG_INET_UDP_DIAG=m -# CONFIG_TCP_CONG_ADVANCED is not set -CONFIG_TCP_CONG_CUBIC=y -CONFIG_DEFAULT_TCP_CONG="cubic" -# CONFIG_TCP_MD5SIG is not set -CONFIG_IPV6=m -CONFIG_IPV6_ROUTER_PREF=y -# CONFIG_IPV6_ROUTE_INFO is not set -# CONFIG_IPV6_OPTIMISTIC_DAD is not set -CONFIG_INET6_AH=m -CONFIG_INET6_ESP=m -CONFIG_INET6_IPCOMP=m -CONFIG_IPV6_MIP6=m -CONFIG_INET6_XFRM_TUNNEL=m -CONFIG_INET6_TUNNEL=m -CONFIG_INET6_XFRM_MODE_TRANSPORT=m -CONFIG_INET6_XFRM_MODE_TUNNEL=m -CONFIG_INET6_XFRM_MODE_BEET=m -CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m -# CONFIG_IPV6_VTI is not set -CONFIG_IPV6_SIT=m -# CONFIG_IPV6_SIT_6RD is not set -CONFIG_IPV6_NDISC_NODETYPE=y -CONFIG_IPV6_TUNNEL=m -CONFIG_IPV6_GRE=m -CONFIG_IPV6_MULTIPLE_TABLES=y -CONFIG_IPV6_SUBTREES=y -# CONFIG_IPV6_MROUTE is not set -# CONFIG_NETWORK_SECMARK is not set -CONFIG_NET_PTP_CLASSIFY=y -# CONFIG_NETWORK_PHY_TIMESTAMPING is not set -CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set -CONFIG_NETFILTER_ADVANCED=y -CONFIG_BRIDGE_NETFILTER=y - -# -# Core Netfilter Configuration -# -CONFIG_NETFILTER_NETLINK=y -CONFIG_NETFILTER_NETLINK_ACCT=y -CONFIG_NETFILTER_NETLINK_QUEUE=m -CONFIG_NETFILTER_NETLINK_LOG=m -CONFIG_NF_CONNTRACK=m -CONFIG_NF_CONNTRACK_MARK=y -CONFIG_NF_CONNTRACK_ZONES=y -CONFIG_NF_CONNTRACK_PROCFS=y -CONFIG_NF_CONNTRACK_EVENTS=y -CONFIG_NF_CONNTRACK_TIMEOUT=y -CONFIG_NF_CONNTRACK_TIMESTAMP=y -# CONFIG_NF_CT_PROTO_DCCP is not set -CONFIG_NF_CT_PROTO_GRE=m -# CONFIG_NF_CT_PROTO_SCTP is not set -CONFIG_NF_CT_PROTO_UDPLITE=m -CONFIG_NF_CONNTRACK_AMANDA=m -CONFIG_NF_CONNTRACK_FTP=m -CONFIG_NF_CONNTRACK_H323=m -CONFIG_NF_CONNTRACK_IRC=m -CONFIG_NF_CONNTRACK_BROADCAST=m -CONFIG_NF_CONNTRACK_NETBIOS_NS=m -CONFIG_NF_CONNTRACK_SNMP=m -CONFIG_NF_CONNTRACK_PPTP=m -CONFIG_NF_CONNTRACK_SANE=m -CONFIG_NF_CONNTRACK_SIP=m -CONFIG_NF_CONNTRACK_TFTP=m -CONFIG_NF_CT_NETLINK=m -CONFIG_NF_CT_NETLINK_TIMEOUT=m -# CONFIG_NF_CT_NETLINK_HELPER is not set -CONFIG_NETFILTER_NETLINK_QUEUE_CT=y -CONFIG_NF_NAT=m -CONFIG_NF_NAT_NEEDED=y -CONFIG_NF_NAT_PROTO_UDPLITE=m -CONFIG_NF_NAT_AMANDA=m -CONFIG_NF_NAT_FTP=m -CONFIG_NF_NAT_IRC=m -CONFIG_NF_NAT_SIP=m -CONFIG_NF_NAT_TFTP=m -# CONFIG_NF_TABLES is not set -CONFIG_NETFILTER_XTABLES=y - -# -# Xtables combined modules -# -CONFIG_NETFILTER_XT_MARK=m -CONFIG_NETFILTER_XT_CONNMARK=m -CONFIG_NETFILTER_XT_SET=m - -# -# Xtables targets -# -CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m -CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m -CONFIG_NETFILTER_XT_TARGET_CONNMARK=m -CONFIG_NETFILTER_XT_TARGET_CT=m -CONFIG_NETFILTER_XT_TARGET_DSCP=m -CONFIG_NETFILTER_XT_TARGET_HL=m -CONFIG_NETFILTER_XT_TARGET_HMARK=m -CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m -CONFIG_NETFILTER_XT_TARGET_LED=m -CONFIG_NETFILTER_XT_TARGET_LOG=m -CONFIG_NETFILTER_XT_TARGET_MARK=m -CONFIG_NETFILTER_XT_TARGET_NETMAP=m -CONFIG_NETFILTER_XT_TARGET_NFLOG=m -CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m -CONFIG_NETFILTER_XT_TARGET_NOTRACK=m -CONFIG_NETFILTER_XT_TARGET_RATEEST=m -CONFIG_NETFILTER_XT_TARGET_REDIRECT=m -CONFIG_NETFILTER_XT_TARGET_TEE=m -CONFIG_NETFILTER_XT_TARGET_TPROXY=m -CONFIG_NETFILTER_XT_TARGET_TRACE=m -CONFIG_NETFILTER_XT_TARGET_TCPMSS=m -CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m - -# -# Xtables matches -# -CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m -# CONFIG_NETFILTER_XT_MATCH_BPF is not set -# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set -CONFIG_NETFILTER_XT_MATCH_CLUSTER=m -CONFIG_NETFILTER_XT_MATCH_COMMENT=m -CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m -# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set -CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m -CONFIG_NETFILTER_XT_MATCH_CONNMARK=m -CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -CONFIG_NETFILTER_XT_MATCH_CPU=m -CONFIG_NETFILTER_XT_MATCH_DCCP=m -CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m -CONFIG_NETFILTER_XT_MATCH_DSCP=m -CONFIG_NETFILTER_XT_MATCH_ECN=m -CONFIG_NETFILTER_XT_MATCH_ESP=m -CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m -CONFIG_NETFILTER_XT_MATCH_HELPER=m -CONFIG_NETFILTER_XT_MATCH_HL=m -# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set -CONFIG_NETFILTER_XT_MATCH_IPRANGE=m -CONFIG_NETFILTER_XT_MATCH_L2TP=m -CONFIG_NETFILTER_XT_MATCH_LENGTH=m -CONFIG_NETFILTER_XT_MATCH_LIMIT=m -CONFIG_NETFILTER_XT_MATCH_MAC=m -CONFIG_NETFILTER_XT_MATCH_MARK=m -CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m -CONFIG_NETFILTER_XT_MATCH_NFACCT=m -CONFIG_NETFILTER_XT_MATCH_OSF=m -CONFIG_NETFILTER_XT_MATCH_OWNER=m -CONFIG_NETFILTER_XT_MATCH_POLICY=m -CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m -CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m -CONFIG_NETFILTER_XT_MATCH_QUOTA=m -CONFIG_NETFILTER_XT_MATCH_RATEEST=m -CONFIG_NETFILTER_XT_MATCH_REALM=m -CONFIG_NETFILTER_XT_MATCH_RECENT=m -# CONFIG_NETFILTER_XT_MATCH_SCTP is not set -# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set -CONFIG_NETFILTER_XT_MATCH_STATE=m -CONFIG_NETFILTER_XT_MATCH_STATISTIC=m -CONFIG_NETFILTER_XT_MATCH_STRING=m -CONFIG_NETFILTER_XT_MATCH_TCPMSS=m -CONFIG_NETFILTER_XT_MATCH_TIME=m -CONFIG_NETFILTER_XT_MATCH_U32=m -CONFIG_IP_SET=m -CONFIG_IP_SET_MAX=256 -CONFIG_IP_SET_BITMAP_IP=m -CONFIG_IP_SET_BITMAP_IPMAC=m -CONFIG_IP_SET_BITMAP_PORT=m -CONFIG_IP_SET_HASH_IP=m -# CONFIG_IP_SET_HASH_IPMARK is not set -CONFIG_IP_SET_HASH_IPPORT=m -CONFIG_IP_SET_HASH_IPPORTIP=m -CONFIG_IP_SET_HASH_IPPORTNET=m -# CONFIG_IP_SET_HASH_NETPORTNET is not set -CONFIG_IP_SET_HASH_NET=m -# CONFIG_IP_SET_HASH_NETNET is not set -CONFIG_IP_SET_HASH_NETPORT=m -CONFIG_IP_SET_HASH_NETIFACE=m -CONFIG_IP_SET_LIST_SET=m -# CONFIG_IP_VS is not set - -# -# IP: Netfilter Configuration -# -CONFIG_NF_DEFRAG_IPV4=m -CONFIG_NF_CONNTRACK_IPV4=m -CONFIG_NF_CONNTRACK_PROC_COMPAT=y -CONFIG_IP_NF_IPTABLES=y -CONFIG_IP_NF_MATCH_AH=m -CONFIG_IP_NF_MATCH_ECN=m -CONFIG_IP_NF_MATCH_RPFILTER=m -CONFIG_IP_NF_MATCH_TTL=m -CONFIG_IP_NF_FILTER=y -CONFIG_IP_NF_TARGET_REJECT=m -# CONFIG_IP_NF_TARGET_SYNPROXY is not set -CONFIG_IP_NF_TARGET_ULOG=m -CONFIG_NF_NAT_IPV4=m -CONFIG_IP_NF_TARGET_MASQUERADE=m -CONFIG_IP_NF_TARGET_NETMAP=m -CONFIG_IP_NF_TARGET_REDIRECT=m -CONFIG_NF_NAT_SNMP_BASIC=m -CONFIG_NF_NAT_PROTO_GRE=m -CONFIG_NF_NAT_PPTP=m -CONFIG_NF_NAT_H323=m -CONFIG_IP_NF_MANGLE=m -CONFIG_IP_NF_TARGET_CLUSTERIP=m -CONFIG_IP_NF_TARGET_ECN=m -CONFIG_IP_NF_TARGET_TTL=m -CONFIG_IP_NF_RAW=m -CONFIG_IP_NF_ARPTABLES=m -CONFIG_IP_NF_ARPFILTER=m -CONFIG_IP_NF_ARP_MANGLE=m - -# -# IPv6: Netfilter Configuration -# -CONFIG_NF_DEFRAG_IPV6=m -CONFIG_NF_CONNTRACK_IPV6=m -CONFIG_IP6_NF_IPTABLES=m -CONFIG_IP6_NF_MATCH_AH=m -CONFIG_IP6_NF_MATCH_EUI64=m -CONFIG_IP6_NF_MATCH_FRAG=m -CONFIG_IP6_NF_MATCH_OPTS=m -CONFIG_IP6_NF_MATCH_HL=m -CONFIG_IP6_NF_MATCH_IPV6HEADER=m -CONFIG_IP6_NF_MATCH_MH=m -CONFIG_IP6_NF_MATCH_RPFILTER=m -CONFIG_IP6_NF_MATCH_RT=m -CONFIG_IP6_NF_TARGET_HL=m -CONFIG_IP6_NF_FILTER=m -CONFIG_IP6_NF_TARGET_REJECT=m -# CONFIG_IP6_NF_TARGET_SYNPROXY is not set -CONFIG_IP6_NF_MANGLE=m -CONFIG_IP6_NF_RAW=m -CONFIG_NF_NAT_IPV6=m -CONFIG_IP6_NF_TARGET_MASQUERADE=m -CONFIG_IP6_NF_TARGET_NPT=m -CONFIG_BRIDGE_NF_EBTABLES=m -CONFIG_BRIDGE_EBT_BROUTE=m -CONFIG_BRIDGE_EBT_T_FILTER=m -CONFIG_BRIDGE_EBT_T_NAT=m -CONFIG_BRIDGE_EBT_802_3=m -CONFIG_BRIDGE_EBT_AMONG=m -CONFIG_BRIDGE_EBT_ARP=m -CONFIG_BRIDGE_EBT_IP=m -CONFIG_BRIDGE_EBT_IP6=m -CONFIG_BRIDGE_EBT_LIMIT=m -CONFIG_BRIDGE_EBT_MARK=m -CONFIG_BRIDGE_EBT_PKTTYPE=m -CONFIG_BRIDGE_EBT_STP=m -CONFIG_BRIDGE_EBT_VLAN=m -CONFIG_BRIDGE_EBT_ARPREPLY=m -CONFIG_BRIDGE_EBT_DNAT=m -CONFIG_BRIDGE_EBT_MARK_T=m -CONFIG_BRIDGE_EBT_REDIRECT=m -CONFIG_BRIDGE_EBT_SNAT=m -CONFIG_BRIDGE_EBT_LOG=m -CONFIG_BRIDGE_EBT_ULOG=m -CONFIG_BRIDGE_EBT_NFLOG=m -# CONFIG_IP_DCCP is not set -# CONFIG_IP_SCTP is not set -# CONFIG_RDS is not set -# CONFIG_TIPC is not set -# CONFIG_ATM is not set -CONFIG_L2TP=m -# CONFIG_L2TP_V3 is not set -CONFIG_STP=m -CONFIG_GARP=m -CONFIG_BRIDGE=m -CONFIG_BRIDGE_IGMP_SNOOPING=y -# CONFIG_BRIDGE_VLAN_FILTERING is not set -CONFIG_HAVE_NET_DSA=y -CONFIG_VLAN_8021Q=m -CONFIG_VLAN_8021Q_GVRP=y -# CONFIG_VLAN_8021Q_MVRP is not set -# CONFIG_DECNET is not set -CONFIG_LLC=m -# CONFIG_LLC2 is not set -# CONFIG_IPX is not set -# CONFIG_ATALK is not set -# CONFIG_X25 is not set -# CONFIG_LAPB is not set -# CONFIG_PHONET is not set -# CONFIG_IEEE802154 is not set -CONFIG_NET_SCHED=y - -# -# Queueing/Scheduling -# -CONFIG_NET_SCH_CBQ=m -CONFIG_NET_SCH_HTB=m -CONFIG_NET_SCH_HFSC=m -CONFIG_NET_SCH_PRIO=m -CONFIG_NET_SCH_MULTIQ=m -CONFIG_NET_SCH_RED=m -CONFIG_NET_SCH_SFB=m -CONFIG_NET_SCH_SFQ=m -CONFIG_NET_SCH_TEQL=m -CONFIG_NET_SCH_TBF=m -CONFIG_NET_SCH_GRED=m -CONFIG_NET_SCH_DSMARK=m -CONFIG_NET_SCH_NETEM=m -CONFIG_NET_SCH_DRR=m -CONFIG_NET_SCH_MQPRIO=m -CONFIG_NET_SCH_CHOKE=m -CONFIG_NET_SCH_QFQ=m -# CONFIG_NET_SCH_CODEL is not set -# CONFIG_NET_SCH_FQ_CODEL is not set -# CONFIG_NET_SCH_FQ is not set -# CONFIG_NET_SCH_HHF is not set -# CONFIG_NET_SCH_PIE is not set -CONFIG_NET_SCH_INGRESS=m -# CONFIG_NET_SCH_PLUG is not set - -# -# Classification -# -CONFIG_NET_CLS=y -CONFIG_NET_CLS_BASIC=m -CONFIG_NET_CLS_TCINDEX=m -CONFIG_NET_CLS_ROUTE4=m -CONFIG_NET_CLS_FW=m -CONFIG_NET_CLS_U32=m -CONFIG_CLS_U32_PERF=y -CONFIG_CLS_U32_MARK=y -CONFIG_NET_CLS_RSVP=m -CONFIG_NET_CLS_RSVP6=m -CONFIG_NET_CLS_FLOW=y -CONFIG_NET_CLS_CGROUP=m -# CONFIG_NET_CLS_BPF is not set -CONFIG_NET_EMATCH=y -CONFIG_NET_EMATCH_STACK=32 -CONFIG_NET_EMATCH_CMP=m -CONFIG_NET_EMATCH_NBYTE=m -CONFIG_NET_EMATCH_U32=m -CONFIG_NET_EMATCH_META=m -CONFIG_NET_EMATCH_TEXT=m -CONFIG_NET_EMATCH_IPSET=m -CONFIG_NET_CLS_ACT=y -CONFIG_NET_ACT_POLICE=m -CONFIG_NET_ACT_GACT=m -CONFIG_GACT_PROB=y -CONFIG_NET_ACT_MIRRED=m -CONFIG_NET_ACT_IPT=m -CONFIG_NET_ACT_NAT=m -CONFIG_NET_ACT_PEDIT=m -CONFIG_NET_ACT_SIMP=m -CONFIG_NET_ACT_SKBEDIT=m -CONFIG_NET_ACT_CSUM=m -CONFIG_NET_CLS_IND=y -CONFIG_NET_SCH_FIFO=y -# CONFIG_DCB is not set -CONFIG_DNS_RESOLVER=y -# CONFIG_BATMAN_ADV is not set -# CONFIG_OPENVSWITCH is not set -# CONFIG_VSOCKETS is not set -# CONFIG_NETLINK_MMAP is not set -# CONFIG_NETLINK_DIAG is not set -# CONFIG_NET_MPLS_GSO is not set -# CONFIG_HSR is not set -CONFIG_RPS=y -CONFIG_RFS_ACCEL=y -CONFIG_XPS=y -# CONFIG_CGROUP_NET_PRIO is not set -CONFIG_CGROUP_NET_CLASSID=y -CONFIG_NET_RX_BUSY_POLL=y -CONFIG_BQL=y -# CONFIG_BPF_JIT is not set -CONFIG_NET_FLOW_LIMIT=y - -# -# Network testing -# -# CONFIG_NET_PKTGEN is not set -CONFIG_HAMRADIO=y - -# -# Packet Radio protocols -# -CONFIG_AX25=m -CONFIG_AX25_DAMA_SLAVE=y -CONFIG_NETROM=m -CONFIG_ROSE=m - -# -# AX.25 network device drivers -# -CONFIG_MKISS=m -CONFIG_6PACK=m -CONFIG_BPQETHER=m -CONFIG_BAYCOM_SER_FDX=m -CONFIG_BAYCOM_SER_HDX=m -CONFIG_BAYCOM_PAR=m -CONFIG_YAM=m -# CONFIG_CAN is not set -CONFIG_IRDA=m - -# -# IrDA protocols -# -CONFIG_IRLAN=m -CONFIG_IRNET=m -CONFIG_IRCOMM=m -# CONFIG_IRDA_ULTRA is not set - -# -# IrDA options -# -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y -# CONFIG_IRDA_DEBUG is not set - -# -# Infrared-port device drivers -# - -# -# SIR device drivers -# -CONFIG_IRTTY_SIR=m - -# -# Dongle support -# -CONFIG_DONGLE=y -CONFIG_ESI_DONGLE=m -CONFIG_ACTISYS_DONGLE=m -CONFIG_TEKRAM_DONGLE=m -CONFIG_TOIM3232_DONGLE=m -CONFIG_LITELINK_DONGLE=m -CONFIG_MA600_DONGLE=m -CONFIG_GIRBIL_DONGLE=m -CONFIG_MCP2120_DONGLE=m -CONFIG_OLD_BELKIN_DONGLE=m -CONFIG_ACT200L_DONGLE=m -CONFIG_KINGSUN_DONGLE=m -CONFIG_KSDAZZLE_DONGLE=m -CONFIG_KS959_DONGLE=m - -# -# FIR device drivers -# -CONFIG_USB_IRDA=m -CONFIG_SIGMATEL_FIR=m -CONFIG_NSC_FIR=m -CONFIG_WINBOND_FIR=m -CONFIG_SMC_IRCC_FIR=m -CONFIG_ALI_FIR=m -CONFIG_VLSI_FIR=m -CONFIG_VIA_FIR=m -CONFIG_MCS_FIR=m -# CONFIG_BT is not set -# CONFIG_AF_RXRPC is not set -CONFIG_FIB_RULES=y -CONFIG_WIRELESS=y -# CONFIG_CFG80211 is not set -# CONFIG_LIB80211 is not set - -# -# CFG80211 needs to be enabled for MAC80211 -# -CONFIG_WIMAX=m -CONFIG_WIMAX_DEBUG_LEVEL=0 -CONFIG_RFKILL=y -CONFIG_RFKILL_LEDS=y -CONFIG_RFKILL_INPUT=y -# CONFIG_NET_9P is not set -# CONFIG_CAIF is not set -# CONFIG_CEPH_LIB is not set -# CONFIG_NFC is not set -CONFIG_HAVE_BPF_JIT=y - -# -# Device Drivers -# - -# -# Generic Driver Options -# -CONFIG_UEVENT_HELPER_PATH="" -# CONFIG_DEVTMPFS is not set -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y -CONFIG_FW_LOADER=y -CONFIG_FIRMWARE_IN_KERNEL=y -CONFIG_EXTRA_FIRMWARE="" -CONFIG_FW_LOADER_USER_HELPER=y -# CONFIG_DEBUG_DRIVER is not set -# CONFIG_DEBUG_DEVRES is not set -CONFIG_SYS_HYPERVISOR=y -# CONFIG_GENERIC_CPU_DEVICES is not set -CONFIG_GENERIC_CPU_AUTOPROBE=y -CONFIG_REGMAP=y -CONFIG_REGMAP_I2C=m -# CONFIG_DMA_SHARED_BUFFER is not set - -# -# Bus devices -# -CONFIG_CONNECTOR=m -CONFIG_MTD=m -CONFIG_MTD_TESTS=m -CONFIG_MTD_REDBOOT_PARTS=m -CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 -CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y -CONFIG_MTD_REDBOOT_PARTS_READONLY=y -# CONFIG_MTD_CMDLINE_PARTS is not set -CONFIG_MTD_AR7_PARTS=m - -# -# User Modules And Translation Layers -# -CONFIG_MTD_BLKDEVS=m -CONFIG_MTD_BLOCK=m -CONFIG_MTD_BLOCK_RO=m -CONFIG_FTL=m -CONFIG_NFTL=m -CONFIG_NFTL_RW=y -CONFIG_INFTL=m -CONFIG_RFD_FTL=m -CONFIG_SSFDC=m -# CONFIG_SM_FTL is not set -# CONFIG_MTD_OOPS is not set -CONFIG_MTD_SWAP=m - -# -# RAM/ROM/Flash chip drivers -# -CONFIG_MTD_CFI=m -CONFIG_MTD_JEDECPROBE=m -CONFIG_MTD_GEN_PROBE=m -CONFIG_MTD_CFI_ADV_OPTIONS=y -CONFIG_MTD_CFI_NOSWAP=y -# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set -# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set -CONFIG_MTD_CFI_GEOMETRY=y -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -CONFIG_MTD_MAP_BANK_WIDTH_8=y -CONFIG_MTD_MAP_BANK_WIDTH_16=y -CONFIG_MTD_MAP_BANK_WIDTH_32=y -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -CONFIG_MTD_CFI_I4=y -CONFIG_MTD_CFI_I8=y -CONFIG_MTD_OTP=y -CONFIG_MTD_CFI_INTELEXT=m -CONFIG_MTD_CFI_AMDSTD=m -CONFIG_MTD_CFI_STAA=m -CONFIG_MTD_CFI_UTIL=m -CONFIG_MTD_RAM=m -CONFIG_MTD_ROM=m -CONFIG_MTD_ABSENT=m - -# -# Mapping drivers for chip access -# -CONFIG_MTD_COMPLEX_MAPPINGS=y -CONFIG_MTD_PHYSMAP=m -CONFIG_MTD_PHYSMAP_COMPAT=y -CONFIG_MTD_PHYSMAP_START=0x8000000 -CONFIG_MTD_PHYSMAP_LEN=0 -CONFIG_MTD_PHYSMAP_BANKWIDTH=2 -CONFIG_MTD_SC520CDP=m -CONFIG_MTD_NETSC520=m -CONFIG_MTD_SBC_GXX=m -CONFIG_MTD_AMD76XROM=m -CONFIG_MTD_ICHXROM=m -CONFIG_MTD_ESB2ROM=m -CONFIG_MTD_CK804XROM=m -CONFIG_MTD_SCB2_FLASH=m -CONFIG_MTD_NETtel=m -CONFIG_MTD_L440GX=m -CONFIG_MTD_PCI=m -CONFIG_MTD_PCMCIA=m -# CONFIG_MTD_PCMCIA_ANONYMOUS is not set -CONFIG_MTD_INTEL_VR_NOR=m -CONFIG_MTD_PLATRAM=m -CONFIG_MTD_LATCH_ADDR=m - -# -# Self-contained MTD device drivers -# -CONFIG_MTD_PMC551=m -CONFIG_MTD_PMC551_BUGFIX=y -# CONFIG_MTD_PMC551_DEBUG is not set -CONFIG_MTD_SLRAM=m -CONFIG_MTD_PHRAM=m -CONFIG_MTD_MTDRAM=m -CONFIG_MTDRAM_TOTAL_SIZE=4096 -CONFIG_MTDRAM_ERASE_SIZE=128 -CONFIG_MTD_BLOCK2MTD=m - -# -# Disk-On-Chip Device Drivers -# -CONFIG_MTD_DOCG3=m -CONFIG_BCH_CONST_M=14 -CONFIG_BCH_CONST_T=4 -CONFIG_MTD_NAND_ECC=m -CONFIG_MTD_NAND_ECC_SMC=y -CONFIG_MTD_NAND=m -CONFIG_MTD_NAND_BCH=m -CONFIG_MTD_NAND_ECC_BCH=y -CONFIG_MTD_SM_COMMON=m -CONFIG_MTD_NAND_DENALI=m -CONFIG_MTD_NAND_DENALI_PCI=m -CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018 -CONFIG_MTD_NAND_IDS=m -CONFIG_MTD_NAND_RICOH=m -CONFIG_MTD_NAND_DISKONCHIP=m -CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y -CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 -CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y -CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y -# CONFIG_MTD_NAND_DOCG4 is not set -CONFIG_MTD_NAND_CAFE=m -CONFIG_MTD_NAND_NANDSIM=m -CONFIG_MTD_NAND_PLATFORM=m -CONFIG_MTD_ONENAND=m -CONFIG_MTD_ONENAND_VERIFY_WRITE=y -# CONFIG_MTD_ONENAND_GENERIC is not set -CONFIG_MTD_ONENAND_OTP=y -CONFIG_MTD_ONENAND_2X_PROGRAM=y - -# -# LPDDR flash memory drivers -# -CONFIG_MTD_LPDDR=m -CONFIG_MTD_QINFO_PROBE=m -CONFIG_MTD_UBI=m -CONFIG_MTD_UBI_WL_THRESHOLD=4096 -CONFIG_MTD_UBI_BEB_LIMIT=20 -# CONFIG_MTD_UBI_FASTMAP is not set -# CONFIG_MTD_UBI_GLUEBI is not set -# CONFIG_MTD_UBI_BLOCK is not set -CONFIG_PARPORT=m -CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y -CONFIG_PARPORT_PC=m -# CONFIG_PARPORT_SERIAL is not set -CONFIG_PARPORT_PC_FIFO=y -# CONFIG_PARPORT_PC_SUPERIO is not set -# CONFIG_PARPORT_PC_PCMCIA is not set -# CONFIG_PARPORT_GSC is not set -# CONFIG_PARPORT_AX88796 is not set -CONFIG_PARPORT_1284=y -CONFIG_PARPORT_NOT_PC=y -CONFIG_PNP=y -# CONFIG_PNP_DEBUG_MESSAGES is not set - -# -# Protocols -# -CONFIG_PNPACPI=y -CONFIG_BLK_DEV=y -# CONFIG_BLK_DEV_NULL_BLK is not set -CONFIG_BLK_DEV_FD=m -# CONFIG_PARIDE is not set -CONFIG_BLK_DEV_PCIESSD_MTIP32XX=y -CONFIG_ZRAM=y -# CONFIG_ZRAM_LZ4_COMPRESS is not set -# CONFIG_ZRAM_DEBUG is not set -# CONFIG_BLK_CPQ_CISS_DA is not set -# CONFIG_BLK_DEV_DAC960 is not set -# CONFIG_BLK_DEV_UMEM is not set -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=m -CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_DRBD is not set -CONFIG_BLK_DEV_NBD=m -CONFIG_BLK_DEV_NVME=y -# CONFIG_BLK_DEV_SKD is not set -# CONFIG_BLK_DEV_OSD is not set -# CONFIG_BLK_DEV_SX8 is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=8 -CONFIG_BLK_DEV_RAM_SIZE=65535 -# CONFIG_BLK_DEV_XIP is not set -CONFIG_CDROM_PKTCDVD=y -CONFIG_CDROM_PKTCDVD_BUFFERS=8 -# CONFIG_CDROM_PKTCDVD_WCACHE is not set -CONFIG_ATA_OVER_ETH=m -CONFIG_XEN_BLKDEV_FRONTEND=y -# CONFIG_XEN_BLKDEV_BACKEND is not set -CONFIG_VIRTIO_BLK=y -# CONFIG_BLK_DEV_HD is not set -# CONFIG_BLK_DEV_RBD is not set -# CONFIG_BLK_DEV_RSXX is not set - -# -# Misc devices -# -CONFIG_SENSORS_LIS3LV02D=m -# CONFIG_AD525X_DPOT is not set -# CONFIG_DUMMY_IRQ is not set -# CONFIG_IBM_ASM is not set -# CONFIG_PHANTOM is not set -# CONFIG_SGI_IOC4 is not set -CONFIG_TIFM_CORE=m -CONFIG_TIFM_7XX1=m -# CONFIG_ICS932S401 is not set -# CONFIG_ATMEL_SSC is not set -# CONFIG_ENCLOSURE_SERVICES is not set -# CONFIG_HP_ILO is not set -# CONFIG_APDS9802ALS is not set -# CONFIG_ISL29003 is not set -# CONFIG_ISL29020 is not set -# CONFIG_SENSORS_TSL2550 is not set -# CONFIG_SENSORS_BH1780 is not set -# CONFIG_SENSORS_BH1770 is not set -# CONFIG_SENSORS_APDS990X is not set -# CONFIG_HMC6352 is not set -# CONFIG_DS1682 is not set -# CONFIG_VMWARE_BALLOON is not set -# CONFIG_BMP085_I2C is not set -# CONFIG_PCH_PHUB is not set -# CONFIG_USB_SWITCH_FSA9480 is not set -# CONFIG_SRAM is not set -# CONFIG_C2PORT is not set - -# -# EEPROM support -# -# CONFIG_EEPROM_AT24 is not set -# CONFIG_EEPROM_LEGACY is not set -# CONFIG_EEPROM_MAX6875 is not set -CONFIG_EEPROM_93CX6=m -CONFIG_CB710_CORE=m -# CONFIG_CB710_DEBUG is not set -CONFIG_CB710_DEBUG_ASSUMPTIONS=y - -# -# Texas Instruments shared transport line discipline -# -# CONFIG_SENSORS_LIS3_I2C is not set - -# -# Altera FPGA firmware download module -# -CONFIG_ALTERA_STAPL=m -# CONFIG_INTEL_MEI is not set -# CONFIG_INTEL_MEI_ME is not set -# CONFIG_INTEL_MEI_TXE is not set -# CONFIG_VMWARE_VMCI is not set - -# -# Intel MIC Host Driver -# -# CONFIG_INTEL_MIC_HOST is not set - -# -# Intel MIC Card Driver -# -# CONFIG_INTEL_MIC_CARD is not set -# CONFIG_GENWQE is not set -# CONFIG_ECHO is not set -CONFIG_HAVE_IDE=y -# CONFIG_IDE is not set - -# -# SCSI device support -# -CONFIG_SCSI_MOD=y -CONFIG_RAID_ATTRS=y -CONFIG_SCSI=y -CONFIG_SCSI_DMA=y -CONFIG_SCSI_TGT=y -CONFIG_SCSI_NETLINK=y -CONFIG_SCSI_PROC_FS=y - -# -# SCSI support type (disk, tape, CD-ROM) -# -CONFIG_BLK_DEV_SD=y -# CONFIG_CHR_DEV_ST is not set -# CONFIG_CHR_DEV_OSST is not set -CONFIG_BLK_DEV_SR=y -# CONFIG_BLK_DEV_SR_VENDOR is not set -CONFIG_CHR_DEV_SG=y -# CONFIG_CHR_DEV_SCH is not set -CONFIG_SCSI_MULTI_LUN=y -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set -CONFIG_SCSI_SCAN_ASYNC=y - -# -# SCSI Transports -# -CONFIG_SCSI_SPI_ATTRS=m -CONFIG_SCSI_FC_ATTRS=m -CONFIG_SCSI_FC_TGT_ATTRS=y -CONFIG_SCSI_ISCSI_ATTRS=m -CONFIG_SCSI_SAS_ATTRS=m -CONFIG_SCSI_SAS_LIBSAS=m -CONFIG_SCSI_SAS_ATA=y -CONFIG_SCSI_SAS_HOST_SMP=y -CONFIG_SCSI_SRP_ATTRS=m -CONFIG_SCSI_SRP_TGT_ATTRS=y -CONFIG_SCSI_LOWLEVEL=y -CONFIG_ISCSI_TCP=m -CONFIG_ISCSI_BOOT_SYSFS=m -CONFIG_SCSI_CXGB3_ISCSI=m -CONFIG_SCSI_CXGB4_ISCSI=m -CONFIG_SCSI_BNX2_ISCSI=m -CONFIG_SCSI_BNX2X_FCOE=m -CONFIG_BE2ISCSI=m -CONFIG_BLK_DEV_3W_XXXX_RAID=m -CONFIG_SCSI_HPSA=m -CONFIG_SCSI_3W_9XXX=m -CONFIG_SCSI_3W_SAS=m -CONFIG_SCSI_ACARD=m -CONFIG_SCSI_AACRAID=m -CONFIG_SCSI_AIC7XXX=m -CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 -CONFIG_AIC7XXX_RESET_DELAY_MS=5000 -# CONFIG_AIC7XXX_DEBUG_ENABLE is not set -CONFIG_AIC7XXX_DEBUG_MASK=0 -CONFIG_AIC7XXX_REG_PRETTY_PRINT=y -CONFIG_SCSI_AIC79XX=m -CONFIG_AIC79XX_CMDS_PER_DEVICE=32 -CONFIG_AIC79XX_RESET_DELAY_MS=5000 -# CONFIG_AIC79XX_DEBUG_ENABLE is not set -CONFIG_AIC79XX_DEBUG_MASK=0 -CONFIG_AIC79XX_REG_PRETTY_PRINT=y -CONFIG_SCSI_AIC94XX=m -# CONFIG_AIC94XX_DEBUG is not set -CONFIG_SCSI_MVSAS=m -# CONFIG_SCSI_MVSAS_DEBUG is not set -# CONFIG_SCSI_MVSAS_TASKLET is not set -# CONFIG_SCSI_MVUMI is not set -CONFIG_SCSI_DPT_I2O=m -CONFIG_SCSI_ADVANSYS=m -CONFIG_SCSI_ARCMSR=m -# CONFIG_SCSI_ESAS2R is not set -CONFIG_MEGARAID_NEWGEN=y -CONFIG_MEGARAID_MM=m -CONFIG_MEGARAID_MAILBOX=m -# CONFIG_MEGARAID_LEGACY is not set -CONFIG_MEGARAID_SAS=m -CONFIG_SCSI_MPT2SAS=m -CONFIG_SCSI_MPT2SAS_MAX_SGE=128 -# CONFIG_SCSI_MPT2SAS_LOGGING is not set -CONFIG_SCSI_MPT3SAS=m -CONFIG_SCSI_MPT3SAS_MAX_SGE=128 -# CONFIG_SCSI_MPT3SAS_LOGGING is not set -CONFIG_SCSI_UFSHCD=m -# CONFIG_SCSI_UFSHCD_PCI is not set -# CONFIG_SCSI_UFSHCD_PLATFORM is not set -CONFIG_SCSI_HPTIOP=m -CONFIG_SCSI_BUSLOGIC=m -# CONFIG_SCSI_FLASHPOINT is not set -CONFIG_VMWARE_PVSCSI=y -CONFIG_HYPERV_STORAGE=m -CONFIG_LIBFC=m -CONFIG_LIBFCOE=m -CONFIG_FCOE=m -CONFIG_FCOE_FNIC=m -CONFIG_SCSI_DMX3191D=m -CONFIG_SCSI_EATA=m -# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set -# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set -CONFIG_SCSI_EATA_MAX_TAGS=16 -CONFIG_SCSI_FUTURE_DOMAIN=m -CONFIG_SCSI_GDTH=m -CONFIG_SCSI_ISCI=m -CONFIG_SCSI_IPS=m -CONFIG_SCSI_INITIO=m -CONFIG_SCSI_INIA100=m -CONFIG_SCSI_PPA=m -CONFIG_SCSI_IMM=m -# CONFIG_SCSI_IZIP_EPP16 is not set -# CONFIG_SCSI_IZIP_SLOW_CTR is not set -CONFIG_SCSI_STEX=m -CONFIG_SCSI_SYM53C8XX_2=m -CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 -CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 -CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 -CONFIG_SCSI_SYM53C8XX_MMIO=y -CONFIG_SCSI_IPR=m -CONFIG_SCSI_IPR_TRACE=y -CONFIG_SCSI_IPR_DUMP=y -CONFIG_SCSI_QLOGIC_1280=m -CONFIG_SCSI_QLA_FC=m -CONFIG_SCSI_QLA_ISCSI=m -CONFIG_SCSI_LPFC=m -CONFIG_SCSI_DC395x=m -CONFIG_SCSI_DC390T=m -# CONFIG_SCSI_DEBUG is not set -CONFIG_SCSI_PMCRAID=m -CONFIG_SCSI_PM8001=m -CONFIG_SCSI_SRP=m -CONFIG_SCSI_BFA_FC=m -CONFIG_SCSI_VIRTIO=m -# CONFIG_SCSI_CHELSIO_FCOE is not set -CONFIG_SCSI_LOWLEVEL_PCMCIA=y -CONFIG_PCMCIA_AHA152X=m -CONFIG_PCMCIA_FDOMAIN=m -CONFIG_PCMCIA_QLOGIC=m -CONFIG_PCMCIA_SYM53C500=m -CONFIG_SCSI_DH=y -CONFIG_SCSI_DH_RDAC=m -CONFIG_SCSI_DH_HP_SW=m -CONFIG_SCSI_DH_EMC=m -CONFIG_SCSI_DH_ALUA=m -CONFIG_SCSI_OSD_INITIATOR=m -CONFIG_SCSI_OSD_ULD=m -CONFIG_SCSI_OSD_DPRINT_SENSE=1 -# CONFIG_SCSI_OSD_DEBUG is not set -CONFIG_ATA=y -# CONFIG_ATA_NONSTANDARD is not set -CONFIG_ATA_VERBOSE_ERROR=y -CONFIG_ATA_ACPI=y -# CONFIG_SATA_ZPODD is not set -CONFIG_SATA_PMP=y - -# -# Controllers with non-SFF native interface -# -CONFIG_SATA_AHCI=y -CONFIG_SATA_AHCI_PLATFORM=y -CONFIG_SATA_INIC162X=y -CONFIG_SATA_ACARD_AHCI=y -CONFIG_SATA_SIL24=y -CONFIG_ATA_SFF=y - -# -# SFF controllers with custom DMA interface -# -CONFIG_PDC_ADMA=y -CONFIG_SATA_QSTOR=y -CONFIG_SATA_SX4=y -CONFIG_ATA_BMDMA=y - -# -# SATA SFF controllers with BMDMA -# -CONFIG_ATA_PIIX=y -CONFIG_SATA_MV=y -CONFIG_SATA_NV=y -CONFIG_SATA_PROMISE=y -CONFIG_SATA_SIL=y -CONFIG_SATA_SIS=y -CONFIG_SATA_SVW=y -CONFIG_SATA_ULI=y -CONFIG_SATA_VIA=y -CONFIG_SATA_VITESSE=y - -# -# PATA SFF controllers with BMDMA -# -CONFIG_PATA_ALI=y -CONFIG_PATA_AMD=y -CONFIG_PATA_ARTOP=y -CONFIG_PATA_ATIIXP=y -CONFIG_PATA_ATP867X=y -CONFIG_PATA_CMD64X=y -# CONFIG_PATA_CYPRESS is not set -CONFIG_PATA_EFAR=y -CONFIG_PATA_HPT366=y -CONFIG_PATA_HPT37X=y -CONFIG_PATA_HPT3X2N=y -CONFIG_PATA_HPT3X3=y -CONFIG_PATA_HPT3X3_DMA=y -# CONFIG_PATA_IT8213 is not set -CONFIG_PATA_IT821X=y -CONFIG_PATA_JMICRON=y -CONFIG_PATA_MARVELL=y -CONFIG_PATA_NETCELL=y -CONFIG_PATA_NINJA32=y -CONFIG_PATA_NS87415=y -CONFIG_PATA_OLDPIIX=y -# CONFIG_PATA_OPTIDMA is not set -CONFIG_PATA_PDC2027X=y -CONFIG_PATA_PDC_OLD=y -# CONFIG_PATA_RADISYS is not set -CONFIG_PATA_RDC=y -CONFIG_PATA_SCH=y -CONFIG_PATA_SERVERWORKS=y -CONFIG_PATA_SIL680=y -CONFIG_PATA_SIS=y -# CONFIG_PATA_TOSHIBA is not set -CONFIG_PATA_TRIFLEX=y -CONFIG_PATA_VIA=y -CONFIG_PATA_WINBOND=y - -# -# PIO-only SFF controllers -# -# CONFIG_PATA_CMD640_PCI is not set -CONFIG_PATA_MPIIX=y -CONFIG_PATA_NS87410=y -# CONFIG_PATA_OPTI is not set -CONFIG_PATA_PCMCIA=y -CONFIG_PATA_PLATFORM=y -CONFIG_PATA_RZ1000=y - -# -# Generic fallback / legacy drivers -# -CONFIG_PATA_ACPI=y -CONFIG_ATA_GENERIC=y -CONFIG_PATA_LEGACY=y -CONFIG_MD=y -CONFIG_BLK_DEV_MD=m -CONFIG_MD_LINEAR=m -CONFIG_MD_RAID0=m -CONFIG_MD_RAID1=m -CONFIG_MD_RAID10=m -CONFIG_MD_RAID456=m -CONFIG_MD_MULTIPATH=m -CONFIG_MD_FAULTY=m -# CONFIG_BCACHE is not set -CONFIG_BLK_DEV_DM_BUILTIN=y -CONFIG_BLK_DEV_DM=m -# CONFIG_DM_DEBUG is not set -CONFIG_DM_BUFIO=m -CONFIG_DM_BIO_PRISON=m -CONFIG_DM_PERSISTENT_DATA=m -# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set -CONFIG_DM_CRYPT=m -CONFIG_DM_SNAPSHOT=m -CONFIG_DM_THIN_PROVISIONING=m -# CONFIG_DM_CACHE is not set -# CONFIG_DM_ERA is not set -CONFIG_DM_MIRROR=m -# CONFIG_DM_LOG_USERSPACE is not set -# CONFIG_DM_RAID is not set -CONFIG_DM_ZERO=m -CONFIG_DM_MULTIPATH=m -CONFIG_DM_MULTIPATH_QL=m -CONFIG_DM_MULTIPATH_ST=m -# CONFIG_DM_DELAY is not set -# CONFIG_DM_UEVENT is not set -# CONFIG_DM_FLAKEY is not set -# CONFIG_DM_VERITY is not set -# CONFIG_DM_SWITCH is not set -# CONFIG_TARGET_CORE is not set -CONFIG_FUSION=y -CONFIG_FUSION_SPI=m -CONFIG_FUSION_FC=m -CONFIG_FUSION_SAS=m -CONFIG_FUSION_MAX_SGE=128 -CONFIG_FUSION_CTL=m -CONFIG_FUSION_LOGGING=y - -# -# IEEE 1394 (FireWire) support -# -CONFIG_FIREWIRE=m -CONFIG_FIREWIRE_OHCI=m -CONFIG_FIREWIRE_SBP2=m -CONFIG_FIREWIRE_NET=m -# CONFIG_FIREWIRE_NOSY is not set -# CONFIG_I2O is not set -CONFIG_MACINTOSH_DRIVERS=y -CONFIG_MAC_EMUMOUSEBTN=y -CONFIG_NETDEVICES=y -CONFIG_MII=m -CONFIG_NET_CORE=y -CONFIG_BONDING=m -CONFIG_DUMMY=y -# CONFIG_EQUALIZER is not set -# CONFIG_NET_FC is not set -# CONFIG_IFB is not set -# CONFIG_NET_TEAM is not set -CONFIG_MACVLAN=m -CONFIG_MACVTAP=m -# CONFIG_VXLAN is not set -CONFIG_NETCONSOLE=m -CONFIG_NETPOLL=y -CONFIG_NET_POLL_CONTROLLER=y -CONFIG_TUN=y -CONFIG_VETH=m -CONFIG_VIRTIO_NET=y -# CONFIG_NLMON is not set -CONFIG_SUNGEM_PHY=m -# CONFIG_ARCNET is not set - -# -# CAIF transport drivers -# -# CONFIG_VHOST_NET is not set - -# -# Distributed Switch Architecture drivers -# -# CONFIG_NET_DSA_MV88E6XXX is not set -# CONFIG_NET_DSA_MV88E6060 is not set -# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set -# CONFIG_NET_DSA_MV88E6131 is not set -# CONFIG_NET_DSA_MV88E6123_61_65 is not set -CONFIG_ETHERNET=y -CONFIG_MDIO=m -CONFIG_NET_VENDOR_3COM=y -CONFIG_PCMCIA_3C574=m -CONFIG_PCMCIA_3C589=m -CONFIG_VORTEX=m -CONFIG_TYPHOON=m -CONFIG_NET_VENDOR_ADAPTEC=y -CONFIG_ADAPTEC_STARFIRE=m -CONFIG_NET_VENDOR_ALTEON=y -CONFIG_ACENIC=m -# CONFIG_ACENIC_OMIT_TIGON_I is not set -# CONFIG_ALTERA_TSE is not set -CONFIG_NET_VENDOR_AMD=y -CONFIG_AMD8111_ETH=m -CONFIG_PCNET32=m -CONFIG_PCMCIA_NMCLAN=m -CONFIG_NET_VENDOR_ARC=y -CONFIG_NET_VENDOR_ATHEROS=y -CONFIG_ATL2=m -CONFIG_ATL1=m -CONFIG_ATL1E=m -CONFIG_ATL1C=m -# CONFIG_ALX is not set -CONFIG_NET_VENDOR_BROADCOM=y -CONFIG_B44=m -CONFIG_B44_PCI_AUTOSELECT=y -CONFIG_B44_PCICORE_AUTOSELECT=y -CONFIG_B44_PCI=y -CONFIG_BNX2=m -CONFIG_CNIC=m -CONFIG_TIGON3=m -CONFIG_BNX2X=m -CONFIG_BNX2X_SRIOV=y -CONFIG_NET_VENDOR_BROCADE=y -CONFIG_BNA=m -# CONFIG_NET_CALXEDA_XGMAC is not set -CONFIG_NET_VENDOR_CHELSIO=y -CONFIG_CHELSIO_T1=m -CONFIG_CHELSIO_T1_1G=y -CONFIG_CHELSIO_T3=m -CONFIG_CHELSIO_T4=m -CONFIG_CHELSIO_T4VF=m -CONFIG_NET_VENDOR_CISCO=y -CONFIG_ENIC=m -# CONFIG_CX_ECAT is not set -CONFIG_DNET=m -CONFIG_NET_VENDOR_DEC=y -CONFIG_NET_TULIP=y -CONFIG_DE2104X=m -CONFIG_DE2104X_DSL=0 -CONFIG_TULIP=m -# CONFIG_TULIP_MWI is not set -# CONFIG_TULIP_MMIO is not set -# CONFIG_TULIP_NAPI is not set -CONFIG_DE4X5=m -CONFIG_WINBOND_840=m -CONFIG_DM9102=m -CONFIG_ULI526X=m -CONFIG_PCMCIA_XIRCOM=m -CONFIG_NET_VENDOR_DLINK=y -CONFIG_DL2K=m -CONFIG_SUNDANCE=m -# CONFIG_SUNDANCE_MMIO is not set -CONFIG_NET_VENDOR_EMULEX=y -CONFIG_BE2NET=m -CONFIG_NET_VENDOR_EXAR=y -CONFIG_S2IO=m -CONFIG_VXGE=m -# CONFIG_VXGE_DEBUG_TRACE_ALL is not set -CONFIG_NET_VENDOR_FUJITSU=y -CONFIG_PCMCIA_FMVJ18X=m -CONFIG_NET_VENDOR_HP=y -CONFIG_HP100=m -CONFIG_NET_VENDOR_INTEL=y -CONFIG_E100=m -CONFIG_E1000=m -CONFIG_E1000E=m -CONFIG_IGB=m -CONFIG_IGB_HWMON=y -CONFIG_IGBVF=m -CONFIG_IXGB=m -CONFIG_IXGBE=m -CONFIG_IXGBE_HWMON=y -CONFIG_IXGBEVF=m -# CONFIG_I40E is not set -# CONFIG_I40EVF is not set -CONFIG_NET_VENDOR_I825XX=y -CONFIG_IP1000=m -CONFIG_JME=m -CONFIG_NET_VENDOR_MARVELL=y -# CONFIG_MVMDIO is not set -CONFIG_SKGE=m -CONFIG_SKGE_GENESIS=y -CONFIG_SKY2=m -CONFIG_NET_VENDOR_MELLANOX=y -CONFIG_MLX4_EN=m -CONFIG_MLX4_CORE=m -# CONFIG_MLX4_DEBUG is not set -# CONFIG_MLX5_CORE is not set -CONFIG_NET_VENDOR_MICREL=y -CONFIG_KS8851_MLL=m -CONFIG_KSZ884X_PCI=m -CONFIG_NET_VENDOR_MYRI=y -CONFIG_MYRI10GE=m -CONFIG_FEALNX=m -CONFIG_NET_VENDOR_NATSEMI=y -CONFIG_NATSEMI=m -CONFIG_NS83820=m -CONFIG_NET_VENDOR_8390=y -CONFIG_PCMCIA_AXNET=m -CONFIG_NE2K_PCI=m -CONFIG_PCMCIA_PCNET=m -CONFIG_NET_VENDOR_NVIDIA=y -CONFIG_FORCEDETH=m -CONFIG_NET_VENDOR_OKI=y -CONFIG_PCH_GBE=m -CONFIG_ETHOC=m -CONFIG_NET_PACKET_ENGINE=y -CONFIG_HAMACHI=m -CONFIG_YELLOWFIN=m -CONFIG_NET_VENDOR_QLOGIC=y -CONFIG_QLA3XXX=m -CONFIG_QLCNIC=m -CONFIG_QLCNIC_SRIOV=y -CONFIG_QLGE=m -CONFIG_NETXEN_NIC=m -CONFIG_NET_VENDOR_REALTEK=y -# CONFIG_ATP is not set -CONFIG_8139CP=m -CONFIG_8139TOO=m -# CONFIG_8139TOO_PIO is not set -CONFIG_8139TOO_TUNE_TWISTER=y -CONFIG_8139TOO_8129=y -# CONFIG_8139_OLD_RX_RESET is not set -CONFIG_R8169=m -# CONFIG_SH_ETH is not set -CONFIG_NET_VENDOR_RDC=y -CONFIG_R6040=m -CONFIG_NET_VENDOR_SAMSUNG=y -# CONFIG_SXGBE_ETH is not set -CONFIG_NET_VENDOR_SEEQ=y -CONFIG_NET_VENDOR_SILAN=y -# CONFIG_SC92031 is not set -CONFIG_NET_VENDOR_SIS=y -CONFIG_SIS900=m -CONFIG_SIS190=m -CONFIG_SFC=m -CONFIG_SFC_MTD=y -CONFIG_SFC_MCDI_MON=y -CONFIG_SFC_SRIOV=y -CONFIG_NET_VENDOR_SMSC=y -CONFIG_PCMCIA_SMC91C92=m -CONFIG_EPIC100=m -# CONFIG_SMSC911X is not set -CONFIG_SMSC9420=m -CONFIG_NET_VENDOR_STMICRO=y -CONFIG_STMMAC_ETH=m -CONFIG_STMMAC_PLATFORM=y -# CONFIG_STMMAC_PCI is not set -# CONFIG_STMMAC_DA is not set -CONFIG_NET_VENDOR_SUN=y -CONFIG_HAPPYMEAL=m -CONFIG_SUNGEM=m -CONFIG_CASSINI=m -CONFIG_NIU=m -CONFIG_NET_VENDOR_TEHUTI=y -CONFIG_TEHUTI=m -CONFIG_NET_VENDOR_TI=y -CONFIG_TLAN=m -CONFIG_NET_VENDOR_VIA=y -CONFIG_VIA_RHINE=m -CONFIG_VIA_RHINE_MMIO=y -CONFIG_VIA_VELOCITY=m -CONFIG_NET_VENDOR_WIZNET=y -CONFIG_WIZNET_W5100=m -CONFIG_WIZNET_W5300=m -# CONFIG_WIZNET_BUS_DIRECT is not set -# CONFIG_WIZNET_BUS_INDIRECT is not set -CONFIG_WIZNET_BUS_ANY=y -CONFIG_NET_VENDOR_XIRCOM=y -CONFIG_PCMCIA_XIRC2PS=m -# CONFIG_FDDI is not set -# CONFIG_HIPPI is not set -# CONFIG_NET_SB1000 is not set -CONFIG_PHYLIB=y - -# -# MII PHY device drivers -# -CONFIG_AT803X_PHY=m -CONFIG_AMD_PHY=m -CONFIG_MARVELL_PHY=m -CONFIG_DAVICOM_PHY=m -CONFIG_QSEMI_PHY=m -CONFIG_LXT_PHY=m -CONFIG_CICADA_PHY=m -CONFIG_VITESSE_PHY=m -CONFIG_SMSC_PHY=m -CONFIG_BROADCOM_PHY=m -# CONFIG_BCM7XXX_PHY is not set -CONFIG_BCM87XX_PHY=m -CONFIG_ICPLUS_PHY=m -CONFIG_REALTEK_PHY=m -CONFIG_NATIONAL_PHY=m -CONFIG_STE10XP=m -CONFIG_LSI_ET1011C_PHY=m -CONFIG_MICREL_PHY=m -CONFIG_FIXED_PHY=y -CONFIG_MDIO_BITBANG=m -# CONFIG_PLIP is not set -CONFIG_PPP=y -# CONFIG_PPP_BSDCOMP is not set -CONFIG_PPP_DEFLATE=y -CONFIG_PPP_FILTER=y -# CONFIG_PPP_MPPE is not set -# CONFIG_PPP_MULTILINK is not set -CONFIG_PPPOE=y -# CONFIG_PPPOL2TP is not set -CONFIG_PPP_ASYNC=y -CONFIG_PPP_SYNC_TTY=y -# CONFIG_SLIP is not set -CONFIG_SLHC=y - -# -# USB Network Adapters -# -CONFIG_USB_CATC=m -CONFIG_USB_KAWETH=m -CONFIG_USB_PEGASUS=m -CONFIG_USB_RTL8150=m -# CONFIG_USB_RTL8152 is not set -CONFIG_USB_USBNET=m -CONFIG_USB_NET_AX8817X=m -CONFIG_USB_NET_AX88179_178A=m -CONFIG_USB_NET_CDCETHER=m -CONFIG_USB_NET_CDC_EEM=m -CONFIG_USB_NET_CDC_NCM=m -# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set -CONFIG_USB_NET_CDC_MBIM=m -CONFIG_USB_NET_DM9601=m -# CONFIG_USB_NET_SR9700 is not set -# CONFIG_USB_NET_SR9800 is not set -CONFIG_USB_NET_SMSC75XX=m -CONFIG_USB_NET_SMSC95XX=m -CONFIG_USB_NET_GL620A=m -CONFIG_USB_NET_NET1080=m -CONFIG_USB_NET_PLUSB=m -CONFIG_USB_NET_MCS7830=m -CONFIG_USB_NET_RNDIS_HOST=m -CONFIG_USB_NET_CDC_SUBSET=m -CONFIG_USB_ALI_M5632=y -CONFIG_USB_AN2720=y -CONFIG_USB_BELKIN=y -CONFIG_USB_ARMLINUX=y -CONFIG_USB_EPSON2888=y -CONFIG_USB_KC2190=y -CONFIG_USB_NET_ZAURUS=m -CONFIG_USB_NET_CX82310_ETH=m -CONFIG_USB_NET_KALMIA=m -CONFIG_USB_NET_QMI_WWAN=m -CONFIG_USB_HSO=m -CONFIG_USB_NET_INT51X1=m -CONFIG_USB_IPHETH=m -CONFIG_USB_SIERRA_NET=m -CONFIG_USB_VL600=m -# CONFIG_WLAN is not set - -# -# WiMAX Wireless Broadband devices -# -CONFIG_WIMAX_I2400M=m -CONFIG_WIMAX_I2400M_USB=m -CONFIG_WIMAX_I2400M_DEBUG_LEVEL=0 -# CONFIG_WAN is not set -CONFIG_XEN_NETDEV_FRONTEND=y -# CONFIG_XEN_NETDEV_BACKEND is not set -CONFIG_VMXNET3=m -CONFIG_HYPERV_NET=m -# CONFIG_ISDN is not set - -# -# Input device support -# -CONFIG_INPUT=y -CONFIG_INPUT_FF_MEMLESS=m -CONFIG_INPUT_POLLDEV=m -CONFIG_INPUT_SPARSEKMAP=m -# CONFIG_INPUT_MATRIXKMAP is not set - -# -# Userland interfaces -# -CONFIG_INPUT_MOUSEDEV=y -CONFIG_INPUT_MOUSEDEV_PSAUX=y -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 -CONFIG_INPUT_JOYDEV=m -CONFIG_INPUT_EVDEV=y -# CONFIG_INPUT_EVBUG is not set - -# -# Input Device Drivers -# -CONFIG_INPUT_KEYBOARD=y -# CONFIG_KEYBOARD_ADP5588 is not set -# CONFIG_KEYBOARD_ADP5589 is not set -CONFIG_KEYBOARD_ATKBD=y -# CONFIG_KEYBOARD_QT1070 is not set -# CONFIG_KEYBOARD_QT2160 is not set -# CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_TCA6416 is not set -# CONFIG_KEYBOARD_TCA8418 is not set -# CONFIG_KEYBOARD_LM8323 is not set -# CONFIG_KEYBOARD_LM8333 is not set -# CONFIG_KEYBOARD_MAX7359 is not set -# CONFIG_KEYBOARD_MCS is not set -# CONFIG_KEYBOARD_MPR121 is not set -# CONFIG_KEYBOARD_NEWTON is not set -# CONFIG_KEYBOARD_OPENCORES is not set -# CONFIG_KEYBOARD_STOWAWAY is not set -# CONFIG_KEYBOARD_SUNKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set -CONFIG_INPUT_MOUSE=y -CONFIG_MOUSE_PS2=y -CONFIG_MOUSE_PS2_ALPS=y -CONFIG_MOUSE_PS2_LOGIPS2PP=y -CONFIG_MOUSE_PS2_SYNAPTICS=y -CONFIG_MOUSE_PS2_CYPRESS=y -CONFIG_MOUSE_PS2_LIFEBOOK=y -CONFIG_MOUSE_PS2_TRACKPOINT=y -CONFIG_MOUSE_PS2_ELANTECH=y -CONFIG_MOUSE_PS2_SENTELIC=y -CONFIG_MOUSE_PS2_TOUCHKIT=y -CONFIG_MOUSE_SERIAL=y -CONFIG_MOUSE_APPLETOUCH=y -CONFIG_MOUSE_BCM5974=y -# CONFIG_MOUSE_CYAPA is not set -# CONFIG_MOUSE_VSXXXAA is not set -# CONFIG_MOUSE_SYNAPTICS_I2C is not set -CONFIG_MOUSE_SYNAPTICS_USB=y -CONFIG_INPUT_JOYSTICK=y -CONFIG_JOYSTICK_ANALOG=m -CONFIG_JOYSTICK_A3D=m -CONFIG_JOYSTICK_ADI=m -CONFIG_JOYSTICK_COBRA=m -CONFIG_JOYSTICK_GF2K=m -CONFIG_JOYSTICK_GRIP=m -CONFIG_JOYSTICK_GRIP_MP=m -CONFIG_JOYSTICK_GUILLEMOT=m -CONFIG_JOYSTICK_INTERACT=m -CONFIG_JOYSTICK_SIDEWINDER=m -CONFIG_JOYSTICK_TMDC=m -CONFIG_JOYSTICK_IFORCE=m -CONFIG_JOYSTICK_IFORCE_USB=y -CONFIG_JOYSTICK_IFORCE_232=y -CONFIG_JOYSTICK_WARRIOR=m -CONFIG_JOYSTICK_MAGELLAN=m -CONFIG_JOYSTICK_SPACEORB=m -CONFIG_JOYSTICK_SPACEBALL=m -CONFIG_JOYSTICK_STINGER=m -CONFIG_JOYSTICK_TWIDJOY=m -CONFIG_JOYSTICK_ZHENHUA=m -CONFIG_JOYSTICK_DB9=m -CONFIG_JOYSTICK_GAMECON=m -CONFIG_JOYSTICK_TURBOGRAFX=m -CONFIG_JOYSTICK_AS5011=m -CONFIG_JOYSTICK_JOYDUMP=m -CONFIG_JOYSTICK_XPAD=m -CONFIG_JOYSTICK_XPAD_FF=y -CONFIG_JOYSTICK_XPAD_LEDS=y -CONFIG_JOYSTICK_WALKERA0701=m -CONFIG_INPUT_TABLET=y -CONFIG_TABLET_USB_ACECAD=m -CONFIG_TABLET_USB_AIPTEK=m -CONFIG_TABLET_USB_GTCO=m -CONFIG_TABLET_USB_HANWANG=m -CONFIG_TABLET_USB_KBTAB=m -CONFIG_TABLET_USB_WACOM=m -CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_TOUCHSCREEN_AD7879=m -CONFIG_TOUCHSCREEN_AD7879_I2C=m -CONFIG_TOUCHSCREEN_ATMEL_MXT=m -CONFIG_TOUCHSCREEN_BU21013=m -CONFIG_TOUCHSCREEN_CYTTSP_CORE=m -CONFIG_TOUCHSCREEN_CYTTSP_I2C=m -# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set -CONFIG_TOUCHSCREEN_DYNAPRO=m -CONFIG_TOUCHSCREEN_HAMPSHIRE=m -CONFIG_TOUCHSCREEN_EETI=m -CONFIG_TOUCHSCREEN_FUJITSU=m -CONFIG_TOUCHSCREEN_ILI210X=m -CONFIG_TOUCHSCREEN_GUNZE=m -CONFIG_TOUCHSCREEN_ELO=m -CONFIG_TOUCHSCREEN_WACOM_W8001=m -CONFIG_TOUCHSCREEN_WACOM_I2C=m -CONFIG_TOUCHSCREEN_MAX11801=m -CONFIG_TOUCHSCREEN_MCS5000=m -CONFIG_TOUCHSCREEN_MMS114=m -CONFIG_TOUCHSCREEN_MTOUCH=m -CONFIG_TOUCHSCREEN_INEXIO=m -CONFIG_TOUCHSCREEN_MK712=m -CONFIG_TOUCHSCREEN_PENMOUNT=m -CONFIG_TOUCHSCREEN_EDT_FT5X06=m -CONFIG_TOUCHSCREEN_TOUCHRIGHT=m -CONFIG_TOUCHSCREEN_TOUCHWIN=m -CONFIG_TOUCHSCREEN_PIXCIR=m -CONFIG_TOUCHSCREEN_USB_COMPOSITE=m -CONFIG_TOUCHSCREEN_USB_EGALAX=y -CONFIG_TOUCHSCREEN_USB_PANJIT=y -CONFIG_TOUCHSCREEN_USB_3M=y -CONFIG_TOUCHSCREEN_USB_ITM=y -CONFIG_TOUCHSCREEN_USB_ETURBO=y -CONFIG_TOUCHSCREEN_USB_GUNZE=y -CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y -CONFIG_TOUCHSCREEN_USB_IRTOUCH=y -CONFIG_TOUCHSCREEN_USB_IDEALTEK=y -CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y -CONFIG_TOUCHSCREEN_USB_GOTOP=y -CONFIG_TOUCHSCREEN_USB_JASTEC=y -CONFIG_TOUCHSCREEN_USB_ELO=y -CONFIG_TOUCHSCREEN_USB_E2I=y -CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y -CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y -CONFIG_TOUCHSCREEN_USB_NEXIO=y -CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y -CONFIG_TOUCHSCREEN_TOUCHIT213=m -CONFIG_TOUCHSCREEN_TSC_SERIO=m -CONFIG_TOUCHSCREEN_TSC2007=m -CONFIG_TOUCHSCREEN_ST1232=m -# CONFIG_TOUCHSCREEN_SUR40 is not set -CONFIG_TOUCHSCREEN_TPS6507X=m -CONFIG_INPUT_MISC=y -# CONFIG_INPUT_AD714X is not set -# CONFIG_INPUT_BMA150 is not set -CONFIG_INPUT_PCSPKR=m -# CONFIG_INPUT_MMA8450 is not set -# CONFIG_INPUT_MPU3050 is not set -CONFIG_INPUT_APANEL=m -CONFIG_INPUT_ATLAS_BTNS=m -# CONFIG_INPUT_ATI_REMOTE2 is not set -# CONFIG_INPUT_KEYSPAN_REMOTE is not set -# CONFIG_INPUT_KXTJ9 is not set -# CONFIG_INPUT_POWERMATE is not set -# CONFIG_INPUT_YEALINK is not set -# CONFIG_INPUT_CM109 is not set -CONFIG_INPUT_UINPUT=m -# CONFIG_INPUT_PCF8574 is not set -# CONFIG_INPUT_ADXL34X is not set -# CONFIG_INPUT_IMS_PCU is not set -# CONFIG_INPUT_CMA3000 is not set -CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y -# CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set - -# -# Hardware I/O ports -# -CONFIG_SERIO=y -CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y -CONFIG_SERIO_I8042=y -CONFIG_SERIO_SERPORT=y -# CONFIG_SERIO_CT82C710 is not set -# CONFIG_SERIO_PARKBD is not set -CONFIG_SERIO_PCIPS2=y -CONFIG_SERIO_LIBPS2=y -CONFIG_SERIO_RAW=m -# CONFIG_SERIO_ALTERA_PS2 is not set -# CONFIG_SERIO_PS2MULT is not set -# CONFIG_SERIO_ARC_PS2 is not set -CONFIG_HYPERV_KEYBOARD=m -CONFIG_GAMEPORT=m -CONFIG_GAMEPORT_NS558=m -CONFIG_GAMEPORT_L4=m -CONFIG_GAMEPORT_EMU10K1=m -CONFIG_GAMEPORT_FM801=m - -# -# Character devices -# -CONFIG_TTY=y -CONFIG_VT=y -CONFIG_CONSOLE_TRANSLATIONS=y -CONFIG_VT_CONSOLE=y -CONFIG_VT_CONSOLE_SLEEP=y -CONFIG_HW_CONSOLE=y -CONFIG_VT_HW_CONSOLE_BINDING=y -CONFIG_UNIX98_PTYS=y -CONFIG_DEVPTS_MULTIPLE_INSTANCES=y -# CONFIG_LEGACY_PTYS is not set -# CONFIG_SERIAL_NONSTANDARD is not set -CONFIG_NOZOMI=m -# CONFIG_N_GSM is not set -# CONFIG_TRACE_SINK is not set -# CONFIG_DEVKMEM is not set - -# -# Serial drivers -# -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y -CONFIG_SERIAL_8250_PNP=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_FIX_EARLYCON_MEM=y -CONFIG_SERIAL_8250_DMA=y -CONFIG_SERIAL_8250_PCI=y -CONFIG_SERIAL_8250_CS=m -CONFIG_SERIAL_8250_NR_UARTS=32 -CONFIG_SERIAL_8250_RUNTIME_UARTS=4 -# CONFIG_SERIAL_8250_EXTENDED is not set -# CONFIG_SERIAL_8250_DW is not set - -# -# Non-8250 serial port support -# -# CONFIG_SERIAL_MFD_HSU is not set -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -# CONFIG_SERIAL_JSM is not set -# CONFIG_SERIAL_SCCNXP is not set -# CONFIG_SERIAL_ALTERA_JTAGUART is not set -# CONFIG_SERIAL_ALTERA_UART is not set -# CONFIG_SERIAL_PCH_UART is not set -# CONFIG_SERIAL_ARC is not set -# CONFIG_SERIAL_RP2 is not set -# CONFIG_SERIAL_FSL_LPUART is not set -# CONFIG_TTY_PRINTK is not set -CONFIG_PRINTER=m -# CONFIG_LP_CONSOLE is not set -CONFIG_PPDEV=m -CONFIG_HVC_DRIVER=y -CONFIG_HVC_IRQ=y -CONFIG_HVC_XEN=y -CONFIG_HVC_XEN_FRONTEND=y -CONFIG_VIRTIO_CONSOLE=y -# CONFIG_IPMI_HANDLER is not set -CONFIG_HW_RANDOM=y -CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_INTEL=m -CONFIG_HW_RANDOM_AMD=m -CONFIG_HW_RANDOM_VIA=m -CONFIG_HW_RANDOM_VIRTIO=m -CONFIG_NVRAM=y -# CONFIG_R3964 is not set -# CONFIG_APPLICOM is not set - -# -# PCMCIA character devices -# -# CONFIG_SYNCLINK_CS is not set -# CONFIG_CARDMAN_4000 is not set -# CONFIG_CARDMAN_4040 is not set -CONFIG_IPWIRELESS=m -# CONFIG_MWAVE is not set -# CONFIG_RAW_DRIVER is not set -CONFIG_HPET=y -CONFIG_HPET_MMAP=y -CONFIG_HPET_MMAP_DEFAULT=y -CONFIG_HANGCHECK_TIMER=y -# CONFIG_TCG_TPM is not set -# CONFIG_TELCLOCK is not set -CONFIG_DEVPORT=y -CONFIG_I2C=y -CONFIG_I2C_BOARDINFO=y -CONFIG_I2C_COMPAT=y -CONFIG_I2C_CHARDEV=m -CONFIG_I2C_MUX=y - -# -# Multiplexer I2C Chip support -# -# CONFIG_I2C_MUX_PCA9541 is not set -# CONFIG_I2C_MUX_PCA954x is not set -CONFIG_I2C_HELPER_AUTO=y -CONFIG_I2C_SMBUS=m -CONFIG_I2C_ALGOBIT=m -CONFIG_I2C_ALGOPCA=m - -# -# I2C Hardware Bus support -# - -# -# PC SMBus host controller drivers -# -CONFIG_I2C_ALI1535=m -CONFIG_I2C_ALI1563=m -CONFIG_I2C_ALI15X3=m -CONFIG_I2C_AMD756=m -CONFIG_I2C_AMD756_S4882=m -CONFIG_I2C_AMD8111=m -CONFIG_I2C_I801=m -CONFIG_I2C_ISCH=m -# CONFIG_I2C_ISMT is not set -CONFIG_I2C_PIIX4=m -CONFIG_I2C_NFORCE2=m -CONFIG_I2C_NFORCE2_S4985=m -CONFIG_I2C_SIS5595=m -CONFIG_I2C_SIS630=m -CONFIG_I2C_SIS96X=m -CONFIG_I2C_VIA=m -CONFIG_I2C_VIAPRO=m - -# -# ACPI drivers -# -# CONFIG_I2C_SCMI is not set - -# -# I2C system bus drivers (mostly embedded / system-on-chip) -# -# CONFIG_I2C_DESIGNWARE_PLATFORM is not set -# CONFIG_I2C_DESIGNWARE_PCI is not set -# CONFIG_I2C_EG20T is not set -CONFIG_I2C_OCORES=m -CONFIG_I2C_PCA_PLATFORM=m -# CONFIG_I2C_PXA_PCI is not set -CONFIG_I2C_SIMTEC=m -# CONFIG_I2C_XILINX is not set - -# -# External I2C/SMBus adapter drivers -# -CONFIG_I2C_DIOLAN_U2C=m -CONFIG_I2C_PARPORT=m -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_ROBOTFUZZ_OSIF is not set -CONFIG_I2C_TAOS_EVM=m -CONFIG_I2C_TINY_USB=m - -# -# Other I2C/SMBus bus drivers -# -CONFIG_I2C_STUB=m -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_SPI is not set -# CONFIG_SPMI is not set -# CONFIG_HSI is not set - -# -# PPS support -# -CONFIG_PPS=m -# CONFIG_PPS_DEBUG is not set - -# -# PPS clients support -# -# CONFIG_PPS_CLIENT_KTIMER is not set -# CONFIG_PPS_CLIENT_LDISC is not set -# CONFIG_PPS_CLIENT_PARPORT is not set -# CONFIG_PPS_CLIENT_GPIO is not set - -# -# PPS generators support -# - -# -# PTP clock support -# -CONFIG_PTP_1588_CLOCK=m - -# -# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. -# -CONFIG_PTP_1588_CLOCK_PCH=m -CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y -# CONFIG_GPIOLIB is not set -# CONFIG_W1 is not set -CONFIG_POWER_SUPPLY=y -# CONFIG_POWER_SUPPLY_DEBUG is not set -# CONFIG_PDA_POWER is not set -# CONFIG_TEST_POWER is not set -# CONFIG_BATTERY_DS2780 is not set -# CONFIG_BATTERY_DS2781 is not set -# CONFIG_BATTERY_DS2782 is not set -# CONFIG_BATTERY_SBS is not set -# CONFIG_BATTERY_BQ27x00 is not set -# CONFIG_BATTERY_MAX17040 is not set -# CONFIG_BATTERY_MAX17042 is not set -# CONFIG_CHARGER_MAX8903 is not set -# CONFIG_CHARGER_LP8727 is not set -# CONFIG_CHARGER_BQ2415X is not set -# CONFIG_CHARGER_SMB347 is not set -# CONFIG_POWER_RESET is not set -# CONFIG_POWER_AVS is not set -CONFIG_HWMON=y -CONFIG_HWMON_VID=m -# CONFIG_HWMON_DEBUG_CHIP is not set - -# -# Native drivers -# -CONFIG_SENSORS_ABITUGURU=m -CONFIG_SENSORS_ABITUGURU3=m -CONFIG_SENSORS_AD7414=m -CONFIG_SENSORS_AD7418=m -CONFIG_SENSORS_ADM1021=m -CONFIG_SENSORS_ADM1025=m -CONFIG_SENSORS_ADM1026=m -CONFIG_SENSORS_ADM1029=m -CONFIG_SENSORS_ADM1031=m -CONFIG_SENSORS_ADM9240=m -CONFIG_SENSORS_ADT7X10=m -CONFIG_SENSORS_ADT7410=m -CONFIG_SENSORS_ADT7411=m -CONFIG_SENSORS_ADT7462=m -CONFIG_SENSORS_ADT7470=m -CONFIG_SENSORS_ADT7475=m -CONFIG_SENSORS_ASC7621=m -CONFIG_SENSORS_K8TEMP=m -CONFIG_SENSORS_K10TEMP=m -CONFIG_SENSORS_FAM15H_POWER=m -CONFIG_SENSORS_APPLESMC=m -CONFIG_SENSORS_ASB100=m -CONFIG_SENSORS_ATXP1=m -CONFIG_SENSORS_DS620=m -CONFIG_SENSORS_DS1621=m -CONFIG_SENSORS_I5K_AMB=m -CONFIG_SENSORS_F71805F=m -CONFIG_SENSORS_F71882FG=m -CONFIG_SENSORS_F75375S=m -CONFIG_SENSORS_FSCHMD=m -CONFIG_SENSORS_GL518SM=m -CONFIG_SENSORS_GL520SM=m -CONFIG_SENSORS_G760A=m -# CONFIG_SENSORS_G762 is not set -CONFIG_SENSORS_HIH6130=m -CONFIG_SENSORS_CORETEMP=m -CONFIG_SENSORS_IT87=m -CONFIG_SENSORS_JC42=m -CONFIG_SENSORS_LINEAGE=m -# CONFIG_SENSORS_LTC2945 is not set -CONFIG_SENSORS_LTC4151=m -CONFIG_SENSORS_LTC4215=m -# CONFIG_SENSORS_LTC4222 is not set -CONFIG_SENSORS_LTC4245=m -# CONFIG_SENSORS_LTC4260 is not set -CONFIG_SENSORS_LTC4261=m -CONFIG_SENSORS_MAX16065=m -CONFIG_SENSORS_MAX1619=m -CONFIG_SENSORS_MAX1668=m -CONFIG_SENSORS_MAX197=m -CONFIG_SENSORS_MAX6639=m -CONFIG_SENSORS_MAX6642=m -CONFIG_SENSORS_MAX6650=m -# CONFIG_SENSORS_MAX6697 is not set -# CONFIG_SENSORS_HTU21 is not set -CONFIG_SENSORS_MCP3021=m -CONFIG_SENSORS_LM63=m -CONFIG_SENSORS_LM73=m -CONFIG_SENSORS_LM75=m -CONFIG_SENSORS_LM77=m -CONFIG_SENSORS_LM78=m -CONFIG_SENSORS_LM80=m -CONFIG_SENSORS_LM83=m -CONFIG_SENSORS_LM85=m -CONFIG_SENSORS_LM87=m -CONFIG_SENSORS_LM90=m -CONFIG_SENSORS_LM92=m -CONFIG_SENSORS_LM93=m -# CONFIG_SENSORS_LM95234 is not set -CONFIG_SENSORS_LM95241=m -CONFIG_SENSORS_LM95245=m -CONFIG_SENSORS_PC87360=m -CONFIG_SENSORS_PC87427=m -CONFIG_SENSORS_NTC_THERMISTOR=m -# CONFIG_SENSORS_NCT6775 is not set -CONFIG_SENSORS_PCF8591=m -CONFIG_PMBUS=m -CONFIG_SENSORS_PMBUS=m -CONFIG_SENSORS_ADM1275=m -CONFIG_SENSORS_LM25066=m -CONFIG_SENSORS_LTC2978=m -CONFIG_SENSORS_MAX16064=m -CONFIG_SENSORS_MAX34440=m -CONFIG_SENSORS_MAX8688=m -CONFIG_SENSORS_UCD9000=m -CONFIG_SENSORS_UCD9200=m -CONFIG_SENSORS_ZL6100=m -CONFIG_SENSORS_SHT21=m -CONFIG_SENSORS_SIS5595=m -CONFIG_SENSORS_DME1737=m -CONFIG_SENSORS_EMC1403=m -CONFIG_SENSORS_EMC2103=m -CONFIG_SENSORS_EMC6W201=m -CONFIG_SENSORS_SMSC47M1=m -CONFIG_SENSORS_SMSC47M192=m -CONFIG_SENSORS_SMSC47B397=m -CONFIG_SENSORS_SCH56XX_COMMON=m -CONFIG_SENSORS_SCH5627=m -CONFIG_SENSORS_SCH5636=m -CONFIG_SENSORS_SMM665=m -# CONFIG_SENSORS_ADC128D818 is not set -CONFIG_SENSORS_ADS1015=m -CONFIG_SENSORS_ADS7828=m -CONFIG_SENSORS_AMC6821=m -# CONFIG_SENSORS_INA209 is not set -CONFIG_SENSORS_INA2XX=m -CONFIG_SENSORS_THMC50=m -CONFIG_SENSORS_TMP102=m -CONFIG_SENSORS_TMP401=m -CONFIG_SENSORS_TMP421=m -CONFIG_SENSORS_VIA_CPUTEMP=m -CONFIG_SENSORS_VIA686A=m -CONFIG_SENSORS_VT1211=m -CONFIG_SENSORS_VT8231=m -CONFIG_SENSORS_W83781D=m -CONFIG_SENSORS_W83791D=m -CONFIG_SENSORS_W83792D=m -CONFIG_SENSORS_W83793=m -CONFIG_SENSORS_W83795=m -# CONFIG_SENSORS_W83795_FANCTRL is not set -CONFIG_SENSORS_W83L785TS=m -CONFIG_SENSORS_W83L786NG=m -CONFIG_SENSORS_W83627HF=m -CONFIG_SENSORS_W83627EHF=m - -# -# ACPI drivers -# -CONFIG_SENSORS_ACPI_POWER=m -CONFIG_SENSORS_ATK0110=m -CONFIG_THERMAL=y -CONFIG_THERMAL_HWMON=y -CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y -# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set -# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set -# CONFIG_THERMAL_GOV_FAIR_SHARE is not set -CONFIG_THERMAL_GOV_STEP_WISE=y -CONFIG_THERMAL_GOV_USER_SPACE=y -# CONFIG_THERMAL_EMULATION is not set -# CONFIG_INTEL_POWERCLAMP is not set -CONFIG_X86_PKG_TEMP_THERMAL=m -# CONFIG_ACPI_INT3403_THERMAL is not set - -# -# Texas Instruments thermal drivers -# -CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_CORE=y -# CONFIG_WATCHDOG_NOWAYOUT is not set - -# -# Watchdog Device Drivers -# -CONFIG_SOFT_WATCHDOG=y -# CONFIG_XILINX_WATCHDOG is not set -# CONFIG_DW_WATCHDOG is not set -CONFIG_ACQUIRE_WDT=m -CONFIG_ADVANTECH_WDT=m -CONFIG_ALIM1535_WDT=m -CONFIG_ALIM7101_WDT=m -CONFIG_F71808E_WDT=m -CONFIG_SP5100_TCO=m -CONFIG_SBC_FITPC2_WATCHDOG=m -CONFIG_EUROTECH_WDT=m -CONFIG_IB700_WDT=m -CONFIG_IBMASR=m -CONFIG_WAFER_WDT=m -CONFIG_I6300ESB_WDT=m -CONFIG_IE6XX_WDT=m -CONFIG_ITCO_WDT=m -CONFIG_ITCO_VENDOR_SUPPORT=y -CONFIG_IT8712F_WDT=m -CONFIG_IT87_WDT=m -CONFIG_HP_WATCHDOG=m -CONFIG_HPWDT_NMI_DECODING=y -CONFIG_SC1200_WDT=m -CONFIG_PC87413_WDT=m -CONFIG_NV_TCO=m -CONFIG_60XX_WDT=m -CONFIG_SBC8360_WDT=m -CONFIG_CPU5_WDT=m -CONFIG_SMSC_SCH311X_WDT=m -CONFIG_SMSC37B787_WDT=m -CONFIG_VIA_WDT=m -CONFIG_W83627HF_WDT=m -CONFIG_W83697HF_WDT=m -CONFIG_W83697UG_WDT=m -CONFIG_W83877F_WDT=m -CONFIG_W83977F_WDT=m -CONFIG_MACHZ_WDT=m -CONFIG_SBC_EPX_C3_WATCHDOG=m -# CONFIG_XEN_WDT is not set - -# -# PCI-based Watchdog Cards -# -CONFIG_PCIPCWATCHDOG=m -CONFIG_WDTPCI=m - -# -# USB-based Watchdog Cards -# -CONFIG_USBPCWATCHDOG=m -CONFIG_SSB_POSSIBLE=y - -# -# Sonics Silicon Backplane -# -CONFIG_SSB=m -CONFIG_SSB_SPROM=y -CONFIG_SSB_PCIHOST_POSSIBLE=y -CONFIG_SSB_PCIHOST=y -# CONFIG_SSB_B43_PCI_BRIDGE is not set -CONFIG_SSB_PCMCIAHOST_POSSIBLE=y -CONFIG_SSB_PCMCIAHOST=y -CONFIG_SSB_SDIOHOST_POSSIBLE=y -# CONFIG_SSB_SDIOHOST is not set -# CONFIG_SSB_SILENT is not set -# CONFIG_SSB_DEBUG is not set -CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y -CONFIG_SSB_DRIVER_PCICORE=y -CONFIG_BCMA_POSSIBLE=y - -# -# Broadcom specific AMBA -# -CONFIG_BCMA=m -CONFIG_BCMA_HOST_PCI_POSSIBLE=y -CONFIG_BCMA_HOST_PCI=y -# CONFIG_BCMA_HOST_SOC is not set -CONFIG_BCMA_DRIVER_GMAC_CMN=y -# CONFIG_BCMA_DEBUG is not set - -# -# Multifunction device drivers -# -CONFIG_MFD_CORE=m -# CONFIG_MFD_CS5535 is not set -# CONFIG_MFD_AS3711 is not set -# CONFIG_PMIC_ADP5520 is not set -# CONFIG_MFD_BCM590XX is not set -# CONFIG_MFD_CROS_EC is not set -# CONFIG_PMIC_DA903X is not set -# CONFIG_MFD_DA9052_I2C is not set -# CONFIG_MFD_DA9055 is not set -# CONFIG_MFD_DA9063 is not set -# CONFIG_MFD_MC13XXX_I2C is not set -# CONFIG_HTC_PASIC3 is not set -CONFIG_LPC_ICH=m -CONFIG_LPC_SCH=m -# CONFIG_MFD_JANZ_CMODIO is not set -# CONFIG_MFD_KEMPLD is not set -# CONFIG_MFD_88PM800 is not set -# CONFIG_MFD_88PM805 is not set -# CONFIG_MFD_88PM860X is not set -# CONFIG_MFD_MAX14577 is not set -# CONFIG_MFD_MAX77686 is not set -# CONFIG_MFD_MAX77693 is not set -# CONFIG_MFD_MAX8907 is not set -# CONFIG_MFD_MAX8925 is not set -# CONFIG_MFD_MAX8997 is not set -# CONFIG_MFD_MAX8998 is not set -# CONFIG_MFD_VIPERBOARD is not set -# CONFIG_MFD_RETU is not set -# CONFIG_MFD_PCF50633 is not set -# CONFIG_MFD_RDC321X is not set -# CONFIG_MFD_RTSX_PCI is not set -# CONFIG_MFD_RTSX_USB is not set -# CONFIG_MFD_RC5T583 is not set -# CONFIG_MFD_SEC_CORE is not set -# CONFIG_MFD_SI476X_CORE is not set -CONFIG_MFD_SM501=m -# CONFIG_MFD_SMSC is not set -# CONFIG_ABX500_CORE is not set -# CONFIG_MFD_STMPE is not set -# CONFIG_MFD_SYSCON is not set -# CONFIG_MFD_TI_AM335X_TSCADC is not set -# CONFIG_MFD_LP3943 is not set -# CONFIG_MFD_LP8788 is not set -# CONFIG_MFD_PALMAS is not set -# CONFIG_TPS6105X is not set -# CONFIG_TPS6507X is not set -# CONFIG_MFD_TPS65090 is not set -# CONFIG_MFD_TPS65217 is not set -# CONFIG_MFD_TPS65218 is not set -# CONFIG_MFD_TPS6586X is not set -# CONFIG_MFD_TPS80031 is not set -# CONFIG_TWL4030_CORE is not set -# CONFIG_TWL6040_CORE is not set -CONFIG_MFD_WL1273_CORE=m -# CONFIG_MFD_LM3533 is not set -# CONFIG_MFD_TC3589X is not set -# CONFIG_MFD_TMIO is not set -CONFIG_MFD_VX855=m -# CONFIG_MFD_ARIZONA_I2C is not set -# CONFIG_MFD_WM8400 is not set -# CONFIG_MFD_WM831X_I2C is not set -# CONFIG_MFD_WM8350_I2C is not set -# CONFIG_MFD_WM8994 is not set -# CONFIG_REGULATOR is not set -# CONFIG_MEDIA_SUPPORT is not set - -# -# Graphics support -# -CONFIG_AGP=m -CONFIG_AGP_AMD64=m -CONFIG_AGP_INTEL=m -CONFIG_AGP_SIS=m -CONFIG_AGP_VIA=m -CONFIG_INTEL_GTT=m -CONFIG_VGA_ARB=y -CONFIG_VGA_ARB_MAX_GPUS=8 -CONFIG_VGA_SWITCHEROO=y - -# -# Direct Rendering Manager -# -# CONFIG_DRM is not set - -# -# Frame buffer Devices -# -CONFIG_FB=y -CONFIG_FIRMWARE_EDID=y -# CONFIG_FB_DDC is not set -CONFIG_FB_BOOT_VESA_SUPPORT=y -CONFIG_FB_CFB_FILLRECT=y -CONFIG_FB_CFB_COPYAREA=y -CONFIG_FB_CFB_IMAGEBLIT=y -# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set -CONFIG_FB_SYS_FILLRECT=y -CONFIG_FB_SYS_COPYAREA=y -CONFIG_FB_SYS_IMAGEBLIT=y -# CONFIG_FB_FOREIGN_ENDIAN is not set -CONFIG_FB_SYS_FOPS=y -CONFIG_FB_DEFERRED_IO=y -# CONFIG_FB_SVGALIB is not set -# CONFIG_FB_MACMODES is not set -# CONFIG_FB_BACKLIGHT is not set -CONFIG_FB_MODE_HELPERS=y -CONFIG_FB_TILEBLITTING=y - -# -# Frame buffer hardware drivers -# -# CONFIG_FB_CIRRUS is not set -# CONFIG_FB_PM2 is not set -# CONFIG_FB_CYBER2000 is not set -# CONFIG_FB_ARC is not set -# CONFIG_FB_ASILIANT is not set -# CONFIG_FB_IMSTT is not set -# CONFIG_FB_VGA16 is not set -# CONFIG_FB_UVESA is not set -CONFIG_FB_VESA=y -CONFIG_FB_EFI=y -# CONFIG_FB_N411 is not set -# CONFIG_FB_HGA is not set -# CONFIG_FB_OPENCORES is not set -# CONFIG_FB_S1D13XXX is not set -# CONFIG_FB_NVIDIA is not set -# CONFIG_FB_RIVA is not set -# CONFIG_FB_I740 is not set -# CONFIG_FB_LE80578 is not set -# CONFIG_FB_INTEL is not set -# CONFIG_FB_MATROX is not set -# CONFIG_FB_RADEON is not set -# CONFIG_FB_ATY128 is not set -# CONFIG_FB_ATY is not set -# CONFIG_FB_S3 is not set -# CONFIG_FB_SAVAGE is not set -# CONFIG_FB_SIS is not set -# CONFIG_FB_VIA is not set -# CONFIG_FB_NEOMAGIC is not set -# CONFIG_FB_KYRO is not set -# CONFIG_FB_3DFX is not set -# CONFIG_FB_VOODOO1 is not set -# CONFIG_FB_VT8623 is not set -# CONFIG_FB_TRIDENT is not set -# CONFIG_FB_ARK is not set -# CONFIG_FB_PM3 is not set -# CONFIG_FB_CARMINE is not set -# CONFIG_FB_TMIO is not set -# CONFIG_FB_SM501 is not set -# CONFIG_FB_SMSCUFX is not set -CONFIG_FB_UDL=m -# CONFIG_FB_GOLDFISH is not set -# CONFIG_FB_VIRTUAL is not set -CONFIG_XEN_FBDEV_FRONTEND=y -# CONFIG_FB_METRONOME is not set -# CONFIG_FB_MB862XX is not set -# CONFIG_FB_BROADSHEET is not set -# CONFIG_FB_AUO_K190X is not set -# CONFIG_FB_HYPERV is not set -# CONFIG_FB_SIMPLE is not set -# CONFIG_EXYNOS_VIDEO is not set -CONFIG_BACKLIGHT_LCD_SUPPORT=y -CONFIG_LCD_CLASS_DEVICE=m -CONFIG_LCD_PLATFORM=m -CONFIG_BACKLIGHT_CLASS_DEVICE=m -CONFIG_BACKLIGHT_GENERIC=m -CONFIG_BACKLIGHT_APPLE=m -CONFIG_BACKLIGHT_SAHARA=m -CONFIG_BACKLIGHT_ADP8860=m -CONFIG_BACKLIGHT_ADP8870=m -# CONFIG_BACKLIGHT_LM3630A is not set -# CONFIG_BACKLIGHT_LM3639 is not set -# CONFIG_BACKLIGHT_LP855X is not set -# CONFIG_BACKLIGHT_LV5207LP is not set -# CONFIG_BACKLIGHT_BD6107 is not set -# CONFIG_VGASTATE is not set - -# -# Console display driver support -# -CONFIG_VGA_CONSOLE=y -# CONFIG_VGACON_SOFT_SCROLLBACK is not set -CONFIG_DUMMY_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -CONFIG_LOGO=y -# CONFIG_LOGO_LINUX_MONO is not set -# CONFIG_LOGO_LINUX_VGA16 is not set -# CONFIG_LOGO_LINUX_CLUT224 is not set -# CONFIG_SOUND is not set - -# -# HID support -# -CONFIG_HID=y -CONFIG_HID_BATTERY_STRENGTH=y -CONFIG_HIDRAW=y -# CONFIG_UHID is not set -CONFIG_HID_GENERIC=y - -# -# Special HID drivers -# -CONFIG_HID_A4TECH=m -CONFIG_HID_ACRUX=m -CONFIG_HID_ACRUX_FF=y -CONFIG_HID_APPLE=m -# CONFIG_HID_APPLEIR is not set -CONFIG_HID_AUREAL=m -CONFIG_HID_BELKIN=m -CONFIG_HID_CHERRY=m -CONFIG_HID_CHICONY=m -CONFIG_HID_CYPRESS=m -CONFIG_HID_DRAGONRISE=m -CONFIG_DRAGONRISE_FF=y -CONFIG_HID_EMS_FF=m -CONFIG_HID_ELECOM=m -# CONFIG_HID_ELO is not set -CONFIG_HID_EZKEY=m -CONFIG_HID_HOLTEK=m -CONFIG_HOLTEK_FF=y -# CONFIG_HID_HUION is not set -CONFIG_HID_KEYTOUCH=m -CONFIG_HID_KYE=m -CONFIG_HID_UCLOGIC=m -CONFIG_HID_WALTOP=m -CONFIG_HID_GYRATION=m -CONFIG_HID_ICADE=m -CONFIG_HID_TWINHAN=m -CONFIG_HID_KENSINGTON=m -CONFIG_HID_LCPOWER=m -CONFIG_HID_LENOVO_TPKBD=y -CONFIG_HID_LOGITECH=m -CONFIG_HID_LOGITECH_DJ=m -CONFIG_LOGITECH_FF=y -CONFIG_LOGIRUMBLEPAD2_FF=y -CONFIG_LOGIG940_FF=y -CONFIG_LOGIWHEELS_FF=y -CONFIG_HID_MAGICMOUSE=m -CONFIG_HID_MICROSOFT=m -CONFIG_HID_MONTEREY=m -CONFIG_HID_MULTITOUCH=m -CONFIG_HID_NTRIG=m -CONFIG_HID_ORTEK=m -CONFIG_HID_PANTHERLORD=m -CONFIG_PANTHERLORD_FF=y -CONFIG_HID_PETALYNX=m -CONFIG_HID_PICOLCD=m -CONFIG_HID_PICOLCD_FB=y -CONFIG_HID_PICOLCD_BACKLIGHT=y -CONFIG_HID_PICOLCD_LCD=y -CONFIG_HID_PICOLCD_LEDS=y -CONFIG_HID_PRIMAX=m -CONFIG_HID_ROCCAT=m -CONFIG_HID_SAITEK=m -CONFIG_HID_SAMSUNG=m -CONFIG_HID_SONY=m -# CONFIG_SONY_FF is not set -CONFIG_HID_SPEEDLINK=m -# CONFIG_HID_STEELSERIES is not set -CONFIG_HID_SUNPLUS=m -CONFIG_HID_GREENASIA=m -CONFIG_GREENASIA_FF=y -CONFIG_HID_HYPERV_MOUSE=m -CONFIG_HID_SMARTJOYPLUS=m -CONFIG_SMARTJOYPLUS_FF=y -CONFIG_HID_TIVO=m -CONFIG_HID_TOPSEED=m -# CONFIG_HID_THINGM is not set -CONFIG_HID_THRUSTMASTER=m -CONFIG_THRUSTMASTER_FF=y -CONFIG_HID_WACOM=m -CONFIG_HID_WIIMOTE=m -# CONFIG_HID_XINMO is not set -CONFIG_HID_ZEROPLUS=m -CONFIG_ZEROPLUS_FF=y -CONFIG_HID_ZYDACRON=m -CONFIG_HID_SENSOR_HUB=m - -# -# USB HID support -# -CONFIG_USB_HID=y -# CONFIG_HID_PID is not set -CONFIG_USB_HIDDEV=y - -# -# I2C HID support -# -# CONFIG_I2C_HID is not set -CONFIG_USB_OHCI_LITTLE_ENDIAN=y -CONFIG_USB_SUPPORT=y -CONFIG_USB_COMMON=y -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB=y -# CONFIG_USB_DEBUG is not set -# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set - -# -# Miscellaneous USB options -# -CONFIG_USB_DEFAULT_PERSIST=y -# CONFIG_USB_DYNAMIC_MINORS is not set -# CONFIG_USB_OTG is not set -# CONFIG_USB_OTG_WHITELIST is not set -# CONFIG_USB_OTG_BLACKLIST_HUB is not set -# CONFIG_USB_MON is not set -# CONFIG_USB_WUSB_CBAF is not set - -# -# USB Host Controller Drivers -# -# CONFIG_USB_C67X00_HCD is not set -CONFIG_USB_XHCI_HCD=m -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_ROOT_HUB_TT=y -CONFIG_USB_EHCI_TT_NEWSCHED=y -CONFIG_USB_EHCI_PCI=y -# CONFIG_USB_EHCI_HCD_PLATFORM is not set -# CONFIG_USB_OXU210HP_HCD is not set -# CONFIG_USB_ISP116X_HCD is not set -# CONFIG_USB_ISP1760_HCD is not set -# CONFIG_USB_ISP1362_HCD is not set -# CONFIG_USB_FUSBH200_HCD is not set -# CONFIG_USB_FOTG210_HCD is not set -CONFIG_USB_OHCI_HCD=y -CONFIG_USB_OHCI_HCD_PCI=y -# CONFIG_USB_OHCI_HCD_PLATFORM is not set -CONFIG_USB_UHCI_HCD=y -# CONFIG_USB_SL811_HCD is not set -# CONFIG_USB_R8A66597_HCD is not set -# CONFIG_USB_HCD_BCMA is not set -# CONFIG_USB_HCD_SSB is not set -# CONFIG_USB_HCD_TEST_MODE is not set - -# -# USB Device Class drivers -# -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m -CONFIG_USB_WDM=m -# CONFIG_USB_TMC is not set - -# -# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may -# - -# -# also be needed; see USB_STORAGE Help for more info -# -CONFIG_USB_STORAGE=y -# CONFIG_USB_STORAGE_DEBUG is not set -CONFIG_USB_STORAGE_REALTEK=m -CONFIG_REALTEK_AUTOPM=y -CONFIG_USB_STORAGE_DATAFAB=y -CONFIG_USB_STORAGE_FREECOM=y -CONFIG_USB_STORAGE_ISD200=y -CONFIG_USB_STORAGE_USBAT=y -CONFIG_USB_STORAGE_SDDR09=y -CONFIG_USB_STORAGE_SDDR55=y -CONFIG_USB_STORAGE_JUMPSHOT=y -CONFIG_USB_STORAGE_ALAUDA=y -CONFIG_USB_STORAGE_ONETOUCH=y -CONFIG_USB_STORAGE_KARMA=y -CONFIG_USB_STORAGE_CYPRESS_ATACB=y -CONFIG_USB_STORAGE_ENE_UB6250=y -# CONFIG_USB_UAS is not set - -# -# USB Imaging devices -# -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set -# CONFIG_USB_MUSB_HDRC is not set -# CONFIG_USB_DWC3 is not set -# CONFIG_USB_DWC2 is not set -# CONFIG_USB_CHIPIDEA is not set - -# -# USB port drivers -# -CONFIG_USB_USS720=m -CONFIG_USB_SERIAL=m -CONFIG_USB_SERIAL_GENERIC=y -# CONFIG_USB_SERIAL_SIMPLE is not set -CONFIG_USB_SERIAL_AIRCABLE=m -CONFIG_USB_SERIAL_ARK3116=m -CONFIG_USB_SERIAL_BELKIN=m -CONFIG_USB_SERIAL_CH341=m -CONFIG_USB_SERIAL_WHITEHEAT=m -CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -CONFIG_USB_SERIAL_CP210X=m -CONFIG_USB_SERIAL_CYPRESS_M8=m -CONFIG_USB_SERIAL_EMPEG=m -CONFIG_USB_SERIAL_FTDI_SIO=m -CONFIG_USB_SERIAL_VISOR=m -CONFIG_USB_SERIAL_IPAQ=m -CONFIG_USB_SERIAL_IR=m -CONFIG_USB_SERIAL_EDGEPORT=m -CONFIG_USB_SERIAL_EDGEPORT_TI=m -CONFIG_USB_SERIAL_F81232=m -CONFIG_USB_SERIAL_GARMIN=m -CONFIG_USB_SERIAL_IPW=m -CONFIG_USB_SERIAL_IUU=m -CONFIG_USB_SERIAL_KEYSPAN_PDA=m -CONFIG_USB_SERIAL_KEYSPAN=m -CONFIG_USB_SERIAL_KEYSPAN_MPR=y -CONFIG_USB_SERIAL_KEYSPAN_USA28=y -CONFIG_USB_SERIAL_KEYSPAN_USA28X=y -CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y -CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y -CONFIG_USB_SERIAL_KEYSPAN_USA19=y -CONFIG_USB_SERIAL_KEYSPAN_USA18X=y -CONFIG_USB_SERIAL_KEYSPAN_USA19W=y -CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y -CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y -CONFIG_USB_SERIAL_KEYSPAN_USA49W=y -CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y -CONFIG_USB_SERIAL_KLSI=m -CONFIG_USB_SERIAL_KOBIL_SCT=m -CONFIG_USB_SERIAL_MCT_U232=m -CONFIG_USB_SERIAL_METRO=m -CONFIG_USB_SERIAL_MOS7720=m -CONFIG_USB_SERIAL_MOS7715_PARPORT=y -CONFIG_USB_SERIAL_MOS7840=m -# CONFIG_USB_SERIAL_MXUPORT is not set -CONFIG_USB_SERIAL_NAVMAN=m -CONFIG_USB_SERIAL_PL2303=m -CONFIG_USB_SERIAL_OTI6858=m -CONFIG_USB_SERIAL_QCAUX=m -CONFIG_USB_SERIAL_QUALCOMM=m -CONFIG_USB_SERIAL_SPCP8X5=m -CONFIG_USB_SERIAL_SAFE=m -CONFIG_USB_SERIAL_SAFE_PADDED=y -CONFIG_USB_SERIAL_SIERRAWIRELESS=m -CONFIG_USB_SERIAL_SYMBOL=m -CONFIG_USB_SERIAL_TI=m -CONFIG_USB_SERIAL_CYBERJACK=m -CONFIG_USB_SERIAL_XIRCOM=m -CONFIG_USB_SERIAL_WWAN=m -CONFIG_USB_SERIAL_OPTION=m -CONFIG_USB_SERIAL_OMNINET=m -CONFIG_USB_SERIAL_OPTICON=m -# CONFIG_USB_SERIAL_XSENS_MT is not set -# CONFIG_USB_SERIAL_WISHBONE is not set -CONFIG_USB_SERIAL_ZTE=m -CONFIG_USB_SERIAL_SSU100=m -CONFIG_USB_SERIAL_QT2=m -# CONFIG_USB_SERIAL_DEBUG is not set - -# -# USB Miscellaneous drivers -# -# CONFIG_USB_EMI62 is not set -# CONFIG_USB_EMI26 is not set -# CONFIG_USB_ADUTUX is not set -# CONFIG_USB_SEVSEG is not set -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_CYPRESS_CY7C63 is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_FTDI_ELAN is not set -CONFIG_USB_APPLEDISPLAY=m -CONFIG_USB_SISUSBVGA=m -CONFIG_USB_SISUSBVGA_CON=y -# CONFIG_USB_LD is not set -# CONFIG_USB_TRANCEVIBRATOR is not set -# CONFIG_USB_IOWARRIOR is not set -# CONFIG_USB_TEST is not set -# CONFIG_USB_EHSET_TEST_FIXTURE is not set -CONFIG_USB_ISIGHTFW=m -CONFIG_USB_YUREX=m -CONFIG_USB_EZUSB_FX2=m -# CONFIG_USB_HSIC_USB3503 is not set - -# -# USB Physical Layer drivers -# -# CONFIG_USB_PHY is not set -# CONFIG_USB_OTG_FSM is not set -# CONFIG_NOP_USB_XCEIV is not set -# CONFIG_SAMSUNG_USB2PHY is not set -# CONFIG_SAMSUNG_USB3PHY is not set -# CONFIG_USB_ISP1301 is not set -# CONFIG_USB_RCAR_PHY is not set -# CONFIG_USB_GADGET is not set -# CONFIG_UWB is not set -CONFIG_MMC=m -# CONFIG_MMC_DEBUG is not set -# CONFIG_MMC_CLKGATE is not set - -# -# MMC/SD/SDIO Card Drivers -# -CONFIG_MMC_BLOCK=m -CONFIG_MMC_BLOCK_MINORS=8 -CONFIG_MMC_BLOCK_BOUNCE=y -CONFIG_SDIO_UART=m -# CONFIG_MMC_TEST is not set - -# -# MMC/SD/SDIO Host Controller Drivers -# -CONFIG_MMC_SDHCI=m -CONFIG_MMC_SDHCI_PCI=m -CONFIG_MMC_RICOH_MMC=y -CONFIG_MMC_SDHCI_ACPI=m -CONFIG_MMC_SDHCI_PLTFM=m -CONFIG_MMC_WBSD=m -CONFIG_MMC_TIFM_SD=m -CONFIG_MMC_SDRICOH_CS=m -CONFIG_MMC_CB710=m -CONFIG_MMC_VIA_SDMMC=m -CONFIG_MMC_VUB300=m -CONFIG_MMC_USHC=m -CONFIG_MEMSTICK=m -# CONFIG_MEMSTICK_DEBUG is not set - -# -# MemoryStick drivers -# -# CONFIG_MEMSTICK_UNSAFE_RESUME is not set -CONFIG_MSPRO_BLOCK=m -# CONFIG_MS_BLOCK is not set - -# -# MemoryStick Host Controller Drivers -# -CONFIG_MEMSTICK_TIFM_MS=m -CONFIG_MEMSTICK_JMICRON_38X=m -CONFIG_MEMSTICK_R592=m -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y - -# -# LED drivers -# -CONFIG_LEDS_LM3530=m -CONFIG_LEDS_LM3642=m -CONFIG_LEDS_PCA9532=m -CONFIG_LEDS_LP3944=m -CONFIG_LEDS_LP55XX_COMMON=m -CONFIG_LEDS_LP5521=m -CONFIG_LEDS_LP5523=m -# CONFIG_LEDS_LP5562 is not set -# CONFIG_LEDS_LP8501 is not set -CONFIG_LEDS_CLEVO_MAIL=m -CONFIG_LEDS_PCA955X=m -# CONFIG_LEDS_PCA963X is not set -# CONFIG_LEDS_PCA9685 is not set -CONFIG_LEDS_BD2802=m -CONFIG_LEDS_INTEL_SS4200=m -CONFIG_LEDS_DELL_NETBOOKS=m -CONFIG_LEDS_TCA6507=m -CONFIG_LEDS_LM355x=m -CONFIG_LEDS_BLINKM=m - -# -# LED Triggers -# -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=y -CONFIG_LEDS_TRIGGER_ONESHOT=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y -CONFIG_LEDS_TRIGGER_BACKLIGHT=y -CONFIG_LEDS_TRIGGER_CPU=y -CONFIG_LEDS_TRIGGER_DEFAULT_ON=y - -# -# iptables trigger is under Netfilter config (LED target) -# -CONFIG_LEDS_TRIGGER_TRANSIENT=y -# CONFIG_LEDS_TRIGGER_CAMERA is not set -# CONFIG_ACCESSIBILITY is not set -# CONFIG_INFINIBAND is not set -# CONFIG_EDAC is not set -CONFIG_RTC_LIB=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_HCTOSYS=y -CONFIG_RTC_SYSTOHC=y -CONFIG_RTC_HCTOSYS_DEVICE="rtc0" -# CONFIG_RTC_DEBUG is not set - -# -# RTC interfaces -# -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_DEV=y -# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set -# CONFIG_RTC_DRV_TEST is not set - -# -# I2C RTC drivers -# -# CONFIG_RTC_DRV_DS1307 is not set -# CONFIG_RTC_DRV_DS1374 is not set -# CONFIG_RTC_DRV_DS1672 is not set -# CONFIG_RTC_DRV_DS3232 is not set -# CONFIG_RTC_DRV_MAX6900 is not set -# CONFIG_RTC_DRV_RS5C372 is not set -# CONFIG_RTC_DRV_ISL1208 is not set -# CONFIG_RTC_DRV_ISL12022 is not set -# CONFIG_RTC_DRV_ISL12057 is not set -# CONFIG_RTC_DRV_X1205 is not set -# CONFIG_RTC_DRV_PCF2127 is not set -# CONFIG_RTC_DRV_PCF8523 is not set -# CONFIG_RTC_DRV_PCF8563 is not set -# CONFIG_RTC_DRV_PCF8583 is not set -# CONFIG_RTC_DRV_M41T80 is not set -# CONFIG_RTC_DRV_BQ32K is not set -# CONFIG_RTC_DRV_S35390A is not set -# CONFIG_RTC_DRV_FM3130 is not set -# CONFIG_RTC_DRV_RX8581 is not set -# CONFIG_RTC_DRV_RX8025 is not set -# CONFIG_RTC_DRV_EM3027 is not set -# CONFIG_RTC_DRV_RV3029C2 is not set - -# -# SPI RTC drivers -# - -# -# Platform RTC drivers -# -CONFIG_RTC_DRV_CMOS=y -# CONFIG_RTC_DRV_DS1286 is not set -# CONFIG_RTC_DRV_DS1511 is not set -# CONFIG_RTC_DRV_DS1553 is not set -# CONFIG_RTC_DRV_DS1742 is not set -# CONFIG_RTC_DRV_STK17TA8 is not set -# CONFIG_RTC_DRV_M48T86 is not set -# CONFIG_RTC_DRV_M48T35 is not set -# CONFIG_RTC_DRV_M48T59 is not set -# CONFIG_RTC_DRV_MSM6242 is not set -# CONFIG_RTC_DRV_BQ4802 is not set -# CONFIG_RTC_DRV_RP5C01 is not set -# CONFIG_RTC_DRV_V3020 is not set -# CONFIG_RTC_DRV_DS2404 is not set - -# -# on-CPU RTC drivers -# -# CONFIG_RTC_DRV_MOXART is not set - -# -# HID Sensor RTC drivers -# -# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set -CONFIG_DMADEVICES=y -# CONFIG_DMADEVICES_DEBUG is not set - -# -# DMA Devices -# -# CONFIG_INTEL_MID_DMAC is not set -# CONFIG_INTEL_IOATDMA is not set -# CONFIG_DW_DMAC_CORE is not set -# CONFIG_DW_DMAC is not set -# CONFIG_DW_DMAC_PCI is not set -# CONFIG_PCH_DMA is not set -CONFIG_DMA_ACPI=y -# CONFIG_AUXDISPLAY is not set -CONFIG_UIO=y -# CONFIG_UIO_CIF is not set -# CONFIG_UIO_PDRV_GENIRQ is not set -# CONFIG_UIO_DMEM_GENIRQ is not set -# CONFIG_UIO_AEC is not set -# CONFIG_UIO_SERCOS3 is not set -# CONFIG_UIO_PCI_GENERIC is not set -# CONFIG_UIO_NETX is not set -# CONFIG_UIO_MF624 is not set -# CONFIG_VFIO is not set -# CONFIG_VIRT_DRIVERS is not set -CONFIG_VIRTIO=y - -# -# Virtio drivers -# -CONFIG_VIRTIO_PCI=y -CONFIG_VIRTIO_BALLOON=y -CONFIG_VIRTIO_MMIO=y -CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y - -# -# Microsoft Hyper-V guest support -# -CONFIG_HYPERV=m -CONFIG_HYPERV_UTILS=m -CONFIG_HYPERV_BALLOON=m - -# -# Xen driver support -# -CONFIG_XEN_BALLOON=y -# CONFIG_XEN_SELFBALLOONING is not set -CONFIG_XEN_SCRUB_PAGES=y -CONFIG_XEN_DEV_EVTCHN=y -CONFIG_XEN_BACKEND=y -CONFIG_XENFS=y -CONFIG_XEN_COMPAT_XENFS=y -CONFIG_XEN_SYS_HYPERVISOR=y -CONFIG_XEN_XENBUS_FRONTEND=y -CONFIG_XEN_GNTDEV=m -CONFIG_XEN_GRANT_DEV_ALLOC=m -CONFIG_SWIOTLB_XEN=y -CONFIG_XEN_TMEM=m -CONFIG_XEN_PCIDEV_BACKEND=m -CONFIG_XEN_PRIVCMD=y -CONFIG_XEN_ACPI_PROCESSOR=m -# CONFIG_XEN_MCE_LOG is not set -CONFIG_XEN_HAVE_PVMMU=y -CONFIG_STAGING=y -# CONFIG_ET131X is not set -# CONFIG_SLICOSS is not set -# CONFIG_USBIP_CORE is not set -# CONFIG_COMEDI is not set -# CONFIG_PANEL is not set -# CONFIG_RTS5139 is not set -# CONFIG_RTS5208 is not set -# CONFIG_TRANZPORT is not set -# CONFIG_IDE_PHISON is not set -# CONFIG_USB_SERIAL_QUATECH2 is not set -# CONFIG_DX_SEP is not set -# CONFIG_CRYSTALHD is not set -# CONFIG_FB_XGI is not set -# CONFIG_ACPI_QUICKSTART is not set -# CONFIG_USB_ENESTORAGE is not set -# CONFIG_BCM_WIMAX is not set -# CONFIG_FT1000 is not set - -# -# Speakup console speech -# -# CONFIG_SPEAKUP is not set -# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set -# CONFIG_STAGING_MEDIA is not set - -# -# Android -# -# CONFIG_ANDROID is not set -# CONFIG_USB_WPAN_HCD is not set -# CONFIG_WIMAX_GDM72XX is not set -# CONFIG_LTE_GDM724X is not set -# CONFIG_NET_VENDOR_SILICOM is not set -# CONFIG_CED1401 is not set -# CONFIG_DGRP is not set -# CONFIG_FIREWIRE_SERIAL is not set -# CONFIG_LUSTRE_FS is not set -# CONFIG_XILLYBUS is not set -# CONFIG_DGNC is not set -# CONFIG_DGAP is not set -# CONFIG_GS_FPGABOOT is not set -CONFIG_X86_PLATFORM_DEVICES=y -CONFIG_ACER_WMI=m -CONFIG_ACERHDF=m -# CONFIG_ALIENWARE_WMI is not set -CONFIG_ASUS_LAPTOP=m -CONFIG_DELL_WMI=m -CONFIG_DELL_WMI_AIO=m -CONFIG_FUJITSU_LAPTOP=m -# CONFIG_FUJITSU_LAPTOP_DEBUG is not set -CONFIG_FUJITSU_TABLET=m -CONFIG_AMILO_RFKILL=m -CONFIG_HP_ACCEL=m -# CONFIG_HP_WIRELESS is not set -CONFIG_HP_WMI=m -CONFIG_MSI_LAPTOP=m -CONFIG_PANASONIC_LAPTOP=m -CONFIG_COMPAL_LAPTOP=m -CONFIG_SONY_LAPTOP=m -CONFIG_SONYPI_COMPAT=y -CONFIG_IDEAPAD_LAPTOP=m -CONFIG_THINKPAD_ACPI=m -# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set -# CONFIG_THINKPAD_ACPI_DEBUG is not set -# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set -CONFIG_THINKPAD_ACPI_VIDEO=y -CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y -CONFIG_SENSORS_HDAPS=m -CONFIG_INTEL_MENLOW=m -CONFIG_EEEPC_LAPTOP=m -CONFIG_ASUS_WMI=m -CONFIG_ASUS_NB_WMI=m -CONFIG_EEEPC_WMI=m -CONFIG_ACPI_WMI=m -CONFIG_MSI_WMI=m -CONFIG_TOPSTAR_LAPTOP=m -CONFIG_ACPI_TOSHIBA=m -CONFIG_TOSHIBA_BT_RFKILL=m -CONFIG_ACPI_CMPC=m -CONFIG_INTEL_IPS=m -CONFIG_IBM_RTL=m -CONFIG_XO15_EBOOK=m -CONFIG_SAMSUNG_LAPTOP=m -CONFIG_MXM_WMI=m -CONFIG_INTEL_OAKTRAIL=m -CONFIG_SAMSUNG_Q10=m -CONFIG_APPLE_GMUX=m -# CONFIG_INTEL_RST is not set -# CONFIG_INTEL_SMARTCONNECT is not set -# CONFIG_PVPANIC is not set -CONFIG_CHROME_PLATFORMS=y -# CONFIG_CHROMEOS_LAPTOP is not set -# CONFIG_CHROMEOS_PSTORE is not set - -# -# Hardware Spinlock drivers -# -CONFIG_CLKEVT_I8253=y -CONFIG_I8253_LOCK=y -CONFIG_CLKBLD_I8253=y -# CONFIG_SH_TIMER_CMT is not set -# CONFIG_SH_TIMER_MTU2 is not set -# CONFIG_SH_TIMER_TMU is not set -# CONFIG_EM_TIMER_STI is not set -# CONFIG_MAILBOX is not set -CONFIG_IOMMU_API=y -CONFIG_IOMMU_SUPPORT=y -CONFIG_AMD_IOMMU=y -# CONFIG_AMD_IOMMU_STATS is not set -# CONFIG_AMD_IOMMU_V2 is not set -CONFIG_DMAR_TABLE=y -CONFIG_INTEL_IOMMU=y -CONFIG_INTEL_IOMMU_DEFAULT_ON=y -CONFIG_INTEL_IOMMU_FLOPPY_WA=y -# CONFIG_IRQ_REMAP is not set - -# -# Remoteproc drivers -# -# CONFIG_STE_MODEM_RPROC is not set - -# -# Rpmsg drivers -# -# CONFIG_PM_DEVFREQ is not set -# CONFIG_EXTCON is not set -# CONFIG_MEMORY is not set -# CONFIG_IIO is not set -# CONFIG_NTB is not set -# CONFIG_VME_BUS is not set -# CONFIG_PWM is not set -# CONFIG_IPACK_BUS is not set -CONFIG_RESET_CONTROLLER=y -# CONFIG_FMC is not set - -# -# PHY Subsystem -# -CONFIG_GENERIC_PHY=y -# CONFIG_BCM_KONA_USB2_PHY is not set -# CONFIG_PHY_SAMSUNG_USB2 is not set -# CONFIG_POWERCAP is not set -# CONFIG_MCB is not set - -# -# Firmware Drivers -# -# CONFIG_EDD is not set -CONFIG_FIRMWARE_MEMMAP=y -# CONFIG_DELL_RBU is not set -# CONFIG_DCDBAS is not set -CONFIG_DMIID=y -CONFIG_DMI_SYSFS=y -CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y -# CONFIG_ISCSI_IBFT_FIND is not set -# CONFIG_GOOGLE_FIRMWARE is not set - -# -# EFI (Extensible Firmware Interface) Support -# -CONFIG_EFI_VARS=y -CONFIG_EFI_VARS_PSTORE=y -# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set -CONFIG_EFI_RUNTIME_MAP=y -CONFIG_UEFI_CPER=y - -# -# File systems -# -CONFIG_DCACHE_WORD_ACCESS=y -# CONFIG_EXT2_FS is not set -# CONFIG_EXT3_FS is not set -CONFIG_EXT4_FS=y -CONFIG_EXT4_USE_FOR_EXT23=y -# CONFIG_EXT4_FS_POSIX_ACL is not set -# CONFIG_EXT4_FS_SECURITY is not set -# CONFIG_EXT4_DEBUG is not set -CONFIG_JBD2=y -# CONFIG_JBD2_DEBUG is not set -CONFIG_FS_MBCACHE=y -CONFIG_REISERFS_FS=m -# CONFIG_REISERFS_CHECK is not set -CONFIG_REISERFS_PROC_INFO=y -# CONFIG_REISERFS_FS_XATTR is not set -CONFIG_JFS_FS=m -# CONFIG_JFS_POSIX_ACL is not set -# CONFIG_JFS_SECURITY is not set -# CONFIG_JFS_DEBUG is not set -CONFIG_JFS_STATISTICS=y -CONFIG_XFS_FS=m -# CONFIG_XFS_QUOTA is not set -# CONFIG_XFS_POSIX_ACL is not set -# CONFIG_XFS_RT is not set -# CONFIG_XFS_WARN is not set -# CONFIG_XFS_DEBUG is not set -# CONFIG_GFS2_FS is not set -CONFIG_BTRFS_FS=m -CONFIG_BTRFS_FS_POSIX_ACL=y -# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set -# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -# CONFIG_BTRFS_DEBUG is not set -# CONFIG_BTRFS_ASSERT is not set -# CONFIG_NILFS2_FS is not set -CONFIG_FS_POSIX_ACL=y -CONFIG_EXPORTFS=y -CONFIG_FILE_LOCKING=y -CONFIG_FSNOTIFY=y -CONFIG_DNOTIFY=y -CONFIG_INOTIFY_USER=y -CONFIG_FANOTIFY=y -# CONFIG_QUOTA is not set -# CONFIG_QUOTACTL is not set -# CONFIG_AUTOFS4_FS is not set -CONFIG_FUSE_FS=y -# CONFIG_CUSE is not set - -# -# Caches -# -# CONFIG_FSCACHE is not set - -# -# CD-ROM/DVD Filesystems -# -CONFIG_ISO9660_FS=y -CONFIG_JOLIET=y -CONFIG_ZISOFS=y -CONFIG_UDF_FS=m -CONFIG_UDF_NLS=y - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=m -CONFIG_VFAT_FS=y -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" -CONFIG_NTFS_FS=m -# CONFIG_NTFS_DEBUG is not set -# CONFIG_NTFS_RW is not set - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -CONFIG_PROC_KCORE=y -CONFIG_PROC_SYSCTL=y -CONFIG_PROC_PAGE_MONITOR=y -CONFIG_KERNFS=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -# CONFIG_TMPFS_POSIX_ACL is not set -CONFIG_TMPFS_XATTR=y -# CONFIG_HUGETLBFS is not set -# CONFIG_HUGETLB_PAGE is not set -# CONFIG_CONFIGFS_FS is not set -CONFIG_MISC_FILESYSTEMS=y -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_FS is not set -# CONFIG_ECRYPT_FS is not set -# CONFIG_HFS_FS is not set -CONFIG_HFSPLUS_FS=m -# CONFIG_HFSPLUS_FS_POSIX_ACL is not set -# CONFIG_BEFS_FS is not set -# CONFIG_BFS_FS is not set -# CONFIG_EFS_FS is not set -CONFIG_JFFS2_FS=m -CONFIG_JFFS2_FS_DEBUG=0 -CONFIG_JFFS2_FS_WRITEBUFFER=y -# CONFIG_JFFS2_FS_WBUF_VERIFY is not set -# CONFIG_JFFS2_SUMMARY is not set -# CONFIG_JFFS2_FS_XATTR is not set -# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set -CONFIG_JFFS2_ZLIB=y -# CONFIG_JFFS2_LZO is not set -CONFIG_JFFS2_RTIME=y -# CONFIG_JFFS2_RUBIN is not set -CONFIG_UBIFS_FS=m -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -# CONFIG_LOGFS is not set -CONFIG_CRAMFS=y -CONFIG_SQUASHFS=m -CONFIG_SQUASHFS_FILE_CACHE=y -# CONFIG_SQUASHFS_FILE_DIRECT is not set -CONFIG_SQUASHFS_DECOMP_SINGLE=y -# CONFIG_SQUASHFS_DECOMP_MULTI is not set -# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set -# CONFIG_SQUASHFS_XATTR is not set -CONFIG_SQUASHFS_ZLIB=y -CONFIG_SQUASHFS_LZO=y -# CONFIG_SQUASHFS_XZ is not set -# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set -CONFIG_SQUASHFS_EMBEDDED=y -CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=2 -# CONFIG_VXFS_FS is not set -CONFIG_MINIX_FS=m -# CONFIG_OMFS_FS is not set -# CONFIG_HPFS_FS is not set -# CONFIG_QNX4FS_FS is not set -# CONFIG_QNX6FS_FS is not set -# CONFIG_ROMFS_FS is not set -CONFIG_PSTORE=y -# CONFIG_PSTORE_CONSOLE is not set -# CONFIG_PSTORE_RAM is not set -# CONFIG_SYSV_FS is not set -# CONFIG_UFS_FS is not set -# CONFIG_EXOFS_FS is not set -# CONFIG_F2FS_FS is not set -# CONFIG_EFIVAR_FS is not set -CONFIG_AUFS_FS=y -# CONFIG_AUFS_BRANCH_MAX_127 is not set -# CONFIG_AUFS_BRANCH_MAX_511 is not set -# CONFIG_AUFS_BRANCH_MAX_1023 is not set -CONFIG_AUFS_BRANCH_MAX_32767=y -CONFIG_AUFS_SBILIST=y -# CONFIG_AUFS_HNOTIFY is not set -# CONFIG_AUFS_EXPORT is not set -# CONFIG_AUFS_RDU is not set -# CONFIG_AUFS_SHWH is not set -# CONFIG_AUFS_BR_RAMFS is not set -# CONFIG_AUFS_BR_FUSE is not set -CONFIG_AUFS_BR_HFSPLUS=y -CONFIG_AUFS_BDEV_LOOP=y -# CONFIG_AUFS_DEBUG is not set -CONFIG_ORE=m -CONFIG_NETWORK_FILESYSTEMS=y -CONFIG_NFS_FS=y -CONFIG_NFS_V2=y -CONFIG_NFS_V3=y -# CONFIG_NFS_V3_ACL is not set -CONFIG_NFS_V4=y -CONFIG_NFS_SWAP=y -CONFIG_NFS_V4_1=y -# CONFIG_NFS_V4_2 is not set -CONFIG_PNFS_FILE_LAYOUT=y -CONFIG_PNFS_BLOCK=m -CONFIG_PNFS_OBJLAYOUT=m -CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" -# CONFIG_NFS_V4_1_MIGRATION is not set -# CONFIG_ROOT_NFS is not set -# CONFIG_NFS_USE_LEGACY_DNS is not set -CONFIG_NFS_USE_KERNEL_DNS=y -CONFIG_NFSD=y -CONFIG_NFSD_V3=y -# CONFIG_NFSD_V3_ACL is not set -CONFIG_NFSD_V4=y -# CONFIG_NFSD_FAULT_INJECTION is not set -CONFIG_LOCKD=y -CONFIG_LOCKD_V4=y -CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=y -CONFIG_SUNRPC_GSS=y -CONFIG_SUNRPC_BACKCHANNEL=y -CONFIG_SUNRPC_SWAP=y -# CONFIG_SUNRPC_DEBUG is not set -# CONFIG_CEPH_FS is not set -CONFIG_CIFS=m -CONFIG_CIFS_STATS=y -# CONFIG_CIFS_STATS2 is not set -CONFIG_CIFS_WEAK_PW_HASH=y -CONFIG_CIFS_UPCALL=y -# CONFIG_CIFS_XATTR is not set -CONFIG_CIFS_DEBUG=y -# CONFIG_CIFS_DEBUG2 is not set -CONFIG_CIFS_DFS_UPCALL=y -# CONFIG_CIFS_SMB2 is not set -# CONFIG_NCP_FS is not set -# CONFIG_CODA_FS is not set -# CONFIG_AFS_FS is not set -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="iso8859-1" -CONFIG_NLS_CODEPAGE_437=y -# CONFIG_NLS_CODEPAGE_737 is not set -# CONFIG_NLS_CODEPAGE_775 is not set -CONFIG_NLS_CODEPAGE_850=y -# CONFIG_NLS_CODEPAGE_852 is not set -# CONFIG_NLS_CODEPAGE_855 is not set -# CONFIG_NLS_CODEPAGE_857 is not set -# CONFIG_NLS_CODEPAGE_860 is not set -# CONFIG_NLS_CODEPAGE_861 is not set -# CONFIG_NLS_CODEPAGE_862 is not set -# CONFIG_NLS_CODEPAGE_863 is not set -# CONFIG_NLS_CODEPAGE_864 is not set -# CONFIG_NLS_CODEPAGE_865 is not set -# CONFIG_NLS_CODEPAGE_866 is not set -# CONFIG_NLS_CODEPAGE_869 is not set -# CONFIG_NLS_CODEPAGE_936 is not set -# CONFIG_NLS_CODEPAGE_950 is not set -# CONFIG_NLS_CODEPAGE_932 is not set -# CONFIG_NLS_CODEPAGE_949 is not set -# CONFIG_NLS_CODEPAGE_874 is not set -# CONFIG_NLS_ISO8859_8 is not set -# CONFIG_NLS_CODEPAGE_1250 is not set -# CONFIG_NLS_CODEPAGE_1251 is not set -CONFIG_NLS_ASCII=y -CONFIG_NLS_ISO8859_1=y -# CONFIG_NLS_ISO8859_2 is not set -# CONFIG_NLS_ISO8859_3 is not set -# CONFIG_NLS_ISO8859_4 is not set -# CONFIG_NLS_ISO8859_5 is not set -# CONFIG_NLS_ISO8859_6 is not set -# CONFIG_NLS_ISO8859_7 is not set -# CONFIG_NLS_ISO8859_9 is not set -# CONFIG_NLS_ISO8859_13 is not set -# CONFIG_NLS_ISO8859_14 is not set -CONFIG_NLS_ISO8859_15=y -# CONFIG_NLS_KOI8_R is not set -# CONFIG_NLS_KOI8_U is not set -# CONFIG_NLS_MAC_ROMAN is not set -# CONFIG_NLS_MAC_CELTIC is not set -# CONFIG_NLS_MAC_CENTEURO is not set -# CONFIG_NLS_MAC_CROATIAN is not set -# CONFIG_NLS_MAC_CYRILLIC is not set -# CONFIG_NLS_MAC_GAELIC is not set -# CONFIG_NLS_MAC_GREEK is not set -# CONFIG_NLS_MAC_ICELAND is not set -# CONFIG_NLS_MAC_INUIT is not set -# CONFIG_NLS_MAC_ROMANIAN is not set -# CONFIG_NLS_MAC_TURKISH is not set -CONFIG_NLS_UTF8=y - -# -# Kernel hacking -# -CONFIG_TRACE_IRQFLAGS_SUPPORT=y - -# -# printk and dmesg options -# -# CONFIG_PRINTK_TIME is not set -CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 -# CONFIG_BOOT_PRINTK_DELAY is not set - -# -# Compile-time checks and compiler options -# -# CONFIG_DEBUG_INFO is not set -# CONFIG_ENABLE_WARN_DEPRECATED is not set -# CONFIG_ENABLE_MUST_CHECK is not set -CONFIG_FRAME_WARN=1024 -# CONFIG_STRIP_ASM_SYMS is not set -# CONFIG_READABLE_ASM is not set -# CONFIG_UNUSED_SYMBOLS is not set -# CONFIG_DEBUG_FS is not set -# CONFIG_HEADERS_CHECK is not set -# CONFIG_DEBUG_SECTION_MISMATCH is not set -CONFIG_ARCH_WANT_FRAME_POINTERS=y -# CONFIG_FRAME_POINTER is not set -# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set -CONFIG_MAGIC_SYSRQ=y -CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 -CONFIG_DEBUG_KERNEL=y - -# -# Memory Debugging -# -# CONFIG_DEBUG_PAGEALLOC is not set -# CONFIG_DEBUG_OBJECTS is not set -# CONFIG_DEBUG_SLAB is not set -CONFIG_HAVE_DEBUG_KMEMLEAK=y -# CONFIG_DEBUG_KMEMLEAK is not set -# CONFIG_DEBUG_STACK_USAGE is not set -# CONFIG_DEBUG_VM is not set -# CONFIG_DEBUG_VIRTUAL is not set -# CONFIG_DEBUG_MEMORY_INIT is not set -# CONFIG_DEBUG_PER_CPU_MAPS is not set -CONFIG_HAVE_DEBUG_STACKOVERFLOW=y -# CONFIG_DEBUG_STACKOVERFLOW is not set -CONFIG_HAVE_ARCH_KMEMCHECK=y -# CONFIG_DEBUG_SHIRQ is not set - -# -# Debug Lockups and Hangs -# -# CONFIG_LOCKUP_DETECTOR is not set -# CONFIG_DETECT_HUNG_TASK is not set -# CONFIG_PANIC_ON_OOPS is not set -CONFIG_PANIC_ON_OOPS_VALUE=0 -CONFIG_PANIC_TIMEOUT=0 -# CONFIG_SCHED_DEBUG is not set -# CONFIG_SCHEDSTATS is not set -CONFIG_TIMER_STATS=y - -# -# Lock Debugging (spinlocks, mutexes, etc...) -# -# CONFIG_DEBUG_RT_MUTEXES is not set -# CONFIG_RT_MUTEX_TESTER is not set -# CONFIG_DEBUG_SPINLOCK is not set -# CONFIG_DEBUG_MUTEXES is not set -# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set -# CONFIG_DEBUG_LOCK_ALLOC is not set -# CONFIG_PROVE_LOCKING is not set -# CONFIG_LOCK_STAT is not set -# CONFIG_DEBUG_ATOMIC_SLEEP is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -# CONFIG_LOCK_TORTURE_TEST is not set -# CONFIG_DEBUG_KOBJECT is not set -# CONFIG_DEBUG_BUGVERBOSE is not set -# CONFIG_DEBUG_LIST is not set -# CONFIG_DEBUG_SG is not set -# CONFIG_DEBUG_NOTIFIERS is not set -# CONFIG_DEBUG_CREDENTIALS is not set - -# -# RCU Debugging -# -# CONFIG_SPARSE_RCU_POINTER is not set -# CONFIG_TORTURE_TEST is not set -# CONFIG_RCU_TORTURE_TEST is not set -CONFIG_RCU_CPU_STALL_TIMEOUT=60 -# CONFIG_RCU_CPU_STALL_INFO is not set -# CONFIG_RCU_TRACE is not set -# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set -# CONFIG_NOTIFIER_ERROR_INJECTION is not set -# CONFIG_FAULT_INJECTION is not set -# CONFIG_LATENCYTOP is not set -CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y -# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set -CONFIG_USER_STACKTRACE_SUPPORT=y -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y -CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_SYSCALL_TRACEPOINTS=y -CONFIG_HAVE_FENTRY=y -CONFIG_HAVE_C_RECORDMCOUNT=y -CONFIG_TRACE_CLOCK=y -CONFIG_RING_BUFFER=y -CONFIG_RING_BUFFER_ALLOW_SWAP=y -CONFIG_TRACING_SUPPORT=y -# CONFIG_FTRACE is not set - -# -# Runtime Testing -# -# CONFIG_TEST_LIST_SORT is not set -# CONFIG_BACKTRACE_SELF_TEST is not set -# CONFIG_RBTREE_TEST is not set -# CONFIG_INTERVAL_TREE_TEST is not set -# CONFIG_PERCPU_TEST is not set -# CONFIG_ATOMIC64_SELFTEST is not set -# CONFIG_ASYNC_RAID6_TEST is not set -# CONFIG_TEST_STRING_HELPERS is not set -# CONFIG_TEST_KSTRTOX is not set -# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set -# CONFIG_DMA_API_DEBUG is not set -# CONFIG_TEST_MODULE is not set -# CONFIG_TEST_USER_COPY is not set -# CONFIG_SAMPLES is not set -CONFIG_HAVE_ARCH_KGDB=y -# CONFIG_KGDB is not set -CONFIG_STRICT_DEVMEM=y -CONFIG_X86_VERBOSE_BOOTUP=y -# CONFIG_EARLY_PRINTK is not set -# CONFIG_X86_PTDUMP is not set -CONFIG_DEBUG_RODATA=y -# CONFIG_DEBUG_RODATA_TEST is not set -CONFIG_DEBUG_SET_MODULE_RONX=y -# CONFIG_DEBUG_NX_TEST is not set -CONFIG_DOUBLEFAULT=y -# CONFIG_DEBUG_TLBFLUSH is not set -# CONFIG_IOMMU_DEBUG is not set -# CONFIG_IOMMU_STRESS is not set -CONFIG_HAVE_MMIOTRACE_SUPPORT=y -CONFIG_IO_DELAY_TYPE_0X80=0 -CONFIG_IO_DELAY_TYPE_0XED=1 -CONFIG_IO_DELAY_TYPE_UDELAY=2 -CONFIG_IO_DELAY_TYPE_NONE=3 -CONFIG_IO_DELAY_0X80=y -# CONFIG_IO_DELAY_0XED is not set -# CONFIG_IO_DELAY_UDELAY is not set -# CONFIG_IO_DELAY_NONE is not set -CONFIG_DEFAULT_IO_DELAY_TYPE=0 -# CONFIG_CPA_DEBUG is not set -CONFIG_OPTIMIZE_INLINING=y -# CONFIG_DEBUG_NMI_SELFTEST is not set -# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set - -# -# Security options -# -CONFIG_KEYS=y -# CONFIG_PERSISTENT_KEYRINGS is not set -# CONFIG_BIG_KEYS is not set -# CONFIG_ENCRYPTED_KEYS is not set -# CONFIG_KEYS_DEBUG_PROC_KEYS is not set -# CONFIG_SECURITY_DMESG_RESTRICT is not set -# CONFIG_SECURITY is not set -# CONFIG_SECURITYFS is not set -# CONFIG_INTEL_TXT is not set -CONFIG_DEFAULT_SECURITY_DAC=y -CONFIG_DEFAULT_SECURITY="" -CONFIG_XOR_BLOCKS=m -CONFIG_ASYNC_CORE=m -CONFIG_ASYNC_MEMCPY=m -CONFIG_ASYNC_XOR=m -CONFIG_ASYNC_PQ=m -CONFIG_ASYNC_RAID6_RECOV=m -CONFIG_CRYPTO=y - -# -# Crypto core or helper -# -CONFIG_CRYPTO_ALGAPI=y -CONFIG_CRYPTO_ALGAPI2=y -CONFIG_CRYPTO_AEAD=y -CONFIG_CRYPTO_AEAD2=y -CONFIG_CRYPTO_BLKCIPHER=y -CONFIG_CRYPTO_BLKCIPHER2=y -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_HASH2=y -CONFIG_CRYPTO_RNG=m -CONFIG_CRYPTO_RNG2=y -CONFIG_CRYPTO_PCOMP2=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_MANAGER2=y -# CONFIG_CRYPTO_USER is not set -CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y -CONFIG_CRYPTO_GF128MUL=y -# CONFIG_CRYPTO_NULL is not set -# CONFIG_CRYPTO_PCRYPT is not set -CONFIG_CRYPTO_WORKQUEUE=y -CONFIG_CRYPTO_CRYPTD=y -CONFIG_CRYPTO_AUTHENC=y -# CONFIG_CRYPTO_TEST is not set -CONFIG_CRYPTO_ABLK_HELPER=y -CONFIG_CRYPTO_GLUE_HELPER_X86=y - -# -# Authenticated Encryption with Associated Data -# -CONFIG_CRYPTO_CCM=m -# CONFIG_CRYPTO_GCM is not set -CONFIG_CRYPTO_SEQIV=m - -# -# Block modes -# -CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_CTR=m -# CONFIG_CRYPTO_CTS is not set -CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_LRW=y -# CONFIG_CRYPTO_PCBC is not set -CONFIG_CRYPTO_XTS=y - -# -# Hash modes -# -CONFIG_CRYPTO_CMAC=m -CONFIG_CRYPTO_HMAC=y -# CONFIG_CRYPTO_XCBC is not set -# CONFIG_CRYPTO_VMAC is not set - -# -# Digest -# -CONFIG_CRYPTO_CRC32C=y -CONFIG_CRYPTO_CRC32C_INTEL=y -# CONFIG_CRYPTO_CRC32 is not set -# CONFIG_CRYPTO_CRC32_PCLMUL is not set -CONFIG_CRYPTO_CRCT10DIF=m -# CONFIG_CRYPTO_CRCT10DIF_PCLMUL is not set -# CONFIG_CRYPTO_GHASH is not set -CONFIG_CRYPTO_MD4=y -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_MICHAEL_MIC=y -# CONFIG_CRYPTO_RMD128 is not set -# CONFIG_CRYPTO_RMD160 is not set -# CONFIG_CRYPTO_RMD256 is not set -# CONFIG_CRYPTO_RMD320 is not set -CONFIG_CRYPTO_SHA1=y -# CONFIG_CRYPTO_SHA1_SSSE3 is not set -# CONFIG_CRYPTO_SHA256_SSSE3 is not set -# CONFIG_CRYPTO_SHA512_SSSE3 is not set -CONFIG_CRYPTO_SHA256=y -# CONFIG_CRYPTO_SHA512 is not set -# CONFIG_CRYPTO_TGR192 is not set -# CONFIG_CRYPTO_WP512 is not set -# CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set - -# -# Ciphers -# -CONFIG_CRYPTO_AES=y -CONFIG_CRYPTO_AES_X86_64=y -CONFIG_CRYPTO_AES_NI_INTEL=y -# CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_ARC4=y -# CONFIG_CRYPTO_BLOWFISH is not set -# CONFIG_CRYPTO_BLOWFISH_X86_64 is not set -# CONFIG_CRYPTO_CAMELLIA is not set -# CONFIG_CRYPTO_CAMELLIA_X86_64 is not set -# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 is not set -# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 is not set -# CONFIG_CRYPTO_CAST5 is not set -# CONFIG_CRYPTO_CAST5_AVX_X86_64 is not set -# CONFIG_CRYPTO_CAST6 is not set -# CONFIG_CRYPTO_CAST6_AVX_X86_64 is not set -CONFIG_CRYPTO_DES=y -# CONFIG_CRYPTO_FCRYPT is not set -# CONFIG_CRYPTO_KHAZAD is not set -# CONFIG_CRYPTO_SALSA20 is not set -# CONFIG_CRYPTO_SALSA20_X86_64 is not set -# CONFIG_CRYPTO_SEED is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set -# CONFIG_CRYPTO_SERPENT_AVX_X86_64 is not set -# CONFIG_CRYPTO_SERPENT_AVX2_X86_64 is not set -# CONFIG_CRYPTO_TEA is not set -# CONFIG_CRYPTO_TWOFISH is not set -# CONFIG_CRYPTO_TWOFISH_X86_64 is not set -# CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set -# CONFIG_CRYPTO_TWOFISH_AVX_X86_64 is not set - -# -# Compression -# -CONFIG_CRYPTO_DEFLATE=y -# CONFIG_CRYPTO_ZLIB is not set -CONFIG_CRYPTO_LZO=y -# CONFIG_CRYPTO_LZ4 is not set -# CONFIG_CRYPTO_LZ4HC is not set - -# -# Random Number Generation -# -# CONFIG_CRYPTO_ANSI_CPRNG is not set -CONFIG_CRYPTO_USER_API=y -CONFIG_CRYPTO_USER_API_HASH=y -CONFIG_CRYPTO_USER_API_SKCIPHER=y -CONFIG_CRYPTO_HW=y -CONFIG_CRYPTO_DEV_PADLOCK=y -CONFIG_CRYPTO_DEV_PADLOCK_AES=y -CONFIG_CRYPTO_DEV_PADLOCK_SHA=y -# CONFIG_CRYPTO_DEV_CCP is not set -# CONFIG_ASYMMETRIC_KEY_TYPE is not set -CONFIG_HAVE_KVM=y -CONFIG_HAVE_KVM_IRQCHIP=y -CONFIG_HAVE_KVM_IRQ_ROUTING=y -CONFIG_HAVE_KVM_EVENTFD=y -CONFIG_KVM_APIC_ARCHITECTURE=y -CONFIG_KVM_MMIO=y -CONFIG_KVM_ASYNC_PF=y -CONFIG_HAVE_KVM_MSI=y -CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y -CONFIG_KVM_VFIO=y -CONFIG_VIRTUALIZATION=y -CONFIG_KVM=m -CONFIG_KVM_INTEL=m -CONFIG_KVM_AMD=m -CONFIG_KVM_DEVICE_ASSIGNMENT=y -# CONFIG_BINARY_PRINTF is not set - -# -# Library routines -# -CONFIG_RAID6_PQ=m -CONFIG_BITREVERSE=y -CONFIG_GENERIC_STRNCPY_FROM_USER=y -CONFIG_GENERIC_STRNLEN_USER=y -CONFIG_GENERIC_NET_UTILS=y -CONFIG_GENERIC_FIND_FIRST_BIT=y -CONFIG_GENERIC_PCI_IOMAP=y -CONFIG_GENERIC_IOMAP=y -CONFIG_GENERIC_IO=y -CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y -CONFIG_CRC_CCITT=y -CONFIG_CRC16=y -CONFIG_CRC_T10DIF=m -CONFIG_CRC_ITU_T=y -CONFIG_CRC32=y -# CONFIG_CRC32_SELFTEST is not set -CONFIG_CRC32_SLICEBY8=y -# CONFIG_CRC32_SLICEBY4 is not set -# CONFIG_CRC32_SARWATE is not set -# CONFIG_CRC32_BIT is not set -CONFIG_CRC7=y -CONFIG_LIBCRC32C=y -CONFIG_CRC8=m -# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set -# CONFIG_RANDOM32_SELFTEST is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y -CONFIG_LZO_COMPRESS=y -CONFIG_LZO_DECOMPRESS=y -CONFIG_LZ4_DECOMPRESS=y -CONFIG_XZ_DEC=y -CONFIG_XZ_DEC_X86=y -# CONFIG_XZ_DEC_POWERPC is not set -# CONFIG_XZ_DEC_IA64 is not set -CONFIG_XZ_DEC_ARM=y -CONFIG_XZ_DEC_ARMTHUMB=y -# CONFIG_XZ_DEC_SPARC is not set -CONFIG_XZ_DEC_BCJ=y -CONFIG_XZ_DEC_TEST=y -CONFIG_DECOMPRESS_GZIP=y -CONFIG_DECOMPRESS_BZIP2=y -CONFIG_DECOMPRESS_LZMA=y -CONFIG_DECOMPRESS_XZ=y -CONFIG_DECOMPRESS_LZO=y -CONFIG_DECOMPRESS_LZ4=y -CONFIG_GENERIC_ALLOCATOR=y -CONFIG_REED_SOLOMON=m -CONFIG_REED_SOLOMON_DEC16=y -CONFIG_BCH=m -CONFIG_BCH_CONST_PARAMS=y -CONFIG_TEXTSEARCH=y -CONFIG_TEXTSEARCH_KMP=m -CONFIG_TEXTSEARCH_BM=m -CONFIG_TEXTSEARCH_FSM=m -CONFIG_ASSOCIATIVE_ARRAY=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT_MAP=y -CONFIG_HAS_DMA=y -CONFIG_CHECK_SIGNATURE=y -CONFIG_CPU_RMAP=y -CONFIG_DQL=y -CONFIG_NLATTR=y -CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y -CONFIG_AVERAGE=y -CONFIG_CORDIC=m -# CONFIG_DDR is not set -CONFIG_OID_REGISTRY=y -CONFIG_UCS2_STRING=y -CONFIG_FONT_SUPPORT=y -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y diff --git a/rootfs/Dockerfile.test b/rootfs/Dockerfile.test deleted file mode 100644 index 2f83556d5..000000000 --- a/rootfs/Dockerfile.test +++ /dev/null @@ -1,14 +0,0 @@ -FROM boot2docker -MAINTAINER Sven Dowideit "SvenDowideit@docker.com" - -#DESCRIPTION use the nightly testing build of Docker - -#get the latest testing docker -RUN curl -L -o $ROOTFS/usr/local/bin/docker https://test.docker.io/builds/Linux/x86_64/docker-latest && \ - chmod +x $ROOTFS/usr/local/bin/docker - -RUN echo " WARNING: this is a test.docker.io build, not a release." >> $ROOTFS/etc/motd -RUN echo "" >> $ROOTFS/etc/motd - -RUN /make_iso.sh -CMD ["cat", "boot2docker.iso"] diff --git a/rootfs/isolinux/boot.cat b/rootfs/isolinux/boot.cat deleted file mode 100644 index 6a0c7b18e..000000000 Binary files a/rootfs/isolinux/boot.cat and /dev/null differ diff --git a/rootfs/isolinux/boot.msg b/rootfs/isolinux/boot.msg deleted file mode 100644 index 6acd2fa9b..000000000 --- a/rootfs/isolinux/boot.msg +++ /dev/null @@ -1,16 +0,0 @@ - - ## . - ## ## ## == - ## ## ## ## === - /""""""""""""""""\___/ === - ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~ - \______ o __/ - \ \ __/ - \____\______/ - _ _ ____ _ _ -| |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __ -| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__| -| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ | -|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_| - -Press to begin or F2, F3, or F4 to view boot options. diff --git a/rootfs/isolinux/f2 b/rootfs/isolinux/f2 deleted file mode 100644 index 7ac3f28e5..000000000 --- a/rootfs/isolinux/f2 +++ /dev/null @@ -1,16 +0,0 @@ - At boot prompt enter mc followed by one or more space seperated options: - - tce={hda1|sda1} Specify Restore TCE apps directory - restore={hda1|sda1|floppy} Specify saved configuration location - waitusb=X Wait X seconds for slow USB devices - swapfile{=hda1} Scan or Specify swapfile - home={hda1|sda1} Specify persistent home directory - opt={hda1|sda1} Specify persistent opt directory - lst=yyy.lst Load alternate static yyy.lst on boot - base Do not load any extensions. - norestore Turn off the automatic restore - safebackup Saves a backup copy (mydatabk.tgz) - showapps Display application names when booting - iso=sdb1 Boot directly from iso file at sdb1 - iso==/mnt/sdb1/multiboot/ISOS/TinyCore-4.4.iso - diff --git a/rootfs/isolinux/f3 b/rootfs/isolinux/f3 deleted file mode 100644 index 7a9d3077f..000000000 --- a/rootfs/isolinux/f3 +++ /dev/null @@ -1,21 +0,0 @@ - At boot prompt enter mc followed by one or more space seperated options: - - Color 640x480 800x600 1024x768 1280x1024 - 256 8 bit 769 771 773 775 - 32000 15 bit 784 787 790 793 - 65000 16 bit 785 788 791 794 - 16.7M 24 bit 786 789 792 795 - - vga=7xx 7xx from table above - xsetup Prompt user for Xvesa setup - lang=en C only unless getlocale.tcz is installed - kmap=us US only unless kmaps.tcz is installed - text Textmode - superuser Textmode as user root - noicons Do not display icons - noicons=ondemand Do not display ondemand icons - noswap Do not use swap partition - nodhcp Skip the dhcp request at boot - noutc BIOS is using localtime - pause Pause at completion of boot messages - diff --git a/rootfs/isolinux/f4 b/rootfs/isolinux/f4 deleted file mode 100644 index 60acb64e0..000000000 --- a/rootfs/isolinux/f4 +++ /dev/null @@ -1,18 +0,0 @@ - At boot prompt enter mc followed by one or more space seperated options: - - {cron|syslog} Start various daemons at boot - host=xxxx Set hostname to xxxx - secure Set password - protect Password Encrypted Backup - noautologin Skip automatic login - tz=GMT+8 Timezone tz=PST+8PDT,M3.2.0/2,M11.1.0/2 - user=abc Specify alternate user - desktop=yyy Specify alternate window manager - laptop Force load laptop related modules - noembed Unpack initramfs to tmpfs - nozswap Skip compressed swap in ram - xvesa=800x600x32 Set Xvesa default screen resolution - mydata=yyy Specify alternate backup file name. - blacklist=ssb Blacklist a single module - multivt Allows for multiple virtual terminals - diff --git a/rootfs/isolinux/isolinux.bin b/rootfs/isolinux/isolinux.bin deleted file mode 100644 index 007404b5e..000000000 Binary files a/rootfs/isolinux/isolinux.bin and /dev/null differ diff --git a/rootfs/isolinux/isolinux.cfg b/rootfs/isolinux/isolinux.cfg deleted file mode 100644 index 9401ca435..000000000 --- a/rootfs/isolinux/isolinux.cfg +++ /dev/null @@ -1,24 +0,0 @@ -serial 0 9600 -display boot.msg -default boot2docker -label boot2docker - kernel /boot/vmlinuz64 com1=9600,8n1 - initrd /boot/initrd.img - append loglevel=3 user=docker console=ttyS0 console=tty0 noembed nomodeset norestore waitusb=10:LABEL=boot2docker-data base - -# see http://www.syslinux.org/wiki/index.php/SYSLINUX - -# If flag_val is 0, do not load a kernel image unless it has been explicitly named in a LABEL statement. The default is 1. -implicit 0 - -# If flag_val is 0, display the boot: prompt only if the Shift or Alt key is pressed, or Caps Lock or Scroll lock is set (this is the default). If flag_val is 1, always display the boot: prompt. -prompt 1 - -# Indicates how long to pause at the boot: prompt until booting automatically, in units of 1/10 s. The timeout is cancelled when any key is pressed, the assumption being the user will complete the command line. A timeout of zero will disable the timeout completely. The default is 0. -timeout 1 - -# Displays the indicated file on the screen when a function key is pressed at the boot: prompt. This can be used to implement pre-boot online help (presumably for the kernel command line options). -F1 boot.msg -F2 f2 -F3 f3 -F4 f4 diff --git a/rootfs/make_iso.sh b/rootfs/make_iso.sh deleted file mode 100755 index a7323621f..000000000 --- a/rootfs/make_iso.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -set -e - -# Ensure init system invokes /opt/shutdown.sh on reboot or shutdown. -# 1) Find three lines with `useBusyBox`, blank, and `clear` -# 2) insert run op after those three lines -sed -i "1,/^useBusybox/ { /^useBusybox/ { N;N; /^useBusybox\n\nclear/ a\ -\\\n\ -# Run boot2docker shutdown script\n\ -test -x \"/opt/shutdown.sh\" && /opt/shutdown.sh\n -} }" $ROOTFS/etc/init.d/rc.shutdown -# Verify sed worked -grep "/opt/shutdown.sh" $ROOTFS/etc/init.d/rc.shutdown || ( echo "Error: failed to insert shutdown script into /etc/init.d/rc.shutdown"; exit 1 ) - -# Make some handy symlinks (so these things are easier to find) -ln -fs /var/lib/boot2docker/docker.log $ROOTFS/var/log/ -ln -fs /usr/local/etc/init.d/docker $ROOTFS/etc/init.d/ - -# Prepare the ISO directory with the kernel -mkdir -p /tmp/iso/boot -cp -v /linux-kernel/arch/x86_64/boot/bzImage /tmp/iso/boot/vmlinuz64 -cp -vr /isolinux /tmp/iso/boot - -# Pack the rootfs -cd $ROOTFS -find | cpio -o -H newc | xz -9 --format=lzma > /tmp/iso/boot/initrd.img -cd - - -cp -v $ROOTFS/etc/version /tmp/iso/version - -# Make the ISO -# Note: only "-isohybrid-mbr /..." is specific to xorriso. -# It builds an image that can be used as an ISO *and* a disk image. -xorriso -as mkisofs \ - -l -J -R -V boot2docker -no-emul-boot -boot-load-size 4 -boot-info-table \ - -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \ - -isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin \ - -o /boot2docker.iso /tmp/iso diff --git a/rootfs/rootfs/bootsync.sh b/rootfs/rootfs/bootsync.sh deleted file mode 100755 index a8dc20a74..000000000 --- a/rootfs/rootfs/bootsync.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/sh - -# Configure sysctl -/etc/rc.d/sysctl - -# Load TCE extensions -/etc/rc.d/tce-loader - -# Automount a hard drive -/etc/rc.d/automount - -# Mount cgroups hierarchy -/etc/rc.d/cgroupfs-mount -# see https://github.com/tianon/cgroupfs-mount - -mkdir -p /var/lib/boot2docker/log - -#import settings from profile (or unset them) -export NTP_SERVER=pool.ntp.org -test -f "/var/lib/boot2docker/profile" && . "/var/lib/boot2docker/profile" - -# set the hostname -/etc/rc.d/hostname - -# sync the clock (in the background, it takes 40s to timeout) -/etc/rc.d/ntpclient & - -# TODO: move this (and the docker user creation&pwd out to its own over-rideable?)) -if grep -q '^docker:' /etc/passwd; then - # if we have the docker user, let's create the docker group - /bin/addgroup -S docker - # ... and add our docker user to it! - /bin/addgroup docker docker - - #preload data from boot2docker-cli - if [ -e "/var/lib/boot2docker/userdata.tar" ]; then - tar xf /var/lib/boot2docker/userdata.tar -C /home/docker/ - chown -R docker:staff /home/docker - fi -fi - -# Configure SSHD -/etc/rc.d/sshd - -# Launch ACPId -/etc/rc.d/acpid - -# Launch Docker -/etc/rc.d/docker - -# Allow local bootsync.sh customisation -if [ -e /var/lib/boot2docker/bootsync.sh ]; then - /var/lib/boot2docker/bootsync.sh -fi - -# Allow local HD customisation -if [ -e /var/lib/boot2docker/bootlocal.sh ]; then - /var/lib/boot2docker/bootlocal.sh & -fi diff --git a/rootfs/rootfs/etc/profile.d/boot2docker.sh b/rootfs/rootfs/etc/profile.d/boot2docker.sh deleted file mode 100644 index b15fb371c..000000000 --- a/rootfs/rootfs/etc/profile.d/boot2docker.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -echo "boot2docker: $(cat /etc/version)" -echo " $(cat /etc/boot2docker)" diff --git a/rootfs/rootfs/etc/rc.d/acpid b/rootfs/rootfs/etc/rc.d/acpid deleted file mode 100644 index 4b2f17b47..000000000 --- a/rootfs/rootfs/etc/rc.d/acpid +++ /dev/null @@ -1,2 +0,0 @@ -# Launch ACPId (shutdown) -/usr/local/etc/init.d/acpid start diff --git a/rootfs/rootfs/etc/rc.d/automount b/rootfs/rootfs/etc/rc.d/automount deleted file mode 100644 index 165184047..000000000 --- a/rootfs/rootfs/etc/rc.d/automount +++ /dev/null @@ -1,88 +0,0 @@ -#!/bin/sh - -LABEL=boot2docker-data -MAGIC="boot2docker, please format-me" - -# If there is a partition with `boot2docker-data` as its label, use it and be -# very happy. Thus, you can come along if you feel like a room without a roof. -BOOT2DOCKER_DATA=`blkid -o device -l -t LABEL=$LABEL` - -if [ ! -n "$BOOT2DOCKER_DATA" ]; then - # Is the disk unpartitioned?, test for the 'boot2docker format-me' string - UNPARTITIONED_HD=`fdisk -l | grep "doesn't contain a valid partition table" | head -n 1 | sed 's/Disk \(.*\) doesn.*/\1/'` - - if [ -n "$UNPARTITIONED_HD" ]; then - # Test for our magic string (it means that the disk was made by ./boot2docker init) - HEADER=`dd if=$UNPARTITIONED_HD bs=1 count=${#MAGIC} 2>/dev/null` - - if [ "$HEADER" = "$MAGIC" ]; then - # save the preload userdata.tar file - dd if=$UNPARTITIONED_HD of=/userdata.tar bs=1 count=4096 2>/dev/null - # Create the partition, format it and then mount it - echo "NEW boot2docker managed disk image ($UNPARTITIONED_HD): formatting it for use" - echo "NEW boot2docker managed disk image ($UNPARTITIONED_HD): formatting it for use" > /home/docker/log.log - - # Add a swap partition (so Docker doesn't complain about it missing) - (echo n; echo p; echo 2; echo ; echo +1000M ; echo w) | fdisk $UNPARTITIONED_HD - (echo t; echo 82) | fdisk $UNPARTITIONED_HD - mkswap "${UNPARTITIONED_HD}2" - # Add the data partition - (echo n; echo p; echo 1; echo ; echo ; echo w) | fdisk $UNPARTITIONED_HD - BOOT2DOCKER_DATA=`echo "${UNPARTITIONED_HD}1"` - mkfs.ext4 -L $LABEL $BOOT2DOCKER_DATA - fi - else - # Pick the first ext4 as a fallback - # TODO: mount all Linux partitions and look for a /var/lib/docker... - BOOT2DOCKER_DATA=`blkid | grep 'TYPE="ext4"' | head -n 1 | sed 's/:.*//'` - fi -fi - -if [ -n "$BOOT2DOCKER_DATA" ]; then - PARTNAME=`echo "$BOOT2DOCKER_DATA" | sed 's/.*\///'` - mkdir -p /mnt/$PARTNAME - if ! mount $BOOT2DOCKER_DATA /mnt/$PARTNAME 2>/dev/null; then - # for some reason, mount doesn't like to modprobe btrfs - BOOT2DOCKER_FSTYPE=`blkid -o export $BOOT2DOCKER_DATA | grep TYPE= | cut -d= -f2` - modprobe $BOOT2DOCKER_FSTYPE || true - mount $BOOT2DOCKER_DATA /mnt/$PARTNAME - fi - - # Just in case, the links will fail if not - rm -rf /var/lib/docker /var/lib/boot2docker - if [ -d /mnt/$PARTNAME/vm ]; then - # The old behavior - use the entire disk for boot2docker data - ln -s /mnt/$PARTNAME /var/lib/docker - - # Give us a link to the new cusomisation location - ln -s /var/lib/docker/vm /var/lib/boot2docker - - # Make sure /tmp is on the disk too too - if [ -d /var/lib/boot2docker/tmp ]; then - rm -rf /var/lib/boot2docker/tmp - fi - mv /tmp /var/lib/boot2docker/tmp - ln -s /var/lib/boot2docker/tmp /tmp - else - # Detected a disk with a normal linux install (/var/lib/docker + more)) - mkdir -p /var/lib - - mkdir -p /mnt/$PARTNAME/var/lib/docker - ln -s /mnt/$PARTNAME/var/lib/docker /var/lib/docker - - mkdir -p /mnt/$PARTNAME/var/lib/boot2docker - ln -s /mnt/$PARTNAME/var/lib/boot2docker /var/lib/boot2docker - - # Make sure /tmp is on the disk too too - if [ -d /mnt/$PARTNAME/tmp ]; then - rm -rf /mnt/$PARTNAME/tmp - fi - mv /tmp /mnt/$PARTNAME/tmp - ln -s /mnt/$PARTNAME/tmp /tmp - fi - if [ -e "/userdata.tar" ]; then - mv /userdata.tar /var/lib/boot2docker/ - fi -fi -# /etc dirs are initialised from /usr/local, to allow the user/admin to customise -mkdir -p /var/lib/boot2docker/etc/ diff --git a/rootfs/rootfs/etc/rc.d/cgroupfs-mount b/rootfs/rootfs/etc/rc.d/cgroupfs-mount deleted file mode 100755 index a1bd552b5..000000000 --- a/rootfs/rootfs/etc/rc.d/cgroupfs-mount +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/sh -# Copyright 2011 Canonical, Inc -# 2014 Tianon Gravi -# Author: Serge Hallyn -# Tianon Gravi -set -e - -# doh, TCL doesn't have "mountpoint" -mountpoint() { - dashQ=$1 - dir=$(readlink -f "$2") - grep -q " $dir " /proc/mounts -} - -# for simplicity this script provides no flexibility - -# if cgroup is mounted by fstab, don't run -# don't get too smart - bail on any uncommented entry with 'cgroup' in it -if grep -v '^#' /etc/fstab | grep -q cgroup; then - echo 'cgroups mounted from fstab, not mounting /sys/fs/cgroup' - exit 0 -fi - -# kernel provides cgroups? -if [ ! -e /proc/cgroups ]; then - exit 0 -fi - -# if we don't even have the directory we need, something else must be wrong -if [ ! -d /sys/fs/cgroup ]; then - exit 0 -fi - -# mount /sys/fs/cgroup if not already done -if ! mountpoint -q /sys/fs/cgroup; then - mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup -fi - -cd /sys/fs/cgroup - -# get/mount list of enabled cgroup controllers -for sys in $(awk '!/^#/ { if ($4 == 1) print $1 }' /proc/cgroups); do - mkdir -p $sys - if ! mountpoint -q $sys; then - if ! mount -n -t cgroup -o $sys cgroup $sys; then - rmdir $sys || true - fi - fi -done - -# example /proc/cgroups: -# #subsys_name hierarchy num_cgroups enabled -# cpuset 2 3 1 -# cpu 3 3 1 -# cpuacct 4 3 1 -# memory 5 3 0 -# devices 6 3 1 -# freezer 7 3 1 -# blkio 8 3 1 - -exit 0 diff --git a/rootfs/rootfs/etc/rc.d/docker b/rootfs/rootfs/etc/rc.d/docker deleted file mode 100644 index e0907aefb..000000000 --- a/rootfs/rootfs/etc/rc.d/docker +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/local/etc/init.d/docker start diff --git a/rootfs/rootfs/etc/rc.d/hostname b/rootfs/rootfs/etc/rc.d/hostname deleted file mode 100644 index d499e15d9..000000000 --- a/rootfs/rootfs/etc/rc.d/hostname +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -if [ ! -e /var/lib/boot2docker/etc/hostname ]; then - cp /usr/local/etc/hostname /var/lib/boot2docker/etc/hostname -fi -HOSTNAME=`cat /var/lib/boot2docker/etc/hostname` -/usr/bin/sethostname $HOSTNAME diff --git a/rootfs/rootfs/etc/rc.d/ntpclient b/rootfs/rootfs/etc/rc.d/ntpclient deleted file mode 100644 index 30752455b..000000000 --- a/rootfs/rootfs/etc/rc.d/ntpclient +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -if [ -n "$NTP_SERVER" ]; then - echo "running ntpclient -s -h $NTP_SERVER in background" > /var/lib/boot2docker/log/ntpclient.log 2>&1 - /usr/local/bin/ntpclient -s -h $NTP_SERVER >> /var/lib/boot2docker/log/ntpclient.log 2>&1 -else - echo "Skipping ntpclient" > /var/lib/boot2docker/log/ntpclient.log 2>&1 -fi diff --git a/rootfs/rootfs/etc/rc.d/sshd b/rootfs/rootfs/etc/rc.d/sshd deleted file mode 100644 index d78b45e25..000000000 --- a/rootfs/rootfs/etc/rc.d/sshd +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -# Configure sshd and acknowledge for persistence in /var/lib/boot2docker of the keys/config -# Move /usr/local/etc/ssh to /var/lib/boot2docker/ssh if it doesn't exist -if [ ! -d /var/lib/boot2docker/ssh ]; then - mv /usr/local/etc/ssh /var/lib/boot2docker/ -else # if it exists, remove the ramdisk's ssh config, so that the hard drive's is properly linked - rm -rf /usr/local/etc/ssh -fi -ln -s /var/lib/boot2docker/ssh /usr/local/etc/ssh - -if [ ! -f /usr/local/etc/ssh/ssh_config ]; then - mv /usr/local/etc/ssh/ssh_config.example /usr/local/etc/ssh/ssh_config -fi -if [ ! -f /usr/local/etc/ssh/sshd_config ]; then - mv /usr/local/etc/ssh/sshd_config.example /usr/local/etc/ssh/sshd_config -fi - -/usr/local/etc/init.d/openssh start diff --git a/rootfs/rootfs/etc/rc.d/sysctl b/rootfs/rootfs/etc/rc.d/sysctl deleted file mode 100644 index 8db27ca72..000000000 --- a/rootfs/rootfs/etc/rc.d/sysctl +++ /dev/null @@ -1,2 +0,0 @@ -# Read sysctl.conf -sysctl -p /etc/sysctl.conf diff --git a/rootfs/rootfs/etc/rc.d/tce-loader b/rootfs/rootfs/etc/rc.d/tce-loader deleted file mode 100644 index d9adb7fb5..000000000 --- a/rootfs/rootfs/etc/rc.d/tce-loader +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -find /usr/local/tce.installed/ -type f -exec sh -c {} \; diff --git a/rootfs/rootfs/etc/sysctl.conf b/rootfs/rootfs/etc/sysctl.conf deleted file mode 100644 index c24ade969..000000000 --- a/rootfs/rootfs/etc/sysctl.conf +++ /dev/null @@ -1,2 +0,0 @@ -net.ipv4.ip_forward=1 -net.ipv6.conf.all.forwarding=1 diff --git a/rootfs/rootfs/etc/version b/rootfs/rootfs/etc/version deleted file mode 100644 index 524cb5524..000000000 --- a/rootfs/rootfs/etc/version +++ /dev/null @@ -1 +0,0 @@ -1.1.1 diff --git a/rootfs/rootfs/shutdown.sh b/rootfs/rootfs/shutdown.sh deleted file mode 100644 index cf65a6530..000000000 --- a/rootfs/rootfs/shutdown.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -. /etc/init.d/tc-functions - -echo "${YELLOW}Running boot2docker shutdown script...${NORMAL}" - -/usr/local/etc/init.d/docker stop diff --git a/rootfs/rootfs/usr/local/etc/acpi/events/all b/rootfs/rootfs/usr/local/etc/acpi/events/all deleted file mode 100644 index 672e32622..000000000 --- a/rootfs/rootfs/usr/local/etc/acpi/events/all +++ /dev/null @@ -1,2 +0,0 @@ -event=button/power* -action=/sbin/poweroff diff --git a/rootfs/rootfs/usr/local/etc/hostname b/rootfs/rootfs/usr/local/etc/hostname deleted file mode 100644 index f6e7505f5..000000000 --- a/rootfs/rootfs/usr/local/etc/hostname +++ /dev/null @@ -1 +0,0 @@ -boot2docker diff --git a/rootfs/rootfs/usr/local/etc/init.d/docker b/rootfs/rootfs/usr/local/etc/init.d/docker deleted file mode 100644 index 438460ce0..000000000 --- a/rootfs/rootfs/usr/local/etc/init.d/docker +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/sh -# docker daemon start script -[ $(id -u) = 0 ] || { echo "must be root" ; exit 1; } - -#import settings from profile (e.g. HTTP_PROXY, HTTPS_PROXY) -test -f "/var/lib/boot2docker/profile" && . "/var/lib/boot2docker/profile" - -: ${DOCKER_HOST:=""} -: ${DOCKER_STORAGE:="auto"} - -start() { - DOCKER_DIR=/var/lib/docker - mkdir -p "$DOCKER_DIR" - - # if we're virtual, let's listen on tcp://, too - if /bin/dmesg | /bin/egrep -q '(VirtualBox|VMware|QEMU)'; then - DOCKER_HOST="-H tcp://0.0.0.0:2375" - fi - - if [ "$DOCKER_STORAGE" = 'auto' ]; then - # if /var/lib/docker is on BTRFS, let's use the native btrfs driver - # (AUFS on top of BTRFS does very bad things) - DOCKER_DEVICE="$(/bin/df -P "$DOCKER_DIR" | /usr/bin/awk 'END { print $1 }')" - DOCKER_FSTYPE="$(/sbin/blkid -o export "$DOCKER_DEVICE" | /bin/grep TYPE= | /usr/bin/cut -d= -f2)" - if [ "$DOCKER_FSTYPE" = 'btrfs' ]; then - DOCKER_STORAGE="$DOCKER_FSTYPE" - fi - fi - if [ "$DOCKER_STORAGE" != 'auto' ]; then - # in the general case, let's trust Docker to "do the right thing" - EXTRA_ARGS="$EXTRA_ARGS -s $DOCKER_STORAGE" - fi - - /usr/local/bin/docker -d -D -g "$DOCKER_DIR" -H unix:// $DOCKER_HOST $EXTRA_ARGS > /var/lib/boot2docker/docker.log 2>&1 & -} - -stop() { - kill $(cat /var/run/docker.pid) -} - -restart() { - if check; then - stop && sleep 1 && start - else - start - fi -} - -check() { - [ -f /var/run/docker.pid ] && ps $(cat /var/run/docker.pid) > /dev/null 2>&1 -} - -status() { - if check; then - echo "Docker daemon is running" - exit 0 - else - echo "Docker daemon is not running" - exit 1 - fi -} - -case $1 in - start) start;; - stop) stop;; - restart) restart;; - status) status;; - *) echo "Usage $0 {start|stop|restart|status}"; exit 1 -esac diff --git a/rootfs/rootfs/usr/local/etc/motd b/rootfs/rootfs/usr/local/etc/motd deleted file mode 100644 index 2f54b8c6f..000000000 --- a/rootfs/rootfs/usr/local/etc/motd +++ /dev/null @@ -1,13 +0,0 @@ - ## . - ## ## ## == - ## ## ## ## === - /""""""""""""""""\___/ === - ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~ - \______ o __/ - \ \ __/ - \____\______/ - _ _ ____ _ _ -| |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __ -| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__| -| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ | -|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_| diff --git a/rootfs/rootfs/usr/share/udhcpc/default.script b/rootfs/rootfs/usr/share/udhcpc/default.script deleted file mode 100755 index f0309d3ef..000000000 --- a/rootfs/rootfs/usr/share/udhcpc/default.script +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh - -# udhcpc script edited by Tim Riker - -[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 - -RESOLV_CONF="/etc/resolv.conf" -[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" -[ -n "$subnet" ] && NETMASK="netmask $subnet" - -case "$1" in - deconfig) - /sbin/ifconfig $interface 0.0.0.0 - ;; - - renew|bound) - /sbin/ifconfig $interface $ip $BROADCAST $NETMASK - echo "ifconfig $interface $ip $BROADCAST $NETMASK" >> /var/log/udhcp.log - - if [ -n "$router" ] ; then - echo "deleting routers" >> /var/log/udhcp.log - echo "deleting routers" - while route del default gw 0.0.0.0 dev $interface ; do - : - done - - metric=0 - for i in $router ; do - echo "route add default gw $i dev $interface metric $((metric++))" >> /var/log/udhcp.log - route add default gw $i dev $interface metric $((metric++)) - done - fi - - if [ -n "$dns" ] ; then - echo "reset $RESOLV_CONF" >> /var/log/udhcp.log - echo -n > $RESOLV_CONF - fi - if [ -n "$domain" ] ; then - echo search $domain >> /var/log/udhcp.log - echo search $domain >> $RESOLV_CONF - fi - for i in $dns ; do - echo adding dns $i >> /var/log/udhcp.log - echo adding dns $i - echo nameserver $i >> $RESOLV_CONF - done - ;; -esac - -exit 0 diff --git a/update.sh b/update.sh new file mode 100755 index 000000000..8fdf0e2f1 --- /dev/null +++ b/update.sh @@ -0,0 +1,104 @@ +#!/usr/bin/env bash +set -Eeuo pipefail + +# TODO http://distro.ibiblio.org/tinycorelinux/latest-x86_64 +major='11.x' +version='11.0' # TODO auto-detect latest +# 9.x doesn't seem to use ".../archive/X.Y.Z/..." in the same way as 8.x :( + +mirrors=( + http://distro.ibiblio.org/tinycorelinux + http://repo.tinycorelinux.net +) + +# https://www.kernel.org/ +kernelBase='4.19' +# https://github.com/boot2docker/boot2docker/issues/1398 +# https://download.virtualbox.org/virtualbox/ +vboxBase='5' + +# avoid issues with slow Git HTTP interactions (*cough* sourceforge *cough*) +export GIT_HTTP_LOW_SPEED_LIMIT='100' +export GIT_HTTP_LOW_SPEED_TIME='2' +# ... or servers being down +wget() { command wget --timeout=2 "$@" -o /dev/null; } + +cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" + +seds=( + -e 's!^(ENV TCL_MIRRORS).*!\1 '"${mirrors[*]}"'!' + -e 's!^(ENV TCL_MAJOR).*!\1 '"$major"'!' + -e 's!^(ENV TCL_VERSION).*!\1 '"$version"'!' +) + +fetch() { + local file + for file; do + local mirror + for mirror in "${mirrors[@]}"; do + if wget -qO- "$mirror/$major/$file"; then + return 0 + fi + done + done + return 1 +} + +arch='x86_64' +rootfs='rootfs64.gz' + +rootfsMd5="$( +# 9.x doesn't seem to use ".../archive/X.Y.Z/..." in the same way as 8.x :( + fetch \ + "$arch/archive/$version/distribution_files/$rootfs.md5.txt" \ + "$arch/release/distribution_files/$rootfs.md5.txt" +)" +rootfsMd5="${rootfsMd5%% *}" +seds+=( + -e 's/^ENV TCL_ROOTFS.*/ENV TCL_ROOTFS="'"$rootfs"'" TCL_ROOTFS_MD5="'"$rootfsMd5"'"/' +) + +kernelVersion="$( + wget -qO- 'https://www.kernel.org/releases.json' \ + | jq -r --arg base "$kernelBase" '.releases[] | .version | select(startswith($base + "."))' +)" +seds+=( + -e 's!^(ENV LINUX_VERSION).*!\1 '"$kernelVersion"'!' +) + +#vboxVersion="$(wget -qO- 'https://download.virtualbox.org/virtualbox/LATEST-STABLE.TXT')" +vboxVersion="$( + wget -qO- 'https://download.virtualbox.org/virtualbox/' \ + | grep -oE 'href="[0-9.]+/?"' \ + | cut -d'"' -f2 | cut -d/ -f1 \ + | grep -E "^$vboxBase[.]" \ + | tail -1 +)" +vboxSha256="$( + { + wget -qO- "https://download.virtualbox.org/virtualbox/$vboxVersion/SHA256SUMS" \ + || wget -qO- "https://www.virtualbox.org/download/hashes/$vboxVersion/SHA256SUMS" + } | awk '$2 ~ /^[*]?VBoxGuestAdditions_.*[.]iso$/ { print $1 }' +)" +seds+=( + -e 's!^(ENV VBOX_VERSION).*!\1 '"$vboxVersion"'!' + -e 's!^(ENV VBOX_SHA256).*!\1 '"$vboxSha256"'!' +) + +# PARALLELS_VERSION: https://github.com/boot2docker/boot2docker/pull/1332#issuecomment-420273330 + +xenVersion="$( + git ls-remote --tags 'https://github.com/xenserver/xe-guest-utilities.git' \ + | cut -d/ -f3 \ + | cut -d^ -f1 \ + | grep -E '^v[0-9]+' \ + | cut -dv -f2- \ + | sort -rV \ + | head -1 +)" +seds+=( + -e 's!^(ENV XEN_VERSION).*!\1 '"$xenVersion"'!' +) + +set -x +sed -ri "${seds[@]}" Dockerfile