├── .dockerignore ├── firmware ├── .gitignore ├── cmdline.txt ├── README.md ├── firmware │ └── .gitignore ├── config.txt └── __init__.py ├── packages ├── net │ ├── .gitignore │ ├── en.network │ ├── wlan0.network │ ├── wpa_supplicant@.service │ └── __init__.py ├── ugly │ ├── .gitignore │ └── __init__.py ├── qmldemo │ ├── .gitignore │ ├── qmldemo.service │ ├── qmldemo.qml │ └── __init__.py ├── pymtpd │ ├── .gitignore │ ├── pymtpd.service │ └── __init__.py ├── uglydemo │ ├── .gitignore │ ├── uglydemo.service │ └── __init__.py ├── qmlrss │ ├── .gitignore │ ├── qmlrss.service │ └── __init__.py ├── qt │ ├── .gitignore │ └── __init__.py ├── apds9960d │ ├── .gitignore │ ├── apds9960d.service │ └── __init__.py ├── piratepython │ ├── .gitignore │ ├── pp-restart.path │ ├── main.py │ ├── pp-restart.service │ ├── piratepython.service │ └── __init__.py ├── piroverd │ ├── .gitignore │ ├── piroverd.service │ └── __init__.py ├── gstreamer │ ├── .gitignore │ └── __init__.py ├── rygel │ ├── .gitignore │ ├── sysroot.part │ ├── multistrap.part │ └── __init__.py └── __init__.py ├── raspbian ├── .gitignore ├── hosts.in ├── overlay │ ├── etc │ │ └── profile.d │ │ │ └── resize.sh │ └── init ├── excludes.conf ├── multistrap.conf.in └── __init__.py ├── sysroot ├── .gitignore ├── pkg-config ├── overlay │ ├── opt │ │ └── vc │ │ │ └── lib │ │ │ └── pkgconfig │ │ │ ├── brcmvg.pc │ │ │ ├── brcmglesv2.pc │ │ │ ├── bcm_host.pc │ │ │ └── brcmegl.pc │ └── usr │ │ └── include │ │ └── linux │ │ └── i2c-dev.h ├── multistrap.conf.in └── __init__.py ├── configs ├── uglydemo.config.py ├── pirover.config.py ├── qmldemo.config.py ├── testcard.config.py ├── piratepython.config.py └── infodisplay.config.py ├── .gitignore ├── kernel ├── README.md ├── .gitignore ├── __init__.py └── kernel.config ├── dnsmasq.conf.in ├── __init__.py ├── Dockerfile ├── .gitmodules └── README.md /.dockerignore: -------------------------------------------------------------------------------- 1 | ** 2 | -------------------------------------------------------------------------------- /firmware/.gitignore: -------------------------------------------------------------------------------- 1 | /firmware.tar.gz 2 | /stage/ 3 | -------------------------------------------------------------------------------- /packages/net/.gitignore: -------------------------------------------------------------------------------- 1 | /stage 2 | /net.tar.gz 3 | -------------------------------------------------------------------------------- /packages/ugly/.gitignore: -------------------------------------------------------------------------------- 1 | /stage 2 | /ugly.tar.gz 3 | -------------------------------------------------------------------------------- /packages/qmldemo/.gitignore: -------------------------------------------------------------------------------- 1 | /qmldemo.tar.gz 2 | /stage 3 | -------------------------------------------------------------------------------- /packages/pymtpd/.gitignore: -------------------------------------------------------------------------------- 1 | /stage 2 | /pymtpd.tar.gz 3 | 4 | -------------------------------------------------------------------------------- /packages/uglydemo/.gitignore: -------------------------------------------------------------------------------- 1 | /stage 2 | /uglydemo.tar.gz 3 | -------------------------------------------------------------------------------- /packages/qmlrss/.gitignore: -------------------------------------------------------------------------------- 1 | /qmlrss.tar.gz 2 | /stage 3 | /build 4 | -------------------------------------------------------------------------------- /packages/qt/.gitignore: -------------------------------------------------------------------------------- 1 | /qt.tar.gz 2 | /stage 3 | /qt-host 4 | 5 | -------------------------------------------------------------------------------- /packages/apds9960d/.gitignore: -------------------------------------------------------------------------------- 1 | /apds9960d.tar.gz 2 | /build 3 | /stage 4 | -------------------------------------------------------------------------------- /packages/piratepython/.gitignore: -------------------------------------------------------------------------------- 1 | /stage 2 | /piratepython.tar.gz 3 | 4 | -------------------------------------------------------------------------------- /packages/piroverd/.gitignore: -------------------------------------------------------------------------------- 1 | /stage 2 | /build 3 | /piroverd.tar.gz 4 | -------------------------------------------------------------------------------- /packages/net/en.network: -------------------------------------------------------------------------------- 1 | [Match] 2 | Name=en* 3 | [Network] 4 | DHCP=yes 5 | -------------------------------------------------------------------------------- /raspbian/.gitignore: -------------------------------------------------------------------------------- 1 | /stage/ 2 | /initrd 3 | /multistrap.conf 4 | /hosts 5 | -------------------------------------------------------------------------------- /packages/gstreamer/.gitignore: -------------------------------------------------------------------------------- 1 | /stage 2 | /gstreamer.tar.gz 3 | /*.config.log 4 | -------------------------------------------------------------------------------- /packages/net/wlan0.network: -------------------------------------------------------------------------------- 1 | [Match] 2 | Name=wlan0 3 | [Network] 4 | DHCP=yes 5 | -------------------------------------------------------------------------------- /packages/rygel/.gitignore: -------------------------------------------------------------------------------- 1 | /root 2 | /rygel.tar.gz 3 | /*.timestamp 4 | /stage 5 | -------------------------------------------------------------------------------- /sysroot/.gitignore: -------------------------------------------------------------------------------- 1 | /gcc*.tar.xz 2 | /toolchain 3 | /sysroot 4 | /multistrap.conf 5 | -------------------------------------------------------------------------------- /packages/rygel/sysroot.part: -------------------------------------------------------------------------------- 1 | # packages for rygel 2 | packages=libmediaart-2.0-dev 3 | 4 | -------------------------------------------------------------------------------- /firmware/cmdline.txt: -------------------------------------------------------------------------------- 1 | dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 elevator=deadline rootwait consoleblank=0 2 | -------------------------------------------------------------------------------- /configs/uglydemo.config.py: -------------------------------------------------------------------------------- 1 | hostname = 'uglydemo' 2 | packages = ['uglydemo'] 3 | kernels = ['kernel', 'kernel7', 'kernel7l'] 4 | -------------------------------------------------------------------------------- /packages/piratepython/pp-restart.path: -------------------------------------------------------------------------------- 1 | [Path] 2 | PathChanged=/mtp/main.py 3 | 4 | [Install] 5 | WantedBy=multi-user.target 6 | -------------------------------------------------------------------------------- /configs/pirover.config.py: -------------------------------------------------------------------------------- 1 | hostname = 'pirover' 2 | packages = ['net', 'piroverd'] 3 | kernels = ['kernel', 'kernel7', 'kernel7l'] 4 | -------------------------------------------------------------------------------- /configs/qmldemo.config.py: -------------------------------------------------------------------------------- 1 | hostname = 'qmldemo' 2 | packages = ['qt', 'qmldemo'] 3 | kernels = ['kernel', 'kernel7', 'kernel7l'] 4 | -------------------------------------------------------------------------------- /configs/testcard.config.py: -------------------------------------------------------------------------------- 1 | hostname = 'testcard' 2 | packages = ['gstreamer'] 3 | kernels = ['kernel', 'kernel7', 'kernel7l'] 4 | -------------------------------------------------------------------------------- /sysroot/pkg-config: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | pkg-config "$@" | sed -e "s|$SYSROOT$PACKAGES|$PACKAGES|g" 4 | 5 | exit ${PIPESTATUS[0]} 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /boot.zip 2 | /boot 3 | /.pydo 4 | /config.py 5 | /dnsmasq.conf 6 | /.idea 7 | /.virtualenv 8 | /.venv 9 | __pycache__ 10 | -------------------------------------------------------------------------------- /configs/piratepython.config.py: -------------------------------------------------------------------------------- 1 | hostname = 'piratepython' 2 | packages = ['piratepython'] 3 | kernels = ['kernel', 'kernel7', 'kernel7l'] 4 | -------------------------------------------------------------------------------- /firmware/README.md: -------------------------------------------------------------------------------- 1 | This just downloads and extracts the raspberrypi-bootloader package 2 | in order to build a tarball of the firmware. 3 | -------------------------------------------------------------------------------- /packages/rygel/multistrap.part: -------------------------------------------------------------------------------- 1 | # dependencies for rygel 2 | packages=libgee-0.8-2 libtiff5 libgdk-pixbuf2.0-0 libmediaart-2.0-0 3 | 4 | 5 | -------------------------------------------------------------------------------- /configs/infodisplay.config.py: -------------------------------------------------------------------------------- 1 | hostname = 'infodisplay' 2 | packages = ['net', 'qmlrss', 'rygel'] 3 | kernels = ['kernel', 'kernel7', 'kernel7l'] 4 | -------------------------------------------------------------------------------- /kernel/README.md: -------------------------------------------------------------------------------- 1 | This builds a custom, minimal kernel. Support for most hardware 2 | has been disabled in order to keep it as small as possible. 3 | 4 | -------------------------------------------------------------------------------- /packages/piratepython/main.py: -------------------------------------------------------------------------------- 1 | import time 2 | 3 | print('This is main.py') 4 | 5 | while True: 6 | print('Hello world!') 7 | time.sleep(5) 8 | -------------------------------------------------------------------------------- /firmware/firmware/.gitignore: -------------------------------------------------------------------------------- 1 | # Directory for firmware snapshots 2 | 3 | # Ignore everything in this directory 4 | * 5 | # Except this file 6 | !.gitignore 7 | -------------------------------------------------------------------------------- /dnsmasq.conf.in: -------------------------------------------------------------------------------- 1 | no-daemon 2 | port=0 3 | dhcp-range=192.168.0.255,proxy 4 | log-dhcp 5 | enable-tftp 6 | tftp-root=@TFTP_ROOT@ 7 | pxe-service=0,"Raspberry Pi Boot " 8 | dhcp-reply-delay=2 9 | -------------------------------------------------------------------------------- /kernel/.gitignore: -------------------------------------------------------------------------------- 1 | /root/ 2 | /boot/ 3 | /kernel-boot.tar.gz 4 | /kernel-root.tar.gz 5 | /kernel7-boot.tar.gz 6 | /kernel7-root.tar.gz 7 | /kernel7l-boot.tar.gz 8 | /kernel7l-root.tar.gz 9 | /stage/ 10 | -------------------------------------------------------------------------------- /packages/piroverd/piroverd.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Pirover control daemon. 3 | 4 | [Service] 5 | ExecStart=/opt/piroverd/bin/piroverd 6 | Restart=on-failure 7 | 8 | [Install] 9 | WantedBy=multi-user.target 10 | -------------------------------------------------------------------------------- /packages/piratepython/pp-restart.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=PiratePython Restarter 3 | 4 | [Service] 5 | Type=oneshot 6 | ExecStart=/bin/systemctl restart piratepython 7 | 8 | [Install] 9 | WantedBy=multi-user.target 10 | -------------------------------------------------------------------------------- /packages/apds9960d/apds9960d.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=APDS9960 light and gesture sensor daemon. 3 | 4 | [Service] 5 | ExecStart=/opt/apds9960d/bin/apds9960d 6 | Restart=on-failure 7 | 8 | [Install] 9 | WantedBy=multi-user.target 10 | -------------------------------------------------------------------------------- /packages/qmlrss/qmlrss.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=QML RSS Reader 3 | 4 | [Service] 5 | Environment=QT_QPA_EVDEV_KEYBOARD_PARAMETERS=grab=1 6 | ExecStart=/opt/qt/bin/qmlrss 7 | Restart=on-failure 8 | 9 | [Install] 10 | WantedBy=multi-user.target 11 | -------------------------------------------------------------------------------- /packages/piratepython/piratepython.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=PiratePython main.py 3 | After=network.target 4 | Wants=network.target 5 | 6 | [Service] 7 | ExecStart=/usr/bin/python3 /mtp/main.py 8 | Restart=on-failure 9 | RestartSec=5 10 | 11 | [Install] 12 | WantedBy=multi-user.target 13 | -------------------------------------------------------------------------------- /raspbian/hosts.in: -------------------------------------------------------------------------------- 1 | 127.0.0.1 localhost 2 | 127.0.1.1 @HOSTNAME@ 3 | 4 | # The following lines are desirable for IPv6 capable hosts 5 | ::1 ip6-localhost ip6-loopback 6 | fe00::0 ip6-localnet 7 | ff00::0 ip6-mcastprefix 8 | ff02::1 ip6-allnodes 9 | ff02::2 ip6-allrouters 10 | ff02::3 ip6-allhosts 11 | -------------------------------------------------------------------------------- /packages/uglydemo/uglydemo.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Ugly Demo 3 | After=network.target 4 | Wants=network.target 5 | 6 | [Service] 7 | Environment=PYTHONPATH=/opt/ugly/lib/python3.7/site-packages 8 | ExecStart=/opt/ugly/bin/uglydemo -r 2 9 | Restart=on-failure 10 | 11 | [Install] 12 | WantedBy=multi-user.target 13 | -------------------------------------------------------------------------------- /packages/qmldemo/qmldemo.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=QML Demo Scene 3 | After=network.target 4 | Wants=network.target 5 | 6 | [Service] 7 | Environment=QT_QPA_EVDEV_KEYBOARD_PARAMETERS=grab=1 8 | ExecStart=/opt/qt/bin/qmlscene /opt/qt/bin/qmldemo.qml 9 | Restart=on-failure 10 | 11 | [Install] 12 | WantedBy=multi-user.target 13 | -------------------------------------------------------------------------------- /sysroot/overlay/opt/vc/lib/pkgconfig/brcmvg.pc: -------------------------------------------------------------------------------- 1 | prefix=/opt/vc 2 | exec_prefix=${prefix} 3 | libdir=${exec_prefix}/lib 4 | includedir=${prefix}/include 5 | 6 | Name: brcmOpenVG 7 | Description: Fake brcmOpenVG package for RPi 8 | Version: 10 9 | Requires.private: bcm_host 10 | Libs: -L${libdir} -lbrcmOpenVG 11 | Cflags: -I${includedir} 12 | -------------------------------------------------------------------------------- /sysroot/overlay/opt/vc/lib/pkgconfig/brcmglesv2.pc: -------------------------------------------------------------------------------- 1 | prefix=/opt/vc 2 | exec_prefix=${prefix} 3 | libdir=${exec_prefix}/lib 4 | includedir=${prefix}/include 5 | 6 | Name: brcmGLESv2 7 | Description: Fake brcmGLES2 package for RPi 8 | Version: 10 9 | Requires.private: bcm_host 10 | Libs: -L${libdir} -lbrcmGLESv2 11 | Cflags: -I${includedir} 12 | 13 | -------------------------------------------------------------------------------- /firmware/config.txt: -------------------------------------------------------------------------------- 1 | dtoverlay=pi3-disable-bt 2 | dtparam=i2c_arm=on 3 | dtparam=spi=on 4 | 5 | # RTC 6 | #dtoverlay=i2c-rtc,ds3231 7 | 8 | # Internal Audio 9 | #dtparam=audio=on 10 | 11 | # USB Device 12 | dtoverlay=dwc2 13 | 14 | gpu_mem=64 15 | 16 | gpio=5=ip,pu 17 | 18 | [gpio5=0] 19 | start_file=msd.elf 20 | 21 | [gpio5=1] 22 | start_x=1 23 | initramfs initrd 24 | -------------------------------------------------------------------------------- /packages/pymtpd/pymtpd.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=MTP Responder 3 | After=network.target 4 | Wants=network.target 5 | 6 | [Service] 7 | Environment=PYTHONPATH=/opt/pymtpd/lib/python3.7/site-packages 8 | ExecStart=/opt/pymtpd/bin/pymtpd -n "Pirate Python" --udc 20980000.usb -s storage /mtp -P "Pirate Python" 9 | Restart=on-failure 10 | 11 | [Install] 12 | WantedBy=multi-user.target 13 | -------------------------------------------------------------------------------- /sysroot/multistrap.conf.in: -------------------------------------------------------------------------------- 1 | [General] 2 | arch=armhf 3 | aptsources= 4 | bootstrap=Raspbian Foundation 5 | omitrequired=true 6 | addimportant=false 7 | allowrecommends=false 8 | 9 | [Raspbian] 10 | source=http://mirrordirector.raspbian.org/raspbian 11 | suite=buster 12 | 13 | [Foundation] 14 | source=http://archive.raspberrypi.org/debian 15 | suite=buster 16 | packages=build-essential 17 | 18 | # Debs required to build /opt packages 19 | @PACKAGES@ 20 | -------------------------------------------------------------------------------- /sysroot/overlay/opt/vc/lib/pkgconfig/bcm_host.pc: -------------------------------------------------------------------------------- 1 | prefix=/opt/vc 2 | exec_prefix=${prefix} 3 | libdir=${exec_prefix}/lib 4 | includedir=${prefix}/include 5 | 6 | Name: bcm_host 7 | Description: Broadcom VideoCore host API library 8 | Version: 1 9 | Libs: -L${libdir} -lbcm_host -pthread 10 | Libs.private: -lvcos -lvchiq_arm 11 | Cflags: -I${includedir} -I${includedir}/interface/vmcs_host/linux -I${includedir}/interface/vcos/pthreads -DUSE_VCHIQ_ARM 12 | -------------------------------------------------------------------------------- /sysroot/overlay/opt/vc/lib/pkgconfig/brcmegl.pc: -------------------------------------------------------------------------------- 1 | prefix=/opt/vc 2 | exec_prefix=${prefix} 3 | libdir=${exec_prefix}/lib 4 | includedir=${prefix}/include 5 | 6 | Name: brcmEGL 7 | Description: Fake brcmEGL package for RPi 8 | Version: 10 9 | Requires.private: bcm_host 10 | Requires: brcmglesv2 11 | Libs: -L${libdir} -lbrcmEGL 12 | Cflags: -I${includedir} -I${includedir}/interface/vmcs_host/linux \ 13 | -I${includedir}/interface/vcos/pthreads 14 | 15 | -------------------------------------------------------------------------------- /packages/net/wpa_supplicant@.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=WPA supplicant daemon (interface-specific version) 3 | Requires=sys-subsystem-net-devices-%i.device 4 | After=sys-subsystem-net-devices-%i.device 5 | Before=network.target 6 | Wants=network.target 7 | 8 | [Service] 9 | Type=simple 10 | ExecStart=/sbin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant.conf -Dnl80211,wext -i%I 11 | 12 | [Install] 13 | WantedBy=sys-subsystem-net-devices-%i.device 14 | -------------------------------------------------------------------------------- /raspbian/overlay/etc/profile.d/resize.sh: -------------------------------------------------------------------------------- 1 | # The following profile fragment makes the terminal 2 | # rows/cols be correct when logging in over serial 3 | 4 | resize() { 5 | 6 | old=$(stty -g) 7 | stty raw -echo min 0 time 5 8 | 9 | printf '\033[18t' > /dev/tty 10 | IFS=';t' read -r _ rows cols _ < /dev/tty 11 | 12 | stty "$old" 13 | 14 | # echo "cols:\$cols" 15 | # echo "rows:\$rows" 16 | stty cols "$cols" rows "$rows" 17 | } 18 | 19 | [ $(tty) = /dev/ttyAMA0 ] && resize -------------------------------------------------------------------------------- /raspbian/overlay/init: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # load persistent configuration files from SD card before 4 | # launching systemd. 5 | 6 | # the settings will be exposed to all unit files. 7 | 8 | sleep 0.5 # wait for sd card to be detected 9 | 10 | mknod /dev/mmcblk0p1 b 179 1 11 | mount -o ro /dev/mmcblk0p1 /boot 12 | if [ -f /boot/settings.conf ]; then 13 | mkdir -p /etc/systemd/system.conf.d/ 14 | cp /boot/settings.conf /etc/systemd/system.conf.d/10-settings.conf 15 | fi 16 | if [ -f /boot/wpa_supplicant.conf ]; then 17 | cp /boot/wpa_supplicant.conf /etc/wpa_supplicant/ 18 | fi 19 | umount /boot 20 | rm /dev/mmcblk0p1 21 | 22 | exec /sbin/init 23 | -------------------------------------------------------------------------------- /packages/qmldemo/qmldemo.qml: -------------------------------------------------------------------------------- 1 | import QtQuick 2.1 2 | 3 | Rectangle { 4 | id: rectangle 5 | color: "red" 6 | width: 200 7 | height: 200 8 | 9 | Text { 10 | id: text 11 | text: "This is QML code.\n(Tap to pause)" 12 | font.pointSize: 34 13 | anchors.centerIn: parent 14 | PropertyAnimation { 15 | id: animation 16 | target: text 17 | property: "rotation" 18 | from: 0; to: 360; duration: 5000 19 | loops: Animation.Infinite 20 | } 21 | } 22 | MouseArea { 23 | anchors.fill: parent 24 | onClicked: animation.paused ? animation.resume() : animation.pause() 25 | } 26 | Component.onCompleted: animation.start() 27 | } 28 | -------------------------------------------------------------------------------- /packages/__init__.py: -------------------------------------------------------------------------------- 1 | import importlib 2 | 3 | from collections import OrderedDict 4 | 5 | from pydo import * 6 | 7 | from .. import config 8 | 9 | 10 | def package_walk(name, result, seen): 11 | if name in seen: 12 | return 13 | seen.add(name) 14 | mod = importlib.import_module('.'+name, package=__package__) 15 | for r in mod.package['requires']: 16 | package_walk(r, result, seen) 17 | result[name] = mod 18 | 19 | 20 | packages = OrderedDict() 21 | for p in config.packages: 22 | package_walk(p, packages, set()) 23 | 24 | 25 | @command() 26 | def list(): 27 | print('Enabled packages:', ', '.join(packages.keys())) 28 | 29 | 30 | @command() 31 | def clean(): 32 | for m in packages.values(): 33 | m.clean() 34 | 35 | 36 | @command() 37 | def build(): 38 | for m in packages.values(): 39 | m.build() 40 | -------------------------------------------------------------------------------- /raspbian/excludes.conf: -------------------------------------------------------------------------------- 1 | path-exclude=/usr/share/locale/* 2 | path-exclude=/usr/share/man/* 3 | path-exclude=/usr/share/info/* 4 | path-exclude=/usr/share/groff/* 5 | path-exclude=/usr/share/lintian/* 6 | path-exclude=/usr/share/linda/* 7 | path-exclude=/usr/share/doc/* 8 | path-include=/usr/share/doc/*/copyright 9 | 10 | # raspberry pi has no pci or acpi 11 | path-exclude=/lib/udev/hwdb.d/20-pci* 12 | path-exclude=/lib/udev/hwdb.d/20-acpi* 13 | 14 | # systemd catalog is just some help messages 15 | path-exclude=/usr/lib/systemd/catalog/* 16 | 17 | # strip out firmware except for the on-board wifi 18 | path-exclude=/lib/firmware/brcm/* 19 | path-include=/lib/firmware/brcm/brcmfmac43430-sdio.* 20 | path-include=/lib/firmware/brcm/brcmfmac43455-sdio.* 21 | 22 | # Numpy tests which wont run anyway 23 | path-exclude=/usr/lib/python3/dist-packages/numpy/*/tests/* 24 | path-exclude=/usr/lib/python3/dist-packages/*/testsuite/* 25 | path-exclude=/usr/lib/python3/dist-packages/*/tests/* 26 | 27 | -------------------------------------------------------------------------------- /packages/qmldemo/__init__.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | 3 | from pydo import * 4 | 5 | this_dir = pathlib.Path(__file__).parent 6 | 7 | package = { 8 | 'requires': ['qt'], 9 | 'sysroot_debs': [], 10 | 'root_debs': [], 11 | 'target': this_dir / 'qmldemo.tar.gz', 12 | 'install': ['{chroot} {stage} /bin/systemctl reenable qmldemo.service'], 13 | } 14 | 15 | from .. import qt 16 | 17 | stage = this_dir / 'stage' 18 | service = this_dir / 'qmldemo.service' 19 | qml = this_dir / 'qmldemo.qml' 20 | 21 | @command(produces=[package['target']], consumes=[service, qt.qmake]) 22 | def build(): 23 | call([ 24 | f'rm -rf --one-file-system {stage}', 25 | 26 | f'mkdir -p {stage}/etc/systemd/system', 27 | f'mkdir -p {stage}/{qt.prefix}/bin/', 28 | f'cp {service} {stage}/etc/systemd/system/', 29 | f'cp {qml} {stage}/{qt.prefix}/bin/', 30 | 31 | f'tar -C {stage} -czf {package["target"]} .', 32 | ]) 33 | 34 | 35 | @command() 36 | def clean(): 37 | call([ 38 | f'rm -rf --one-file-system {stage} {package["target"]}', 39 | ]) -------------------------------------------------------------------------------- /packages/ugly/__init__.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | 3 | from pydo import * 4 | 5 | this_dir = pathlib.Path(__file__).parent 6 | 7 | package = { 8 | 9 | 'requires': [], 10 | 11 | 'sysroot_debs': [], 12 | 13 | 'root_debs': ['python3', 'python3-numpy'], 14 | 15 | 'target': this_dir / 'ugly.tar.gz', 16 | 'install': [], 17 | 18 | } 19 | 20 | from ... import sysroot 21 | 22 | env = sysroot.env.copy() 23 | 24 | 25 | prefix = '/opt/ugly' 26 | stage = this_dir / 'stage' 27 | 28 | 29 | repo = this_dir / 'ugly' 30 | builddir = this_dir / 'build' 31 | 32 | 33 | @command(produces=[package['target']], consumes=[sysroot.toolchain, sysroot.sysroot]) 34 | def build(): 35 | call([ 36 | f'rm -rf --one-file-system {stage}', 37 | 38 | f'cd {repo} && python3.7 -m pip install --no-dependencies --system --root={stage} --prefix={prefix} .', 39 | 40 | f'tar -C {stage} --exclude=.{prefix}/doc --exclude=.{prefix}/include -czf {package["target"]} .', 41 | ], env=env, shell=True) 42 | 43 | 44 | @command() 45 | def clean(): 46 | call([ 47 | f'rm -rf --one-file-system {stage} {package["target"]}', 48 | ]) 49 | -------------------------------------------------------------------------------- /packages/uglydemo/__init__.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | 3 | from pydo import * 4 | 5 | this_dir = pathlib.Path(__file__).parent 6 | 7 | package = { 8 | 9 | 'requires': ['ugly'], 10 | 11 | 'sysroot_debs': [], 12 | 13 | 'root_debs': ['python3-pkg-resources', 'python3-unicornhathd'], 14 | 15 | 'target': this_dir / 'uglydemo.tar.gz', 16 | 'install': ['{chroot} {stage} /bin/systemctl reenable uglydemo.service'], 17 | 18 | } 19 | 20 | from ... import sysroot 21 | 22 | env = sysroot.env.copy() 23 | 24 | 25 | prefix = '/opt/ugly' 26 | stage = this_dir / 'stage' 27 | 28 | 29 | service = this_dir / 'uglydemo.service' 30 | 31 | 32 | @command(produces=[package['target']], consumes=[service]) 33 | def build(): 34 | call([ 35 | f'rm -rf --one-file-system {stage}', 36 | 37 | f'mkdir -p {stage}/etc/systemd/system', 38 | f'cp {service} {stage}/etc/systemd/system/', 39 | 40 | f'tar -C {stage} --exclude=.{prefix}/doc --exclude=.{prefix}/include -czf {package["target"]} .', 41 | ], env=env, shell=True) 42 | 43 | 44 | @command() 45 | def clean(): 46 | call([ 47 | f'rm -rf --one-file-system {stage} {package["target"]}', 48 | ]) 49 | -------------------------------------------------------------------------------- /packages/pymtpd/__init__.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | 3 | from pydo import * 4 | 5 | this_dir = pathlib.Path(__file__).parent 6 | 7 | package = { 8 | 9 | 'requires': [], 10 | 11 | 'sysroot_debs': [], 12 | 13 | 'root_debs': ['python3', 'libaio1'], 14 | 15 | 'target': this_dir / 'pymtpd.tar.gz', 16 | 'install': ['{chroot} {stage} /bin/systemctl reenable pymtpd.service'], 17 | 18 | } 19 | 20 | from ... import sysroot 21 | 22 | env = sysroot.env.copy() 23 | 24 | 25 | prefix = '/opt/pymtpd' 26 | stage = this_dir / 'stage' 27 | 28 | 29 | repo = this_dir / 'pymtpd' 30 | service = this_dir / 'pymtpd.service' 31 | builddir = this_dir / 'build' 32 | 33 | 34 | @command(produces=[package['target']], consumes=[service, sysroot.toolchain, sysroot.sysroot]) 35 | def build(): 36 | call([ 37 | f'rm -rf --one-file-system {stage}', 38 | 39 | f'cd {repo} && python3.7 -m pip install --system --root={stage} --prefix={prefix} .', 40 | 41 | f'mkdir -p {stage}/etc/systemd/system', 42 | f'cp {service} {stage}/etc/systemd/system/', 43 | 44 | f'tar -C {stage} --exclude=.{prefix}/doc --exclude=.{prefix}/include -czf {package["target"]} .', 45 | ], env=env, shell=True) 46 | 47 | 48 | @command() 49 | def clean(): 50 | call([ 51 | f'rm -rf --one-file-system {stage} {package["target"]}', 52 | ]) 53 | -------------------------------------------------------------------------------- /packages/qmlrss/__init__.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | 3 | from pydo import * 4 | 5 | this_dir = pathlib.Path(__file__).parent 6 | 7 | package = { 8 | 'requires': ['qt'], 9 | 'sysroot_debs': [], 10 | 'root_debs': [], 11 | 'target': this_dir / 'qmlrss.tar.gz', 12 | 'install': ['{chroot} {stage} /bin/systemctl reenable qmlrss.service'], 13 | } 14 | 15 | from .. import qt 16 | from ... import jobs 17 | 18 | builddir = this_dir / 'build' 19 | stage = this_dir / 'stage' 20 | repo = this_dir / 'qmlrss' 21 | 22 | service = this_dir / 'qmlrss.service' 23 | 24 | @command(produces=[package['target']], consumes=[service, qt.qmake]) 25 | def build(): 26 | call([ 27 | f'rm -rf --one-file-system {stage} {builddir}', 28 | 29 | f'mkdir -p {builddir}', 30 | 31 | f'cd {builddir} && {qt.qmake} {repo}', 32 | f'make -j{jobs} -C {builddir}', 33 | 34 | f'mkdir -p {stage}/etc/systemd/system', 35 | f'mkdir -p {stage}/{qt.prefix}/bin', 36 | 37 | f'cp {service} {stage}/etc/systemd/system/', 38 | f'cp {builddir}/qmlrss {stage}/{qt.prefix}/bin/', 39 | 40 | f'tar -C {stage} -czf {package["target"]} .', 41 | ], env=qt.env, shell=True) 42 | 43 | 44 | @command() 45 | def clean(): 46 | call([ 47 | f'rm -rf --one-file-system {stage} {builddir} {package["target"]}', 48 | ]) 49 | -------------------------------------------------------------------------------- /firmware/__init__.py: -------------------------------------------------------------------------------- 1 | import os 2 | import pathlib 3 | 4 | from pydo import * 5 | 6 | env = os.environ.copy() 7 | 8 | try: 9 | env['http_proxy'] = os.environ['APT_HTTP_PROXY'] 10 | except KeyError: 11 | print("Don't forget to set up apt-cacher-ng") 12 | 13 | this_dir = pathlib.Path(__file__).parent 14 | 15 | firmware_rev = '1.20190620' 16 | firmware_dir = this_dir / 'firmware' 17 | firmware = download(firmware_dir, f'https://github.com/raspberrypi/firmware/archive/{firmware_rev}.zip') 18 | 19 | stage = this_dir / 'stage' 20 | target = this_dir / 'firmware.tar.gz' 21 | sources = [this_dir / file for file in ['cmdline.txt', 'config.txt']] 22 | msd = this_dir / 'usbboot' / 'msd' / 'start.elf' 23 | 24 | 25 | @command(produces = [target], consumes = [*sources, msd, firmware]) 26 | def build(): 27 | call([ 28 | f'rm -rf --one-file-system {stage}', 29 | f'mkdir -p {stage}/boot', 30 | 31 | f'unzip -oj {firmware} */boot/* -x */boot/*.dtb */boot/kernel*.img */boot/overlays/* -d {stage}/boot/', 32 | 33 | f'cp {" ".join(str(s) for s in sources)} {stage}/boot/', 34 | 35 | f'cp {msd} {stage}/boot/msd.elf', 36 | f'touch {stage}/boot/UART', 37 | 38 | f'tar -C {stage}/boot/ -czvf {target} .', 39 | ], env=env) 40 | 41 | 42 | @command() 43 | def clean(): 44 | call([ 45 | f'rm -rf --one-file-system {stage} {target}' 46 | ]) 47 | -------------------------------------------------------------------------------- /raspbian/multistrap.conf.in: -------------------------------------------------------------------------------- 1 | [General] 2 | arch=armhf 3 | 4 | # these control package selection 5 | omitrequired=true 6 | addimportant=false 7 | allowrecommends=false 8 | 9 | # cleans up apt cache inside the image 10 | cleanup=true 11 | 12 | # extract all downloaded archives 13 | unpack=true 14 | 15 | # normally multistrap would run the pre/post scripts itself 16 | # if run on a native arch (eg if you build on an rpi.) 17 | # since we will run them manually, disable this behaviour. 18 | ignorenativearch=true 19 | 20 | # debootstrap determines which repository is used to 21 | # calculate the list of Priority: required packages 22 | debootstrap=Raspbian Foundation 23 | 24 | # aptsources is a list of sections to be listed 25 | # in the /etc/apt/sources.list.d/multistrap.sources.list 26 | # of the target. 27 | aptsources=Raspbian Foundation 28 | 29 | 30 | [Raspbian] 31 | source=http://mirrordirector.raspbian.org/raspbian 32 | suite=buster 33 | 34 | [Foundation] 35 | source=http://archive.raspberrypi.org/debian 36 | suite=buster 37 | 38 | 39 | # Required debs 40 | packages=base-files base-passwd bash coreutils dash debianutils diffutils dpkg 41 | packages=findutils grep gzip init libc-bin login mount sed tar util-linux cpio 42 | packages=ncurses-base 43 | 44 | # Optional base debs 45 | packages=systemd udev kmod gpgv apt 46 | packages=tzdata 47 | 48 | # Debs required by /opt packages 49 | @PACKAGES@ 50 | -------------------------------------------------------------------------------- /__init__.py: -------------------------------------------------------------------------------- 1 | import os, pathlib 2 | 3 | from pydo import * 4 | 5 | this_dir = pathlib.Path(__file__).parent 6 | 7 | try: 8 | from . import config 9 | except ImportError: 10 | log.error('Error: Project is not configured.') 11 | exit(-1) 12 | 13 | try: 14 | jobs = int(os.environ['PYDOJOBS'], 10) 15 | except Exception: 16 | import multiprocessing 17 | jobs = multiprocessing.cpu_count() 18 | log.warning(f'Setting jobs to {jobs}.') 19 | 20 | from . import kernel, firmware, raspbian, sysroot, packages 21 | 22 | 23 | kernel_boot_tarballs = [k.boot for k in kernel.kernels] 24 | boot = this_dir / 'boot' 25 | dnsmasq_conf_in = this_dir / 'dnsmasq.conf.in' 26 | dnsmasq_conf = this_dir / 'dnsmasq.conf' 27 | 28 | 29 | @command(produces=[dnsmasq_conf], consumes=[dnsmasq_conf_in]) 30 | def build_dnsmasq_conf(): 31 | subst(dnsmasq_conf_in, dnsmasq_conf, {'@TFTP_ROOT@': str(boot)}) 32 | 33 | 34 | @command(produces=[boot], consumes=[firmware.target, raspbian.initrd, *kernel_boot_tarballs, dnsmasq_conf]) 35 | def build(): 36 | call([ 37 | f'mkdir -p {boot}', 38 | f'rm -rf --one-file-system {boot}/*', 39 | f'cp {raspbian.initrd} {boot}', 40 | f'tar -xf {firmware.target} -C {boot}', 41 | *list(f'tar -xf {kb} -C {boot}' for kb in kernel_boot_tarballs), 42 | #f'cd {boot} && zip -qr {boot} *', 43 | f'touch {boot}', 44 | ], shell=True) 45 | 46 | 47 | @command() 48 | def clean(): 49 | sysroot.clean() 50 | firmware.clean() 51 | kernel.clean() 52 | raspbian.clean() 53 | packages.clean() 54 | -------------------------------------------------------------------------------- /packages/net/__init__.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | 3 | from pydo import * 4 | 5 | this_dir = pathlib.Path(__file__).parent 6 | 7 | package = { 8 | 9 | 'requires': [], 10 | 11 | 'sysroot_debs': [], 12 | 13 | 'root_debs': [ 14 | 'net-tools', 'wpasupplicant', 'crda', 'firmware-brcm80211', 'ca-certificates', 'openssl', 15 | ], 16 | 17 | 'target': this_dir / 'net.tar.gz', 18 | 'install': [ 19 | # /etc/resolv.conf symlink 20 | 'ln -sf /run/systemd/resolve/resolv.conf {stage}/etc/resolv.conf', 21 | 22 | # enable network services 23 | '{chroot} {stage} /bin/systemctl reenable systemd-networkd', 24 | '{chroot} {stage} /bin/systemctl reenable systemd-resolved', 25 | '{chroot} {stage} /bin/systemctl reenable systemd-timesyncd', 26 | '{chroot} {stage} /bin/systemctl reenable systemd-networkd-wait-online.service', 27 | '{chroot} {stage} /bin/systemctl reenable wpa_supplicant@wlan0.service', 28 | ], 29 | 30 | } 31 | 32 | stage = this_dir / 'stage' 33 | 34 | en = this_dir / 'en.network' 35 | wl = this_dir / 'wlan0.network' 36 | wpa = this_dir / 'wpa_supplicant@.service' 37 | 38 | 39 | @command(produces=[package['target']], consumes=[en, wl, wpa]) 40 | def build(): 41 | call([ 42 | f'rm -rf --one-file-system {stage}', 43 | 44 | f'mkdir -p {stage}/etc/systemd/network', 45 | f'mkdir -p {stage}/etc/systemd/system', 46 | 47 | f'cp {en} {wl} {stage}/etc/systemd/network/', 48 | f'cp {wpa} {stage}/etc/systemd/system/', 49 | 50 | f'tar -C {stage} -czf {package["target"]} .' 51 | ]) 52 | 53 | 54 | @command() 55 | def clean(): 56 | call([f'rm -rf --one-file-system {stage} {package["target"]}']) 57 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:eoan 2 | 3 | RUN dpkg --add-architecture i386 && apt-get update -qy && apt-get -qy install \ 4 | libc6:i386 libstdc++6:i386 libgcc1:i386 \ 5 | libncurses5:i386 libtinfo5:i386 zlib1g:i386 \ 6 | build-essential git bc python zip wget gettext \ 7 | autoconf automake libtool pkg-config autopoint \ 8 | bison flex libglib2.0-dev gobject-introspection \ 9 | multistrap proot qemu-user binfmt-support makedev cpio \ 10 | gtk-doc-tools valac python3.7-minimal python3-pip \ 11 | libssl-dev gpg nano cmake dnsmasq ninja-build \ 12 | strace 13 | 14 | # make dnsmasq setuid so we can run it in the container without being root 15 | RUN chmod u+s /usr/sbin/dnsmasq 16 | 17 | # https://gitlab.gnome.org/GNOME/gobject-introspection/issues/314 18 | RUN sed -i \ 19 | -e 's/filter(lambda x: x.endswith(".la"), libraries)/list(filter(lambda x: x.endswith(".la"), libraries))/' \ 20 | -e 's/filter(lambda x: not x.endswith(".la"), libraries)/list(filter(lambda x: not x.endswith(".la"), libraries))/' \ 21 | /usr/lib/x86_64-linux-gnu/gobject-introspection/giscanner/shlibs.py 22 | 23 | RUN git clone git://github.com/ali1234/pydo && cd pydo && pip3 install .[color] 24 | 25 | # we need 0.52 for sysroot support - not released yet so install from git 26 | RUN git clone git://github.com/mesonbuild/meson && cd meson && pip3 install . 27 | 28 | ARG UID=1000 29 | ARG GID=1000 30 | ARG USER=rpi-ramdisk 31 | ARG GROUP=rpi-ramdisk 32 | 33 | RUN groupadd -g $GID $GROUP 34 | RUN useradd -ms /bin/bash -u $UID -g $GID $USER 35 | 36 | USER $USER 37 | 38 | RUN gpg --keyserver hkps://keyserver.ubuntu.com --recv-key 9165938D90FDDD2E # raspbian-archive-keyring 39 | RUN gpg --keyserver hkps://keyserver.ubuntu.com --recv-key 82B129927FA3303E # foundation key 40 | 41 | -------------------------------------------------------------------------------- /packages/apds9960d/__init__.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | 3 | from pydo import * 4 | 5 | this_dir = pathlib.Path(__file__).parent 6 | 7 | package = { 8 | 9 | 'requires': [], 10 | 11 | 'sysroot_debs': ['libi2c-dev'], 12 | 13 | 'root_debs': [], 14 | 15 | 'target': this_dir / 'apds9960d.tar.gz', 16 | 'install': ['{chroot} {stage} /bin/systemctl reenable apds9960d.service'], 17 | 18 | } 19 | 20 | from ... import sysroot, jobs 21 | 22 | env = sysroot.env.copy() 23 | 24 | 25 | prefix = '/opt/apds9960d' 26 | stage = this_dir / 'stage' 27 | 28 | 29 | repo = this_dir / 'apds9960d' 30 | service = this_dir / 'apds9960d.service' 31 | builddir = this_dir / 'build' 32 | 33 | 34 | cmake_opts = ' '.join([ 35 | '-DCMAKE_SYSTEM_NAME=Linux', 36 | f'-DCMAKE_C_COMPILER=arm-linux-gnueabihf-gcc', 37 | f'-DCMAKE_CXX_COMPILER=arm-linux-gnueabihf-g++', 38 | f'-DCMAKE_SYSROOT={sysroot.sysroot}', 39 | '-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER', 40 | '-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY', 41 | '-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY', 42 | ]) 43 | 44 | 45 | @command(produces=[package['target']], consumes=[service, sysroot.sysroot, sysroot.toolchain]) 46 | def build(): 47 | call([ 48 | f'rm -rf --one-file-system {stage} {builddir}', 49 | 50 | f'mkdir -p {builddir}', 51 | 52 | f'cd {builddir} && cmake {cmake_opts} {repo}', 53 | f'make -j{jobs} -C {builddir}', 54 | 55 | f'mkdir -p {stage}/etc/systemd/system', 56 | f'mkdir -p {stage}/{prefix}/bin', 57 | 58 | f'cp {service} {stage}/etc/systemd/system/', 59 | f'cp {builddir}/apds9960d {stage}/{prefix}/bin/', 60 | 61 | f'tar -C {stage} -czf {package["target"]} .', 62 | ], env=env, shell=True) 63 | 64 | 65 | @command() 66 | def clean(): 67 | call([ 68 | f'rm -rf --one-file-system {stage} {builddir} {package["target"]}', 69 | ]) 70 | -------------------------------------------------------------------------------- /packages/piratepython/__init__.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | 3 | from pydo import * 4 | 5 | this_dir = pathlib.Path(__file__).parent 6 | 7 | services = ['piratepython.service', 'pp-restart.service', 'pp-restart.path'] 8 | 9 | package = { 10 | 11 | 'requires': ['pymtpd'], 12 | 13 | 'sysroot_debs': [], 14 | 15 | 'root_debs': [ 16 | 17 | 'python3', 18 | 19 | # support 20 | 'pigpio', 'python3-pigpio', 'python3-w3lib', 'python3-serial', 'python3-tweepy', 'python3-spur', 21 | 'python3-netifaces', 'python3-zeroconf', 'python3-six', 22 | 'python3-gpiozero', 'python3-flask', 'python3-pil', 'python3-picamera', 23 | 24 | # pimoroni 25 | 'python3-blinkt', 'python3-phatbeat', 'python3-scrollphat', 'python3-scrollphathd', 'python3-unicornhathd', 26 | 'python3-automationhat', 'python3-explorerhat', 'python3-envirophat', 'python3-motephat', 27 | 'python3-touchphat', 'python3-pianohat', 'python3-drumhat', 'python3-rainbowhat', 'python3-fourletterphat', 28 | 'python3-pantilthat', 'python3-buttonshim', 'python3-microdotphat', 29 | 30 | ], 31 | 32 | 'target': this_dir / 'piratepython.tar.gz', 33 | 'install': [f'{{chroot}} {{stage}} /bin/systemctl reenable {service}' for service in services], 34 | 35 | } 36 | 37 | from ... import sysroot 38 | 39 | env = sysroot.env.copy() 40 | 41 | stage = this_dir / 'stage' 42 | main = this_dir / 'main.py' 43 | service_files = [this_dir / s for s in services] 44 | 45 | @command(produces=[package['target']], consumes=service_files + [main, sysroot.toolchain, sysroot.sysroot]) 46 | def build(): 47 | call([ 48 | f'rm -rf --one-file-system {stage}', 49 | f'mkdir -p {stage}/mtp', 50 | f'cp {main} {stage}/mtp', 51 | f'mkdir -p {stage}/etc/systemd/system', 52 | f'cp {" ".join(str(s) for s in service_files)} {stage}/etc/systemd/system/', 53 | f'tar -C {stage} -czf {package["target"]} .', 54 | ], env=env, shell=True) 55 | 56 | 57 | @command() 58 | def clean(): 59 | call([ 60 | f'rm -rf --one-file-system {stage} {package["target"]}', 61 | ]) 62 | -------------------------------------------------------------------------------- /packages/piroverd/__init__.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | 3 | from pydo import * 4 | 5 | this_dir = pathlib.Path(__file__).parent 6 | 7 | package = { 8 | 9 | 'requires': ['gstreamer'], 10 | 11 | 'sysroot_debs': ['libi2c-dev'], 12 | 13 | 'root_debs': [], 14 | 15 | 'target': this_dir / 'piroverd.tar.gz', 16 | 'install': ['{chroot} {stage} /bin/systemctl reenable piroverd.service'], 17 | 18 | } 19 | 20 | from ... import sysroot, jobs 21 | from .. import gstreamer 22 | 23 | env = gstreamer.env.copy() 24 | 25 | 26 | prefix = '/opt/piroverd' 27 | stage = this_dir / 'stage' 28 | 29 | 30 | # add stage to the paths. every package which uses this env should do this (ie rygel). 31 | env['PKG_CONFIG_LIBDIR'] += ':' + str(stage / prefix[1:] / 'lib/pkgconfig') 32 | env['XDG_DATA_DIRS'] += ':' + str(stage / prefix[1:] / 'share') 33 | 34 | repo = this_dir / 'piroverd' 35 | service = this_dir / 'piroverd.service' 36 | builddir = this_dir / 'build' 37 | 38 | 39 | cmake_opts = ' '.join([ 40 | '-DCMAKE_SYSTEM_NAME=Linux', 41 | f'-DCMAKE_C_COMPILER=arm-linux-gnueabihf-gcc', 42 | f'-DCMAKE_CXX_COMPILER=arm-linux-gnueabihf-g++', 43 | f'-DCMAKE_SYSROOT={sysroot.sysroot}', 44 | '-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER', 45 | '-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY', 46 | '-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY', 47 | ]) 48 | 49 | 50 | @command(produces=[package['target']], consumes=[service, gstreamer.package['target']]) 51 | def build(): 52 | call([ 53 | f'rm -rf --one-file-system {stage} {builddir}', 54 | 55 | f'mkdir -p {builddir}', 56 | 57 | f'cd {builddir} && cmake {cmake_opts} {repo}', 58 | f'make -j{jobs} -C {builddir}', 59 | 60 | f'mkdir -p {stage}/etc/systemd/system', 61 | f'mkdir -p {stage}/{prefix}/bin', 62 | 63 | f'cp {service} {stage}/etc/systemd/system/', 64 | f'cp {builddir}/piroverd {stage}/{prefix}/bin/', 65 | 66 | f'tar -C {stage} -czf {package["target"]} .', 67 | ], env=env, shell=True) 68 | 69 | 70 | @command() 71 | def clean(): 72 | call([ 73 | f'rm -rf --one-file-system {stage} {builddir} {package["target"]}', 74 | ]) 75 | -------------------------------------------------------------------------------- /packages/qt/__init__.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | 3 | from pydo import * 4 | 5 | this_dir = pathlib.Path(__file__).parent 6 | 7 | package = { 8 | 9 | 'requires': [], 10 | 11 | 'sysroot_debs': [ 12 | 'libfontconfig1-dev', 'libmtdev-dev', 'libudev-dev', 'libts-dev', 'flex', 'freetds-dev', 13 | 'libasound2-dev', 'libaudio-dev', 'libdbus-1-dev', 'libfreetype6-dev', 'libglib2.0-dev', 14 | 'libjpeg-dev', 'libmng-dev', 'libpam0g-dev', 'libpng-dev', 'libreadline-dev', 'libssl1.0-dev', 15 | 'libtiff-dev', 'zlib1g-dev', 'libjpeg-dev', 'libraspberrypi-dev', 16 | ], 17 | 18 | 'root_debs': [ 19 | 'libraspberrypi0', 'libpng12-0', 'libglib2.0-0', 'libmtdev1', 'libts-bin', 'libfontconfig1', 20 | 'libfreetype6', 'libssl1.0.2', 'libjpeg62-turbo', 21 | ], 22 | 23 | 'target': this_dir / 'qt.tar.gz', 24 | 'install': [], 25 | 26 | } 27 | 28 | from ... import sysroot, jobs 29 | 30 | env = sysroot.env.copy() 31 | 32 | 33 | prefix = '/opt/qt' 34 | qt_host = this_dir / 'qt-host' 35 | qmake = qt_host / 'bin' / 'qmake' 36 | stage = this_dir / 'stage' 37 | 38 | repos = [this_dir / r for r in ['qtbase', 'qtdeclarative', 'qtxmlpatterns']] 39 | 40 | 41 | @command(produces=[package['target'], qmake], consumes=[sysroot.sysroot, sysroot.toolchain]) 42 | def build(): 43 | 44 | call([f'git -C {repo} clean -dfxq' for repo in repos]) 45 | 46 | call([ 47 | f'rm -rf --one-file-system {stage} {qt_host}', 48 | 49 | f'cd {repos[0]} && ./configure -release -opengl es2 -device linux-rasp-pi-g++ \ 50 | -qpa eglfs -no-libinput -no-linuxfb -no-xcb -no-kms -no-gbm \ 51 | -no-gtk -no-widgets -no-compile-examples -no-sql-tds \ 52 | -device-option CROSS_COMPILE={sysroot.cross_compile} -sysroot {sysroot.sysroot} \ 53 | -opensource -confirm-license -make libs -strip -optimize-size \ 54 | -prefix {prefix} -extprefix {stage}/{prefix} -hostprefix {qt_host}', 55 | 56 | f'make -j{jobs} -C {repos[0]}', 57 | f'make -j{jobs} -C {repos[0]} install', 58 | ], env=env, shell=True) 59 | 60 | for repo in repos[1:]: 61 | call([ 62 | f'cd {repo} && {qmake}', 63 | f'make -j{jobs} -C {repo}', 64 | f'make -j{jobs} -C {repo} install', 65 | ], env=env, shell=True) 66 | 67 | call([ 68 | f'mkdir -p {stage}/etc/ld.so.conf.d', 69 | f'echo {prefix}/lib > {stage}/etc/ld.so.conf.d/opt-qt.conf', 70 | 71 | f'tar -C {stage} --exclude=.{prefix}/doc --exclude=.{prefix}/include \ 72 | --exclude=.{prefix}/lib/cmake --exclude=.{prefix}/lib/pkgconfig \ 73 | -czf {package["target"]} .' 74 | 75 | ], env=env) 76 | 77 | 78 | @command() 79 | def clean(): 80 | call([f'git -C {repo} clean -dfxq' for repo in repos]) 81 | call([f'rm -rf --one-file-system {stage} {package["target"]}']) 82 | -------------------------------------------------------------------------------- /kernel/__init__.py: -------------------------------------------------------------------------------- 1 | import os 2 | import pathlib 3 | 4 | from pydo import * 5 | 6 | from .. import sysroot 7 | from .. import jobs 8 | from .. import config 9 | 10 | 11 | class Kernel(object): 12 | 13 | def __init__(self, name, dir, env): 14 | self.name = name 15 | self.dir = dir 16 | self.env = env 17 | self.build = command( 18 | produces=[self.boot, self.root], 19 | consumes=[sysroot.toolchain, self.config] 20 | )(self._build) 21 | 22 | @property 23 | def repo(self): 24 | return self.dir / 'linux' 25 | 26 | @property 27 | def stage(self): 28 | return self.dir / 'stage' 29 | 30 | @property 31 | def root(self): 32 | return self.dir / (self.name + '-root.tar.gz') 33 | 34 | @property 35 | def boot(self): 36 | return self.dir / (self.name + '-boot.tar.gz') 37 | 38 | @property 39 | def config(self): 40 | return self.dir / (self.name + '.config') 41 | 42 | def _build(self): 43 | call([ 44 | 45 | f'git -C {self.repo} clean -dfxq', 46 | f'rm -rf --one-file-system {self.stage}', 47 | 48 | f'cp {self.config} {self.repo}/.config', 49 | f'make -j{jobs} -C {self.repo} zImage modules dtbs', 50 | 51 | f'mkdir -p {self.stage}/root {self.stage}/boot/overlays', 52 | f'make -j{jobs} -C {self.repo} INSTALL_MOD_PATH={self.stage}/root modules_install', 53 | 54 | f'cp {self.repo}/arch/arm/boot/zImage {self.stage}/boot/{self.name}.img', 55 | f'cp {self.repo}/arch/arm/boot/dts/*.dtb {self.stage}/boot/', 56 | f'cp {self.repo}/arch/arm/boot/dts/overlays/*.dtb* {self.stage}/boot/overlays/', 57 | f'cp {self.repo}/arch/arm/boot/dts/overlays/README {self.stage}/boot/overlays/', 58 | 59 | f'tar -C {self.stage}/root/ -czf {self.root} .', 60 | f'tar -C {self.stage}/boot/ -czf {self.boot} .', 61 | 62 | ], env=self.env, shell=True) 63 | 64 | def update_config(self): 65 | call([ 66 | f'make -C {self.repo} mrproper', 67 | f'cp {self.config} {self.repo}/.config', 68 | f'make -C {self.repo} oldconfig', 69 | f'cp {self.repo}/.config {self.config}', 70 | ], env=self.env, interactive=True) 71 | 72 | 73 | def menu_config(self): 74 | call([ 75 | f'make -C {self.repo} mrproper', 76 | f'cp {self.config} {self.repo}/.config', 77 | f'make -C {self.repo} menuconfig', 78 | f'cp {self.repo}/.config {self.config}', 79 | ], env=self.env, interactive=True) 80 | 81 | 82 | env = os.environ.copy() 83 | env['ARCH'] = 'arm' 84 | env['CROSS_COMPILE'] = str(sysroot.cross_compile) 85 | 86 | this_dir = pathlib.Path(__file__).parent 87 | 88 | 89 | kernels = [Kernel(k, this_dir, env) for k in config.kernels] 90 | 91 | 92 | @command() 93 | def build(): 94 | for k in kernels: 95 | k.build() 96 | 97 | 98 | @command() 99 | def update_configs(): 100 | for k in kernels: 101 | k.update_config() 102 | 103 | 104 | @command() 105 | def menu_configs(): 106 | for k in kernels: 107 | k.menu_config() 108 | 109 | 110 | @command() 111 | def clean(): 112 | for k in kernels: 113 | call([ 114 | f'rm -rf --one-file-system {k.stage} {k.root} {k.boot}' 115 | ]) 116 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "kernel/linux"] 2 | path = kernel/linux 3 | url = git://github.com/raspberrypi/linux.git 4 | branch = rpi-4.9.y 5 | ignore = untracked 6 | [submodule "packages/qt/qtbase"] 7 | path = packages/qt/qtbase 8 | url = git://code.qt.io/qt/qtbase.git 9 | branch = 5.11.1 10 | ignore = untracked 11 | [submodule "packages/qt/qtxmlpatterns"] 12 | path = packages/qt/qtxmlpatterns 13 | url = git://code.qt.io/qt/qtxmlpatterns.git 14 | branch = 5.11.1 15 | ignore = untracked 16 | [submodule "packages/qt/qtdeclarative"] 17 | path = packages/qt/qtdeclarative 18 | url = git://code.qt.io/qt/qtdeclarative.git 19 | branch = 5.11.1 20 | ignore = untracked 21 | [submodule "packages/gstreamer/gstreamer"] 22 | path = packages/gstreamer/gstreamer 23 | url = git://anongit.freedesktop.org/git/gstreamer/gstreamer 24 | branch = 1.14 25 | ignore = untracked 26 | [submodule "packages/gstreamer/gst-plugins-base"] 27 | path = packages/gstreamer/gst-plugins-base 28 | url = git://github.com/ali1234/gst-plugins-base 29 | branch = vcfix 30 | ignore = untracked 31 | [submodule "packages/gstreamer/gst-plugins-good"] 32 | path = packages/gstreamer/gst-plugins-good 33 | url = git://anongit.freedesktop.org/git/gstreamer/gst-plugins-good 34 | branch = 1.14 35 | ignore = untracked 36 | [submodule "packages/gstreamer/gst-plugins-bad"] 37 | path = packages/gstreamer/gst-plugins-bad 38 | url = git://anongit.freedesktop.org/git/gstreamer/gst-plugins-bad 39 | branch = 1.14 40 | ignore = untracked 41 | [submodule "packages/gstreamer/gst-plugins-ugly"] 42 | path = packages/gstreamer/gst-plugins-ugly 43 | url = git://anongit.freedesktop.org/git/gstreamer/gst-plugins-ugly 44 | branch = 1.14 45 | ignore = untracked 46 | [submodule "packages/rygel/gssdp"] 47 | path = packages/rygel/gssdp 48 | url = https://gitlab.gnome.org/GNOME/gssdp.git 49 | branch = gssdp_1.0 50 | ignore = untracked 51 | [submodule "packages/rygel/gupnp"] 52 | path = packages/rygel/gupnp 53 | url = https://gitlab.gnome.org/GNOME/gupnp.git 54 | branch = gupnp-1.0 55 | ignore = untracked 56 | [submodule "packages/rygel/gupnp-av"] 57 | path = packages/rygel/gupnp-av 58 | url = https://gitlab.gnome.org/GNOME/gupnp-av.git 59 | ignore = untracked 60 | [submodule "packages/rygel/gupnp-dlna"] 61 | path = packages/rygel/gupnp-dlna 62 | url = https://gitlab.gnome.org/GNOME/gupnp-dlna.git 63 | ignore = untracked 64 | [submodule "packages/rygel/gupnp-tools"] 65 | path = packages/rygel/gupnp-tools 66 | url = https://gitlab.gnome.org/GNOME/gupnp-tools.git 67 | ignore = untracked 68 | [submodule "packages/rygel/rygel"] 69 | path = packages/rygel/rygel 70 | url = https://gitlab.gnome.org/GNOME/rygel.git 71 | ignore = untracked 72 | [submodule "packages/pymtpd/pymtpd"] 73 | path = packages/pymtpd/pymtpd 74 | url = git://github.com/ali1234/pymtpd 75 | ignore = untracked 76 | [submodule "packages/qmlrss/qmlrss"] 77 | path = packages/qmlrss/qmlrss 78 | url = git://github.com/ali1234/qmlrss 79 | ignore = untracked 80 | [submodule "packages/apds9960d/apds9960d"] 81 | path = packages/apds9960d/apds9960d 82 | url = git://github.com/ali1234/apds9960d 83 | [submodule "packages/gstreamer/gst-libav"] 84 | path = packages/gstreamer/gst-libav 85 | url = git://anongit.freedesktop.org/gstreamer/gst-libav 86 | branch = 1.14 87 | ignore = untracked 88 | [submodule "packages/gstreamer/gst-omx"] 89 | path = packages/gstreamer/gst-omx 90 | url = git://anongit.freedesktop.org/gstreamer/gst-omx 91 | branch = 1.14 92 | ignore = untracked 93 | [submodule "packages/gstreamer/gst-rpicamsrc"] 94 | path = packages/gstreamer/gst-rpicamsrc 95 | url = git://github.com/thaytan/gst-rpicamsrc 96 | [submodule "packages/gstreamer/gst-rtsp-server"] 97 | path = packages/gstreamer/gst-rtsp-server 98 | url = git://anongit.freedesktop.org/gstreamer/gst-rtsp-server 99 | [submodule "packages/piroverd"] 100 | path = packages/piroverd/piroverd 101 | url = git://github.com/ali1234/piroverd 102 | [submodule "firmware/usbboot"] 103 | path = firmware/usbboot 104 | url = git://github.com/raspberrypi/usbboot 105 | 106 | [submodule "packages/ugly/ugly"] 107 | path = packages/ugly/ugly 108 | url = git://github.com/ali1234/ugly 109 | -------------------------------------------------------------------------------- /packages/rygel/__init__.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | 3 | from pydo import * 4 | 5 | this_dir = pathlib.Path(__file__).parent 6 | 7 | package = { 8 | 9 | 'requires': ['gstreamer'], 10 | 11 | 'sysroot_debs': [ 12 | 'libmediaart-2.0-dev', 13 | 14 | ## libs for gstreamer codec support 15 | ## these are actually used by the gstreamer build, but since the whole sysroot 16 | ## is built in one go, they can be put in this build so that gstreamer can be 17 | ## built without them 18 | 19 | # container formats 20 | 'libogg-dev', 21 | # image formats 22 | 'libpng-dev', 'libjpeg-dev', 23 | # audio formats 24 | 'libflac-dev', 'libvorbis-dev', 'libopus-dev', 'libmpg123-dev', 'liba52-0.7.4-dev', 25 | # video formats (software decoding) 26 | 'libmpeg2-4-dev', 'libtheora-dev', 27 | ], 28 | 29 | 'root_debs': [ 30 | 'libgee-0.8-2', 'libtiff5', 'libgdk-pixbuf2.0-0', 'libmediaart-2.0-0', 31 | 32 | ## libs for gstreamer codec support 33 | 34 | # container formats 35 | 'libogg0', 36 | # image formats 37 | 'libjpeg62-turbo', 'libpng12-0', 38 | # audio formats 39 | 'libmpg123-0', 'libopus0', 'libvorbisenc2', 'libflac8', 'liba52-0.7.4', 40 | # video formats (software decoding) 41 | 'libmpeg2-4', 'libtheora0', 42 | ], 43 | 44 | 'target': this_dir / 'rygel.tar.gz', 45 | 'install': [], 46 | 47 | } 48 | 49 | from ... import sysroot 50 | from .. import gstreamer 51 | 52 | env = gstreamer.env.copy() 53 | 54 | 55 | prefix = '/opt/rygel' 56 | stage = this_dir / 'stage' 57 | 58 | 59 | # add stage to the paths. every package which uses this env should do this (ie rygel). 60 | env['PKG_CONFIG_LIBDIR'] += ':' + str(stage / prefix[1:] / 'lib/pkgconfig') 61 | env['XDG_DATA_DIRS'] += ':' + str(stage / prefix[1:] / 'share') 62 | 63 | 64 | repos = [this_dir / d for d in [ 65 | 'gssdp', 'gupnp', 'gupnp-av', 'gupnp-dlna', 'gupnp-tools', 'rygel', 66 | ]] 67 | 68 | 69 | CROSS_OPTS = ' '.join([ 70 | '--host=arm-linux-gnueabihf', 71 | '--build=x86_64-linux-gnu', 72 | f'--prefix={prefix}', 73 | f'--with-sysroot={sysroot.sysroot}', 74 | f'--with-libgcrypt-prefix={sysroot.sysroot}/usr' 75 | ]) 76 | 77 | 78 | RYGEL_OPTS = ' '.join([ 79 | '--without-ui', '--disable-media-export-plugin', '--disable-tracker-plugin', 80 | '--disable-external-plugin', '--disable-ruih-plugin', '--disable-mpris-plugin', '--enable-apidocs=no', 81 | ]) 82 | 83 | 84 | def build_repo(repo, extra_opts): 85 | call([ 86 | f'cd {repo} && ./autogen.sh {CROSS_OPTS} {gstreamer.COMMON_OPTS} {gstreamer.NODEBUG_OPTS} {extra_opts}', 87 | 88 | # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=297726 89 | # reverse debian-specific change in libtool that breaks cross compiling 90 | f'cd {repo} && sed -i -e "s/^link_all_deplibs=no$/link_all_deplibs=unknown/" libtool', 91 | 92 | f'make -j8 -C {repo}', 93 | # gupnp-dlna parallel install fails 94 | # see https://bugzilla.gnome.org/show_bug.cgi?id=720053 95 | f'make -C {repo} DESTDIR={stage} install-strip', 96 | ], env=env, shell=True) 97 | 98 | 99 | @command(produces=[package['target']], consumes=[gstreamer.package['target']]) 100 | def build(): 101 | 102 | call([f'git -C {repo} clean -dfxq' for repo in repos]) 103 | 104 | call([ 105 | f'rm -rf --one-file-system {stage}', 106 | 107 | f'mkdir -p {stage}{prefix}/lib', 108 | f'mkdir -p {stage}{prefix}/include/gstreamer-1.0', 109 | ]) 110 | 111 | build_repo(repos[0], '') 112 | 113 | call([ 114 | f'mkdir -p {sysroot.sysroot}/opt', 115 | f'ln -sf {stage}{prefix} {sysroot.sysroot}{prefix}', 116 | ]) 117 | 118 | for r in repos[1:-2]: 119 | build_repo(r, '') 120 | 121 | build_repo(repos[-1], RYGEL_OPTS) 122 | 123 | call([ 124 | f'mkdir -p {stage}/etc/ld.so.conf.d', 125 | f'echo {prefix}/lib > {stage}/etc/ld.so.conf.d/opt-rygel.conf', 126 | 127 | f'tar -C {stage} --exclude=.{prefix}/doc --exclude=.{prefix}/include \ 128 | --exclude=.{prefix}/lib/pkgconfig --exclude=.{prefix}/share/man \ 129 | --exclude=*.la --exclude=.{prefix}/share/locale --exclude=.{prefix}/share/aclocal \ 130 | --exclude=.{prefix}/share/bash-completion \ 131 | -czf {package["target"]} .' 132 | 133 | ], shell=True) 134 | 135 | 136 | @command() 137 | def clean(): 138 | call([f'git -C {repo} clean -dfxq' for repo in repos]) 139 | call([f'rm -rf --one-file-system {stage} {package["target"]}']) 140 | -------------------------------------------------------------------------------- /sysroot/__init__.py: -------------------------------------------------------------------------------- 1 | import os 2 | import posixpath 3 | import pathlib 4 | 5 | from pydo import * 6 | 7 | env = os.environ.copy() 8 | 9 | this_dir = pathlib.Path(__file__).parent 10 | 11 | try: 12 | env['http_proxy'] = os.environ['APT_HTTP_PROXY'] 13 | except KeyError: 14 | print("Don't forget to set up apt-cacher-ng") 15 | 16 | 17 | def relative_links(root): 18 | for path in pathlib.Path(root).rglob('*'): 19 | if path.is_symlink(): 20 | link_target = os.readlink(str(path)) 21 | if link_target[0] != '/': 22 | continue 23 | if link_target.startswith(str(root)): 24 | continue 25 | path.unlink() 26 | new_target = posixpath.relpath(root / link_target[1:], start=path.parent) 27 | # print(path, ':', link_target, '->', new_target) 28 | os.symlink(new_target, str(path)) 29 | 30 | toolchain_tarball = download(this_dir, 'https://github.com/ali1234/rpi-toolchain/releases/download/buster-0/toolchain-raspbian-buster-0-x86_64-arm-linux-gnueabihf.tar.xz') 31 | toolchain = this_dir / 'toolchain' 32 | sysroot = this_dir / 'sysroot' 33 | cross_compile = toolchain / 'bin/arm-linux-gnueabihf-' 34 | arch_cflags = ' '.join([ 35 | '-pipe', 36 | '-march=armv6zk', 37 | '-marm', 38 | '-mthumb-interwork', 39 | '-mfpu=vfp', 40 | #'-mtune=cortex-a7', 41 | '-mabi=aapcs-linux', 42 | '-mfloat-abi=hard', 43 | ]) 44 | 45 | env['PATH'] += ':' + str(toolchain / 'bin') 46 | env['SYSROOT'] = str(sysroot) 47 | 48 | #### pkg-config workarounds #### 49 | 50 | # pkg-config cannot handle sysroots properly, so we need to use a 51 | # wrapper to adjust any paths it outputs. 52 | env['PKG_CONFIG'] = str(this_dir / 'pkg-config') 53 | env['PKG_CONFIG_DIR'] = '' 54 | env['PKG_CONFIG_SYSROOT_DIR'] = str(sysroot) 55 | env['PKG_CONFIG_LIBDIR'] = ':'.join(str(sysroot / p) for p in [ 56 | 'usr/lib/pkgconfig', 57 | 'usr/lib/arm-linux-gnueabihf/pkgconfig', 58 | 'usr/share/pkgconfig', 59 | 'opt/vc/lib/pkgconfig', 60 | ]) 61 | 62 | # symlink the brcm* pcs so that Qt etc can find them 63 | # brcmegl.pc needs content patches so that is handled in the overlay 64 | pkgconfig_links = ['glesv2.pc', 'vg.pc', 'egl.pc'] 65 | 66 | # inform pkg-config wrapper the location of the packages basedir 67 | env['PACKAGES'] = str(this_dir.parent / 'packages') 68 | 69 | 70 | #### gobject-introspection workarounds #### 71 | 72 | # G-I binding generation is done by building a native executable and 73 | # then running it to see what it exports. We need Qemu for this. 74 | env['QEMU_LD_PREFIX'] = str(sysroot) 75 | env['LD_LIBRARY_PATH'] = str(sysroot / 'opt/vc/lib') 76 | 77 | # search dirs for G-I 78 | env['XDG_DATA_DIRS'] = ':'.join(str(sysroot / p) for p in [ 79 | 'usr/share', 80 | ]) 81 | 82 | 83 | @command(produces=[toolchain], consumes=[toolchain_tarball]) 84 | def unpack_toolchain(): 85 | call([ 86 | f'mkdir -p {toolchain}', 87 | f'tar -C {toolchain} --strip-components=1 -xf {toolchain_tarball}', 88 | ]) 89 | 90 | 91 | # delay importing packages until the sysroot variables are defined 92 | from .. import packages 93 | 94 | multistrap_conf = this_dir / 'multistrap.conf' 95 | multistrap_conf_in = this_dir / 'multistrap.conf.in' 96 | overlay = this_dir / 'overlay' 97 | 98 | 99 | @command(produces=[multistrap_conf], consumes=[multistrap_conf_in], always=True) 100 | def build_multistrap_conf(): 101 | all_sysroot_debs = sorted(set.union(*(set(p.package['sysroot_debs']) for p in packages.packages.values()), set())) 102 | multistrap_packages = textwrap(all_sysroot_debs, prefix='packages=') 103 | subst(multistrap_conf_in, multistrap_conf, {'@PACKAGES@': multistrap_packages}) 104 | 105 | 106 | @command(produces=[sysroot], consumes=[multistrap_conf, *dir_scan(overlay)]) 107 | def build(): 108 | call([ 109 | f'rm -rf --one-file-system {sysroot}', 110 | 111 | f'mkdir -p {sysroot}/etc/apt/trusted.gpg.d/', 112 | f'gpg --export 82B129927FA3303E > {sysroot}/etc/apt/trusted.gpg.d/raspberrypi-archive-keyring.gpg', 113 | f'gpg --export 9165938D90FDDD2E > {sysroot}/etc/apt/trusted.gpg.d/raspbian-archive-keyring.gpg', 114 | f'/usr/sbin/multistrap -d {sysroot} -f {multistrap_conf}', 115 | 116 | # work around for the following bugs: 117 | # https://github.com/raspberrypi/firmware/issues/1013 118 | # https://bugreports.qt.io/browse/QTBUG-62216 119 | # https://bugreports.qt.io/browse/QTBUG-69176 120 | # The workaround is simply to copy manually fixed pkgconfig files 121 | # somewhere where the build will find them. 122 | f'cp -r {overlay}/* {sysroot}', 123 | 124 | # symbolic links for pkgconfig 125 | *[f'ln -sf brcm{l} {sysroot}/opt/vc/lib/pkgconfig/{l}' for l in pkgconfig_links], 126 | 127 | # work around for libtool badness. is this still needed? 128 | # mkdir -p sysroot/opt 129 | # cd sysroot/opt && for dir in $(PACKAGES); do ln -s ../../$$dir/root/opt/$$dir $$dir; done 130 | 131 | # touch dir so we don't rebuild 132 | f'touch {sysroot}', 133 | ], shell=True, env=env) 134 | relative_links(sysroot) 135 | 136 | 137 | @command() 138 | def clean(): 139 | call([ 140 | f'rm -rf --one-file-system {sysroot} {toolchain} {multistrap_conf}' 141 | ]) 142 | -------------------------------------------------------------------------------- /packages/gstreamer/__init__.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | 3 | from pydo import * 4 | 5 | this_dir = pathlib.Path(__file__).parent 6 | 7 | package = { 8 | 9 | 'requires': [], 10 | 11 | 'sysroot_debs': [ 12 | # core dependencies 13 | 'libglib2.0-dev', 'libreadline-dev', 'libssl1.0-dev', 'zlib1g-dev', 'libasound2-dev', 14 | 'libgirepository1.0-dev', 'uuid-dev', 'libsoup2.4-dev', 15 | 'libxml2-dev', 'libgee-0.8-dev', 'libsqlite3-dev', 'valac', 'liborc-0.4-dev', 'liborc-0.4-dev-bin', 16 | 'libraspberrypi-dev', 17 | # libav 18 | #'libavcodec57', 'libavfilter6', 'libavformat57', 'libavutil55', 'libavdevice57', 19 | ], 20 | 21 | 'root_debs': [ 22 | 'liborc-0.4-0', 'libasound2', 'libxml2', 'libsoup2.4-1', 'libraspberrypi0', 23 | # libav 24 | #'libavcodec-dev', 'libavfilter-dev', 'libavformat-dev', 'libavutil-dev', 25 | ], 26 | 27 | 'target': this_dir / 'gstreamer.tar.gz', 28 | 'install': [], 29 | 30 | } 31 | 32 | from ... import sysroot, jobs 33 | 34 | env = sysroot.env.copy() 35 | 36 | 37 | prefix = '/opt/gstreamer' 38 | stage = this_dir / 'stage' 39 | 40 | 41 | # tell g-ir-scanner about the sysroot. 42 | env['CFLAGS'] = f'--sysroot={sysroot.sysroot} {sysroot.arch_cflags}' 43 | 44 | env['LDFLAGS'] = ' '.join([ 45 | f'--sysroot={sysroot.sysroot}', 46 | f'-L{sysroot.sysroot}/opt/vc/lib', 47 | # for rpi-camsrc: 48 | f'-Wl,--rpath-link,{sysroot.sysroot}/opt/vc/lib', 49 | f'-L{stage}/opt/gstreamer/lib', 50 | ]) 51 | 52 | env['CPPFLAGS'] = ' '.join([ 53 | f'--sysroot={sysroot.sysroot}', 54 | # put dispmanx/EGL flags into the global state. https://bugzilla.gnome.org/show_bug.cgi?id=770987 55 | f'-I{sysroot.sysroot}/opt/vc/include', 56 | f'-I{sysroot.sysroot}/opt/vc/include/interface/vcos/pthreads', 57 | f'-I{sysroot.sysroot}/opt/vc/include/interface/vmcs_host/linux', 58 | f'-I{stage}/opt/gstreamer/include/gstreamer-1.0', 59 | ]) 60 | 61 | 62 | # add stage to the paths. every package which uses this env should do this (ie rygel). 63 | env['PKG_CONFIG_LIBDIR'] += ':' + str(stage / prefix[1:] / 'lib/pkgconfig') 64 | env['XDG_DATA_DIRS'] += ':' + str(stage / prefix[1:] / 'share') 65 | 66 | repos = [this_dir / d for d in [ 67 | 'gstreamer', 'gst-plugins-base', 'gst-plugins-good', 'gst-plugins-bad', 'gst-plugins-ugly', 68 | 'gst-libav', 'gst-omx', 'gst-rtsp-server', 'gst-rpicamsrc', 69 | ]] 70 | 71 | CROSS_OPTS = ' '.join([ 72 | '--host=arm-linux-gnueabihf', 73 | '--build=x86_64-linux-gnu', 74 | f'--prefix={prefix}', 75 | f'--with-sysroot={sysroot.sysroot}', 76 | f'--with-libgcrypt-prefix={sysroot.sysroot}/usr' 77 | ]) 78 | 79 | COMMON_OPTS = ' '.join([ 80 | '--disable-dependency-tracking', '--disable-maintainer-mode', '--disable-fatal-warnings', 81 | '--disable-debug', '--disable-docbook', '--disable-gtk-doc', '--disable-gtk-doc-html', 82 | '--disable-gtk-doc-pdf', '--disable-examples', '--disable-benchmarks', 83 | '--enable-introspection=yes', 84 | ]) 85 | 86 | NODEBUG_OPTS = ' '.join([ 87 | '--enable-gobject-cast-checks=no', '--enable-glib-asserts=no', '--disable-gst-debug', 88 | '--disable-gst-tracer-hooks', '--disable-trace', '--disable-alloc-trace', '--disable-valgrind', 89 | ]) 90 | 91 | PLUGIN_OPTS = ' '.join([ 92 | '--enable-orc', '--disable-x', '--disable-xvideo', '--disable-xshm', '--disable-wayland', 93 | '--disable-fbdev', '--disable-jack', '--disable-pulse', '--disable-cairo', 94 | '--disable-gdk_pixbuf', '--disable-festival', '--disable-flite', '--disable-fluidsynth', 95 | ]) 96 | 97 | DISPMANX_OPTS = ' '.join([ 98 | '--disable-opengl', '--enable-gles2', '--enable-egl', '--disable-glx', '--enable-dispmanx', 99 | '--with-gles2-module-name=/opt/vc/lib/libbrcmGLESv2.so', '--with-egl-module-name=/opt/vc/lib/libbrcmEGL.so', 100 | ]) 101 | 102 | OMX_OPTS = ' '.join([ 103 | '--with-omx-target=rpi', 104 | f'--with-omx-header-path={sysroot.sysroot}/opt/vc/include/IL', 105 | ]) 106 | 107 | RPICAMSRC_OPTS = ' '.join([ 108 | f'--with-rpi-header-dir={sysroot.sysroot}/opt/vc/include', 109 | ]) 110 | 111 | def build_repo(repo, extra_opts=''): 112 | call([ 113 | f'cd {repo} && ./autogen.sh {CROSS_OPTS} {COMMON_OPTS} {NODEBUG_OPTS} {extra_opts}', 114 | 115 | # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=297726 116 | # reverse debian-specific change in libtool that breaks cross compiling 117 | f'cd {repo} && sed -i -e "s/^link_all_deplibs=no$/link_all_deplibs=unknown/" libtool', 118 | 119 | f'make -j{jobs} -C {repo}', 120 | f'make -j{jobs} -C {repo} DESTDIR={stage} install-strip', 121 | ], env=env, shell=True) 122 | 123 | 124 | @command(produces=[package['target']], consumes=[sysroot.sysroot, sysroot.toolchain]) 125 | def build(): 126 | 127 | for repo in repos: 128 | call([ 129 | f'git -C {repo} clean -dfxq', 130 | ]) 131 | 132 | call([ 133 | f'rm -rf --one-file-system {stage}', 134 | 135 | f'mkdir -p {stage}{prefix}/lib', 136 | f'mkdir -p {stage}{prefix}/include/gstreamer-1.0', 137 | ]) 138 | 139 | build_repo(repos[0], '') 140 | 141 | call([ 142 | # libtool sucks donkey balls 143 | f'mkdir -p {sysroot.sysroot}/opt', 144 | f'ln -sf {stage}{prefix} {sysroot.sysroot}{prefix}', 145 | ]) 146 | 147 | build_repo(repos[1], f'{PLUGIN_OPTS} {DISPMANX_OPTS}') # base 148 | build_repo(repos[2], f'{PLUGIN_OPTS}') # good 149 | build_repo(repos[3], f'{PLUGIN_OPTS} --disable-gl') # bad 150 | build_repo(repos[4], f'{PLUGIN_OPTS}') # ugly 151 | #build_repo(repos[5], f'{PLUGIN_OPTS}') # libav 152 | build_repo(repos[6], f'{PLUGIN_OPTS} {OMX_OPTS}') # omx 153 | build_repo(repos[7]) # rtsp 154 | 155 | # rpicamsrc 156 | call([ 157 | f'cd {repos[8]} && autoreconf --verbose --force --install && ./configure {CROSS_OPTS} {RPICAMSRC_OPTS} {COMMON_OPTS} {NODEBUG_OPTS}', 158 | f'make -j{jobs} -C {repos[8]}', 159 | f'make -j{jobs} -C {repos[8]} DESTDIR={stage} install-strip', 160 | ], env=env, shell=True) 161 | 162 | call([ 163 | f'mkdir -p {stage}/etc/ld.so.conf.d', 164 | f'echo {prefix}/lib > {stage}/etc/ld.so.conf.d/opt-gstreamer.conf', 165 | 166 | f'tar -C {stage} --exclude=.{prefix}/doc --exclude=.{prefix}/include \ 167 | --exclude=*.la --exclude=.{prefix}/share/locale --exclude=.{prefix}/share/aclocal \ 168 | --exclude=.{prefix}/share/bash-completion \ 169 | -czf {package["target"]} .' 170 | 171 | ], shell=True) 172 | 173 | 174 | @command() 175 | def clean(): 176 | call([f'git -C {repo} clean -dfxq' for repo in repos]) 177 | call([f'rm -rf --one-file-system {stage} {package["target"]}']) 178 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # RPi Ramdisk 2 | 3 | Builds a raspbian-based ramdisk environment for Raspberry Pi. 4 | 5 | The ramdisks are loaded fully into RAM at boot time, after which the SD card is 6 | not touched. This means the SD card is extremely unlikely to become corrupted. 7 | It also means any changes made on the live system are wiped after a reboot, so 8 | the ramdisk must be customized for its task during the build process. 9 | 10 | 11 | ## Build Dependencies 12 | 13 | ### Pydo 14 | 15 | rpi-ramdisk uses a build tool called pydo which has been developed specifically 16 | to handle complex builds which don't produce executables and libraries. You must 17 | first download and install it: 18 | 19 | git clone git://github.com/ali1234/pydo 20 | cd pydo && pip3 install . 21 | 22 | ### System packages 23 | 24 | rpi-ramdisk uses multistrap to collect packages. multistrap requires apt and 25 | as such is only supported on Debian based systems. It may be possible to use 26 | it on other distributions, but this has not been tested. 27 | 28 | In addition you need the following packages to build rpi-ramdisk: 29 | 30 | For Ubuntu 18.04: 31 | 32 | sudo apt install libc6:i386 libstdc++6:i386 libgcc1:i386 \ 33 | libncurses5:i386 libtinfo5:i386 zlib1g:i386 \ 34 | build-essential git bc python zip wget gettext \ 35 | autoconf automake libtool pkg-config autopoint \ 36 | bison flex libglib2.0-dev gobject-introspection \ 37 | multistrap fakeroot fakechroot proot cpio \ 38 | qemu-user binfmt-support makedev \ 39 | gtk-doc-tools valac python3.7-minimal 40 | 41 | This dependency list may be incomplete. If so, please report a bug on github. 42 | 43 | Some build dependencies need to be fairly new: 44 | 45 | Git >= 2.12 is needed for "rev-parse --absolute-git-dir". It is available in 46 | Ubuntu 17.10 and newer, or from this PPA if you are on an older release: 47 | 48 | https://launchpad.net/~git-core/+archive/ubuntu/ppa 49 | 50 | Qemu >= 3.1 is needed for the getrandom() syscall. It is available in Ubuntu 51 | 19.04 and newer. You can get it from the Ubuntu Cloud Archive, Stein repository 52 | for Ubuntu 18.04: 53 | 54 | https://wiki.ubuntu.com/OpenStack/CloudArchive 55 | 56 | Proot >= 5.1.0-1.3 is needed for the renameat2() syscall. It is available in 57 | Ubuntu 19.04 and newer. It is available in this PPA for Ubuntu 18.04: 58 | 59 | https://launchpad.net/~a-j-buxton/+archive/ubuntu/backports/ 60 | 61 | ## Keys 62 | 63 | Multistrap/apt needs public keys to verify the repositories. You must import 64 | the required keys into your local gpg keyring with the following commands: 65 | 66 | gpg --keyserver hkps://keyserver.ubuntu.com --recv-key 9165938D90FDDD2E # raspbian-archive-keyring 67 | gpg --keyserver hkps://keyserver.ubuntu.com --recv-key 82B129927FA3303E # raspberrypi-archive-keyring 68 | 69 | You should take necessary steps to ensure that you have authentic versions of 70 | these keys. Once received, rpi-ramdisk will export them as and when required. 71 | 72 | On Ubuntu 16.04 you will also need to import these keys into the host apt 73 | trusted keys with the following commands: 74 | 75 | sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9165938D90FDDD2E 76 | sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 82B129927FA3303E 77 | 78 | You may also need to do this on Ubuntu 16.10, 17.04, 17.10 but it is not necessary 79 | on 18.04 and later. 80 | 81 | ## Submodules 82 | 83 | This repository uses git submodules. Clone with `--recursive` or after cloning 84 | the repository run: 85 | 86 | git submodule update --init --recursive 87 | 88 | Note that shallow cloning usually won't be possible because most of the upstream 89 | repositories do not allow shallow cloning arbitrary commits, only the tips of 90 | branches and tags. 91 | 92 | ## Compiling 93 | 94 | To build rpi-ramdisk the [pydo build tool](https://github.com/ali1234/pydo) is used. 95 | First initialize the project: 96 | 97 | cd rpi-ramdisk 98 | pydo --init 99 | 100 | Set up the project configuration by copying one of the defaults: 101 | 102 | cp configs/qmldemo.config.py config.py 103 | 104 | To build the whole project run: 105 | 106 | pydo :build 107 | 108 | To clean the whole project run: 109 | 110 | pydo :clean 111 | 112 | Pydo commands can be run at any level of the rpi-ramdisk tree after it has been 113 | initialized by prefixing them with ":". Without the prefix, pydo will execute the 114 | corresponding command for the current directory along with required dependencies. 115 | You can also explicitly run a command from a different subdirectory eg: 116 | 117 | pydo packages.gstreamer:build 118 | 119 | You can see a list of all available commands for the current project with: 120 | 121 | pydo -l 122 | 123 | ## Booting 124 | 125 | The build produces a boot/ directory containing everything needed to boot. 126 | 127 | ### Booting from SD Card 128 | 129 | The SD card first primary partition should be fat formatted. (This is the 130 | default for new, blank SD cards.) Copy the contents of the boot directory onto 131 | the fat partition on the SD card. Put the SD card in the Raspberry Pi and turn 132 | it on. 133 | 134 | ### Booting from USB Mass Storage 135 | 136 | USB mass storage booting must be enabled first: 137 | 138 | https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md 139 | 140 | Then the procedure is the same as SD card booting: copy the contents of the 141 | boot directory to the mass storage device, plug it in, and turn on. 142 | 143 | ### TFTP Boot 144 | 145 | Copy `bootcode.bin` to the fat partition on your SD card. Scons generates a 146 | `dnsmasq.conf` with the correct paths, so now just run dnsmasq: 147 | 148 | sudo dnsmasq -C dnsmasq.conf 149 | 150 | Now put the SD card in the Pi and boot. Wired ethernet must be connected. 151 | You can leave dnsmasq running across rebuilds as the boot directory is 152 | not deleted and recreated. 153 | 154 | **Note**: TFTP booting is sometimes unreliable due to: 155 | 156 | https://github.com/raspberrypi/firmware/issues/764 157 | 158 | As a workaround, enabling UART debugging seems to help reliability. rpi-ramdisk now does 159 | this by default. 160 | 161 | ### USB device boot 162 | 163 | Build rpiboot from: 164 | 165 | https://github.com/raspberrypi/usbboot 166 | 167 | Connect a Pi Zero or similar using a USB cable. Then run: 168 | 169 | sudo rpiboot -d boot 170 | 171 | **Note**: initrd images larger than about 28MB may be too big to boot using this method, see: 172 | 173 | https://github.com/raspberrypi/usbboot/issues/14 174 | 175 | ## Firmware update mode 176 | 177 | rpi-ramdisk now installs the mass storage mode firmware for videocore. This makes USB device 178 | capable Raspberry Pis export their SD card as a mass storage device which can be mounted on 179 | the host PC for copying updated boot files. This is implemented using `bootcode.bin` GPIO 180 | filters. See https://github.com/raspberrypi/firmware/issues/1076 181 | 182 | To enter this mode pull GPIO 5 low when powering on the device. The GPIO can be modified in 183 | `firmware/config.txt`. 184 | -------------------------------------------------------------------------------- /raspbian/__init__.py: -------------------------------------------------------------------------------- 1 | import fnmatch 2 | import os 3 | import pathlib 4 | 5 | from pydo import * 6 | 7 | from .. import config, packages, kernel 8 | 9 | env = os.environ.copy() 10 | 11 | this_dir = pathlib.Path(__file__).parent 12 | 13 | try: 14 | env['http_proxy'] = os.environ['APT_HTTP_PROXY'] 15 | except KeyError: 16 | print("Don't forget to set up apt-cacher-ng") 17 | 18 | 19 | def read_excludes(excludefile): 20 | exclude_data = [] 21 | with excludefile.open() as e: 22 | for line in e: 23 | line = line.strip() 24 | if line.startswith('#'): 25 | continue 26 | x = line.split('=') 27 | if len(x) == 2: 28 | if x[0] == 'path-exclude': 29 | exclude_data.append((x[1][1:], True)) 30 | elif x[0] == 'path-include': 31 | exclude_data.append((x[1][1:], False)) 32 | return exclude_data 33 | 34 | 35 | def test_excludes(path, exclude_data): 36 | delete = False 37 | for e in exclude_data: 38 | if fnmatch.fnmatchcase(str(path), e[0]): 39 | delete = e[1] 40 | return delete 41 | 42 | 43 | def apply_excludes(root, exclude_data): 44 | for path in root.rglob('*'): 45 | rpath = path.relative_to(root) 46 | if test_excludes(rpath, exclude_data): 47 | try: 48 | if path.is_dir(): 49 | os.rmdir(path) 50 | #print('delete file', path) 51 | else: 52 | os.remove(path) 53 | #print('delete dir', path) 54 | except OSError: 55 | #print('delete failed', path) 56 | pass 57 | 58 | 59 | multistrap_conf = this_dir / 'multistrap.conf' 60 | multistrap_conf_in = this_dir / 'multistrap.conf.in' 61 | hosts_in = this_dir / 'hosts.in' 62 | hosts = this_dir / 'hosts' 63 | overlay = this_dir / 'overlay' 64 | stage = this_dir / 'stage' 65 | initrd = this_dir / 'initrd' 66 | excludes = this_dir / 'excludes.conf' 67 | cleanup = this_dir / 'cleanup' 68 | chroot = 'proot -b /dev -0 -q qemu-arm -w / -r' 69 | chroot_nobind = 'proot -0 -q qemu-arm -w / -r' 70 | kernel_root_tarballs = [k.root for k in kernel.kernels] 71 | package_tarballs = [p.package['target'] for p in packages.packages.values()] 72 | 73 | def package_install_actions(): 74 | for p in packages.packages.values(): 75 | for a in p.package['install']: 76 | yield a.format(**locals(), **globals()) 77 | 78 | 79 | @command(produces=[multistrap_conf], consumes=[multistrap_conf_in], always=True) 80 | def build_multistrap_conf(): 81 | all_root_debs = sorted(set.union(*(set(p.package['root_debs']) for p in packages.packages.values()), set())) 82 | multistrap_packages = textwrap(all_root_debs, prefix='packages=') 83 | subst(multistrap_conf_in, multistrap_conf, {'@PACKAGES@': multistrap_packages}) 84 | 85 | 86 | @command(produces=[hosts], consumes=[hosts_in], always=True) 87 | def build_hosts(): 88 | subst(hosts_in, hosts, {'@HOSTNAME@': config.hostname}) 89 | 90 | 91 | @command( 92 | produces=[initrd], 93 | consumes=[ 94 | multistrap_conf, 95 | hosts, 96 | *dir_scan(overlay), 97 | *kernel_root_tarballs, 98 | *package_tarballs, 99 | excludes, 100 | ]) 101 | def build(): 102 | call([ 103 | f'rm -rf --one-file-system {stage}', 104 | 105 | f'mkdir -p {stage}/etc/apt/trusted.gpg.d/', 106 | f'gpg --export 82B129927FA3303E > {stage}/etc/apt/trusted.gpg.d/raspberrypi-archive-keyring.gpg', 107 | f'gpg --export 9165938D90FDDD2E > {stage}/etc/apt/trusted.gpg.d/raspbian-archive-keyring.gpg', 108 | f'/usr/sbin/multistrap -d {stage} -f {multistrap_conf}', 109 | ], shell=True, env=env) 110 | 111 | script_dir = stage / 'var/lib/dpkg/info' 112 | for f in script_dir.iterdir(): 113 | if f.suffix == '.preinst': 114 | script_env = env.copy() 115 | script_env['DPKG_MAINTSCRIPT_NAME'] = 'preinst' 116 | script_env['DPKG_MAINTSCRIPT_PACKAGE'] = f.stem 117 | if f.stem not in ['vpnc']: 118 | call([ 119 | f'{chroot} {stage} {f.relative_to(stage)} install', 120 | ], env=script_env) 121 | 122 | call([ 123 | # don't run makedev 124 | # we will create device nodes later, after we are done with the system dev 125 | f'rm -f {stage}/var/lib/dpkg/info/makedev.postinst', 126 | 127 | # work around https://pad.lv/1727874 128 | f'rm -f {stage}/var/lib/dpkg/info/raspbian-archive-keyring.postinst', 129 | f'ln -sf /usr/share/keyrings/raspbian-archive-keyring.gpg {stage}/etc/apt/trusted.gpg.d/', 130 | 131 | # work around PAM error 132 | f'ln -s -f /bin/true {stage}/usr/bin/chfn', 133 | 134 | # configure packages 135 | f'DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \ 136 | LC_ALL=C LANGUAGE=C LANG=C {chroot} {stage} /usr/bin/dpkg --configure -a || true', 137 | 138 | # initialize /etc/fstab 139 | f'echo proc /proc proc defaults 0 0 > {stage}/etc/fstab', 140 | 141 | # hostname 142 | f'echo {config.hostname} > {stage}/etc/hostname', 143 | 144 | # hosts 145 | f'cp {hosts} {stage}/etc/', 146 | 147 | # delete root password 148 | f'{chroot} {stage} passwd -d root', 149 | ], shell=True, env=env) 150 | 151 | # remove excluded files that multistrap missed 152 | apply_excludes(stage, read_excludes(excludes)) 153 | 154 | call([ 155 | # install the excludes to the image so they they are applied if user installs something at run time 156 | f'mkdir -p {stage}/etc/dpkg/dpkg.conf.d/', 157 | f'cp {excludes} {stage}/etc/dpkg/dpkg.conf.d/', 158 | 159 | # update hwdb after cleaning 160 | f'{chroot} {stage} udevadm hwdb --update --usr', 161 | 162 | # modules 163 | *list(f'tar -xf {kr} -C {stage}' for kr in kernel_root_tarballs), 164 | 165 | # packages 166 | *list(f'tar -xf {pkg} -C {stage}' for pkg in package_tarballs), 167 | *list(package_install_actions()), 168 | 169 | # overlay 170 | f'cp -r {overlay}/* {stage}', 171 | 172 | # ldconfig 173 | f'{stage}/sbin/ldconfig -r {stage}', 174 | 175 | # reset default udev persistent-net rule 176 | f'rm -f {stage}/etc/udev/rules.d/*_persistent-net.rules', 177 | 178 | # time used by timesyncd if no other is available 179 | f'touch {stage}/var/lib/systemd/clock', 180 | 181 | # mtab 182 | f'ln -sf /proc/mounts {stage}/etc/mtab', 183 | 184 | # this must be done last. if the fakeroot devices exist on the system, 185 | # chroot wont be able to read from them, which breaks systemd setup. 186 | f'cd {stage}/dev && fakeroot /sbin/MAKEDEV std', 187 | 188 | # pack rootfs into initrd 189 | f'{chroot_nobind} {stage} sh -c "cd / && find * -xdev -not \( \ 190 | -path host-rootfs -prune \ 191 | -path run -prune \ 192 | -path proc -prune \ 193 | -path sys -prune \ 194 | -path boot -prune \ 195 | \) | cpio --create -H newc" | xz -C crc32 -9 > {initrd}' 196 | 197 | ], shell=True) 198 | 199 | 200 | @command() 201 | def clean(): 202 | call([ 203 | f'rm -rf --one-file-system {stage} {initrd} {multistrap_conf} {hosts}' 204 | ]) 205 | 206 | 207 | @command() 208 | def enter(): 209 | call([ 210 | f'{chroot} {stage} /bin/bash' 211 | ], interactive=True, check=False) 212 | -------------------------------------------------------------------------------- /sysroot/overlay/usr/include/linux/i2c-dev.h: -------------------------------------------------------------------------------- 1 | /* 2 | i2c-dev.h - i2c-bus driver, char device interface 3 | 4 | Copyright (C) 1995-97 Simon G. Vogl 5 | Copyright (C) 1998-99 Frodo Looijaard 6 | 7 | This program is free software; you can redistribute it and/or modify 8 | it under the terms of the GNU General Public License as published by 9 | the Free Software Foundation; either version 2 of the License, or 10 | (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 20 | MA 02110-1301 USA. 21 | */ 22 | 23 | #ifndef _LINUX_I2C_DEV_H 24 | #define _LINUX_I2C_DEV_H 25 | 26 | #include 27 | #include 28 | #include 29 | 30 | 31 | /* -- i2c.h -- */ 32 | 33 | 34 | /* 35 | * I2C Message - used for pure i2c transaction, also from /dev interface 36 | */ 37 | struct i2c_msg { 38 | __u16 addr; /* slave address */ 39 | unsigned short flags; 40 | #define I2C_M_TEN 0x10 /* we have a ten bit chip address */ 41 | #define I2C_M_RD 0x01 42 | #define I2C_M_NOSTART 0x4000 43 | #define I2C_M_REV_DIR_ADDR 0x2000 44 | #define I2C_M_IGNORE_NAK 0x1000 45 | #define I2C_M_NO_RD_ACK 0x0800 46 | short len; /* msg length */ 47 | char *buf; /* pointer to msg data */ 48 | }; 49 | 50 | /* To determine what functionality is present */ 51 | 52 | #define I2C_FUNC_I2C 0x00000001 53 | #define I2C_FUNC_10BIT_ADDR 0x00000002 54 | #define I2C_FUNC_PROTOCOL_MANGLING 0x00000004 /* I2C_M_{REV_DIR_ADDR,NOSTART,..} */ 55 | #define I2C_FUNC_SMBUS_PEC 0x00000008 56 | #define I2C_FUNC_SMBUS_BLOCK_PROC_CALL 0x00008000 /* SMBus 2.0 */ 57 | #define I2C_FUNC_SMBUS_QUICK 0x00010000 58 | #define I2C_FUNC_SMBUS_READ_BYTE 0x00020000 59 | #define I2C_FUNC_SMBUS_WRITE_BYTE 0x00040000 60 | #define I2C_FUNC_SMBUS_READ_BYTE_DATA 0x00080000 61 | #define I2C_FUNC_SMBUS_WRITE_BYTE_DATA 0x00100000 62 | #define I2C_FUNC_SMBUS_READ_WORD_DATA 0x00200000 63 | #define I2C_FUNC_SMBUS_WRITE_WORD_DATA 0x00400000 64 | #define I2C_FUNC_SMBUS_PROC_CALL 0x00800000 65 | #define I2C_FUNC_SMBUS_READ_BLOCK_DATA 0x01000000 66 | #define I2C_FUNC_SMBUS_WRITE_BLOCK_DATA 0x02000000 67 | #define I2C_FUNC_SMBUS_READ_I2C_BLOCK 0x04000000 /* I2C-like block xfer */ 68 | #define I2C_FUNC_SMBUS_WRITE_I2C_BLOCK 0x08000000 /* w/ 1-byte reg. addr. */ 69 | 70 | #define I2C_FUNC_SMBUS_BYTE (I2C_FUNC_SMBUS_READ_BYTE | \ 71 | I2C_FUNC_SMBUS_WRITE_BYTE) 72 | #define I2C_FUNC_SMBUS_BYTE_DATA (I2C_FUNC_SMBUS_READ_BYTE_DATA | \ 73 | I2C_FUNC_SMBUS_WRITE_BYTE_DATA) 74 | #define I2C_FUNC_SMBUS_WORD_DATA (I2C_FUNC_SMBUS_READ_WORD_DATA | \ 75 | I2C_FUNC_SMBUS_WRITE_WORD_DATA) 76 | #define I2C_FUNC_SMBUS_BLOCK_DATA (I2C_FUNC_SMBUS_READ_BLOCK_DATA | \ 77 | I2C_FUNC_SMBUS_WRITE_BLOCK_DATA) 78 | #define I2C_FUNC_SMBUS_I2C_BLOCK (I2C_FUNC_SMBUS_READ_I2C_BLOCK | \ 79 | I2C_FUNC_SMBUS_WRITE_I2C_BLOCK) 80 | 81 | /* Old name, for compatibility */ 82 | #define I2C_FUNC_SMBUS_HWPEC_CALC I2C_FUNC_SMBUS_PEC 83 | 84 | /* 85 | * Data for SMBus Messages 86 | */ 87 | #define I2C_SMBUS_BLOCK_MAX 32 /* As specified in SMBus standard */ 88 | #define I2C_SMBUS_I2C_BLOCK_MAX 32 /* Not specified but we use same structure */ 89 | union i2c_smbus_data { 90 | __u8 byte; 91 | __u16 word; 92 | __u8 block[I2C_SMBUS_BLOCK_MAX + 2]; /* block[0] is used for length */ 93 | /* and one more for PEC */ 94 | }; 95 | 96 | /* smbus_access read or write markers */ 97 | #define I2C_SMBUS_READ 1 98 | #define I2C_SMBUS_WRITE 0 99 | 100 | /* SMBus transaction types (size parameter in the above functions) 101 | Note: these no longer correspond to the (arbitrary) PIIX4 internal codes! */ 102 | #define I2C_SMBUS_QUICK 0 103 | #define I2C_SMBUS_BYTE 1 104 | #define I2C_SMBUS_BYTE_DATA 2 105 | #define I2C_SMBUS_WORD_DATA 3 106 | #define I2C_SMBUS_PROC_CALL 4 107 | #define I2C_SMBUS_BLOCK_DATA 5 108 | #define I2C_SMBUS_I2C_BLOCK_BROKEN 6 109 | #define I2C_SMBUS_BLOCK_PROC_CALL 7 /* SMBus 2.0 */ 110 | #define I2C_SMBUS_I2C_BLOCK_DATA 8 111 | 112 | 113 | /* /dev/i2c-X ioctl commands. The ioctl's parameter is always an 114 | * unsigned long, except for: 115 | * - I2C_FUNCS, takes pointer to an unsigned long 116 | * - I2C_RDWR, takes pointer to struct i2c_rdwr_ioctl_data 117 | * - I2C_SMBUS, takes pointer to struct i2c_smbus_ioctl_data 118 | */ 119 | #define I2C_RETRIES 0x0701 /* number of times a device address should 120 | be polled when not acknowledging */ 121 | #define I2C_TIMEOUT 0x0702 /* set timeout in units of 10 ms */ 122 | 123 | /* NOTE: Slave address is 7 or 10 bits, but 10-bit addresses 124 | * are NOT supported! (due to code brokenness) 125 | */ 126 | #define I2C_SLAVE 0x0703 /* Use this slave address */ 127 | #define I2C_SLAVE_FORCE 0x0706 /* Use this slave address, even if it 128 | is already in use by a driver! */ 129 | #define I2C_TENBIT 0x0704 /* 0 for 7 bit addrs, != 0 for 10 bit */ 130 | 131 | #define I2C_FUNCS 0x0705 /* Get the adapter functionality mask */ 132 | 133 | #define I2C_RDWR 0x0707 /* Combined R/W transfer (one STOP only) */ 134 | 135 | #define I2C_PEC 0x0708 /* != 0 to use PEC with SMBus */ 136 | #define I2C_SMBUS 0x0720 /* SMBus transfer */ 137 | 138 | 139 | /* This is the structure as used in the I2C_SMBUS ioctl call */ 140 | struct i2c_smbus_ioctl_data { 141 | __u8 read_write; 142 | __u8 command; 143 | __u32 size; 144 | union i2c_smbus_data *data; 145 | }; 146 | 147 | /* This is the structure as used in the I2C_RDWR ioctl call */ 148 | struct i2c_rdwr_ioctl_data { 149 | struct i2c_msg *msgs; /* pointers to i2c_msgs */ 150 | __u32 nmsgs; /* number of i2c_msgs */ 151 | }; 152 | 153 | #define I2C_RDRW_IOCTL_MAX_MSGS 42 154 | 155 | 156 | static inline __s32 i2c_smbus_access(int file, char read_write, __u8 command, 157 | int size, union i2c_smbus_data *data) 158 | { 159 | struct i2c_smbus_ioctl_data args; 160 | 161 | args.read_write = read_write; 162 | args.command = command; 163 | args.size = size; 164 | args.data = data; 165 | return ioctl(file,I2C_SMBUS,&args); 166 | } 167 | 168 | 169 | static inline __s32 i2c_smbus_write_quick(int file, __u8 value) 170 | { 171 | return i2c_smbus_access(file,value,0,I2C_SMBUS_QUICK,NULL); 172 | } 173 | 174 | static inline __s32 i2c_smbus_read_byte(int file) 175 | { 176 | union i2c_smbus_data data; 177 | if (i2c_smbus_access(file,I2C_SMBUS_READ,0,I2C_SMBUS_BYTE,&data)) 178 | return -1; 179 | else 180 | return 0x0FF & data.byte; 181 | } 182 | 183 | static inline __s32 i2c_smbus_write_byte(int file, __u8 value) 184 | { 185 | return i2c_smbus_access(file,I2C_SMBUS_WRITE,value, 186 | I2C_SMBUS_BYTE,NULL); 187 | } 188 | 189 | static inline __s32 i2c_smbus_read_byte_data(int file, __u8 command) 190 | { 191 | union i2c_smbus_data data; 192 | if (i2c_smbus_access(file,I2C_SMBUS_READ,command, 193 | I2C_SMBUS_BYTE_DATA,&data)) 194 | return -1; 195 | else 196 | return 0x0FF & data.byte; 197 | } 198 | 199 | static inline __s32 i2c_smbus_write_byte_data(int file, __u8 command, 200 | __u8 value) 201 | { 202 | union i2c_smbus_data data; 203 | data.byte = value; 204 | return i2c_smbus_access(file,I2C_SMBUS_WRITE,command, 205 | I2C_SMBUS_BYTE_DATA, &data); 206 | } 207 | 208 | static inline __s32 i2c_smbus_read_word_data(int file, __u8 command) 209 | { 210 | union i2c_smbus_data data; 211 | if (i2c_smbus_access(file,I2C_SMBUS_READ,command, 212 | I2C_SMBUS_WORD_DATA,&data)) 213 | return -1; 214 | else 215 | return 0x0FFFF & data.word; 216 | } 217 | 218 | static inline __s32 i2c_smbus_write_word_data(int file, __u8 command, 219 | __u16 value) 220 | { 221 | union i2c_smbus_data data; 222 | data.word = value; 223 | return i2c_smbus_access(file,I2C_SMBUS_WRITE,command, 224 | I2C_SMBUS_WORD_DATA, &data); 225 | } 226 | 227 | static inline __s32 i2c_smbus_process_call(int file, __u8 command, __u16 value) 228 | { 229 | union i2c_smbus_data data; 230 | data.word = value; 231 | if (i2c_smbus_access(file,I2C_SMBUS_WRITE,command, 232 | I2C_SMBUS_PROC_CALL,&data)) 233 | return -1; 234 | else 235 | return 0x0FFFF & data.word; 236 | } 237 | 238 | 239 | /* Returns the number of read bytes */ 240 | static inline __s32 i2c_smbus_read_block_data(int file, __u8 command, 241 | __u8 *values) 242 | { 243 | union i2c_smbus_data data; 244 | int i; 245 | if (i2c_smbus_access(file,I2C_SMBUS_READ,command, 246 | I2C_SMBUS_BLOCK_DATA,&data)) 247 | return -1; 248 | else { 249 | for (i = 1; i <= data.block[0]; i++) 250 | values[i-1] = data.block[i]; 251 | return data.block[0]; 252 | } 253 | } 254 | 255 | static inline __s32 i2c_smbus_write_block_data(int file, __u8 command, 256 | __u8 length, const __u8 *values) 257 | { 258 | union i2c_smbus_data data; 259 | int i; 260 | if (length > 32) 261 | length = 32; 262 | for (i = 1; i <= length; i++) 263 | data.block[i] = values[i-1]; 264 | data.block[0] = length; 265 | return i2c_smbus_access(file,I2C_SMBUS_WRITE,command, 266 | I2C_SMBUS_BLOCK_DATA, &data); 267 | } 268 | 269 | /* Returns the number of read bytes */ 270 | /* Until kernel 2.6.22, the length is hardcoded to 32 bytes. If you 271 | ask for less than 32 bytes, your code will only work with kernels 272 | 2.6.23 and later. */ 273 | static inline __s32 i2c_smbus_read_i2c_block_data(int file, __u8 command, 274 | __u8 length, __u8 *values) 275 | { 276 | union i2c_smbus_data data; 277 | int i; 278 | 279 | if (length > 32) 280 | length = 32; 281 | data.block[0] = length; 282 | if (i2c_smbus_access(file,I2C_SMBUS_READ,command, 283 | length == 32 ? I2C_SMBUS_I2C_BLOCK_BROKEN : 284 | I2C_SMBUS_I2C_BLOCK_DATA,&data)) 285 | return -1; 286 | else { 287 | for (i = 1; i <= data.block[0]; i++) 288 | values[i-1] = data.block[i]; 289 | return data.block[0]; 290 | } 291 | } 292 | 293 | static inline __s32 i2c_smbus_write_i2c_block_data(int file, __u8 command, 294 | __u8 length, 295 | const __u8 *values) 296 | { 297 | union i2c_smbus_data data; 298 | int i; 299 | if (length > 32) 300 | length = 32; 301 | for (i = 1; i <= length; i++) 302 | data.block[i] = values[i-1]; 303 | data.block[0] = length; 304 | return i2c_smbus_access(file,I2C_SMBUS_WRITE,command, 305 | I2C_SMBUS_I2C_BLOCK_BROKEN, &data); 306 | } 307 | 308 | /* Returns the number of read bytes */ 309 | static inline __s32 i2c_smbus_block_process_call(int file, __u8 command, 310 | __u8 length, __u8 *values) 311 | { 312 | union i2c_smbus_data data; 313 | int i; 314 | if (length > 32) 315 | length = 32; 316 | for (i = 1; i <= length; i++) 317 | data.block[i] = values[i-1]; 318 | data.block[0] = length; 319 | if (i2c_smbus_access(file,I2C_SMBUS_WRITE,command, 320 | I2C_SMBUS_BLOCK_PROC_CALL,&data)) 321 | return -1; 322 | else { 323 | for (i = 1; i <= data.block[0]; i++) 324 | values[i-1] = data.block[i]; 325 | return data.block[0]; 326 | } 327 | } 328 | 329 | 330 | #endif /* _LINUX_I2C_DEV_H */ 331 | -------------------------------------------------------------------------------- /kernel/kernel.config: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated file; DO NOT EDIT. 3 | # Linux/arm 4.19.50 Kernel Configuration 4 | # 5 | 6 | # 7 | # Compiler: arm-linux-gnueabihf-gcc (Linaro GCC 6.4-2018.05) 6.4.1 20180425 [linaro-6.4-2018.05 revision 7b15d0869c096fe39603ad63dc19ab7cf035eb70] 8 | # 9 | CONFIG_CC_IS_GCC=y 10 | CONFIG_GCC_VERSION=60401 11 | CONFIG_CLANG_VERSION=0 12 | CONFIG_CC_HAS_ASM_GOTO=y 13 | CONFIG_IRQ_WORK=y 14 | CONFIG_BUILDTIME_EXTABLE_SORT=y 15 | 16 | # 17 | # General setup 18 | # 19 | CONFIG_BROKEN_ON_SMP=y 20 | CONFIG_INIT_ENV_ARG_LIMIT=32 21 | # CONFIG_COMPILE_TEST is not set 22 | CONFIG_LOCALVERSION="" 23 | # CONFIG_LOCALVERSION_AUTO is not set 24 | CONFIG_BUILD_SALT="" 25 | CONFIG_HAVE_KERNEL_GZIP=y 26 | CONFIG_HAVE_KERNEL_LZMA=y 27 | CONFIG_HAVE_KERNEL_XZ=y 28 | CONFIG_HAVE_KERNEL_LZO=y 29 | CONFIG_HAVE_KERNEL_LZ4=y 30 | CONFIG_KERNEL_GZIP=y 31 | # CONFIG_KERNEL_LZMA is not set 32 | # CONFIG_KERNEL_XZ is not set 33 | # CONFIG_KERNEL_LZO is not set 34 | # CONFIG_KERNEL_LZ4 is not set 35 | CONFIG_DEFAULT_HOSTNAME="(none)" 36 | CONFIG_SWAP=y 37 | CONFIG_SYSVIPC=y 38 | CONFIG_SYSVIPC_SYSCTL=y 39 | CONFIG_POSIX_MQUEUE=y 40 | CONFIG_POSIX_MQUEUE_SYSCTL=y 41 | CONFIG_CROSS_MEMORY_ATTACH=y 42 | # CONFIG_USELIB is not set 43 | # CONFIG_AUDIT is not set 44 | CONFIG_HAVE_ARCH_AUDITSYSCALL=y 45 | 46 | # 47 | # IRQ subsystem 48 | # 49 | CONFIG_GENERIC_IRQ_PROBE=y 50 | CONFIG_GENERIC_IRQ_SHOW=y 51 | CONFIG_GENERIC_IRQ_SHOW_LEVEL=y 52 | CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y 53 | CONFIG_HARDIRQS_SW_RESEND=y 54 | CONFIG_IRQ_DOMAIN=y 55 | CONFIG_IRQ_DOMAIN_HIERARCHY=y 56 | CONFIG_HANDLE_DOMAIN_IRQ=y 57 | CONFIG_IRQ_FORCED_THREADING=y 58 | CONFIG_SPARSE_IRQ=y 59 | # CONFIG_GENERIC_IRQ_DEBUGFS is not set 60 | CONFIG_GENERIC_IRQ_MULTI_HANDLER=y 61 | CONFIG_ARCH_CLOCKSOURCE_DATA=y 62 | CONFIG_GENERIC_CLOCKEVENTS=y 63 | 64 | # 65 | # Timers subsystem 66 | # 67 | CONFIG_TICK_ONESHOT=y 68 | CONFIG_NO_HZ_COMMON=y 69 | # CONFIG_HZ_PERIODIC is not set 70 | CONFIG_NO_HZ_IDLE=y 71 | CONFIG_NO_HZ=y 72 | CONFIG_HIGH_RES_TIMERS=y 73 | # CONFIG_PREEMPT_NONE is not set 74 | CONFIG_PREEMPT_VOLUNTARY=y 75 | # CONFIG_PREEMPT is not set 76 | 77 | # 78 | # CPU/Task time and stats accounting 79 | # 80 | CONFIG_TICK_CPU_ACCOUNTING=y 81 | # CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set 82 | # CONFIG_IRQ_TIME_ACCOUNTING is not set 83 | CONFIG_BSD_PROCESS_ACCT=y 84 | CONFIG_BSD_PROCESS_ACCT_V3=y 85 | CONFIG_TASKSTATS=y 86 | CONFIG_TASK_DELAY_ACCT=y 87 | CONFIG_TASK_XACCT=y 88 | CONFIG_TASK_IO_ACCOUNTING=y 89 | 90 | # 91 | # RCU Subsystem 92 | # 93 | CONFIG_TINY_RCU=y 94 | # CONFIG_RCU_EXPERT is not set 95 | CONFIG_SRCU=y 96 | CONFIG_TINY_SRCU=y 97 | CONFIG_BUILD_BIN2C=y 98 | CONFIG_IKCONFIG=y 99 | CONFIG_IKCONFIG_PROC=y 100 | CONFIG_LOG_BUF_SHIFT=17 101 | CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 102 | CONFIG_GENERIC_SCHED_CLOCK=y 103 | CONFIG_CGROUPS=y 104 | CONFIG_PAGE_COUNTER=y 105 | CONFIG_MEMCG=y 106 | # CONFIG_MEMCG_SWAP is not set 107 | CONFIG_MEMCG_KMEM=y 108 | CONFIG_BLK_CGROUP=y 109 | # CONFIG_DEBUG_BLK_CGROUP is not set 110 | CONFIG_CGROUP_WRITEBACK=y 111 | CONFIG_CGROUP_SCHED=y 112 | CONFIG_FAIR_GROUP_SCHED=y 113 | # CONFIG_CFS_BANDWIDTH is not set 114 | # CONFIG_RT_GROUP_SCHED is not set 115 | # CONFIG_CGROUP_PIDS is not set 116 | # CONFIG_CGROUP_RDMA is not set 117 | CONFIG_CGROUP_FREEZER=y 118 | CONFIG_CGROUP_DEVICE=y 119 | CONFIG_CGROUP_CPUACCT=y 120 | # CONFIG_CGROUP_PERF is not set 121 | # CONFIG_CGROUP_DEBUG is not set 122 | CONFIG_SOCK_CGROUP_DATA=y 123 | CONFIG_NAMESPACES=y 124 | CONFIG_UTS_NS=y 125 | CONFIG_IPC_NS=y 126 | CONFIG_USER_NS=y 127 | CONFIG_PID_NS=y 128 | CONFIG_NET_NS=y 129 | # CONFIG_CHECKPOINT_RESTORE is not set 130 | CONFIG_SCHED_AUTOGROUP=y 131 | # CONFIG_SYSFS_DEPRECATED is not set 132 | CONFIG_RELAY=y 133 | CONFIG_BLK_DEV_INITRD=y 134 | CONFIG_INITRAMFS_SOURCE="" 135 | CONFIG_RD_GZIP=y 136 | CONFIG_RD_BZIP2=y 137 | CONFIG_RD_LZMA=y 138 | CONFIG_RD_XZ=y 139 | CONFIG_RD_LZO=y 140 | CONFIG_RD_LZ4=y 141 | CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y 142 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 143 | CONFIG_SYSCTL=y 144 | CONFIG_ANON_INODES=y 145 | CONFIG_HAVE_UID16=y 146 | CONFIG_BPF=y 147 | CONFIG_EXPERT=y 148 | CONFIG_UID16=y 149 | CONFIG_MULTIUSER=y 150 | # CONFIG_SGETMASK_SYSCALL is not set 151 | CONFIG_SYSFS_SYSCALL=y 152 | # CONFIG_SYSCTL_SYSCALL is not set 153 | CONFIG_FHANDLE=y 154 | CONFIG_POSIX_TIMERS=y 155 | CONFIG_PRINTK=y 156 | CONFIG_PRINTK_NMI=y 157 | CONFIG_BUG=y 158 | CONFIG_ELF_CORE=y 159 | CONFIG_BASE_FULL=y 160 | CONFIG_FUTEX=y 161 | CONFIG_FUTEX_PI=y 162 | CONFIG_EPOLL=y 163 | CONFIG_SIGNALFD=y 164 | CONFIG_TIMERFD=y 165 | CONFIG_EVENTFD=y 166 | CONFIG_SHMEM=y 167 | CONFIG_AIO=y 168 | CONFIG_ADVISE_SYSCALLS=y 169 | CONFIG_MEMBARRIER=y 170 | CONFIG_KALLSYMS=y 171 | CONFIG_KALLSYMS_ALL=y 172 | CONFIG_KALLSYMS_BASE_RELATIVE=y 173 | # CONFIG_BPF_SYSCALL is not set 174 | # CONFIG_USERFAULTFD is not set 175 | CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y 176 | CONFIG_RSEQ=y 177 | # CONFIG_DEBUG_RSEQ is not set 178 | CONFIG_EMBEDDED=y 179 | CONFIG_HAVE_PERF_EVENTS=y 180 | CONFIG_PERF_USE_VMALLOC=y 181 | # CONFIG_PC104 is not set 182 | 183 | # 184 | # Kernel Performance Events And Counters 185 | # 186 | CONFIG_PERF_EVENTS=y 187 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set 188 | CONFIG_VM_EVENT_COUNTERS=y 189 | CONFIG_SLUB_DEBUG=y 190 | # CONFIG_SLUB_MEMCG_SYSFS_ON is not set 191 | # CONFIG_COMPAT_BRK is not set 192 | # CONFIG_SLAB is not set 193 | CONFIG_SLUB=y 194 | # CONFIG_SLOB is not set 195 | CONFIG_SLAB_MERGE_DEFAULT=y 196 | # CONFIG_SLAB_FREELIST_RANDOM is not set 197 | # CONFIG_SLAB_FREELIST_HARDENED is not set 198 | CONFIG_SYSTEM_DATA_VERIFICATION=y 199 | # CONFIG_PROFILING is not set 200 | CONFIG_TRACEPOINTS=y 201 | CONFIG_ARM=y 202 | CONFIG_ARM_HAS_SG_CHAIN=y 203 | CONFIG_MIGHT_HAVE_PCI=y 204 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y 205 | CONFIG_HAVE_PROC_CPU=y 206 | CONFIG_STACKTRACE_SUPPORT=y 207 | CONFIG_LOCKDEP_SUPPORT=y 208 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y 209 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y 210 | CONFIG_FIX_EARLYCON_MEM=y 211 | CONFIG_GENERIC_HWEIGHT=y 212 | CONFIG_GENERIC_CALIBRATE_DELAY=y 213 | CONFIG_ARCH_SUPPORTS_UPROBES=y 214 | CONFIG_FIQ=y 215 | CONFIG_ARM_PATCH_PHYS_VIRT=y 216 | CONFIG_GENERIC_BUG=y 217 | CONFIG_PGTABLE_LEVELS=2 218 | 219 | # 220 | # System Type 221 | # 222 | CONFIG_MMU=y 223 | CONFIG_ARCH_MMAP_RND_BITS_MIN=8 224 | CONFIG_ARCH_MMAP_RND_BITS_MAX=16 225 | CONFIG_ARCH_MULTIPLATFORM=y 226 | # CONFIG_ARCH_EBSA110 is not set 227 | # CONFIG_ARCH_EP93XX is not set 228 | # CONFIG_ARCH_FOOTBRIDGE is not set 229 | # CONFIG_ARCH_NETX is not set 230 | # CONFIG_ARCH_IOP13XX is not set 231 | # CONFIG_ARCH_IOP32X is not set 232 | # CONFIG_ARCH_IOP33X is not set 233 | # CONFIG_ARCH_IXP4XX is not set 234 | # CONFIG_ARCH_DOVE is not set 235 | # CONFIG_ARCH_KS8695 is not set 236 | # CONFIG_ARCH_W90X900 is not set 237 | # CONFIG_ARCH_LPC32XX is not set 238 | # CONFIG_ARCH_PXA is not set 239 | # CONFIG_ARCH_RPC is not set 240 | # CONFIG_ARCH_SA1100 is not set 241 | # CONFIG_ARCH_S3C24XX is not set 242 | # CONFIG_ARCH_DAVINCI is not set 243 | # CONFIG_ARCH_OMAP1 is not set 244 | 245 | # 246 | # Multiple platform selection 247 | # 248 | 249 | # 250 | # CPU Core family selection 251 | # 252 | CONFIG_ARCH_MULTI_V6=y 253 | # CONFIG_ARCH_MULTI_V7 is not set 254 | CONFIG_ARCH_MULTI_V6_V7=y 255 | # CONFIG_ARCH_ASPEED is not set 256 | CONFIG_ARCH_BCM=y 257 | 258 | # 259 | # IPROC architected SoCs 260 | # 261 | 262 | # 263 | # KONA architected SoCs 264 | # 265 | 266 | # 267 | # Other Architectures 268 | # 269 | CONFIG_ARCH_BCM2835=y 270 | CONFIG_BCM2835_FAST_MEMCPY=y 271 | # CONFIG_ARCH_CNS3XXX is not set 272 | # CONFIG_ARCH_MXC is not set 273 | # CONFIG_ARCH_INTEGRATOR is not set 274 | 275 | # 276 | # TI OMAP/AM/DM/DRA Family 277 | # 278 | # CONFIG_ARCH_OMAP2 is not set 279 | # CONFIG_ARCH_OXNAS is not set 280 | # CONFIG_ARCH_PICOXCELL is not set 281 | # CONFIG_ARCH_REALVIEW is not set 282 | # CONFIG_ARCH_S3C64XX is not set 283 | # CONFIG_ARCH_WM8750 is not set 284 | 285 | # 286 | # Processor Type 287 | # 288 | CONFIG_CPU_V6K=y 289 | CONFIG_CPU_THUMB_CAPABLE=y 290 | CONFIG_CPU_32v6=y 291 | CONFIG_CPU_32v6K=y 292 | CONFIG_CPU_ABRT_EV6=y 293 | CONFIG_CPU_PABRT_V6=y 294 | CONFIG_CPU_CACHE_V6=y 295 | CONFIG_CPU_CACHE_VIPT=y 296 | CONFIG_CPU_COPY_V6=y 297 | CONFIG_CPU_TLB_V6=y 298 | CONFIG_CPU_HAS_ASID=y 299 | CONFIG_CPU_CP15=y 300 | CONFIG_CPU_CP15_MMU=y 301 | 302 | # 303 | # Processor Features 304 | # 305 | CONFIG_ARM_THUMB=y 306 | # CONFIG_CPU_ICACHE_DISABLE is not set 307 | # CONFIG_CPU_DCACHE_DISABLE is not set 308 | # CONFIG_CPU_BPREDICT_DISABLE is not set 309 | CONFIG_KUSER_HELPERS=y 310 | CONFIG_MIGHT_HAVE_CACHE_L2X0=y 311 | # CONFIG_CACHE_L2X0 is not set 312 | CONFIG_ARM_L1_CACHE_SHIFT=5 313 | CONFIG_ARM_DMA_MEM_BUFFERABLE=y 314 | CONFIG_ARM_ERRATA_411920=y 315 | 316 | # 317 | # Bus support 318 | # 319 | # CONFIG_PCI is not set 320 | 321 | # 322 | # PCI Endpoint 323 | # 324 | # CONFIG_PCI_ENDPOINT is not set 325 | # CONFIG_PCCARD is not set 326 | 327 | # 328 | # Kernel Features 329 | # 330 | CONFIG_VMSPLIT_3G=y 331 | # CONFIG_VMSPLIT_3G_OPT is not set 332 | # CONFIG_VMSPLIT_2G is not set 333 | # CONFIG_VMSPLIT_1G is not set 334 | CONFIG_PAGE_OFFSET=0xC0000000 335 | CONFIG_ARCH_NR_GPIO=0 336 | CONFIG_HZ_FIXED=0 337 | CONFIG_HZ_100=y 338 | # CONFIG_HZ_200 is not set 339 | # CONFIG_HZ_250 is not set 340 | # CONFIG_HZ_300 is not set 341 | # CONFIG_HZ_500 is not set 342 | # CONFIG_HZ_1000 is not set 343 | CONFIG_HZ=100 344 | CONFIG_SCHED_HRTICK=y 345 | CONFIG_AEABI=y 346 | # CONFIG_OABI_COMPAT is not set 347 | CONFIG_HAVE_ARCH_PFN_VALID=y 348 | # CONFIG_HIGHMEM is not set 349 | # CONFIG_CPU_SW_DOMAIN_PAN is not set 350 | CONFIG_HW_PERF_EVENTS=y 351 | CONFIG_ARCH_WANT_GENERAL_HUGETLB=y 352 | CONFIG_ARM_MODULE_PLTS=y 353 | CONFIG_FORCE_MAX_ZONEORDER=11 354 | CONFIG_ALIGNMENT_TRAP=y 355 | CONFIG_UACCESS_WITH_MEMCPY=y 356 | CONFIG_SECCOMP=y 357 | # CONFIG_PARAVIRT is not set 358 | # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set 359 | 360 | # 361 | # Boot options 362 | # 363 | CONFIG_USE_OF=y 364 | # CONFIG_ATAGS is not set 365 | CONFIG_ZBOOT_ROM_TEXT=0x0 366 | CONFIG_ZBOOT_ROM_BSS=0x0 367 | # CONFIG_ARM_APPENDED_DTB is not set 368 | CONFIG_CMDLINE="console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" 369 | # CONFIG_KEXEC is not set 370 | # CONFIG_CRASH_DUMP is not set 371 | CONFIG_AUTO_ZRELADDR=y 372 | # CONFIG_EFI is not set 373 | 374 | # 375 | # CPU Power Management 376 | # 377 | 378 | # 379 | # CPU Frequency scaling 380 | # 381 | CONFIG_CPU_FREQ=y 382 | CONFIG_CPU_FREQ_GOV_ATTR_SET=y 383 | CONFIG_CPU_FREQ_GOV_COMMON=y 384 | CONFIG_CPU_FREQ_STAT=y 385 | # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set 386 | CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y 387 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set 388 | # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set 389 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set 390 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y 391 | CONFIG_CPU_FREQ_GOV_POWERSAVE=y 392 | CONFIG_CPU_FREQ_GOV_USERSPACE=y 393 | CONFIG_CPU_FREQ_GOV_ONDEMAND=y 394 | CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y 395 | 396 | # 397 | # CPU frequency scaling drivers 398 | # 399 | # CONFIG_CPUFREQ_DT is not set 400 | CONFIG_ARM_BCM2835_CPUFREQ=y 401 | # CONFIG_QORIQ_CPUFREQ is not set 402 | 403 | # 404 | # CPU Idle 405 | # 406 | # CONFIG_CPU_IDLE is not set 407 | 408 | # 409 | # Floating point emulation 410 | # 411 | 412 | # 413 | # At least one emulation must be selected 414 | # 415 | CONFIG_VFP=y 416 | 417 | # 418 | # Power management options 419 | # 420 | # CONFIG_SUSPEND is not set 421 | # CONFIG_HIBERNATION is not set 422 | CONFIG_PM=y 423 | # CONFIG_PM_DEBUG is not set 424 | # CONFIG_APM_EMULATION is not set 425 | CONFIG_PM_CLK=y 426 | CONFIG_PM_GENERIC_DOMAINS=y 427 | # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set 428 | CONFIG_PM_GENERIC_DOMAINS_OF=y 429 | CONFIG_ARCH_SUSPEND_POSSIBLE=y 430 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y 431 | 432 | # 433 | # Firmware Drivers 434 | # 435 | # CONFIG_ARM_SCMI_PROTOCOL is not set 436 | # CONFIG_ARM_SCPI_PROTOCOL is not set 437 | # CONFIG_FIRMWARE_MEMMAP is not set 438 | CONFIG_RASPBERRYPI_FIRMWARE=y 439 | # CONFIG_FW_CFG_SYSFS is not set 440 | # CONFIG_GOOGLE_FIRMWARE is not set 441 | 442 | # 443 | # Tegra firmware driver 444 | # 445 | CONFIG_ARM_CRYPTO=y 446 | CONFIG_CRYPTO_SHA1_ARM=y 447 | # CONFIG_CRYPTO_SHA256_ARM is not set 448 | # CONFIG_CRYPTO_SHA512_ARM is not set 449 | CONFIG_CRYPTO_AES_ARM=y 450 | # CONFIG_VIRTUALIZATION is not set 451 | 452 | # 453 | # General architecture-dependent options 454 | # 455 | CONFIG_HAVE_OPROFILE=y 456 | CONFIG_KPROBES=y 457 | CONFIG_JUMP_LABEL=y 458 | # CONFIG_STATIC_KEYS_SELFTEST is not set 459 | CONFIG_OPTPROBES=y 460 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 461 | CONFIG_ARCH_USE_BUILTIN_BSWAP=y 462 | CONFIG_KRETPROBES=y 463 | CONFIG_HAVE_KPROBES=y 464 | CONFIG_HAVE_KRETPROBES=y 465 | CONFIG_HAVE_OPTPROBES=y 466 | CONFIG_HAVE_NMI=y 467 | CONFIG_HAVE_ARCH_TRACEHOOK=y 468 | CONFIG_HAVE_DMA_CONTIGUOUS=y 469 | CONFIG_GENERIC_SMP_IDLE_THREAD=y 470 | CONFIG_GENERIC_IDLE_POLL_SETUP=y 471 | CONFIG_ARCH_HAS_FORTIFY_SOURCE=y 472 | CONFIG_ARCH_HAS_SET_MEMORY=y 473 | CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y 474 | CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y 475 | CONFIG_HAVE_RSEQ=y 476 | CONFIG_HAVE_CLK=y 477 | CONFIG_HAVE_HW_BREAKPOINT=y 478 | CONFIG_HAVE_PERF_REGS=y 479 | CONFIG_HAVE_PERF_USER_STACK_DUMP=y 480 | CONFIG_HAVE_ARCH_JUMP_LABEL=y 481 | CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y 482 | CONFIG_HAVE_ARCH_SECCOMP_FILTER=y 483 | CONFIG_SECCOMP_FILTER=y 484 | CONFIG_HAVE_STACKPROTECTOR=y 485 | CONFIG_CC_HAS_STACKPROTECTOR_NONE=y 486 | CONFIG_STACKPROTECTOR=y 487 | CONFIG_STACKPROTECTOR_STRONG=y 488 | CONFIG_HAVE_CONTEXT_TRACKING=y 489 | CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y 490 | CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y 491 | CONFIG_HAVE_MOD_ARCH_SPECIFIC=y 492 | CONFIG_MODULES_USE_ELF_REL=y 493 | CONFIG_ARCH_HAS_ELF_RANDOMIZE=y 494 | CONFIG_HAVE_ARCH_MMAP_RND_BITS=y 495 | CONFIG_HAVE_EXIT_THREAD=y 496 | CONFIG_ARCH_MMAP_RND_BITS=8 497 | CONFIG_CLONE_BACKWARDS=y 498 | CONFIG_OLD_SIGSUSPEND3=y 499 | CONFIG_OLD_SIGACTION=y 500 | CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y 501 | CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y 502 | # CONFIG_STRICT_KERNEL_RWX is not set 503 | CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y 504 | # CONFIG_STRICT_MODULE_RWX is not set 505 | CONFIG_ARCH_HAS_PHYS_TO_DMA=y 506 | CONFIG_REFCOUNT_FULL=y 507 | 508 | # 509 | # GCOV-based kernel profiling 510 | # 511 | # CONFIG_GCOV_KERNEL is not set 512 | CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y 513 | CONFIG_PLUGIN_HOSTCC="g++" 514 | CONFIG_HAVE_GCC_PLUGINS=y 515 | # CONFIG_GCC_PLUGINS is not set 516 | CONFIG_RT_MUTEXES=y 517 | CONFIG_BASE_SMALL=0 518 | CONFIG_MODULES=y 519 | # CONFIG_MODULE_FORCE_LOAD is not set 520 | CONFIG_MODULE_UNLOAD=y 521 | # CONFIG_MODULE_FORCE_UNLOAD is not set 522 | CONFIG_MODVERSIONS=y 523 | CONFIG_MODULE_SRCVERSION_ALL=y 524 | # CONFIG_MODULE_SIG is not set 525 | # CONFIG_MODULE_COMPRESS is not set 526 | # CONFIG_TRIM_UNUSED_KSYMS is not set 527 | CONFIG_MODULES_TREE_LOOKUP=y 528 | CONFIG_BLOCK=y 529 | CONFIG_LBDAF=y 530 | CONFIG_BLK_SCSI_REQUEST=y 531 | CONFIG_BLK_DEV_BSG=y 532 | CONFIG_BLK_DEV_BSGLIB=y 533 | # CONFIG_BLK_DEV_INTEGRITY is not set 534 | # CONFIG_BLK_DEV_ZONED is not set 535 | CONFIG_BLK_DEV_THROTTLING=y 536 | # CONFIG_BLK_DEV_THROTTLING_LOW is not set 537 | # CONFIG_BLK_CMDLINE_PARSER is not set 538 | # CONFIG_BLK_WBT is not set 539 | # CONFIG_BLK_CGROUP_IOLATENCY is not set 540 | CONFIG_BLK_DEBUG_FS=y 541 | # CONFIG_BLK_SED_OPAL is not set 542 | 543 | # 544 | # Partition Types 545 | # 546 | CONFIG_PARTITION_ADVANCED=y 547 | # CONFIG_ACORN_PARTITION is not set 548 | # CONFIG_AIX_PARTITION is not set 549 | # CONFIG_OSF_PARTITION is not set 550 | # CONFIG_AMIGA_PARTITION is not set 551 | # CONFIG_ATARI_PARTITION is not set 552 | # CONFIG_MAC_PARTITION is not set 553 | CONFIG_MSDOS_PARTITION=y 554 | # CONFIG_BSD_DISKLABEL is not set 555 | # CONFIG_MINIX_SUBPARTITION is not set 556 | # CONFIG_SOLARIS_X86_PARTITION is not set 557 | # CONFIG_UNIXWARE_DISKLABEL is not set 558 | # CONFIG_LDM_PARTITION is not set 559 | # CONFIG_SGI_PARTITION is not set 560 | # CONFIG_ULTRIX_PARTITION is not set 561 | # CONFIG_SUN_PARTITION is not set 562 | # CONFIG_KARMA_PARTITION is not set 563 | # CONFIG_EFI_PARTITION is not set 564 | # CONFIG_SYSV68_PARTITION is not set 565 | # CONFIG_CMDLINE_PARTITION is not set 566 | 567 | # 568 | # IO Schedulers 569 | # 570 | CONFIG_IOSCHED_NOOP=y 571 | CONFIG_IOSCHED_DEADLINE=y 572 | CONFIG_IOSCHED_CFQ=y 573 | CONFIG_CFQ_GROUP_IOSCHED=y 574 | # CONFIG_DEFAULT_DEADLINE is not set 575 | CONFIG_DEFAULT_CFQ=y 576 | # CONFIG_DEFAULT_NOOP is not set 577 | CONFIG_DEFAULT_IOSCHED="cfq" 578 | CONFIG_MQ_IOSCHED_DEADLINE=y 579 | CONFIG_MQ_IOSCHED_KYBER=y 580 | # CONFIG_IOSCHED_BFQ is not set 581 | CONFIG_ASN1=y 582 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y 583 | CONFIG_INLINE_READ_UNLOCK=y 584 | CONFIG_INLINE_READ_UNLOCK_IRQ=y 585 | CONFIG_INLINE_WRITE_UNLOCK=y 586 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y 587 | CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y 588 | CONFIG_FREEZER=y 589 | 590 | # 591 | # Executable file formats 592 | # 593 | CONFIG_BINFMT_ELF=y 594 | # CONFIG_BINFMT_ELF_FDPIC is not set 595 | CONFIG_ELFCORE=y 596 | CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y 597 | CONFIG_BINFMT_SCRIPT=y 598 | # CONFIG_BINFMT_FLAT is not set 599 | # CONFIG_BINFMT_MISC is not set 600 | CONFIG_COREDUMP=y 601 | 602 | # 603 | # Memory Management options 604 | # 605 | CONFIG_FLATMEM=y 606 | CONFIG_FLAT_NODE_MEM_MAP=y 607 | CONFIG_HAVE_MEMBLOCK=y 608 | CONFIG_NO_BOOTMEM=y 609 | CONFIG_MEMORY_ISOLATION=y 610 | CONFIG_SPLIT_PTLOCK_CPUS=4 611 | CONFIG_COMPACTION=y 612 | CONFIG_MIGRATION=y 613 | # CONFIG_KSM is not set 614 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 615 | CONFIG_NEED_PER_CPU_KM=y 616 | CONFIG_CLEANCACHE=y 617 | CONFIG_FRONTSWAP=y 618 | CONFIG_CMA=y 619 | # CONFIG_CMA_DEBUG is not set 620 | # CONFIG_CMA_DEBUGFS is not set 621 | CONFIG_CMA_AREAS=7 622 | # CONFIG_ZSWAP is not set 623 | # CONFIG_ZPOOL is not set 624 | # CONFIG_ZBUD is not set 625 | # CONFIG_ZSMALLOC is not set 626 | CONFIG_GENERIC_EARLY_IOREMAP=y 627 | # CONFIG_IDLE_PAGE_TRACKING is not set 628 | # CONFIG_PERCPU_STATS is not set 629 | # CONFIG_GUP_BENCHMARK is not set 630 | CONFIG_NET=y 631 | 632 | # 633 | # Networking options 634 | # 635 | CONFIG_PACKET=y 636 | # CONFIG_PACKET_DIAG is not set 637 | CONFIG_UNIX=y 638 | # CONFIG_UNIX_DIAG is not set 639 | # CONFIG_TLS is not set 640 | CONFIG_XFRM=y 641 | CONFIG_XFRM_ALGO=y 642 | CONFIG_XFRM_USER=y 643 | # CONFIG_XFRM_INTERFACE is not set 644 | # CONFIG_XFRM_SUB_POLICY is not set 645 | # CONFIG_XFRM_MIGRATE is not set 646 | # CONFIG_XFRM_STATISTICS is not set 647 | # CONFIG_NET_KEY is not set 648 | CONFIG_INET=y 649 | CONFIG_IP_MULTICAST=y 650 | CONFIG_IP_ADVANCED_ROUTER=y 651 | # CONFIG_IP_FIB_TRIE_STATS is not set 652 | CONFIG_IP_MULTIPLE_TABLES=y 653 | CONFIG_IP_ROUTE_MULTIPATH=y 654 | CONFIG_IP_ROUTE_VERBOSE=y 655 | CONFIG_IP_PNP=y 656 | CONFIG_IP_PNP_DHCP=y 657 | # CONFIG_IP_PNP_BOOTP is not set 658 | CONFIG_IP_PNP_RARP=y 659 | # CONFIG_NET_IPIP is not set 660 | # CONFIG_NET_IPGRE_DEMUX is not set 661 | CONFIG_IP_MROUTE_COMMON=y 662 | CONFIG_IP_MROUTE=y 663 | CONFIG_IP_MROUTE_MULTIPLE_TABLES=y 664 | CONFIG_IP_PIMSM_V1=y 665 | CONFIG_IP_PIMSM_V2=y 666 | CONFIG_SYN_COOKIES=y 667 | # CONFIG_NET_FOU is not set 668 | # CONFIG_INET_AH is not set 669 | # CONFIG_INET_ESP is not set 670 | # CONFIG_INET_IPCOMP is not set 671 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set 672 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set 673 | # CONFIG_INET_XFRM_MODE_BEET is not set 674 | # CONFIG_INET_DIAG is not set 675 | # CONFIG_TCP_CONG_ADVANCED is not set 676 | CONFIG_TCP_CONG_CUBIC=y 677 | CONFIG_DEFAULT_TCP_CONG="cubic" 678 | # CONFIG_TCP_MD5SIG is not set 679 | CONFIG_IPV6=y 680 | # CONFIG_IPV6_ROUTER_PREF is not set 681 | # CONFIG_IPV6_OPTIMISTIC_DAD is not set 682 | # CONFIG_INET6_AH is not set 683 | # CONFIG_INET6_ESP is not set 684 | # CONFIG_INET6_IPCOMP is not set 685 | # CONFIG_IPV6_MIP6 is not set 686 | # CONFIG_INET6_XFRM_MODE_TRANSPORT is not set 687 | # CONFIG_INET6_XFRM_MODE_TUNNEL is not set 688 | # CONFIG_INET6_XFRM_MODE_BEET is not set 689 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set 690 | # CONFIG_IPV6_SIT is not set 691 | # CONFIG_IPV6_TUNNEL is not set 692 | CONFIG_IPV6_MULTIPLE_TABLES=y 693 | CONFIG_IPV6_SUBTREES=y 694 | CONFIG_IPV6_MROUTE=y 695 | CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y 696 | CONFIG_IPV6_PIMSM_V2=y 697 | # CONFIG_IPV6_SEG6_LWTUNNEL is not set 698 | # CONFIG_IPV6_SEG6_HMAC is not set 699 | # CONFIG_NETWORK_SECMARK is not set 700 | # CONFIG_NETWORK_PHY_TIMESTAMPING is not set 701 | # CONFIG_NETFILTER is not set 702 | # CONFIG_BPFILTER is not set 703 | # CONFIG_IP_DCCP is not set 704 | # CONFIG_IP_SCTP is not set 705 | # CONFIG_RDS is not set 706 | # CONFIG_TIPC is not set 707 | # CONFIG_ATM is not set 708 | # CONFIG_L2TP is not set 709 | # CONFIG_BRIDGE is not set 710 | CONFIG_HAVE_NET_DSA=y 711 | # CONFIG_NET_DSA is not set 712 | # CONFIG_VLAN_8021Q is not set 713 | # CONFIG_DECNET is not set 714 | # CONFIG_LLC2 is not set 715 | # CONFIG_ATALK is not set 716 | # CONFIG_X25 is not set 717 | # CONFIG_LAPB is not set 718 | # CONFIG_PHONET is not set 719 | # CONFIG_6LOWPAN is not set 720 | # CONFIG_IEEE802154 is not set 721 | # CONFIG_NET_SCHED is not set 722 | # CONFIG_DCB is not set 723 | CONFIG_DNS_RESOLVER=y 724 | # CONFIG_BATMAN_ADV is not set 725 | # CONFIG_OPENVSWITCH is not set 726 | # CONFIG_VSOCKETS is not set 727 | # CONFIG_NETLINK_DIAG is not set 728 | # CONFIG_MPLS is not set 729 | # CONFIG_NET_NSH is not set 730 | # CONFIG_HSR is not set 731 | # CONFIG_NET_SWITCHDEV is not set 732 | CONFIG_NET_L3_MASTER_DEV=y 733 | # CONFIG_NET_NCSI is not set 734 | # CONFIG_CGROUP_NET_PRIO is not set 735 | CONFIG_CGROUP_NET_CLASSID=y 736 | CONFIG_NET_RX_BUSY_POLL=y 737 | CONFIG_BQL=y 738 | # CONFIG_BPF_JIT is not set 739 | 740 | # 741 | # Network testing 742 | # 743 | # CONFIG_NET_PKTGEN is not set 744 | # CONFIG_NET_DROP_MONITOR is not set 745 | # CONFIG_HAMRADIO is not set 746 | # CONFIG_CAN is not set 747 | # CONFIG_BT is not set 748 | # CONFIG_AF_RXRPC is not set 749 | # CONFIG_AF_KCM is not set 750 | CONFIG_FIB_RULES=y 751 | CONFIG_WIRELESS=y 752 | CONFIG_WIRELESS_EXT=y 753 | CONFIG_WEXT_CORE=y 754 | CONFIG_WEXT_PROC=y 755 | CONFIG_WEXT_PRIV=y 756 | CONFIG_CFG80211=m 757 | # CONFIG_NL80211_TESTMODE is not set 758 | # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set 759 | # CONFIG_CFG80211_CERTIFICATION_ONUS is not set 760 | CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y 761 | CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y 762 | CONFIG_CFG80211_DEFAULT_PS=y 763 | # CONFIG_CFG80211_DEBUGFS is not set 764 | CONFIG_CFG80211_CRDA_SUPPORT=y 765 | CONFIG_CFG80211_WEXT=y 766 | CONFIG_LIB80211=m 767 | CONFIG_LIB80211_CRYPT_WEP=m 768 | CONFIG_LIB80211_CRYPT_CCMP=m 769 | # CONFIG_LIB80211_DEBUG is not set 770 | CONFIG_MAC80211=m 771 | CONFIG_MAC80211_HAS_RC=y 772 | CONFIG_MAC80211_RC_MINSTREL=y 773 | CONFIG_MAC80211_RC_MINSTREL_HT=y 774 | # CONFIG_MAC80211_RC_MINSTREL_VHT is not set 775 | CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y 776 | CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" 777 | CONFIG_MAC80211_MESH=y 778 | CONFIG_MAC80211_LEDS=y 779 | # CONFIG_MAC80211_DEBUGFS is not set 780 | # CONFIG_MAC80211_MESSAGE_TRACING is not set 781 | # CONFIG_MAC80211_DEBUG_MENU is not set 782 | CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 783 | # CONFIG_WIMAX is not set 784 | CONFIG_RFKILL=y 785 | CONFIG_RFKILL_LEDS=y 786 | CONFIG_RFKILL_INPUT=y 787 | # CONFIG_RFKILL_GPIO is not set 788 | # CONFIG_NET_9P is not set 789 | # CONFIG_CAIF is not set 790 | # CONFIG_CEPH_LIB is not set 791 | # CONFIG_NFC is not set 792 | # CONFIG_PSAMPLE is not set 793 | # CONFIG_NET_IFE is not set 794 | # CONFIG_LWTUNNEL is not set 795 | CONFIG_GRO_CELLS=y 796 | # CONFIG_NET_DEVLINK is not set 797 | CONFIG_MAY_USE_DEVLINK=y 798 | # CONFIG_FAILOVER is not set 799 | CONFIG_HAVE_EBPF_JIT=y 800 | 801 | # 802 | # Device Drivers 803 | # 804 | CONFIG_ARM_AMBA=y 805 | 806 | # 807 | # Generic Driver Options 808 | # 809 | CONFIG_UEVENT_HELPER=y 810 | CONFIG_UEVENT_HELPER_PATH="" 811 | CONFIG_DEVTMPFS=y 812 | CONFIG_DEVTMPFS_MOUNT=y 813 | CONFIG_STANDALONE=y 814 | CONFIG_PREVENT_FIRMWARE_BUILD=y 815 | 816 | # 817 | # Firmware loader 818 | # 819 | CONFIG_FW_LOADER=y 820 | CONFIG_EXTRA_FIRMWARE="" 821 | # CONFIG_FW_LOADER_USER_HELPER is not set 822 | CONFIG_WANT_DEV_COREDUMP=y 823 | CONFIG_ALLOW_DEV_COREDUMP=y 824 | CONFIG_DEV_COREDUMP=y 825 | # CONFIG_DEBUG_DRIVER is not set 826 | # CONFIG_DEBUG_DEVRES is not set 827 | # CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set 828 | # CONFIG_TEST_ASYNC_DRIVER_PROBE is not set 829 | CONFIG_GENERIC_CPU_AUTOPROBE=y 830 | CONFIG_REGMAP=y 831 | CONFIG_REGMAP_I2C=y 832 | CONFIG_REGMAP_SPI=y 833 | CONFIG_DMA_SHARED_BUFFER=y 834 | # CONFIG_DMA_FENCE_TRACE is not set 835 | CONFIG_DMA_CMA=y 836 | 837 | # 838 | # Default contiguous memory area size: 839 | # 840 | CONFIG_CMA_SIZE_MBYTES=5 841 | CONFIG_CMA_SIZE_SEL_MBYTES=y 842 | # CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set 843 | # CONFIG_CMA_SIZE_SEL_MIN is not set 844 | # CONFIG_CMA_SIZE_SEL_MAX is not set 845 | CONFIG_CMA_ALIGNMENT=8 846 | 847 | # 848 | # Bus devices 849 | # 850 | # CONFIG_BRCMSTB_GISB_ARB is not set 851 | # CONFIG_SIMPLE_PM_BUS is not set 852 | # CONFIG_VEXPRESS_CONFIG is not set 853 | # CONFIG_CONNECTOR is not set 854 | # CONFIG_GNSS is not set 855 | # CONFIG_MTD is not set 856 | CONFIG_DTC=y 857 | CONFIG_OF=y 858 | # CONFIG_OF_UNITTEST is not set 859 | CONFIG_OF_FLATTREE=y 860 | CONFIG_OF_EARLY_FLATTREE=y 861 | CONFIG_OF_KOBJ=y 862 | CONFIG_OF_DYNAMIC=y 863 | CONFIG_OF_ADDRESS=y 864 | CONFIG_OF_IRQ=y 865 | CONFIG_OF_NET=y 866 | CONFIG_OF_RESERVED_MEM=y 867 | CONFIG_OF_RESOLVE=y 868 | CONFIG_OF_OVERLAY=y 869 | CONFIG_OF_CONFIGFS=y 870 | CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y 871 | # CONFIG_PARPORT is not set 872 | CONFIG_BLK_DEV=y 873 | # CONFIG_BLK_DEV_NULL_BLK is not set 874 | CONFIG_BLK_DEV_LOOP=y 875 | CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 876 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set 877 | # CONFIG_BLK_DEV_DRBD is not set 878 | # CONFIG_BLK_DEV_NBD is not set 879 | CONFIG_BLK_DEV_RAM=y 880 | CONFIG_BLK_DEV_RAM_COUNT=16 881 | CONFIG_BLK_DEV_RAM_SIZE=4096 882 | # CONFIG_CDROM_PKTCDVD is not set 883 | # CONFIG_ATA_OVER_ETH is not set 884 | # CONFIG_BLK_DEV_RBD is not set 885 | 886 | # 887 | # NVME Support 888 | # 889 | # CONFIG_NVME_FC is not set 890 | # CONFIG_NVME_TARGET is not set 891 | 892 | # 893 | # Misc devices 894 | # 895 | # CONFIG_BCM2835_SMI is not set 896 | # CONFIG_AD525X_DPOT is not set 897 | # CONFIG_DUMMY_IRQ is not set 898 | # CONFIG_ICS932S401 is not set 899 | # CONFIG_ENCLOSURE_SERVICES is not set 900 | # CONFIG_APDS9802ALS is not set 901 | # CONFIG_ISL29003 is not set 902 | # CONFIG_ISL29020 is not set 903 | # CONFIG_SENSORS_TSL2550 is not set 904 | # CONFIG_SENSORS_BH1770 is not set 905 | # CONFIG_SENSORS_APDS990X is not set 906 | # CONFIG_HMC6352 is not set 907 | # CONFIG_DS1682 is not set 908 | # CONFIG_USB_SWITCH_FSA9480 is not set 909 | # CONFIG_LATTICE_ECP3_CONFIG is not set 910 | # CONFIG_SRAM is not set 911 | # CONFIG_C2PORT is not set 912 | 913 | # 914 | # EEPROM support 915 | # 916 | CONFIG_EEPROM_AT24=y 917 | # CONFIG_EEPROM_AT25 is not set 918 | # CONFIG_EEPROM_LEGACY is not set 919 | # CONFIG_EEPROM_MAX6875 is not set 920 | CONFIG_EEPROM_93CX6=y 921 | # CONFIG_EEPROM_93XX46 is not set 922 | # CONFIG_EEPROM_IDT_89HPESX is not set 923 | 924 | # 925 | # Texas Instruments shared transport line discipline 926 | # 927 | # CONFIG_TI_ST is not set 928 | # CONFIG_SENSORS_LIS3_SPI is not set 929 | # CONFIG_SENSORS_LIS3_I2C is not set 930 | # CONFIG_ALTERA_STAPL is not set 931 | 932 | # 933 | # Intel MIC & related support 934 | # 935 | 936 | # 937 | # Intel MIC Bus Driver 938 | # 939 | 940 | # 941 | # SCIF Bus Driver 942 | # 943 | 944 | # 945 | # VOP Bus Driver 946 | # 947 | 948 | # 949 | # Intel MIC Host Driver 950 | # 951 | 952 | # 953 | # Intel MIC Card Driver 954 | # 955 | 956 | # 957 | # SCIF Driver 958 | # 959 | 960 | # 961 | # Intel MIC Coprocessor State Management (COSM) Drivers 962 | # 963 | 964 | # 965 | # VOP Driver 966 | # 967 | # CONFIG_ECHO is not set 968 | # CONFIG_MISC_RTSX_USB is not set 969 | 970 | # 971 | # SCSI device support 972 | # 973 | CONFIG_SCSI_MOD=y 974 | # CONFIG_RAID_ATTRS is not set 975 | CONFIG_SCSI=y 976 | CONFIG_SCSI_DMA=y 977 | CONFIG_SCSI_MQ_DEFAULT=y 978 | # CONFIG_SCSI_PROC_FS is not set 979 | 980 | # 981 | # SCSI support type (disk, tape, CD-ROM) 982 | # 983 | CONFIG_BLK_DEV_SD=y 984 | # CONFIG_CHR_DEV_ST is not set 985 | # CONFIG_CHR_DEV_OSST is not set 986 | # CONFIG_BLK_DEV_SR is not set 987 | # CONFIG_CHR_DEV_SG is not set 988 | # CONFIG_CHR_DEV_SCH is not set 989 | # CONFIG_SCSI_CONSTANTS is not set 990 | # CONFIG_SCSI_LOGGING is not set 991 | # CONFIG_SCSI_SCAN_ASYNC is not set 992 | 993 | # 994 | # SCSI Transports 995 | # 996 | # CONFIG_SCSI_SPI_ATTRS is not set 997 | # CONFIG_SCSI_FC_ATTRS is not set 998 | CONFIG_SCSI_ISCSI_ATTRS=y 999 | # CONFIG_SCSI_SAS_ATTRS is not set 1000 | # CONFIG_SCSI_SAS_LIBSAS is not set 1001 | # CONFIG_SCSI_SRP_ATTRS is not set 1002 | # CONFIG_SCSI_LOWLEVEL is not set 1003 | # CONFIG_SCSI_DH is not set 1004 | # CONFIG_SCSI_OSD_INITIATOR is not set 1005 | # CONFIG_ATA is not set 1006 | # CONFIG_MD is not set 1007 | # CONFIG_TARGET_CORE is not set 1008 | CONFIG_NETDEVICES=y 1009 | CONFIG_MII=y 1010 | # CONFIG_NET_CORE is not set 1011 | 1012 | # 1013 | # CAIF transport drivers 1014 | # 1015 | 1016 | # 1017 | # Distributed Switch Architecture drivers 1018 | # 1019 | # CONFIG_ETHERNET is not set 1020 | # CONFIG_MDIO_DEVICE is not set 1021 | # CONFIG_PHYLIB is not set 1022 | # CONFIG_MICREL_KS8995MA is not set 1023 | # CONFIG_PPP is not set 1024 | # CONFIG_SLIP is not set 1025 | CONFIG_USB_NET_DRIVERS=y 1026 | # CONFIG_USB_CATC is not set 1027 | # CONFIG_USB_KAWETH is not set 1028 | # CONFIG_USB_PEGASUS is not set 1029 | # CONFIG_USB_RTL8150 is not set 1030 | # CONFIG_USB_RTL8152 is not set 1031 | # CONFIG_USB_LAN78XX is not set 1032 | CONFIG_USB_USBNET=y 1033 | # CONFIG_USB_NET_AX8817X is not set 1034 | # CONFIG_USB_NET_AX88179_178A is not set 1035 | # CONFIG_USB_NET_CDCETHER is not set 1036 | # CONFIG_USB_NET_CDC_EEM is not set 1037 | # CONFIG_USB_NET_CDC_NCM is not set 1038 | # CONFIG_USB_NET_HUAWEI_CDC_NCM is not set 1039 | # CONFIG_USB_NET_CDC_MBIM is not set 1040 | # CONFIG_USB_NET_DM9601 is not set 1041 | # CONFIG_USB_NET_SR9700 is not set 1042 | # CONFIG_USB_NET_SR9800 is not set 1043 | # CONFIG_USB_NET_SMSC75XX is not set 1044 | CONFIG_USB_NET_SMSC95XX=y 1045 | # CONFIG_USB_NET_GL620A is not set 1046 | # CONFIG_USB_NET_NET1080 is not set 1047 | # CONFIG_USB_NET_PLUSB is not set 1048 | # CONFIG_USB_NET_MCS7830 is not set 1049 | # CONFIG_USB_NET_RNDIS_HOST is not set 1050 | # CONFIG_USB_NET_CDC_SUBSET is not set 1051 | # CONFIG_USB_NET_ZAURUS is not set 1052 | # CONFIG_USB_NET_CX82310_ETH is not set 1053 | # CONFIG_USB_NET_KALMIA is not set 1054 | # CONFIG_USB_NET_QMI_WWAN is not set 1055 | # CONFIG_USB_HSO is not set 1056 | # CONFIG_USB_NET_INT51X1 is not set 1057 | # CONFIG_USB_IPHETH is not set 1058 | # CONFIG_USB_SIERRA_NET is not set 1059 | # CONFIG_USB_NET_CH9200 is not set 1060 | CONFIG_WLAN=y 1061 | # CONFIG_WIRELESS_WDS is not set 1062 | # CONFIG_WLAN_VENDOR_ADMTEK is not set 1063 | # CONFIG_WLAN_VENDOR_ATH is not set 1064 | # CONFIG_WLAN_VENDOR_ATMEL is not set 1065 | CONFIG_WLAN_VENDOR_BROADCOM=y 1066 | CONFIG_B43=m 1067 | CONFIG_B43_BCMA=y 1068 | CONFIG_B43_SSB=y 1069 | CONFIG_B43_BUSES_BCMA_AND_SSB=y 1070 | # CONFIG_B43_BUSES_BCMA is not set 1071 | # CONFIG_B43_BUSES_SSB is not set 1072 | # CONFIG_B43_SDIO is not set 1073 | CONFIG_B43_BCMA_PIO=y 1074 | CONFIG_B43_PIO=y 1075 | CONFIG_B43_PHY_G=y 1076 | # CONFIG_B43_PHY_N is not set 1077 | CONFIG_B43_PHY_LP=y 1078 | CONFIG_B43_PHY_HT=y 1079 | CONFIG_B43_LEDS=y 1080 | CONFIG_B43_HWRNG=y 1081 | # CONFIG_B43_DEBUG is not set 1082 | CONFIG_B43LEGACY=m 1083 | CONFIG_B43LEGACY_LEDS=y 1084 | CONFIG_B43LEGACY_HWRNG=y 1085 | CONFIG_B43LEGACY_DEBUG=y 1086 | CONFIG_B43LEGACY_DMA=y 1087 | CONFIG_B43LEGACY_PIO=y 1088 | CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y 1089 | # CONFIG_B43LEGACY_DMA_MODE is not set 1090 | # CONFIG_B43LEGACY_PIO_MODE is not set 1091 | CONFIG_BRCMUTIL=m 1092 | # CONFIG_BRCMSMAC is not set 1093 | CONFIG_BRCMFMAC=m 1094 | CONFIG_BRCMFMAC_PROTO_BCDC=y 1095 | CONFIG_BRCMFMAC_SDIO=y 1096 | CONFIG_BRCMFMAC_USB=y 1097 | # CONFIG_BRCM_TRACING is not set 1098 | CONFIG_BRCMDBG=y 1099 | # CONFIG_WLAN_VENDOR_CISCO is not set 1100 | # CONFIG_WLAN_VENDOR_INTEL is not set 1101 | # CONFIG_WLAN_VENDOR_INTERSIL is not set 1102 | # CONFIG_WLAN_VENDOR_MARVELL is not set 1103 | # CONFIG_WLAN_VENDOR_MEDIATEK is not set 1104 | # CONFIG_WLAN_VENDOR_RALINK is not set 1105 | # CONFIG_WLAN_VENDOR_REALTEK is not set 1106 | # CONFIG_WLAN_VENDOR_RSI is not set 1107 | # CONFIG_WLAN_VENDOR_ST is not set 1108 | # CONFIG_WLAN_VENDOR_TI is not set 1109 | # CONFIG_WLAN_VENDOR_ZYDAS is not set 1110 | # CONFIG_WLAN_VENDOR_QUANTENNA is not set 1111 | # CONFIG_MAC80211_HWSIM is not set 1112 | # CONFIG_USB_NET_RNDIS_WLAN is not set 1113 | 1114 | # 1115 | # Enable WiMAX (Networking options) to see the WiMAX drivers 1116 | # 1117 | # CONFIG_WAN is not set 1118 | # CONFIG_NETDEVSIM is not set 1119 | # CONFIG_NET_FAILOVER is not set 1120 | # CONFIG_ISDN is not set 1121 | 1122 | # 1123 | # Input device support 1124 | # 1125 | CONFIG_INPUT=y 1126 | CONFIG_INPUT_LEDS=y 1127 | # CONFIG_INPUT_FF_MEMLESS is not set 1128 | # CONFIG_INPUT_POLLDEV is not set 1129 | # CONFIG_INPUT_SPARSEKMAP is not set 1130 | CONFIG_INPUT_MATRIXKMAP=y 1131 | 1132 | # 1133 | # Userland interfaces 1134 | # 1135 | # CONFIG_INPUT_MOUSEDEV is not set 1136 | # CONFIG_INPUT_JOYDEV is not set 1137 | CONFIG_INPUT_EVDEV=y 1138 | # CONFIG_INPUT_EVBUG is not set 1139 | 1140 | # 1141 | # Input Device Drivers 1142 | # 1143 | CONFIG_INPUT_KEYBOARD=y 1144 | # CONFIG_KEYBOARD_ADP5588 is not set 1145 | # CONFIG_KEYBOARD_ADP5589 is not set 1146 | # CONFIG_KEYBOARD_ATKBD is not set 1147 | # CONFIG_KEYBOARD_QT1070 is not set 1148 | # CONFIG_KEYBOARD_QT2160 is not set 1149 | # CONFIG_KEYBOARD_DLINK_DIR685 is not set 1150 | # CONFIG_KEYBOARD_LKKBD is not set 1151 | CONFIG_KEYBOARD_GPIO=y 1152 | # CONFIG_KEYBOARD_GPIO_POLLED is not set 1153 | # CONFIG_KEYBOARD_TCA6416 is not set 1154 | # CONFIG_KEYBOARD_TCA8418 is not set 1155 | CONFIG_KEYBOARD_MATRIX=y 1156 | # CONFIG_KEYBOARD_LM8323 is not set 1157 | # CONFIG_KEYBOARD_LM8333 is not set 1158 | # CONFIG_KEYBOARD_MAX7359 is not set 1159 | # CONFIG_KEYBOARD_MCS is not set 1160 | # CONFIG_KEYBOARD_MPR121 is not set 1161 | # CONFIG_KEYBOARD_NEWTON is not set 1162 | # CONFIG_KEYBOARD_OPENCORES is not set 1163 | # CONFIG_KEYBOARD_SAMSUNG is not set 1164 | # CONFIG_KEYBOARD_STOWAWAY is not set 1165 | # CONFIG_KEYBOARD_SUNKBD is not set 1166 | # CONFIG_KEYBOARD_OMAP4 is not set 1167 | # CONFIG_KEYBOARD_TM2_TOUCHKEY is not set 1168 | # CONFIG_KEYBOARD_XTKBD is not set 1169 | # CONFIG_KEYBOARD_CAP11XX is not set 1170 | # CONFIG_KEYBOARD_BCM is not set 1171 | # CONFIG_INPUT_MOUSE is not set 1172 | # CONFIG_INPUT_JOYSTICK is not set 1173 | # CONFIG_INPUT_TABLET is not set 1174 | CONFIG_INPUT_TOUCHSCREEN=y 1175 | CONFIG_TOUCHSCREEN_PROPERTIES=y 1176 | # CONFIG_TOUCHSCREEN_ADS7846 is not set 1177 | # CONFIG_TOUCHSCREEN_AD7877 is not set 1178 | # CONFIG_TOUCHSCREEN_AD7879 is not set 1179 | # CONFIG_TOUCHSCREEN_AR1021_I2C is not set 1180 | # CONFIG_TOUCHSCREEN_ATMEL_MXT is not set 1181 | # CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set 1182 | # CONFIG_TOUCHSCREEN_BU21013 is not set 1183 | # CONFIG_TOUCHSCREEN_BU21029 is not set 1184 | # CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set 1185 | # CONFIG_TOUCHSCREEN_CY8CTMG110 is not set 1186 | # CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set 1187 | # CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set 1188 | # CONFIG_TOUCHSCREEN_DYNAPRO is not set 1189 | # CONFIG_TOUCHSCREEN_HAMPSHIRE is not set 1190 | # CONFIG_TOUCHSCREEN_EETI is not set 1191 | # CONFIG_TOUCHSCREEN_EGALAX is not set 1192 | # CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set 1193 | # CONFIG_TOUCHSCREEN_EXC3000 is not set 1194 | # CONFIG_TOUCHSCREEN_FUJITSU is not set 1195 | # CONFIG_TOUCHSCREEN_GOODIX is not set 1196 | # CONFIG_TOUCHSCREEN_HIDEEP is not set 1197 | # CONFIG_TOUCHSCREEN_ILI210X is not set 1198 | # CONFIG_TOUCHSCREEN_S6SY761 is not set 1199 | # CONFIG_TOUCHSCREEN_GUNZE is not set 1200 | # CONFIG_TOUCHSCREEN_EKTF2127 is not set 1201 | # CONFIG_TOUCHSCREEN_ELAN is not set 1202 | # CONFIG_TOUCHSCREEN_ELO is not set 1203 | # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set 1204 | # CONFIG_TOUCHSCREEN_WACOM_I2C is not set 1205 | # CONFIG_TOUCHSCREEN_MAX11801 is not set 1206 | # CONFIG_TOUCHSCREEN_MCS5000 is not set 1207 | # CONFIG_TOUCHSCREEN_MMS114 is not set 1208 | # CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set 1209 | # CONFIG_TOUCHSCREEN_MTOUCH is not set 1210 | # CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set 1211 | # CONFIG_TOUCHSCREEN_INEXIO is not set 1212 | # CONFIG_TOUCHSCREEN_MK712 is not set 1213 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set 1214 | # CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set 1215 | CONFIG_TOUCHSCREEN_RPI_FT5406=y 1216 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set 1217 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set 1218 | # CONFIG_TOUCHSCREEN_PIXCIR is not set 1219 | # CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set 1220 | # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set 1221 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set 1222 | # CONFIG_TOUCHSCREEN_TSC_SERIO is not set 1223 | # CONFIG_TOUCHSCREEN_TSC2004 is not set 1224 | # CONFIG_TOUCHSCREEN_TSC2005 is not set 1225 | # CONFIG_TOUCHSCREEN_TSC2007 is not set 1226 | # CONFIG_TOUCHSCREEN_RM_TS is not set 1227 | # CONFIG_TOUCHSCREEN_SILEAD is not set 1228 | # CONFIG_TOUCHSCREEN_SIS_I2C is not set 1229 | # CONFIG_TOUCHSCREEN_ST1232 is not set 1230 | # CONFIG_TOUCHSCREEN_STMFTS is not set 1231 | # CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set 1232 | # CONFIG_TOUCHSCREEN_SX8654 is not set 1233 | # CONFIG_TOUCHSCREEN_TPS6507X is not set 1234 | # CONFIG_TOUCHSCREEN_ZET6223 is not set 1235 | # CONFIG_TOUCHSCREEN_ZFORCE is not set 1236 | # CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set 1237 | # CONFIG_INPUT_MISC is not set 1238 | # CONFIG_RMI4_CORE is not set 1239 | 1240 | # 1241 | # Hardware I/O ports 1242 | # 1243 | # CONFIG_SERIO is not set 1244 | # CONFIG_GAMEPORT is not set 1245 | 1246 | # 1247 | # Character devices 1248 | # 1249 | CONFIG_BRCM_CHAR_DRIVERS=y 1250 | CONFIG_BCM2708_VCMEM=y 1251 | CONFIG_BCM_VCIO=y 1252 | CONFIG_BCM_VC_SM=y 1253 | CONFIG_BCM2835_DEVGPIOMEM=y 1254 | # CONFIG_ARGON_MEM is not set 1255 | CONFIG_TTY=y 1256 | CONFIG_VT=y 1257 | CONFIG_CONSOLE_TRANSLATIONS=y 1258 | CONFIG_VT_CONSOLE=y 1259 | CONFIG_HW_CONSOLE=y 1260 | CONFIG_VT_HW_CONSOLE_BINDING=y 1261 | CONFIG_UNIX98_PTYS=y 1262 | # CONFIG_LEGACY_PTYS is not set 1263 | # CONFIG_SERIAL_NONSTANDARD is not set 1264 | # CONFIG_N_GSM is not set 1265 | # CONFIG_TRACE_SINK is not set 1266 | CONFIG_LDISC_AUTOLOAD=y 1267 | CONFIG_DEVMEM=y 1268 | # CONFIG_DEVKMEM is not set 1269 | 1270 | # 1271 | # Serial drivers 1272 | # 1273 | CONFIG_SERIAL_EARLYCON=y 1274 | CONFIG_SERIAL_8250=y 1275 | # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set 1276 | # CONFIG_SERIAL_8250_FINTEK is not set 1277 | CONFIG_SERIAL_8250_CONSOLE=y 1278 | # CONFIG_SERIAL_8250_DMA is not set 1279 | CONFIG_SERIAL_8250_NR_UARTS=1 1280 | CONFIG_SERIAL_8250_RUNTIME_UARTS=0 1281 | CONFIG_SERIAL_8250_EXTENDED=y 1282 | # CONFIG_SERIAL_8250_MANY_PORTS is not set 1283 | # CONFIG_SERIAL_8250_ASPEED_VUART is not set 1284 | CONFIG_SERIAL_8250_SHARE_IRQ=y 1285 | # CONFIG_SERIAL_8250_DETECT_IRQ is not set 1286 | # CONFIG_SERIAL_8250_RSA is not set 1287 | CONFIG_SERIAL_8250_BCM2835AUX=y 1288 | CONFIG_SERIAL_8250_FSL=y 1289 | # CONFIG_SERIAL_8250_DW is not set 1290 | # CONFIG_SERIAL_8250_EM is not set 1291 | # CONFIG_SERIAL_8250_RT288X is not set 1292 | CONFIG_SERIAL_OF_PLATFORM=y 1293 | 1294 | # 1295 | # Non-8250 serial port support 1296 | # 1297 | # CONFIG_SERIAL_AMBA_PL010 is not set 1298 | CONFIG_SERIAL_AMBA_PL011=y 1299 | CONFIG_SERIAL_AMBA_PL011_CONSOLE=y 1300 | # CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set 1301 | # CONFIG_SERIAL_KGDB_NMI is not set 1302 | # CONFIG_SERIAL_MAX3100 is not set 1303 | # CONFIG_SERIAL_MAX310X is not set 1304 | # CONFIG_SERIAL_UARTLITE is not set 1305 | CONFIG_SERIAL_CORE=y 1306 | CONFIG_SERIAL_CORE_CONSOLE=y 1307 | CONFIG_CONSOLE_POLL=y 1308 | # CONFIG_SERIAL_SCCNXP is not set 1309 | # CONFIG_SERIAL_SC16IS7XX is not set 1310 | # CONFIG_SERIAL_BCM63XX is not set 1311 | # CONFIG_SERIAL_ALTERA_JTAGUART is not set 1312 | # CONFIG_SERIAL_ALTERA_UART is not set 1313 | # CONFIG_SERIAL_IFX6X60 is not set 1314 | # CONFIG_SERIAL_XILINX_PS_UART is not set 1315 | # CONFIG_SERIAL_ARC is not set 1316 | # CONFIG_SERIAL_FSL_LPUART is not set 1317 | # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set 1318 | # CONFIG_SERIAL_ST_ASC is not set 1319 | # CONFIG_SERIAL_DEV_BUS is not set 1320 | CONFIG_TTY_PRINTK=y 1321 | # CONFIG_HVC_DCC is not set 1322 | # CONFIG_IPMI_HANDLER is not set 1323 | CONFIG_HW_RANDOM=y 1324 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set 1325 | CONFIG_HW_RANDOM_BCM2835=y 1326 | CONFIG_HW_RANDOM_IPROC_RNG200=y 1327 | CONFIG_RAW_DRIVER=y 1328 | CONFIG_MAX_RAW_DEVS=256 1329 | # CONFIG_TCG_TPM is not set 1330 | # CONFIG_XILLYBUS is not set 1331 | 1332 | # 1333 | # I2C support 1334 | # 1335 | CONFIG_I2C=y 1336 | CONFIG_I2C_BOARDINFO=y 1337 | CONFIG_I2C_COMPAT=y 1338 | CONFIG_I2C_CHARDEV=y 1339 | # CONFIG_I2C_MUX is not set 1340 | CONFIG_I2C_HELPER_AUTO=y 1341 | CONFIG_I2C_ALGOBIT=y 1342 | 1343 | # 1344 | # I2C Hardware Bus support 1345 | # 1346 | CONFIG_I2C_BCM2708=y 1347 | CONFIG_I2C_BCM2708_BAUDRATE=100000 1348 | 1349 | # 1350 | # I2C system bus drivers (mostly embedded / system-on-chip) 1351 | # 1352 | CONFIG_I2C_BCM2835=y 1353 | # CONFIG_I2C_CBUS_GPIO is not set 1354 | # CONFIG_I2C_DESIGNWARE_PLATFORM is not set 1355 | # CONFIG_I2C_EMEV2 is not set 1356 | CONFIG_I2C_GPIO=y 1357 | # CONFIG_I2C_GPIO_FAULT_INJECTOR is not set 1358 | # CONFIG_I2C_NOMADIK is not set 1359 | # CONFIG_I2C_OCORES is not set 1360 | # CONFIG_I2C_PCA_PLATFORM is not set 1361 | # CONFIG_I2C_RK3X is not set 1362 | # CONFIG_I2C_SIMTEC is not set 1363 | # CONFIG_I2C_XILINX is not set 1364 | 1365 | # 1366 | # External I2C/SMBus adapter drivers 1367 | # 1368 | # CONFIG_I2C_DIOLAN_U2C is not set 1369 | # CONFIG_I2C_PARPORT_LIGHT is not set 1370 | # CONFIG_I2C_ROBOTFUZZ_OSIF is not set 1371 | # CONFIG_I2C_TAOS_EVM is not set 1372 | # CONFIG_I2C_TINY_USB is not set 1373 | 1374 | # 1375 | # Other I2C/SMBus bus drivers 1376 | # 1377 | # CONFIG_I2C_STUB is not set 1378 | # CONFIG_I2C_SLAVE is not set 1379 | # CONFIG_I2C_DEBUG_CORE is not set 1380 | # CONFIG_I2C_DEBUG_ALGO is not set 1381 | # CONFIG_I2C_DEBUG_BUS is not set 1382 | CONFIG_SPI=y 1383 | # CONFIG_SPI_DEBUG is not set 1384 | CONFIG_SPI_MASTER=y 1385 | CONFIG_SPI_MEM=y 1386 | 1387 | # 1388 | # SPI Master Controller Drivers 1389 | # 1390 | # CONFIG_SPI_ALTERA is not set 1391 | # CONFIG_SPI_AXI_SPI_ENGINE is not set 1392 | CONFIG_SPI_BCM2835=y 1393 | CONFIG_SPI_BCM2835AUX=y 1394 | # CONFIG_SPI_BCM_QSPI is not set 1395 | CONFIG_SPI_BITBANG=y 1396 | # CONFIG_SPI_CADENCE is not set 1397 | # CONFIG_SPI_DESIGNWARE is not set 1398 | CONFIG_SPI_GPIO=y 1399 | # CONFIG_SPI_FSL_SPI is not set 1400 | # CONFIG_SPI_OC_TINY is not set 1401 | # CONFIG_SPI_PL022 is not set 1402 | # CONFIG_SPI_ROCKCHIP is not set 1403 | # CONFIG_SPI_SC18IS602 is not set 1404 | # CONFIG_SPI_XCOMM is not set 1405 | # CONFIG_SPI_XILINX is not set 1406 | # CONFIG_SPI_ZYNQMP_GQSPI is not set 1407 | 1408 | # 1409 | # SPI Protocol Masters 1410 | # 1411 | CONFIG_SPI_SPIDEV=y 1412 | # CONFIG_SPI_LOOPBACK_TEST is not set 1413 | # CONFIG_SPI_TLE62X0 is not set 1414 | CONFIG_SPI_SLAVE=y 1415 | # CONFIG_SPI_SLAVE_TIME is not set 1416 | # CONFIG_SPI_SLAVE_SYSTEM_CONTROL is not set 1417 | # CONFIG_SPMI is not set 1418 | # CONFIG_HSI is not set 1419 | # CONFIG_PPS is not set 1420 | 1421 | # 1422 | # PTP clock support 1423 | # 1424 | # CONFIG_PTP_1588_CLOCK is not set 1425 | 1426 | # 1427 | # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. 1428 | # 1429 | CONFIG_PINCTRL=y 1430 | CONFIG_PINMUX=y 1431 | CONFIG_PINCONF=y 1432 | CONFIG_GENERIC_PINCONF=y 1433 | # CONFIG_DEBUG_PINCTRL is not set 1434 | # CONFIG_PINCTRL_AMD is not set 1435 | # CONFIG_PINCTRL_MCP23S08 is not set 1436 | # CONFIG_PINCTRL_SINGLE is not set 1437 | # CONFIG_PINCTRL_SX150X is not set 1438 | CONFIG_PINCTRL_BCM2835=y 1439 | CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y 1440 | CONFIG_GPIOLIB=y 1441 | CONFIG_GPIOLIB_FASTPATH_LIMIT=512 1442 | CONFIG_OF_GPIO=y 1443 | CONFIG_GPIOLIB_IRQCHIP=y 1444 | # CONFIG_DEBUG_GPIO is not set 1445 | CONFIG_GPIO_SYSFS=y 1446 | 1447 | # 1448 | # Memory mapped GPIO drivers 1449 | # 1450 | # CONFIG_GPIO_74XX_MMIO is not set 1451 | # CONFIG_GPIO_ALTERA is not set 1452 | CONFIG_GPIO_RASPBERRYPI_EXP=y 1453 | # CONFIG_GPIO_BCM_VIRT is not set 1454 | # CONFIG_GPIO_DWAPB is not set 1455 | # CONFIG_GPIO_FTGPIO010 is not set 1456 | # CONFIG_GPIO_GENERIC_PLATFORM is not set 1457 | # CONFIG_GPIO_GRGPIO is not set 1458 | # CONFIG_GPIO_HLWD is not set 1459 | # CONFIG_GPIO_MB86S7X is not set 1460 | # CONFIG_GPIO_MOCKUP is not set 1461 | # CONFIG_GPIO_MPC8XXX is not set 1462 | # CONFIG_GPIO_PL061 is not set 1463 | # CONFIG_GPIO_XILINX is not set 1464 | # CONFIG_GPIO_ZEVIO is not set 1465 | 1466 | # 1467 | # I2C GPIO expanders 1468 | # 1469 | # CONFIG_GPIO_ADP5588 is not set 1470 | # CONFIG_GPIO_ADNP is not set 1471 | # CONFIG_GPIO_MAX7300 is not set 1472 | # CONFIG_GPIO_MAX732X is not set 1473 | # CONFIG_GPIO_PCA953X is not set 1474 | # CONFIG_GPIO_PCF857X is not set 1475 | # CONFIG_GPIO_TPIC2810 is not set 1476 | 1477 | # 1478 | # MFD GPIO expanders 1479 | # 1480 | # CONFIG_HTC_EGPIO is not set 1481 | 1482 | # 1483 | # SPI GPIO expanders 1484 | # 1485 | # CONFIG_GPIO_74X164 is not set 1486 | # CONFIG_GPIO_MAX3191X is not set 1487 | # CONFIG_GPIO_MAX7301 is not set 1488 | # CONFIG_GPIO_MC33880 is not set 1489 | # CONFIG_GPIO_PISOSR is not set 1490 | # CONFIG_GPIO_XRA1403 is not set 1491 | 1492 | # 1493 | # USB GPIO expanders 1494 | # 1495 | # CONFIG_W1 is not set 1496 | # CONFIG_POWER_AVS is not set 1497 | CONFIG_POWER_RESET=y 1498 | # CONFIG_POWER_RESET_BRCMKONA is not set 1499 | CONFIG_POWER_RESET_GPIO=y 1500 | # CONFIG_POWER_RESET_GPIO_RESTART is not set 1501 | # CONFIG_POWER_RESET_LTC2952 is not set 1502 | # CONFIG_POWER_RESET_RESTART is not set 1503 | # CONFIG_POWER_RESET_SYSCON is not set 1504 | # CONFIG_POWER_RESET_SYSCON_POWEROFF is not set 1505 | CONFIG_POWER_SUPPLY=y 1506 | # CONFIG_POWER_SUPPLY_DEBUG is not set 1507 | # CONFIG_PDA_POWER is not set 1508 | # CONFIG_TEST_POWER is not set 1509 | # CONFIG_CHARGER_ADP5061 is not set 1510 | # CONFIG_BATTERY_DS2780 is not set 1511 | # CONFIG_BATTERY_DS2781 is not set 1512 | # CONFIG_BATTERY_DS2782 is not set 1513 | # CONFIG_BATTERY_SBS is not set 1514 | # CONFIG_CHARGER_SBS is not set 1515 | # CONFIG_BATTERY_BQ27XXX is not set 1516 | # CONFIG_BATTERY_MAX17040 is not set 1517 | # CONFIG_BATTERY_MAX17042 is not set 1518 | # CONFIG_CHARGER_MAX8903 is not set 1519 | # CONFIG_CHARGER_LP8727 is not set 1520 | # CONFIG_CHARGER_GPIO is not set 1521 | # CONFIG_CHARGER_MANAGER is not set 1522 | # CONFIG_CHARGER_LTC3651 is not set 1523 | # CONFIG_CHARGER_DETECTOR_MAX14656 is not set 1524 | # CONFIG_CHARGER_BQ2415X is not set 1525 | # CONFIG_CHARGER_BQ24257 is not set 1526 | # CONFIG_CHARGER_BQ24735 is not set 1527 | # CONFIG_CHARGER_BQ25890 is not set 1528 | # CONFIG_CHARGER_SMB347 is not set 1529 | # CONFIG_BATTERY_GAUGE_LTC2941 is not set 1530 | # CONFIG_CHARGER_RT9455 is not set 1531 | # CONFIG_HWMON is not set 1532 | CONFIG_THERMAL=y 1533 | # CONFIG_THERMAL_STATISTICS is not set 1534 | CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 1535 | CONFIG_THERMAL_OF=y 1536 | # CONFIG_THERMAL_WRITABLE_TRIPS is not set 1537 | CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y 1538 | # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set 1539 | # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set 1540 | # CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR is not set 1541 | # CONFIG_THERMAL_GOV_FAIR_SHARE is not set 1542 | CONFIG_THERMAL_GOV_STEP_WISE=y 1543 | # CONFIG_THERMAL_GOV_BANG_BANG is not set 1544 | # CONFIG_THERMAL_GOV_USER_SPACE is not set 1545 | # CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set 1546 | # CONFIG_CPU_THERMAL is not set 1547 | # CONFIG_THERMAL_EMULATION is not set 1548 | # CONFIG_QORIQ_THERMAL is not set 1549 | 1550 | # 1551 | # ACPI INT340X thermal drivers 1552 | # 1553 | 1554 | # 1555 | # Broadcom thermal drivers 1556 | # 1557 | CONFIG_BCM2835_THERMAL=y 1558 | # CONFIG_BRCMSTB_THERMAL is not set 1559 | CONFIG_WATCHDOG=y 1560 | CONFIG_WATCHDOG_CORE=y 1561 | # CONFIG_WATCHDOG_NOWAYOUT is not set 1562 | CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y 1563 | # CONFIG_WATCHDOG_SYSFS is not set 1564 | 1565 | # 1566 | # Watchdog Device Drivers 1567 | # 1568 | # CONFIG_SOFT_WATCHDOG is not set 1569 | # CONFIG_GPIO_WATCHDOG is not set 1570 | # CONFIG_XILINX_WATCHDOG is not set 1571 | # CONFIG_ZIIRAVE_WATCHDOG is not set 1572 | # CONFIG_ARM_SP805_WATCHDOG is not set 1573 | # CONFIG_CADENCE_WATCHDOG is not set 1574 | # CONFIG_FTWDT010_WATCHDOG is not set 1575 | # CONFIG_DW_WATCHDOG is not set 1576 | # CONFIG_MAX63XX_WATCHDOG is not set 1577 | CONFIG_BCM2835_WDT=y 1578 | # CONFIG_MEN_A21_WDT is not set 1579 | 1580 | # 1581 | # USB-based Watchdog Cards 1582 | # 1583 | # CONFIG_USBPCWATCHDOG is not set 1584 | 1585 | # 1586 | # Watchdog Pretimeout Governors 1587 | # 1588 | # CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set 1589 | CONFIG_SSB_POSSIBLE=y 1590 | CONFIG_SSB=y 1591 | CONFIG_SSB_BLOCKIO=y 1592 | CONFIG_SSB_SDIOHOST_POSSIBLE=y 1593 | # CONFIG_SSB_SDIOHOST is not set 1594 | # CONFIG_SSB_DRIVER_GPIO is not set 1595 | CONFIG_BCMA_POSSIBLE=y 1596 | CONFIG_BCMA=y 1597 | CONFIG_BCMA_BLOCKIO=y 1598 | # CONFIG_BCMA_HOST_SOC is not set 1599 | # CONFIG_BCMA_DRIVER_GMAC_CMN is not set 1600 | # CONFIG_BCMA_DRIVER_GPIO is not set 1601 | # CONFIG_BCMA_DEBUG is not set 1602 | 1603 | # 1604 | # Multifunction device drivers 1605 | # 1606 | CONFIG_MFD_CORE=y 1607 | # CONFIG_MFD_RPISENSE_CORE is not set 1608 | # CONFIG_MFD_ACT8945A is not set 1609 | # CONFIG_MFD_AS3711 is not set 1610 | # CONFIG_MFD_AS3722 is not set 1611 | # CONFIG_PMIC_ADP5520 is not set 1612 | # CONFIG_MFD_AAT2870_CORE is not set 1613 | # CONFIG_MFD_ATMEL_FLEXCOM is not set 1614 | # CONFIG_MFD_ATMEL_HLCDC is not set 1615 | # CONFIG_MFD_BCM590XX is not set 1616 | # CONFIG_MFD_BD9571MWV is not set 1617 | # CONFIG_MFD_AXP20X_I2C is not set 1618 | # CONFIG_MFD_CROS_EC is not set 1619 | # CONFIG_MFD_MADERA is not set 1620 | # CONFIG_MFD_ASIC3 is not set 1621 | # CONFIG_PMIC_DA903X is not set 1622 | # CONFIG_MFD_DA9052_SPI is not set 1623 | # CONFIG_MFD_DA9052_I2C is not set 1624 | # CONFIG_MFD_DA9055 is not set 1625 | # CONFIG_MFD_DA9062 is not set 1626 | # CONFIG_MFD_DA9063 is not set 1627 | # CONFIG_MFD_DA9150 is not set 1628 | # CONFIG_MFD_DLN2 is not set 1629 | # CONFIG_MFD_MC13XXX_SPI is not set 1630 | # CONFIG_MFD_MC13XXX_I2C is not set 1631 | # CONFIG_MFD_HI6421_PMIC is not set 1632 | # CONFIG_HTC_PASIC3 is not set 1633 | # CONFIG_HTC_I2CPLD is not set 1634 | # CONFIG_MFD_KEMPLD is not set 1635 | # CONFIG_MFD_88PM800 is not set 1636 | # CONFIG_MFD_88PM805 is not set 1637 | # CONFIG_MFD_88PM860X is not set 1638 | # CONFIG_MFD_MAX14577 is not set 1639 | # CONFIG_MFD_MAX77620 is not set 1640 | # CONFIG_MFD_MAX77686 is not set 1641 | # CONFIG_MFD_MAX77693 is not set 1642 | # CONFIG_MFD_MAX77843 is not set 1643 | # CONFIG_MFD_MAX8907 is not set 1644 | # CONFIG_MFD_MAX8925 is not set 1645 | # CONFIG_MFD_MAX8997 is not set 1646 | # CONFIG_MFD_MAX8998 is not set 1647 | # CONFIG_MFD_MT6397 is not set 1648 | # CONFIG_MFD_MENF21BMC is not set 1649 | # CONFIG_EZX_PCAP is not set 1650 | # CONFIG_MFD_CPCAP is not set 1651 | # CONFIG_MFD_VIPERBOARD is not set 1652 | # CONFIG_MFD_RETU is not set 1653 | # CONFIG_MFD_PCF50633 is not set 1654 | # CONFIG_MFD_PM8XXX is not set 1655 | # CONFIG_MFD_RT5033 is not set 1656 | # CONFIG_MFD_RC5T583 is not set 1657 | # CONFIG_MFD_RK808 is not set 1658 | # CONFIG_MFD_RN5T618 is not set 1659 | # CONFIG_MFD_SEC_CORE is not set 1660 | # CONFIG_MFD_SI476X_CORE is not set 1661 | # CONFIG_MFD_SM501 is not set 1662 | # CONFIG_MFD_SKY81452 is not set 1663 | # CONFIG_MFD_SMSC is not set 1664 | # CONFIG_ABX500_CORE is not set 1665 | # CONFIG_MFD_STMPE is not set 1666 | # CONFIG_MFD_SYSCON is not set 1667 | # CONFIG_MFD_TI_AM335X_TSCADC is not set 1668 | # CONFIG_MFD_LP3943 is not set 1669 | # CONFIG_MFD_LP8788 is not set 1670 | # CONFIG_MFD_TI_LMU is not set 1671 | # CONFIG_MFD_PALMAS is not set 1672 | # CONFIG_TPS6105X is not set 1673 | # CONFIG_TPS65010 is not set 1674 | # CONFIG_TPS6507X is not set 1675 | # CONFIG_MFD_TPS65086 is not set 1676 | # CONFIG_MFD_TPS65090 is not set 1677 | # CONFIG_MFD_TPS65217 is not set 1678 | # CONFIG_MFD_TI_LP873X is not set 1679 | # CONFIG_MFD_TI_LP87565 is not set 1680 | # CONFIG_MFD_TPS65218 is not set 1681 | # CONFIG_MFD_TPS6586X is not set 1682 | # CONFIG_MFD_TPS65910 is not set 1683 | # CONFIG_MFD_TPS65912_I2C is not set 1684 | # CONFIG_MFD_TPS65912_SPI is not set 1685 | # CONFIG_MFD_TPS80031 is not set 1686 | # CONFIG_TWL4030_CORE is not set 1687 | # CONFIG_TWL6040_CORE is not set 1688 | # CONFIG_MFD_WL1273_CORE is not set 1689 | # CONFIG_MFD_LM3533 is not set 1690 | # CONFIG_MFD_TC3589X is not set 1691 | # CONFIG_MFD_T7L66XB is not set 1692 | # CONFIG_MFD_TC6387XB is not set 1693 | # CONFIG_MFD_TC6393XB is not set 1694 | # CONFIG_MFD_ARIZONA_I2C is not set 1695 | # CONFIG_MFD_ARIZONA_SPI is not set 1696 | # CONFIG_MFD_WM8400 is not set 1697 | # CONFIG_MFD_WM831X_I2C is not set 1698 | # CONFIG_MFD_WM831X_SPI is not set 1699 | # CONFIG_MFD_WM8350_I2C is not set 1700 | # CONFIG_MFD_WM8994 is not set 1701 | # CONFIG_MFD_ROHM_BD718XX is not set 1702 | CONFIG_REGULATOR=y 1703 | # CONFIG_REGULATOR_DEBUG is not set 1704 | CONFIG_REGULATOR_FIXED_VOLTAGE=y 1705 | # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set 1706 | # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set 1707 | # CONFIG_REGULATOR_88PG86X is not set 1708 | # CONFIG_REGULATOR_ACT8865 is not set 1709 | # CONFIG_REGULATOR_AD5398 is not set 1710 | # CONFIG_REGULATOR_DA9210 is not set 1711 | # CONFIG_REGULATOR_DA9211 is not set 1712 | # CONFIG_REGULATOR_FAN53555 is not set 1713 | # CONFIG_REGULATOR_GPIO is not set 1714 | # CONFIG_REGULATOR_ISL9305 is not set 1715 | # CONFIG_REGULATOR_ISL6271A is not set 1716 | # CONFIG_REGULATOR_LP3971 is not set 1717 | # CONFIG_REGULATOR_LP3972 is not set 1718 | # CONFIG_REGULATOR_LP872X is not set 1719 | # CONFIG_REGULATOR_LP8755 is not set 1720 | # CONFIG_REGULATOR_LTC3589 is not set 1721 | # CONFIG_REGULATOR_LTC3676 is not set 1722 | # CONFIG_REGULATOR_MAX1586 is not set 1723 | # CONFIG_REGULATOR_MAX8649 is not set 1724 | # CONFIG_REGULATOR_MAX8660 is not set 1725 | # CONFIG_REGULATOR_MAX8952 is not set 1726 | # CONFIG_REGULATOR_MAX8973 is not set 1727 | # CONFIG_REGULATOR_MT6311 is not set 1728 | # CONFIG_REGULATOR_PFUZE100 is not set 1729 | # CONFIG_REGULATOR_PV88060 is not set 1730 | # CONFIG_REGULATOR_PV88080 is not set 1731 | # CONFIG_REGULATOR_PV88090 is not set 1732 | # CONFIG_REGULATOR_PWM is not set 1733 | # CONFIG_REGULATOR_SY8106A is not set 1734 | # CONFIG_REGULATOR_TPS51632 is not set 1735 | # CONFIG_REGULATOR_TPS62360 is not set 1736 | # CONFIG_REGULATOR_TPS65023 is not set 1737 | # CONFIG_REGULATOR_TPS6507X is not set 1738 | # CONFIG_REGULATOR_TPS65132 is not set 1739 | # CONFIG_REGULATOR_TPS6524X is not set 1740 | # CONFIG_REGULATOR_VCTRL is not set 1741 | # CONFIG_RC_CORE is not set 1742 | # CONFIG_MEDIA_SUPPORT is not set 1743 | 1744 | # 1745 | # Graphics support 1746 | # 1747 | # CONFIG_IMX_IPUV3_CORE is not set 1748 | CONFIG_DRM=y 1749 | # CONFIG_DRM_DP_AUX_CHARDEV is not set 1750 | # CONFIG_DRM_DEBUG_MM is not set 1751 | # CONFIG_DRM_DEBUG_SELFTEST is not set 1752 | CONFIG_DRM_KMS_HELPER=y 1753 | CONFIG_DRM_KMS_FB_HELPER=y 1754 | CONFIG_DRM_FBDEV_EMULATION=y 1755 | CONFIG_DRM_FBDEV_OVERALLOC=100 1756 | # CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set 1757 | CONFIG_DRM_LOAD_EDID_FIRMWARE=y 1758 | # CONFIG_DRM_DP_CEC is not set 1759 | CONFIG_DRM_SCHED=y 1760 | 1761 | # 1762 | # I2C encoder or helper chips 1763 | # 1764 | # CONFIG_DRM_I2C_CH7006 is not set 1765 | # CONFIG_DRM_I2C_SIL164 is not set 1766 | # CONFIG_DRM_I2C_NXP_TDA998X is not set 1767 | # CONFIG_DRM_I2C_NXP_TDA9950 is not set 1768 | # CONFIG_DRM_HDLCD is not set 1769 | # CONFIG_DRM_MALI_DISPLAY is not set 1770 | 1771 | # 1772 | # ACP (Audio CoProcessor) Configuration 1773 | # 1774 | 1775 | # 1776 | # AMD Library routines 1777 | # 1778 | # CONFIG_DRM_VGEM is not set 1779 | # CONFIG_DRM_VKMS is not set 1780 | # CONFIG_DRM_EXYNOS is not set 1781 | # CONFIG_DRM_UDL is not set 1782 | # CONFIG_DRM_ARMADA is not set 1783 | # CONFIG_DRM_RCAR_DW_HDMI is not set 1784 | # CONFIG_DRM_RCAR_LVDS is not set 1785 | # CONFIG_DRM_OMAP is not set 1786 | # CONFIG_DRM_TILCDC is not set 1787 | # CONFIG_DRM_FSL_DCU is not set 1788 | # CONFIG_DRM_STM is not set 1789 | CONFIG_DRM_PANEL=y 1790 | 1791 | # 1792 | # Display Panels 1793 | # 1794 | # CONFIG_DRM_PANEL_LVDS is not set 1795 | # CONFIG_DRM_PANEL_SIMPLE is not set 1796 | # CONFIG_DRM_PANEL_ILITEK_IL9322 is not set 1797 | # CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set 1798 | # CONFIG_DRM_PANEL_LG_LG4573 is not set 1799 | # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set 1800 | # CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set 1801 | # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set 1802 | CONFIG_DRM_BRIDGE=y 1803 | CONFIG_DRM_PANEL_BRIDGE=y 1804 | 1805 | # 1806 | # Display Interface Bridges 1807 | # 1808 | # CONFIG_DRM_ANALOGIX_ANX78XX is not set 1809 | # CONFIG_DRM_CDNS_DSI is not set 1810 | # CONFIG_DRM_DUMB_VGA_DAC is not set 1811 | # CONFIG_DRM_LVDS_ENCODER is not set 1812 | # CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set 1813 | # CONFIG_DRM_NXP_PTN3460 is not set 1814 | # CONFIG_DRM_PARADE_PS8622 is not set 1815 | # CONFIG_DRM_SIL_SII8620 is not set 1816 | # CONFIG_DRM_SII902X is not set 1817 | # CONFIG_DRM_SII9234 is not set 1818 | # CONFIG_DRM_THINE_THC63LVD1024 is not set 1819 | # CONFIG_DRM_TOSHIBA_TC358767 is not set 1820 | # CONFIG_DRM_TI_TFP410 is not set 1821 | # CONFIG_DRM_I2C_ADV7511 is not set 1822 | # CONFIG_DRM_STI is not set 1823 | CONFIG_DRM_V3D=y 1824 | # CONFIG_DRM_ARCPGU is not set 1825 | # CONFIG_DRM_MXSFB is not set 1826 | # CONFIG_DRM_TINYDRM is not set 1827 | # CONFIG_DRM_PL111 is not set 1828 | # CONFIG_DRM_TVE200 is not set 1829 | # CONFIG_DRM_LEGACY is not set 1830 | CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y 1831 | 1832 | # 1833 | # Frame buffer Devices 1834 | # 1835 | CONFIG_FB=y 1836 | # CONFIG_FIRMWARE_EDID is not set 1837 | CONFIG_FB_CMDLINE=y 1838 | CONFIG_FB_NOTIFY=y 1839 | CONFIG_FB_CFB_FILLRECT=y 1840 | CONFIG_FB_CFB_COPYAREA=y 1841 | CONFIG_FB_CFB_IMAGEBLIT=y 1842 | CONFIG_FB_SYS_FILLRECT=y 1843 | CONFIG_FB_SYS_COPYAREA=y 1844 | CONFIG_FB_SYS_IMAGEBLIT=y 1845 | # CONFIG_FB_FOREIGN_ENDIAN is not set 1846 | CONFIG_FB_SYS_FOPS=y 1847 | CONFIG_FB_DEFERRED_IO=y 1848 | CONFIG_FB_MODE_HELPERS=y 1849 | # CONFIG_FB_TILEBLITTING is not set 1850 | 1851 | # 1852 | # Frame buffer hardware drivers 1853 | # 1854 | CONFIG_FB_BCM2708=y 1855 | # CONFIG_FB_ARMCLCD is not set 1856 | # CONFIG_FB_OPENCORES is not set 1857 | # CONFIG_FB_S1D13XXX is not set 1858 | # CONFIG_FB_SMSCUFX is not set 1859 | # CONFIG_FB_UDL is not set 1860 | # CONFIG_FB_IBM_GXT4500 is not set 1861 | # CONFIG_FB_VIRTUAL is not set 1862 | # CONFIG_FB_METRONOME is not set 1863 | # CONFIG_FB_BROADSHEET is not set 1864 | # CONFIG_FB_SIMPLE is not set 1865 | # CONFIG_FB_SSD1307 is not set 1866 | # CONFIG_FB_RPISENSE is not set 1867 | CONFIG_BACKLIGHT_LCD_SUPPORT=y 1868 | # CONFIG_LCD_CLASS_DEVICE is not set 1869 | CONFIG_BACKLIGHT_CLASS_DEVICE=y 1870 | # CONFIG_BACKLIGHT_GENERIC is not set 1871 | # CONFIG_BACKLIGHT_PWM is not set 1872 | CONFIG_BACKLIGHT_RPI=y 1873 | # CONFIG_BACKLIGHT_PM8941_WLED is not set 1874 | # CONFIG_BACKLIGHT_ADP8860 is not set 1875 | # CONFIG_BACKLIGHT_ADP8870 is not set 1876 | # CONFIG_BACKLIGHT_LM3630A is not set 1877 | # CONFIG_BACKLIGHT_LM3639 is not set 1878 | # CONFIG_BACKLIGHT_LP855X is not set 1879 | # CONFIG_BACKLIGHT_GPIO is not set 1880 | # CONFIG_BACKLIGHT_LV5207LP is not set 1881 | # CONFIG_BACKLIGHT_BD6107 is not set 1882 | # CONFIG_BACKLIGHT_ARCXCNN is not set 1883 | CONFIG_HDMI=y 1884 | 1885 | # 1886 | # Console display driver support 1887 | # 1888 | CONFIG_DUMMY_CONSOLE=y 1889 | CONFIG_FRAMEBUFFER_CONSOLE=y 1890 | CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y 1891 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set 1892 | # CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set 1893 | CONFIG_LOGO=y 1894 | # CONFIG_LOGO_LINUX_MONO is not set 1895 | # CONFIG_LOGO_LINUX_VGA16 is not set 1896 | CONFIG_LOGO_LINUX_CLUT224=y 1897 | CONFIG_SOUND=y 1898 | CONFIG_SND=y 1899 | CONFIG_SND_TIMER=y 1900 | CONFIG_SND_PCM=y 1901 | # CONFIG_SND_OSSEMUL is not set 1902 | CONFIG_SND_PCM_TIMER=y 1903 | # CONFIG_SND_HRTIMER is not set 1904 | # CONFIG_SND_DYNAMIC_MINORS is not set 1905 | CONFIG_SND_SUPPORT_OLD_API=y 1906 | CONFIG_SND_PROC_FS=y 1907 | CONFIG_SND_VERBOSE_PROCFS=y 1908 | # CONFIG_SND_VERBOSE_PRINTK is not set 1909 | # CONFIG_SND_DEBUG is not set 1910 | # CONFIG_SND_SEQUENCER is not set 1911 | # CONFIG_SND_DRIVERS is not set 1912 | 1913 | # 1914 | # HD-Audio 1915 | # 1916 | CONFIG_SND_HDA_PREALLOC_SIZE=64 1917 | # CONFIG_SND_ARM is not set 1918 | # CONFIG_SND_SPI is not set 1919 | # CONFIG_SND_USB is not set 1920 | # CONFIG_SND_SOC is not set 1921 | 1922 | # 1923 | # HID support 1924 | # 1925 | CONFIG_HID=y 1926 | CONFIG_HID_BATTERY_STRENGTH=y 1927 | CONFIG_HIDRAW=y 1928 | # CONFIG_UHID is not set 1929 | CONFIG_HID_GENERIC=y 1930 | 1931 | # 1932 | # Special HID drivers 1933 | # 1934 | # CONFIG_HID_A4TECH is not set 1935 | # CONFIG_HID_ACCUTOUCH is not set 1936 | # CONFIG_HID_ACRUX is not set 1937 | # CONFIG_HID_APPLE is not set 1938 | # CONFIG_HID_APPLEIR is not set 1939 | # CONFIG_HID_ASUS is not set 1940 | # CONFIG_HID_AUREAL is not set 1941 | # CONFIG_HID_BELKIN is not set 1942 | # CONFIG_HID_BETOP_FF is not set 1943 | # CONFIG_HID_BIGBEN_FF is not set 1944 | # CONFIG_HID_CHERRY is not set 1945 | # CONFIG_HID_CHICONY is not set 1946 | # CONFIG_HID_CORSAIR is not set 1947 | # CONFIG_HID_COUGAR is not set 1948 | # CONFIG_HID_PRODIKEYS is not set 1949 | # CONFIG_HID_CMEDIA is not set 1950 | # CONFIG_HID_CP2112 is not set 1951 | # CONFIG_HID_CYPRESS is not set 1952 | # CONFIG_HID_DRAGONRISE is not set 1953 | # CONFIG_HID_EMS_FF is not set 1954 | # CONFIG_HID_ELAN is not set 1955 | # CONFIG_HID_ELECOM is not set 1956 | # CONFIG_HID_ELO is not set 1957 | # CONFIG_HID_EZKEY is not set 1958 | # CONFIG_HID_GEMBIRD is not set 1959 | # CONFIG_HID_GFRM is not set 1960 | # CONFIG_HID_HOLTEK is not set 1961 | # CONFIG_HID_GOOGLE_HAMMER is not set 1962 | # CONFIG_HID_GT683R is not set 1963 | # CONFIG_HID_KEYTOUCH is not set 1964 | # CONFIG_HID_KYE is not set 1965 | # CONFIG_HID_UCLOGIC is not set 1966 | # CONFIG_HID_WALTOP is not set 1967 | # CONFIG_HID_GYRATION is not set 1968 | # CONFIG_HID_ICADE is not set 1969 | # CONFIG_HID_ITE is not set 1970 | # CONFIG_HID_JABRA is not set 1971 | # CONFIG_HID_TWINHAN is not set 1972 | # CONFIG_HID_KENSINGTON is not set 1973 | # CONFIG_HID_LCPOWER is not set 1974 | # CONFIG_HID_LED is not set 1975 | # CONFIG_HID_LENOVO is not set 1976 | # CONFIG_HID_LOGITECH is not set 1977 | # CONFIG_HID_MAGICMOUSE is not set 1978 | # CONFIG_HID_MAYFLASH is not set 1979 | # CONFIG_HID_REDRAGON is not set 1980 | # CONFIG_HID_MICROSOFT is not set 1981 | # CONFIG_HID_MONTEREY is not set 1982 | # CONFIG_HID_MULTITOUCH is not set 1983 | # CONFIG_HID_NTI is not set 1984 | # CONFIG_HID_NTRIG is not set 1985 | # CONFIG_HID_ORTEK is not set 1986 | # CONFIG_HID_PANTHERLORD is not set 1987 | # CONFIG_HID_PENMOUNT is not set 1988 | # CONFIG_HID_PETALYNX is not set 1989 | # CONFIG_HID_PICOLCD is not set 1990 | # CONFIG_HID_PLANTRONICS is not set 1991 | # CONFIG_HID_PRIMAX is not set 1992 | # CONFIG_HID_RETRODE is not set 1993 | # CONFIG_HID_ROCCAT is not set 1994 | # CONFIG_HID_SAITEK is not set 1995 | # CONFIG_HID_SAMSUNG is not set 1996 | # CONFIG_HID_SONY is not set 1997 | # CONFIG_HID_SPEEDLINK is not set 1998 | # CONFIG_HID_STEAM is not set 1999 | # CONFIG_HID_STEELSERIES is not set 2000 | # CONFIG_HID_SUNPLUS is not set 2001 | # CONFIG_HID_RMI is not set 2002 | # CONFIG_HID_GREENASIA is not set 2003 | # CONFIG_HID_SMARTJOYPLUS is not set 2004 | # CONFIG_HID_TIVO is not set 2005 | # CONFIG_HID_TOPSEED is not set 2006 | # CONFIG_HID_THINGM is not set 2007 | # CONFIG_HID_THRUSTMASTER is not set 2008 | # CONFIG_HID_UDRAW_PS3 is not set 2009 | # CONFIG_HID_WACOM is not set 2010 | # CONFIG_HID_WIIMOTE is not set 2011 | # CONFIG_HID_XINMO is not set 2012 | # CONFIG_HID_ZEROPLUS is not set 2013 | # CONFIG_HID_ZYDACRON is not set 2014 | # CONFIG_HID_SENSOR_HUB is not set 2015 | # CONFIG_HID_ALPS is not set 2016 | 2017 | # 2018 | # USB HID support 2019 | # 2020 | CONFIG_USB_HID=y 2021 | CONFIG_HID_PID=y 2022 | CONFIG_USB_HIDDEV=y 2023 | 2024 | # 2025 | # I2C HID support 2026 | # 2027 | # CONFIG_I2C_HID is not set 2028 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y 2029 | CONFIG_USB_SUPPORT=y 2030 | CONFIG_USB_COMMON=y 2031 | CONFIG_USB_ARCH_HAS_HCD=y 2032 | CONFIG_USB=y 2033 | CONFIG_USB_ANNOUNCE_NEW_DEVICES=y 2034 | 2035 | # 2036 | # Miscellaneous USB options 2037 | # 2038 | CONFIG_USB_DEFAULT_PERSIST=y 2039 | # CONFIG_USB_DYNAMIC_MINORS is not set 2040 | # CONFIG_USB_OTG is not set 2041 | # CONFIG_USB_OTG_WHITELIST is not set 2042 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set 2043 | # CONFIG_USB_LEDS_TRIGGER_USBPORT is not set 2044 | # CONFIG_USB_MON is not set 2045 | # CONFIG_USB_WUSB_CBAF is not set 2046 | 2047 | # 2048 | # USB Host Controller Drivers 2049 | # 2050 | # CONFIG_USB_C67X00_HCD is not set 2051 | # CONFIG_USB_XHCI_HCD is not set 2052 | # CONFIG_USB_EHCI_HCD is not set 2053 | # CONFIG_USB_OXU210HP_HCD is not set 2054 | # CONFIG_USB_ISP116X_HCD is not set 2055 | # CONFIG_USB_FOTG210_HCD is not set 2056 | # CONFIG_USB_MAX3421_HCD is not set 2057 | # CONFIG_USB_OHCI_HCD is not set 2058 | # CONFIG_USB_SL811_HCD is not set 2059 | # CONFIG_USB_R8A66597_HCD is not set 2060 | # CONFIG_USB_DWCOTG is not set 2061 | # CONFIG_USB_HCD_BCMA is not set 2062 | # CONFIG_USB_HCD_SSB is not set 2063 | # CONFIG_USB_HCD_TEST_MODE is not set 2064 | 2065 | # 2066 | # USB Device Class drivers 2067 | # 2068 | # CONFIG_USB_ACM is not set 2069 | # CONFIG_USB_PRINTER is not set 2070 | # CONFIG_USB_WDM is not set 2071 | # CONFIG_USB_TMC is not set 2072 | 2073 | # 2074 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may 2075 | # 2076 | 2077 | # 2078 | # also be needed; see USB_STORAGE Help for more info 2079 | # 2080 | CONFIG_USB_STORAGE=y 2081 | # CONFIG_USB_STORAGE_DEBUG is not set 2082 | # CONFIG_USB_STORAGE_REALTEK is not set 2083 | # CONFIG_USB_STORAGE_DATAFAB is not set 2084 | # CONFIG_USB_STORAGE_FREECOM is not set 2085 | # CONFIG_USB_STORAGE_ISD200 is not set 2086 | # CONFIG_USB_STORAGE_USBAT is not set 2087 | # CONFIG_USB_STORAGE_SDDR09 is not set 2088 | # CONFIG_USB_STORAGE_SDDR55 is not set 2089 | # CONFIG_USB_STORAGE_JUMPSHOT is not set 2090 | # CONFIG_USB_STORAGE_ALAUDA is not set 2091 | # CONFIG_USB_STORAGE_ONETOUCH is not set 2092 | # CONFIG_USB_STORAGE_KARMA is not set 2093 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 2094 | # CONFIG_USB_STORAGE_ENE_UB6250 is not set 2095 | # CONFIG_USB_UAS is not set 2096 | 2097 | # 2098 | # USB Imaging devices 2099 | # 2100 | # CONFIG_USB_MDC800 is not set 2101 | # CONFIG_USB_MICROTEK is not set 2102 | # CONFIG_USBIP_CORE is not set 2103 | # CONFIG_USB_MUSB_HDRC is not set 2104 | # CONFIG_USB_DWC3 is not set 2105 | CONFIG_USB_DWC2=y 2106 | CONFIG_USB_DWC2_HOST=y 2107 | 2108 | # 2109 | # Gadget/Dual-role mode requires USB Gadget support to be enabled 2110 | # 2111 | # CONFIG_USB_DWC2_DEBUG is not set 2112 | # CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set 2113 | # CONFIG_USB_ISP1760 is not set 2114 | 2115 | # 2116 | # USB port drivers 2117 | # 2118 | # CONFIG_USB_SERIAL is not set 2119 | 2120 | # 2121 | # USB Miscellaneous drivers 2122 | # 2123 | # CONFIG_USB_EMI62 is not set 2124 | # CONFIG_USB_EMI26 is not set 2125 | # CONFIG_USB_ADUTUX is not set 2126 | # CONFIG_USB_SEVSEG is not set 2127 | # CONFIG_USB_RIO500 is not set 2128 | # CONFIG_USB_LEGOTOWER is not set 2129 | # CONFIG_USB_LCD is not set 2130 | # CONFIG_USB_CYPRESS_CY7C63 is not set 2131 | # CONFIG_USB_CYTHERM is not set 2132 | # CONFIG_USB_IDMOUSE is not set 2133 | # CONFIG_USB_FTDI_ELAN is not set 2134 | # CONFIG_USB_APPLEDISPLAY is not set 2135 | # CONFIG_USB_LD is not set 2136 | # CONFIG_USB_TRANCEVIBRATOR is not set 2137 | # CONFIG_USB_IOWARRIOR is not set 2138 | # CONFIG_USB_TEST is not set 2139 | # CONFIG_USB_EHSET_TEST_FIXTURE is not set 2140 | # CONFIG_USB_ISIGHTFW is not set 2141 | # CONFIG_USB_YUREX is not set 2142 | # CONFIG_USB_EZUSB_FX2 is not set 2143 | # CONFIG_USB_HUB_USB251XB is not set 2144 | # CONFIG_USB_HSIC_USB3503 is not set 2145 | # CONFIG_USB_HSIC_USB4604 is not set 2146 | # CONFIG_USB_LINK_LAYER_TEST is not set 2147 | # CONFIG_USB_CHAOSKEY is not set 2148 | 2149 | # 2150 | # USB Physical Layer drivers 2151 | # 2152 | # CONFIG_NOP_USB_XCEIV is not set 2153 | # CONFIG_USB_GPIO_VBUS is not set 2154 | # CONFIG_USB_ISP1301 is not set 2155 | # CONFIG_USB_ULPI is not set 2156 | # CONFIG_USB_GADGET is not set 2157 | # CONFIG_TYPEC is not set 2158 | # CONFIG_USB_ROLE_SWITCH is not set 2159 | # CONFIG_USB_LED_TRIG is not set 2160 | # CONFIG_USB_ULPI_BUS is not set 2161 | # CONFIG_UWB is not set 2162 | CONFIG_MMC=y 2163 | CONFIG_PWRSEQ_EMMC=y 2164 | CONFIG_PWRSEQ_SIMPLE=y 2165 | CONFIG_MMC_BLOCK=y 2166 | CONFIG_MMC_BLOCK_MINORS=32 2167 | # CONFIG_SDIO_UART is not set 2168 | # CONFIG_MMC_TEST is not set 2169 | 2170 | # 2171 | # MMC/SD/SDIO Host Controller Drivers 2172 | # 2173 | CONFIG_MMC_BCM2835_MMC=y 2174 | CONFIG_MMC_BCM2835_DMA=y 2175 | CONFIG_MMC_BCM2835_PIO_DMA_BARRIER=2 2176 | CONFIG_MMC_BCM2835_SDHOST=y 2177 | # CONFIG_MMC_DEBUG is not set 2178 | # CONFIG_MMC_ARMMMCI is not set 2179 | CONFIG_MMC_SDHCI=y 2180 | CONFIG_MMC_SDHCI_PLTFM=y 2181 | # CONFIG_MMC_SDHCI_OF_ARASAN is not set 2182 | # CONFIG_MMC_SDHCI_OF_AT91 is not set 2183 | # CONFIG_MMC_SDHCI_OF_DWCMSHC is not set 2184 | # CONFIG_MMC_SDHCI_CADENCE is not set 2185 | # CONFIG_MMC_SDHCI_F_SDH30 is not set 2186 | # CONFIG_MMC_SDHCI_IPROC is not set 2187 | # CONFIG_MMC_SPI is not set 2188 | # CONFIG_MMC_DW is not set 2189 | # CONFIG_MMC_VUB300 is not set 2190 | # CONFIG_MMC_USHC is not set 2191 | # CONFIG_MMC_USDHI6ROL0 is not set 2192 | # CONFIG_MMC_CQHCI is not set 2193 | # CONFIG_MMC_BCM2835 is not set 2194 | # CONFIG_MMC_MTK is not set 2195 | # CONFIG_MMC_SDHCI_XENON is not set 2196 | # CONFIG_MMC_SDHCI_OMAP is not set 2197 | # CONFIG_MEMSTICK is not set 2198 | CONFIG_NEW_LEDS=y 2199 | CONFIG_LEDS_CLASS=y 2200 | # CONFIG_LEDS_CLASS_FLASH is not set 2201 | # CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set 2202 | 2203 | # 2204 | # LED drivers 2205 | # 2206 | # CONFIG_LEDS_BCM6328 is not set 2207 | # CONFIG_LEDS_BCM6358 is not set 2208 | # CONFIG_LEDS_CR0014114 is not set 2209 | # CONFIG_LEDS_LM3530 is not set 2210 | # CONFIG_LEDS_LM3642 is not set 2211 | # CONFIG_LEDS_LM3692X is not set 2212 | # CONFIG_LEDS_PCA9532 is not set 2213 | CONFIG_LEDS_GPIO=y 2214 | # CONFIG_LEDS_LP3944 is not set 2215 | # CONFIG_LEDS_LP3952 is not set 2216 | # CONFIG_LEDS_LP5521 is not set 2217 | # CONFIG_LEDS_LP5523 is not set 2218 | # CONFIG_LEDS_LP5562 is not set 2219 | # CONFIG_LEDS_LP8501 is not set 2220 | # CONFIG_LEDS_LP8860 is not set 2221 | # CONFIG_LEDS_PCA955X is not set 2222 | # CONFIG_LEDS_PCA963X is not set 2223 | # CONFIG_LEDS_DAC124S085 is not set 2224 | # CONFIG_LEDS_PWM is not set 2225 | # CONFIG_LEDS_REGULATOR is not set 2226 | # CONFIG_LEDS_BD2802 is not set 2227 | # CONFIG_LEDS_LT3593 is not set 2228 | # CONFIG_LEDS_TCA6507 is not set 2229 | # CONFIG_LEDS_TLC591XX is not set 2230 | # CONFIG_LEDS_LM355x is not set 2231 | # CONFIG_LEDS_IS31FL319X is not set 2232 | # CONFIG_LEDS_IS31FL32XX is not set 2233 | 2234 | # 2235 | # LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) 2236 | # 2237 | # CONFIG_LEDS_BLINKM is not set 2238 | # CONFIG_LEDS_MLXREG is not set 2239 | # CONFIG_LEDS_USER is not set 2240 | 2241 | # 2242 | # LED Triggers 2243 | # 2244 | CONFIG_LEDS_TRIGGERS=y 2245 | CONFIG_LEDS_TRIGGER_TIMER=y 2246 | CONFIG_LEDS_TRIGGER_ONESHOT=y 2247 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y 2248 | CONFIG_LEDS_TRIGGER_BACKLIGHT=y 2249 | CONFIG_LEDS_TRIGGER_CPU=y 2250 | CONFIG_LEDS_TRIGGER_ACTIVITY=y 2251 | CONFIG_LEDS_TRIGGER_GPIO=y 2252 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y 2253 | 2254 | # 2255 | # iptables trigger is under Netfilter config (LED target) 2256 | # 2257 | CONFIG_LEDS_TRIGGER_TRANSIENT=y 2258 | CONFIG_LEDS_TRIGGER_CAMERA=y 2259 | CONFIG_LEDS_TRIGGER_INPUT=y 2260 | CONFIG_LEDS_TRIGGER_PANIC=y 2261 | CONFIG_LEDS_TRIGGER_NETDEV=y 2262 | # CONFIG_ACCESSIBILITY is not set 2263 | # CONFIG_INFINIBAND is not set 2264 | CONFIG_EDAC_ATOMIC_SCRUB=y 2265 | CONFIG_EDAC_SUPPORT=y 2266 | CONFIG_RTC_LIB=y 2267 | CONFIG_RTC_CLASS=y 2268 | # CONFIG_RTC_HCTOSYS is not set 2269 | CONFIG_RTC_SYSTOHC=y 2270 | CONFIG_RTC_SYSTOHC_DEVICE="rtc0" 2271 | # CONFIG_RTC_DEBUG is not set 2272 | CONFIG_RTC_NVMEM=y 2273 | 2274 | # 2275 | # RTC interfaces 2276 | # 2277 | CONFIG_RTC_INTF_SYSFS=y 2278 | CONFIG_RTC_INTF_PROC=y 2279 | CONFIG_RTC_INTF_DEV=y 2280 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set 2281 | # CONFIG_RTC_DRV_TEST is not set 2282 | 2283 | # 2284 | # I2C RTC drivers 2285 | # 2286 | # CONFIG_RTC_DRV_ABB5ZES3 is not set 2287 | # CONFIG_RTC_DRV_ABX80X is not set 2288 | # CONFIG_RTC_DRV_DS1307 is not set 2289 | # CONFIG_RTC_DRV_DS1374 is not set 2290 | # CONFIG_RTC_DRV_DS1672 is not set 2291 | # CONFIG_RTC_DRV_HYM8563 is not set 2292 | # CONFIG_RTC_DRV_MAX6900 is not set 2293 | # CONFIG_RTC_DRV_RS5C372 is not set 2294 | # CONFIG_RTC_DRV_ISL1208 is not set 2295 | # CONFIG_RTC_DRV_ISL12022 is not set 2296 | # CONFIG_RTC_DRV_ISL12026 is not set 2297 | # CONFIG_RTC_DRV_X1205 is not set 2298 | # CONFIG_RTC_DRV_PCF8523 is not set 2299 | # CONFIG_RTC_DRV_PCF85063 is not set 2300 | # CONFIG_RTC_DRV_PCF85363 is not set 2301 | # CONFIG_RTC_DRV_PCF8563 is not set 2302 | # CONFIG_RTC_DRV_PCF8583 is not set 2303 | # CONFIG_RTC_DRV_M41T80 is not set 2304 | # CONFIG_RTC_DRV_BQ32K is not set 2305 | # CONFIG_RTC_DRV_S35390A is not set 2306 | # CONFIG_RTC_DRV_FM3130 is not set 2307 | # CONFIG_RTC_DRV_RX8010 is not set 2308 | # CONFIG_RTC_DRV_RX8581 is not set 2309 | # CONFIG_RTC_DRV_RX8025 is not set 2310 | # CONFIG_RTC_DRV_EM3027 is not set 2311 | # CONFIG_RTC_DRV_RV3028 is not set 2312 | # CONFIG_RTC_DRV_RV8803 is not set 2313 | 2314 | # 2315 | # SPI RTC drivers 2316 | # 2317 | # CONFIG_RTC_DRV_M41T93 is not set 2318 | # CONFIG_RTC_DRV_M41T94 is not set 2319 | # CONFIG_RTC_DRV_DS1302 is not set 2320 | # CONFIG_RTC_DRV_DS1305 is not set 2321 | # CONFIG_RTC_DRV_DS1343 is not set 2322 | # CONFIG_RTC_DRV_DS1347 is not set 2323 | # CONFIG_RTC_DRV_DS1390 is not set 2324 | # CONFIG_RTC_DRV_MAX6916 is not set 2325 | # CONFIG_RTC_DRV_R9701 is not set 2326 | # CONFIG_RTC_DRV_RX4581 is not set 2327 | # CONFIG_RTC_DRV_RX6110 is not set 2328 | # CONFIG_RTC_DRV_RS5C348 is not set 2329 | # CONFIG_RTC_DRV_MAX6902 is not set 2330 | # CONFIG_RTC_DRV_PCF2123 is not set 2331 | # CONFIG_RTC_DRV_MCP795 is not set 2332 | CONFIG_RTC_I2C_AND_SPI=y 2333 | 2334 | # 2335 | # SPI and I2C RTC drivers 2336 | # 2337 | # CONFIG_RTC_DRV_DS3232 is not set 2338 | # CONFIG_RTC_DRV_PCF2127 is not set 2339 | # CONFIG_RTC_DRV_RV3029C2 is not set 2340 | 2341 | # 2342 | # Platform RTC drivers 2343 | # 2344 | # CONFIG_RTC_DRV_CMOS is not set 2345 | # CONFIG_RTC_DRV_DS1286 is not set 2346 | # CONFIG_RTC_DRV_DS1511 is not set 2347 | # CONFIG_RTC_DRV_DS1553 is not set 2348 | # CONFIG_RTC_DRV_DS1685_FAMILY is not set 2349 | # CONFIG_RTC_DRV_DS1742 is not set 2350 | # CONFIG_RTC_DRV_DS2404 is not set 2351 | # CONFIG_RTC_DRV_STK17TA8 is not set 2352 | # CONFIG_RTC_DRV_M48T86 is not set 2353 | # CONFIG_RTC_DRV_M48T35 is not set 2354 | # CONFIG_RTC_DRV_M48T59 is not set 2355 | # CONFIG_RTC_DRV_MSM6242 is not set 2356 | # CONFIG_RTC_DRV_BQ4802 is not set 2357 | # CONFIG_RTC_DRV_RP5C01 is not set 2358 | # CONFIG_RTC_DRV_V3020 is not set 2359 | # CONFIG_RTC_DRV_ZYNQMP is not set 2360 | 2361 | # 2362 | # on-CPU RTC drivers 2363 | # 2364 | # CONFIG_RTC_DRV_PL030 is not set 2365 | # CONFIG_RTC_DRV_PL031 is not set 2366 | # CONFIG_RTC_DRV_FTRTC010 is not set 2367 | # CONFIG_RTC_DRV_SNVS is not set 2368 | # CONFIG_RTC_DRV_R7301 is not set 2369 | 2370 | # 2371 | # HID Sensor RTC drivers 2372 | # 2373 | # CONFIG_RTC_DRV_HID_SENSOR_TIME is not set 2374 | CONFIG_DMADEVICES=y 2375 | # CONFIG_DMADEVICES_DEBUG is not set 2376 | 2377 | # 2378 | # DMA Devices 2379 | # 2380 | CONFIG_DMA_ENGINE=y 2381 | CONFIG_DMA_VIRTUAL_CHANNELS=y 2382 | CONFIG_DMA_OF=y 2383 | # CONFIG_ALTERA_MSGDMA is not set 2384 | # CONFIG_AMBA_PL08X is not set 2385 | CONFIG_DMA_BCM2835=y 2386 | # CONFIG_DW_AXI_DMAC is not set 2387 | # CONFIG_FSL_EDMA is not set 2388 | # CONFIG_INTEL_IDMA64 is not set 2389 | # CONFIG_NBPFAXI_DMA is not set 2390 | # CONFIG_PL330_DMA is not set 2391 | CONFIG_DMA_BCM2708=y 2392 | # CONFIG_QCOM_HIDMA_MGMT is not set 2393 | # CONFIG_QCOM_HIDMA is not set 2394 | # CONFIG_DW_DMAC is not set 2395 | 2396 | # 2397 | # DMA Clients 2398 | # 2399 | # CONFIG_ASYNC_TX_DMA is not set 2400 | # CONFIG_DMATEST is not set 2401 | 2402 | # 2403 | # DMABUF options 2404 | # 2405 | CONFIG_SYNC_FILE=y 2406 | # CONFIG_SW_SYNC is not set 2407 | # CONFIG_AUXDISPLAY is not set 2408 | # CONFIG_UIO is not set 2409 | # CONFIG_VIRT_DRIVERS is not set 2410 | # CONFIG_VIRTIO_MENU is not set 2411 | 2412 | # 2413 | # Microsoft Hyper-V guest support 2414 | # 2415 | CONFIG_STAGING=y 2416 | # CONFIG_PRISM2_USB is not set 2417 | # CONFIG_COMEDI is not set 2418 | # CONFIG_RTLLIB is not set 2419 | # CONFIG_RTL8723BS is not set 2420 | CONFIG_R8712U=m 2421 | CONFIG_R8188EU=m 2422 | CONFIG_88EU_AP_MODE=y 2423 | # CONFIG_VT6656 is not set 2424 | 2425 | # 2426 | # Speakup console speech 2427 | # 2428 | # CONFIG_SPEAKUP is not set 2429 | CONFIG_STAGING_MEDIA=y 2430 | 2431 | # 2432 | # Android 2433 | # 2434 | # CONFIG_STAGING_BOARD is not set 2435 | # CONFIG_LTE_GDM724X is not set 2436 | # CONFIG_GS_FPGABOOT is not set 2437 | # CONFIG_UNISYSSPAR is not set 2438 | # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set 2439 | # CONFIG_FB_TFT is not set 2440 | # CONFIG_WILC1000_SDIO is not set 2441 | # CONFIG_WILC1000_SPI is not set 2442 | # CONFIG_MOST is not set 2443 | # CONFIG_KS7010 is not set 2444 | # CONFIG_GREYBUS is not set 2445 | CONFIG_BCM_VIDEOCORE=y 2446 | CONFIG_BCM2835_VCHIQ=y 2447 | CONFIG_SND_BCM2835=y 2448 | CONFIG_BCM2835_VCHIQ_MMAL=y 2449 | CONFIG_BCM_VC_SM_CMA=y 2450 | # CONFIG_PI433 is not set 2451 | # CONFIG_MTK_MMC is not set 2452 | 2453 | # 2454 | # Gasket devices 2455 | # 2456 | # CONFIG_XIL_AXIS_FIFO is not set 2457 | # CONFIG_EROFS_FS is not set 2458 | # CONFIG_GOLDFISH is not set 2459 | # CONFIG_CHROME_PLATFORMS is not set 2460 | # CONFIG_MELLANOX_PLATFORM is not set 2461 | CONFIG_CLKDEV_LOOKUP=y 2462 | CONFIG_HAVE_CLK_PREPARE=y 2463 | CONFIG_COMMON_CLK=y 2464 | 2465 | # 2466 | # Common Clock Framework 2467 | # 2468 | # CONFIG_CLK_HSDK is not set 2469 | # CONFIG_COMMON_CLK_MAX9485 is not set 2470 | # CONFIG_COMMON_CLK_SI5351 is not set 2471 | # CONFIG_COMMON_CLK_SI514 is not set 2472 | # CONFIG_COMMON_CLK_SI544 is not set 2473 | # CONFIG_COMMON_CLK_SI570 is not set 2474 | # CONFIG_COMMON_CLK_CDCE706 is not set 2475 | # CONFIG_COMMON_CLK_CDCE925 is not set 2476 | # CONFIG_COMMON_CLK_CS2000_CP is not set 2477 | # CONFIG_CLK_QORIQ is not set 2478 | # CONFIG_COMMON_CLK_PWM is not set 2479 | # CONFIG_COMMON_CLK_VC5 is not set 2480 | # CONFIG_HWSPINLOCK is not set 2481 | 2482 | # 2483 | # Clock Source drivers 2484 | # 2485 | CONFIG_TIMER_OF=y 2486 | CONFIG_TIMER_PROBE=y 2487 | CONFIG_CLKSRC_MMIO=y 2488 | CONFIG_BCM2835_TIMER=y 2489 | CONFIG_ARM_TIMER_SP804=y 2490 | CONFIG_MAILBOX=y 2491 | # CONFIG_ARM_MHU is not set 2492 | # CONFIG_PLATFORM_MHU is not set 2493 | # CONFIG_PL320_MBOX is not set 2494 | # CONFIG_ALTERA_MBOX is not set 2495 | CONFIG_BCM2835_MBOX=y 2496 | # CONFIG_MAILBOX_TEST is not set 2497 | # CONFIG_IOMMU_SUPPORT is not set 2498 | 2499 | # 2500 | # Remoteproc drivers 2501 | # 2502 | # CONFIG_REMOTEPROC is not set 2503 | 2504 | # 2505 | # Rpmsg drivers 2506 | # 2507 | # CONFIG_RPMSG_QCOM_GLINK_RPM is not set 2508 | # CONFIG_RPMSG_VIRTIO is not set 2509 | # CONFIG_SOUNDWIRE is not set 2510 | 2511 | # 2512 | # SOC (System On Chip) specific Drivers 2513 | # 2514 | 2515 | # 2516 | # Amlogic SoC drivers 2517 | # 2518 | 2519 | # 2520 | # Broadcom SoC drivers 2521 | # 2522 | # CONFIG_BCM2835_POWER is not set 2523 | CONFIG_RASPBERRYPI_POWER=y 2524 | # CONFIG_SOC_BRCMSTB is not set 2525 | 2526 | # 2527 | # NXP/Freescale QorIQ SoC drivers 2528 | # 2529 | 2530 | # 2531 | # i.MX SoC drivers 2532 | # 2533 | 2534 | # 2535 | # Qualcomm SoC drivers 2536 | # 2537 | # CONFIG_SOC_TI is not set 2538 | 2539 | # 2540 | # Xilinx SoC drivers 2541 | # 2542 | # CONFIG_XILINX_VCU is not set 2543 | # CONFIG_PM_DEVFREQ is not set 2544 | # CONFIG_EXTCON is not set 2545 | # CONFIG_MEMORY is not set 2546 | # CONFIG_IIO is not set 2547 | CONFIG_PWM=y 2548 | CONFIG_PWM_SYSFS=y 2549 | CONFIG_PWM_BCM2835=y 2550 | # CONFIG_PWM_FSL_FTM is not set 2551 | # CONFIG_PWM_PCA9685 is not set 2552 | 2553 | # 2554 | # IRQ chip support 2555 | # 2556 | CONFIG_IRQCHIP=y 2557 | CONFIG_ARM_GIC=y 2558 | CONFIG_ARM_GIC_MAX_NR=1 2559 | # CONFIG_IPACK_BUS is not set 2560 | # CONFIG_RESET_CONTROLLER is not set 2561 | # CONFIG_FMC is not set 2562 | 2563 | # 2564 | # PHY Subsystem 2565 | # 2566 | # CONFIG_GENERIC_PHY is not set 2567 | # CONFIG_BCM_KONA_USB2_PHY is not set 2568 | # CONFIG_PHY_PXA_28NM_HSIC is not set 2569 | # CONFIG_PHY_PXA_28NM_USB2 is not set 2570 | # CONFIG_PHY_MAPPHONE_MDM6600 is not set 2571 | # CONFIG_PHY_SAMSUNG_USB2 is not set 2572 | # CONFIG_POWERCAP is not set 2573 | # CONFIG_MCB is not set 2574 | 2575 | # 2576 | # Performance monitor support 2577 | # 2578 | # CONFIG_ARM_CCN is not set 2579 | CONFIG_ARM_PMU=y 2580 | # CONFIG_RPI_AXIPERF is not set 2581 | # CONFIG_RAS is not set 2582 | 2583 | # 2584 | # Android 2585 | # 2586 | # CONFIG_ANDROID is not set 2587 | # CONFIG_DAX is not set 2588 | CONFIG_NVMEM=y 2589 | 2590 | # 2591 | # HW tracing support 2592 | # 2593 | # CONFIG_STM is not set 2594 | # CONFIG_INTEL_TH is not set 2595 | # CONFIG_FPGA is not set 2596 | # CONFIG_FSI is not set 2597 | # CONFIG_SIOX is not set 2598 | # CONFIG_SLIMBUS is not set 2599 | 2600 | # 2601 | # File systems 2602 | # 2603 | CONFIG_DCACHE_WORD_ACCESS=y 2604 | # CONFIG_EXT2_FS is not set 2605 | # CONFIG_EXT3_FS is not set 2606 | # CONFIG_EXT4_FS is not set 2607 | # CONFIG_REISERFS_FS is not set 2608 | # CONFIG_JFS_FS is not set 2609 | # CONFIG_XFS_FS is not set 2610 | # CONFIG_GFS2_FS is not set 2611 | # CONFIG_OCFS2_FS is not set 2612 | # CONFIG_BTRFS_FS is not set 2613 | # CONFIG_NILFS2_FS is not set 2614 | # CONFIG_F2FS_FS is not set 2615 | CONFIG_FS_POSIX_ACL=y 2616 | CONFIG_EXPORTFS=y 2617 | # CONFIG_EXPORTFS_BLOCK_OPS is not set 2618 | CONFIG_FILE_LOCKING=y 2619 | CONFIG_MANDATORY_FILE_LOCKING=y 2620 | # CONFIG_FS_ENCRYPTION is not set 2621 | CONFIG_FSNOTIFY=y 2622 | CONFIG_DNOTIFY=y 2623 | CONFIG_INOTIFY_USER=y 2624 | CONFIG_FANOTIFY=y 2625 | CONFIG_QUOTA=y 2626 | # CONFIG_QUOTA_NETLINK_INTERFACE is not set 2627 | CONFIG_PRINT_QUOTA_WARNING=y 2628 | # CONFIG_QUOTA_DEBUG is not set 2629 | # CONFIG_QFMT_V1 is not set 2630 | # CONFIG_QFMT_V2 is not set 2631 | CONFIG_QUOTACTL=y 2632 | CONFIG_AUTOFS4_FS=y 2633 | CONFIG_AUTOFS_FS=y 2634 | # CONFIG_FUSE_FS is not set 2635 | # CONFIG_OVERLAY_FS is not set 2636 | 2637 | # 2638 | # Caches 2639 | # 2640 | CONFIG_FSCACHE=y 2641 | CONFIG_FSCACHE_STATS=y 2642 | CONFIG_FSCACHE_HISTOGRAM=y 2643 | # CONFIG_FSCACHE_DEBUG is not set 2644 | # CONFIG_FSCACHE_OBJECT_LIST is not set 2645 | CONFIG_CACHEFILES=y 2646 | # CONFIG_CACHEFILES_DEBUG is not set 2647 | # CONFIG_CACHEFILES_HISTOGRAM is not set 2648 | 2649 | # 2650 | # CD-ROM/DVD Filesystems 2651 | # 2652 | # CONFIG_ISO9660_FS is not set 2653 | # CONFIG_UDF_FS is not set 2654 | 2655 | # 2656 | # DOS/FAT/NT Filesystems 2657 | # 2658 | CONFIG_FAT_FS=y 2659 | CONFIG_MSDOS_FS=y 2660 | CONFIG_VFAT_FS=y 2661 | CONFIG_FAT_DEFAULT_CODEPAGE=437 2662 | CONFIG_FAT_DEFAULT_IOCHARSET="ascii" 2663 | # CONFIG_FAT_DEFAULT_UTF8 is not set 2664 | # CONFIG_NTFS_FS is not set 2665 | 2666 | # 2667 | # Pseudo filesystems 2668 | # 2669 | CONFIG_PROC_FS=y 2670 | CONFIG_PROC_SYSCTL=y 2671 | CONFIG_PROC_PAGE_MONITOR=y 2672 | # CONFIG_PROC_CHILDREN is not set 2673 | CONFIG_KERNFS=y 2674 | CONFIG_SYSFS=y 2675 | CONFIG_TMPFS=y 2676 | CONFIG_TMPFS_POSIX_ACL=y 2677 | CONFIG_TMPFS_XATTR=y 2678 | CONFIG_MEMFD_CREATE=y 2679 | CONFIG_CONFIGFS_FS=y 2680 | # CONFIG_MISC_FILESYSTEMS is not set 2681 | # CONFIG_NETWORK_FILESYSTEMS is not set 2682 | CONFIG_NLS=y 2683 | CONFIG_NLS_DEFAULT="utf8" 2684 | CONFIG_NLS_CODEPAGE_437=y 2685 | # CONFIG_NLS_CODEPAGE_737 is not set 2686 | # CONFIG_NLS_CODEPAGE_775 is not set 2687 | # CONFIG_NLS_CODEPAGE_850 is not set 2688 | # CONFIG_NLS_CODEPAGE_852 is not set 2689 | # CONFIG_NLS_CODEPAGE_855 is not set 2690 | # CONFIG_NLS_CODEPAGE_857 is not set 2691 | # CONFIG_NLS_CODEPAGE_860 is not set 2692 | # CONFIG_NLS_CODEPAGE_861 is not set 2693 | # CONFIG_NLS_CODEPAGE_862 is not set 2694 | # CONFIG_NLS_CODEPAGE_863 is not set 2695 | # CONFIG_NLS_CODEPAGE_864 is not set 2696 | # CONFIG_NLS_CODEPAGE_865 is not set 2697 | # CONFIG_NLS_CODEPAGE_866 is not set 2698 | # CONFIG_NLS_CODEPAGE_869 is not set 2699 | # CONFIG_NLS_CODEPAGE_936 is not set 2700 | # CONFIG_NLS_CODEPAGE_950 is not set 2701 | # CONFIG_NLS_CODEPAGE_932 is not set 2702 | # CONFIG_NLS_CODEPAGE_949 is not set 2703 | # CONFIG_NLS_CODEPAGE_874 is not set 2704 | # CONFIG_NLS_ISO8859_8 is not set 2705 | # CONFIG_NLS_CODEPAGE_1250 is not set 2706 | # CONFIG_NLS_CODEPAGE_1251 is not set 2707 | CONFIG_NLS_ASCII=y 2708 | # CONFIG_NLS_ISO8859_1 is not set 2709 | # CONFIG_NLS_ISO8859_2 is not set 2710 | # CONFIG_NLS_ISO8859_3 is not set 2711 | # CONFIG_NLS_ISO8859_4 is not set 2712 | # CONFIG_NLS_ISO8859_5 is not set 2713 | # CONFIG_NLS_ISO8859_6 is not set 2714 | # CONFIG_NLS_ISO8859_7 is not set 2715 | # CONFIG_NLS_ISO8859_9 is not set 2716 | # CONFIG_NLS_ISO8859_13 is not set 2717 | # CONFIG_NLS_ISO8859_14 is not set 2718 | # CONFIG_NLS_ISO8859_15 is not set 2719 | # CONFIG_NLS_KOI8_R is not set 2720 | # CONFIG_NLS_KOI8_U is not set 2721 | # CONFIG_NLS_MAC_ROMAN is not set 2722 | # CONFIG_NLS_MAC_CELTIC is not set 2723 | # CONFIG_NLS_MAC_CENTEURO is not set 2724 | # CONFIG_NLS_MAC_CROATIAN is not set 2725 | # CONFIG_NLS_MAC_CYRILLIC is not set 2726 | # CONFIG_NLS_MAC_GAELIC is not set 2727 | # CONFIG_NLS_MAC_GREEK is not set 2728 | # CONFIG_NLS_MAC_ICELAND is not set 2729 | # CONFIG_NLS_MAC_INUIT is not set 2730 | # CONFIG_NLS_MAC_ROMANIAN is not set 2731 | # CONFIG_NLS_MAC_TURKISH is not set 2732 | # CONFIG_NLS_UTF8 is not set 2733 | # CONFIG_DLM is not set 2734 | 2735 | # 2736 | # Security options 2737 | # 2738 | CONFIG_KEYS=y 2739 | # CONFIG_PERSISTENT_KEYRINGS is not set 2740 | # CONFIG_BIG_KEYS is not set 2741 | # CONFIG_ENCRYPTED_KEYS is not set 2742 | # CONFIG_KEY_DH_OPERATIONS is not set 2743 | # CONFIG_SECURITY_DMESG_RESTRICT is not set 2744 | # CONFIG_SECURITY is not set 2745 | # CONFIG_SECURITYFS is not set 2746 | CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y 2747 | # CONFIG_HARDENED_USERCOPY is not set 2748 | # CONFIG_FORTIFY_SOURCE is not set 2749 | # CONFIG_STATIC_USERMODEHELPER is not set 2750 | CONFIG_DEFAULT_SECURITY_DAC=y 2751 | CONFIG_DEFAULT_SECURITY="" 2752 | CONFIG_CRYPTO=y 2753 | 2754 | # 2755 | # Crypto core or helper 2756 | # 2757 | CONFIG_CRYPTO_ALGAPI=y 2758 | CONFIG_CRYPTO_ALGAPI2=y 2759 | CONFIG_CRYPTO_AEAD=y 2760 | CONFIG_CRYPTO_AEAD2=y 2761 | CONFIG_CRYPTO_BLKCIPHER=y 2762 | CONFIG_CRYPTO_BLKCIPHER2=y 2763 | CONFIG_CRYPTO_HASH=y 2764 | CONFIG_CRYPTO_HASH2=y 2765 | CONFIG_CRYPTO_RNG=y 2766 | CONFIG_CRYPTO_RNG2=y 2767 | CONFIG_CRYPTO_RNG_DEFAULT=y 2768 | CONFIG_CRYPTO_AKCIPHER2=y 2769 | CONFIG_CRYPTO_AKCIPHER=y 2770 | CONFIG_CRYPTO_KPP2=y 2771 | CONFIG_CRYPTO_KPP=y 2772 | CONFIG_CRYPTO_ACOMP2=y 2773 | CONFIG_CRYPTO_RSA=y 2774 | # CONFIG_CRYPTO_DH is not set 2775 | CONFIG_CRYPTO_ECDH=y 2776 | CONFIG_CRYPTO_MANAGER=y 2777 | CONFIG_CRYPTO_MANAGER2=y 2778 | # CONFIG_CRYPTO_USER is not set 2779 | CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y 2780 | CONFIG_CRYPTO_GF128MUL=y 2781 | CONFIG_CRYPTO_NULL=y 2782 | CONFIG_CRYPTO_NULL2=y 2783 | CONFIG_CRYPTO_WORKQUEUE=y 2784 | CONFIG_CRYPTO_CRYPTD=y 2785 | # CONFIG_CRYPTO_MCRYPTD is not set 2786 | # CONFIG_CRYPTO_AUTHENC is not set 2787 | # CONFIG_CRYPTO_TEST is not set 2788 | 2789 | # 2790 | # Authenticated Encryption with Associated Data 2791 | # 2792 | CONFIG_CRYPTO_CCM=y 2793 | CONFIG_CRYPTO_GCM=y 2794 | # CONFIG_CRYPTO_CHACHA20POLY1305 is not set 2795 | # CONFIG_CRYPTO_AEGIS128 is not set 2796 | # CONFIG_CRYPTO_AEGIS128L is not set 2797 | # CONFIG_CRYPTO_AEGIS256 is not set 2798 | # CONFIG_CRYPTO_MORUS640 is not set 2799 | # CONFIG_CRYPTO_MORUS1280 is not set 2800 | CONFIG_CRYPTO_SEQIV=y 2801 | # CONFIG_CRYPTO_ECHAINIV is not set 2802 | 2803 | # 2804 | # Block modes 2805 | # 2806 | CONFIG_CRYPTO_CBC=y 2807 | # CONFIG_CRYPTO_CFB is not set 2808 | CONFIG_CRYPTO_CTR=y 2809 | # CONFIG_CRYPTO_CTS is not set 2810 | CONFIG_CRYPTO_ECB=y 2811 | # CONFIG_CRYPTO_LRW is not set 2812 | # CONFIG_CRYPTO_PCBC is not set 2813 | # CONFIG_CRYPTO_XTS is not set 2814 | # CONFIG_CRYPTO_KEYWRAP is not set 2815 | 2816 | # 2817 | # Hash modes 2818 | # 2819 | CONFIG_CRYPTO_CMAC=y 2820 | CONFIG_CRYPTO_HMAC=y 2821 | # CONFIG_CRYPTO_XCBC is not set 2822 | # CONFIG_CRYPTO_VMAC is not set 2823 | 2824 | # 2825 | # Digest 2826 | # 2827 | CONFIG_CRYPTO_CRC32C=y 2828 | CONFIG_CRYPTO_CRC32=y 2829 | # CONFIG_CRYPTO_CRCT10DIF is not set 2830 | CONFIG_CRYPTO_GHASH=y 2831 | # CONFIG_CRYPTO_POLY1305 is not set 2832 | # CONFIG_CRYPTO_MD4 is not set 2833 | CONFIG_CRYPTO_MD5=y 2834 | CONFIG_CRYPTO_MICHAEL_MIC=y 2835 | # CONFIG_CRYPTO_RMD128 is not set 2836 | # CONFIG_CRYPTO_RMD160 is not set 2837 | # CONFIG_CRYPTO_RMD256 is not set 2838 | # CONFIG_CRYPTO_RMD320 is not set 2839 | CONFIG_CRYPTO_SHA1=y 2840 | CONFIG_CRYPTO_SHA256=y 2841 | # CONFIG_CRYPTO_SHA512 is not set 2842 | # CONFIG_CRYPTO_SHA3 is not set 2843 | # CONFIG_CRYPTO_SM3 is not set 2844 | # CONFIG_CRYPTO_TGR192 is not set 2845 | # CONFIG_CRYPTO_WP512 is not set 2846 | 2847 | # 2848 | # Ciphers 2849 | # 2850 | CONFIG_CRYPTO_AES=y 2851 | # CONFIG_CRYPTO_AES_TI is not set 2852 | # CONFIG_CRYPTO_ANUBIS is not set 2853 | CONFIG_CRYPTO_ARC4=y 2854 | # CONFIG_CRYPTO_BLOWFISH is not set 2855 | # CONFIG_CRYPTO_CAMELLIA is not set 2856 | # CONFIG_CRYPTO_CAST5 is not set 2857 | # CONFIG_CRYPTO_CAST6 is not set 2858 | CONFIG_CRYPTO_DES=y 2859 | # CONFIG_CRYPTO_FCRYPT is not set 2860 | # CONFIG_CRYPTO_KHAZAD is not set 2861 | # CONFIG_CRYPTO_SALSA20 is not set 2862 | # CONFIG_CRYPTO_CHACHA20 is not set 2863 | # CONFIG_CRYPTO_SEED is not set 2864 | # CONFIG_CRYPTO_SERPENT is not set 2865 | # CONFIG_CRYPTO_SM4 is not set 2866 | # CONFIG_CRYPTO_TEA is not set 2867 | # CONFIG_CRYPTO_TWOFISH is not set 2868 | 2869 | # 2870 | # Compression 2871 | # 2872 | CONFIG_CRYPTO_DEFLATE=y 2873 | CONFIG_CRYPTO_LZO=y 2874 | # CONFIG_CRYPTO_842 is not set 2875 | CONFIG_CRYPTO_LZ4=y 2876 | # CONFIG_CRYPTO_LZ4HC is not set 2877 | # CONFIG_CRYPTO_ZSTD is not set 2878 | 2879 | # 2880 | # Random Number Generation 2881 | # 2882 | # CONFIG_CRYPTO_ANSI_CPRNG is not set 2883 | CONFIG_CRYPTO_DRBG_MENU=y 2884 | CONFIG_CRYPTO_DRBG_HMAC=y 2885 | # CONFIG_CRYPTO_DRBG_HASH is not set 2886 | # CONFIG_CRYPTO_DRBG_CTR is not set 2887 | CONFIG_CRYPTO_DRBG=y 2888 | CONFIG_CRYPTO_JITTERENTROPY=y 2889 | # CONFIG_CRYPTO_USER_API_HASH is not set 2890 | # CONFIG_CRYPTO_USER_API_SKCIPHER is not set 2891 | # CONFIG_CRYPTO_USER_API_RNG is not set 2892 | # CONFIG_CRYPTO_USER_API_AEAD is not set 2893 | CONFIG_CRYPTO_HASH_INFO=y 2894 | # CONFIG_CRYPTO_HW is not set 2895 | CONFIG_ASYMMETRIC_KEY_TYPE=y 2896 | CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y 2897 | CONFIG_X509_CERTIFICATE_PARSER=y 2898 | CONFIG_PKCS7_MESSAGE_PARSER=y 2899 | # CONFIG_PKCS7_TEST_KEY is not set 2900 | # CONFIG_SIGNED_PE_FILE_VERIFICATION is not set 2901 | 2902 | # 2903 | # Certificates for signature checking 2904 | # 2905 | CONFIG_SYSTEM_TRUSTED_KEYRING=y 2906 | CONFIG_SYSTEM_TRUSTED_KEYS="" 2907 | # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set 2908 | # CONFIG_SECONDARY_TRUSTED_KEYRING is not set 2909 | # CONFIG_SYSTEM_BLACKLIST_KEYRING is not set 2910 | CONFIG_BINARY_PRINTF=y 2911 | 2912 | # 2913 | # Library routines 2914 | # 2915 | CONFIG_BITREVERSE=y 2916 | CONFIG_RATIONAL=y 2917 | CONFIG_GENERIC_STRNCPY_FROM_USER=y 2918 | CONFIG_GENERIC_STRNLEN_USER=y 2919 | CONFIG_GENERIC_NET_UTILS=y 2920 | CONFIG_GENERIC_PCI_IOMAP=y 2921 | CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y 2922 | CONFIG_CRC_CCITT=y 2923 | CONFIG_CRC16=y 2924 | # CONFIG_CRC_T10DIF is not set 2925 | CONFIG_CRC_ITU_T=y 2926 | CONFIG_CRC32=y 2927 | # CONFIG_CRC32_SELFTEST is not set 2928 | CONFIG_CRC32_SLICEBY8=y 2929 | # CONFIG_CRC32_SLICEBY4 is not set 2930 | # CONFIG_CRC32_SARWATE is not set 2931 | # CONFIG_CRC32_BIT is not set 2932 | # CONFIG_CRC64 is not set 2933 | # CONFIG_CRC4 is not set 2934 | CONFIG_CRC7=y 2935 | CONFIG_LIBCRC32C=y 2936 | # CONFIG_CRC8 is not set 2937 | # CONFIG_RANDOM32_SELFTEST is not set 2938 | CONFIG_ZLIB_INFLATE=y 2939 | CONFIG_ZLIB_DEFLATE=y 2940 | CONFIG_LZO_COMPRESS=y 2941 | CONFIG_LZO_DECOMPRESS=y 2942 | CONFIG_LZ4_COMPRESS=y 2943 | CONFIG_LZ4_DECOMPRESS=y 2944 | CONFIG_XZ_DEC=y 2945 | CONFIG_XZ_DEC_X86=y 2946 | CONFIG_XZ_DEC_POWERPC=y 2947 | CONFIG_XZ_DEC_IA64=y 2948 | CONFIG_XZ_DEC_ARM=y 2949 | CONFIG_XZ_DEC_ARMTHUMB=y 2950 | CONFIG_XZ_DEC_SPARC=y 2951 | CONFIG_XZ_DEC_BCJ=y 2952 | # CONFIG_XZ_DEC_TEST is not set 2953 | CONFIG_DECOMPRESS_GZIP=y 2954 | CONFIG_DECOMPRESS_BZIP2=y 2955 | CONFIG_DECOMPRESS_LZMA=y 2956 | CONFIG_DECOMPRESS_XZ=y 2957 | CONFIG_DECOMPRESS_LZO=y 2958 | CONFIG_DECOMPRESS_LZ4=y 2959 | CONFIG_GENERIC_ALLOCATOR=y 2960 | CONFIG_ASSOCIATIVE_ARRAY=y 2961 | CONFIG_HAS_IOMEM=y 2962 | CONFIG_HAS_IOPORT_MAP=y 2963 | CONFIG_HAS_DMA=y 2964 | CONFIG_NEED_DMA_MAP_STATE=y 2965 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y 2966 | CONFIG_SGL_ALLOC=y 2967 | CONFIG_DQL=y 2968 | CONFIG_GLOB=y 2969 | # CONFIG_GLOB_SELFTEST is not set 2970 | CONFIG_NLATTR=y 2971 | CONFIG_CLZ_TAB=y 2972 | # CONFIG_CORDIC is not set 2973 | # CONFIG_DDR is not set 2974 | # CONFIG_IRQ_POLL is not set 2975 | CONFIG_MPILIB=y 2976 | CONFIG_LIBFDT=y 2977 | CONFIG_OID_REGISTRY=y 2978 | CONFIG_FONT_SUPPORT=y 2979 | # CONFIG_FONTS is not set 2980 | CONFIG_FONT_8x8=y 2981 | CONFIG_FONT_8x16=y 2982 | CONFIG_SG_POOL=y 2983 | CONFIG_ARCH_HAS_SG_CHAIN=y 2984 | CONFIG_SBITMAP=y 2985 | # CONFIG_STRING_SELFTEST is not set 2986 | 2987 | # 2988 | # Kernel hacking 2989 | # 2990 | 2991 | # 2992 | # printk and dmesg options 2993 | # 2994 | CONFIG_PRINTK_TIME=y 2995 | CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 2996 | CONFIG_CONSOLE_LOGLEVEL_QUIET=4 2997 | CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 2998 | CONFIG_BOOT_PRINTK_DELAY=y 2999 | # CONFIG_DYNAMIC_DEBUG is not set 3000 | 3001 | # 3002 | # Compile-time checks and compiler options 3003 | # 3004 | # CONFIG_DEBUG_INFO is not set 3005 | CONFIG_ENABLE_MUST_CHECK=y 3006 | CONFIG_FRAME_WARN=1024 3007 | # CONFIG_STRIP_ASM_SYMS is not set 3008 | # CONFIG_READABLE_ASM is not set 3009 | # CONFIG_UNUSED_SYMBOLS is not set 3010 | # CONFIG_PAGE_OWNER is not set 3011 | CONFIG_DEBUG_FS=y 3012 | # CONFIG_HEADERS_CHECK is not set 3013 | # CONFIG_DEBUG_SECTION_MISMATCH is not set 3014 | CONFIG_SECTION_MISMATCH_WARN_ONLY=y 3015 | CONFIG_FRAME_POINTER=y 3016 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set 3017 | CONFIG_MAGIC_SYSRQ=y 3018 | CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 3019 | CONFIG_MAGIC_SYSRQ_SERIAL=y 3020 | CONFIG_DEBUG_KERNEL=y 3021 | 3022 | # 3023 | # Memory Debugging 3024 | # 3025 | # CONFIG_PAGE_EXTENSION is not set 3026 | # CONFIG_DEBUG_PAGEALLOC is not set 3027 | # CONFIG_PAGE_POISONING is not set 3028 | # CONFIG_DEBUG_PAGE_REF is not set 3029 | # CONFIG_DEBUG_OBJECTS is not set 3030 | # CONFIG_SLUB_DEBUG_ON is not set 3031 | # CONFIG_SLUB_STATS is not set 3032 | CONFIG_HAVE_DEBUG_KMEMLEAK=y 3033 | # CONFIG_DEBUG_KMEMLEAK is not set 3034 | # CONFIG_DEBUG_STACK_USAGE is not set 3035 | # CONFIG_DEBUG_VM is not set 3036 | CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y 3037 | # CONFIG_DEBUG_VIRTUAL is not set 3038 | CONFIG_DEBUG_MEMORY_INIT=y 3039 | CONFIG_ARCH_HAS_KCOV=y 3040 | CONFIG_CC_HAS_SANCOV_TRACE_PC=y 3041 | # CONFIG_KCOV is not set 3042 | # CONFIG_DEBUG_SHIRQ is not set 3043 | 3044 | # 3045 | # Debug Lockups and Hangs 3046 | # 3047 | # CONFIG_SOFTLOCKUP_DETECTOR is not set 3048 | CONFIG_DETECT_HUNG_TASK=y 3049 | CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 3050 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set 3051 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 3052 | # CONFIG_WQ_WATCHDOG is not set 3053 | # CONFIG_PANIC_ON_OOPS is not set 3054 | CONFIG_PANIC_ON_OOPS_VALUE=0 3055 | CONFIG_PANIC_TIMEOUT=0 3056 | CONFIG_SCHED_DEBUG=y 3057 | CONFIG_SCHED_INFO=y 3058 | CONFIG_SCHEDSTATS=y 3059 | # CONFIG_SCHED_STACK_END_CHECK is not set 3060 | # CONFIG_DEBUG_TIMEKEEPING is not set 3061 | 3062 | # 3063 | # Lock Debugging (spinlocks, mutexes, etc...) 3064 | # 3065 | CONFIG_LOCK_DEBUGGING_SUPPORT=y 3066 | # CONFIG_PROVE_LOCKING is not set 3067 | # CONFIG_LOCK_STAT is not set 3068 | # CONFIG_DEBUG_RT_MUTEXES is not set 3069 | # CONFIG_DEBUG_SPINLOCK is not set 3070 | # CONFIG_DEBUG_MUTEXES is not set 3071 | # CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set 3072 | # CONFIG_DEBUG_LOCK_ALLOC is not set 3073 | # CONFIG_DEBUG_ATOMIC_SLEEP is not set 3074 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 3075 | # CONFIG_LOCK_TORTURE_TEST is not set 3076 | # CONFIG_WW_MUTEX_SELFTEST is not set 3077 | CONFIG_TRACE_IRQFLAGS=y 3078 | CONFIG_STACKTRACE=y 3079 | # CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set 3080 | # CONFIG_DEBUG_KOBJECT is not set 3081 | CONFIG_DEBUG_BUGVERBOSE=y 3082 | # CONFIG_DEBUG_LIST is not set 3083 | # CONFIG_DEBUG_PI_LIST is not set 3084 | # CONFIG_DEBUG_SG is not set 3085 | # CONFIG_DEBUG_NOTIFIERS is not set 3086 | # CONFIG_DEBUG_CREDENTIALS is not set 3087 | 3088 | # 3089 | # RCU Debugging 3090 | # 3091 | # CONFIG_RCU_PERF_TEST is not set 3092 | # CONFIG_RCU_TORTURE_TEST is not set 3093 | # CONFIG_RCU_TRACE is not set 3094 | # CONFIG_RCU_EQS_DEBUG is not set 3095 | # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set 3096 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 3097 | # CONFIG_NOTIFIER_ERROR_INJECTION is not set 3098 | # CONFIG_FAULT_INJECTION is not set 3099 | CONFIG_LATENCYTOP=y 3100 | CONFIG_NOP_TRACER=y 3101 | CONFIG_HAVE_FUNCTION_TRACER=y 3102 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y 3103 | CONFIG_HAVE_DYNAMIC_FTRACE=y 3104 | CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y 3105 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 3106 | CONFIG_HAVE_SYSCALL_TRACEPOINTS=y 3107 | CONFIG_HAVE_C_RECORDMCOUNT=y 3108 | CONFIG_TRACER_MAX_TRACE=y 3109 | CONFIG_TRACE_CLOCK=y 3110 | CONFIG_RING_BUFFER=y 3111 | CONFIG_EVENT_TRACING=y 3112 | CONFIG_CONTEXT_SWITCH_TRACER=y 3113 | CONFIG_RING_BUFFER_ALLOW_SWAP=y 3114 | CONFIG_PREEMPTIRQ_TRACEPOINTS=y 3115 | CONFIG_TRACING=y 3116 | CONFIG_GENERIC_TRACER=y 3117 | CONFIG_TRACING_SUPPORT=y 3118 | CONFIG_FTRACE=y 3119 | CONFIG_FUNCTION_TRACER=y 3120 | CONFIG_FUNCTION_GRAPH_TRACER=y 3121 | # CONFIG_PREEMPTIRQ_EVENTS is not set 3122 | CONFIG_IRQSOFF_TRACER=y 3123 | CONFIG_SCHED_TRACER=y 3124 | # CONFIG_HWLAT_TRACER is not set 3125 | # CONFIG_FTRACE_SYSCALLS is not set 3126 | CONFIG_TRACER_SNAPSHOT=y 3127 | CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP=y 3128 | CONFIG_BRANCH_PROFILE_NONE=y 3129 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set 3130 | # CONFIG_PROFILE_ALL_BRANCHES is not set 3131 | CONFIG_STACK_TRACER=y 3132 | CONFIG_BLK_DEV_IO_TRACE=y 3133 | CONFIG_KPROBE_EVENTS=y 3134 | # CONFIG_UPROBE_EVENTS is not set 3135 | CONFIG_PROBE_EVENTS=y 3136 | CONFIG_DYNAMIC_FTRACE=y 3137 | CONFIG_DYNAMIC_FTRACE_WITH_REGS=y 3138 | CONFIG_FUNCTION_PROFILER=y 3139 | CONFIG_FTRACE_MCOUNT_RECORD=y 3140 | # CONFIG_FTRACE_STARTUP_TEST is not set 3141 | # CONFIG_TRACEPOINT_BENCHMARK is not set 3142 | # CONFIG_RING_BUFFER_BENCHMARK is not set 3143 | # CONFIG_RING_BUFFER_STARTUP_TEST is not set 3144 | # CONFIG_PREEMPTIRQ_DELAY_TEST is not set 3145 | # CONFIG_TRACE_EVAL_MAP_FILE is not set 3146 | CONFIG_TRACING_EVENTS_GPIO=y 3147 | # CONFIG_DMA_API_DEBUG is not set 3148 | CONFIG_RUNTIME_TESTING_MENU=y 3149 | # CONFIG_LKDTM is not set 3150 | # CONFIG_TEST_LIST_SORT is not set 3151 | # CONFIG_TEST_SORT is not set 3152 | # CONFIG_KPROBES_SANITY_TEST is not set 3153 | # CONFIG_BACKTRACE_SELF_TEST is not set 3154 | # CONFIG_RBTREE_TEST is not set 3155 | # CONFIG_INTERVAL_TREE_TEST is not set 3156 | # CONFIG_PERCPU_TEST is not set 3157 | # CONFIG_ATOMIC64_SELFTEST is not set 3158 | # CONFIG_TEST_HEXDUMP is not set 3159 | # CONFIG_TEST_STRING_HELPERS is not set 3160 | # CONFIG_TEST_KSTRTOX is not set 3161 | # CONFIG_TEST_PRINTF is not set 3162 | # CONFIG_TEST_BITMAP is not set 3163 | # CONFIG_TEST_BITFIELD is not set 3164 | # CONFIG_TEST_UUID is not set 3165 | # CONFIG_TEST_OVERFLOW is not set 3166 | # CONFIG_TEST_RHASHTABLE is not set 3167 | # CONFIG_TEST_HASH is not set 3168 | # CONFIG_TEST_IDA is not set 3169 | # CONFIG_TEST_LKM is not set 3170 | # CONFIG_TEST_USER_COPY is not set 3171 | # CONFIG_TEST_BPF is not set 3172 | # CONFIG_FIND_BIT_BENCHMARK is not set 3173 | # CONFIG_TEST_FIRMWARE is not set 3174 | # CONFIG_TEST_SYSCTL is not set 3175 | # CONFIG_TEST_UDELAY is not set 3176 | # CONFIG_TEST_STATIC_KEYS is not set 3177 | # CONFIG_MEMTEST is not set 3178 | # CONFIG_BUG_ON_DATA_CORRUPTION is not set 3179 | # CONFIG_SAMPLES is not set 3180 | CONFIG_HAVE_ARCH_KGDB=y 3181 | CONFIG_KGDB=y 3182 | CONFIG_KGDB_SERIAL_CONSOLE=y 3183 | # CONFIG_KGDB_TESTS is not set 3184 | CONFIG_KGDB_KDB=y 3185 | CONFIG_KDB_DEFAULT_ENABLE=0x1 3186 | CONFIG_KDB_KEYBOARD=y 3187 | CONFIG_KDB_CONTINUE_CATASTROPHIC=0 3188 | # CONFIG_UBSAN is not set 3189 | CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y 3190 | # CONFIG_STRICT_DEVMEM is not set 3191 | # CONFIG_ARM_PTDUMP_DEBUGFS is not set 3192 | # CONFIG_DEBUG_WX is not set 3193 | CONFIG_ARM_UNWIND=y 3194 | CONFIG_OLD_MCOUNT=y 3195 | # CONFIG_DEBUG_USER is not set 3196 | # CONFIG_DEBUG_LL is not set 3197 | CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" 3198 | CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" 3199 | # CONFIG_ARM_KPROBES_TEST is not set 3200 | # CONFIG_PID_IN_CONTEXTIDR is not set 3201 | # CONFIG_CORESIGHT is not set 3202 | --------------------------------------------------------------------------------