├── .gitignore ├── LICENSE ├── README.md ├── build.sh ├── buildroot-2019.11.1.tar.gz ├── output ├── cmdline.txt ├── cmdline.txt.ipv6ll └── config.txt └── scriptexecute ├── Config.in ├── board ├── kernelconfig-cm4.armv7 ├── kernelconfig-hybrid.armv67 ├── kernelconfig-scriptexecute.fragment └── overlay │ └── etc │ ├── default │ └── urandom │ ├── init.d │ └── S99scriptexec │ └── random-seed ├── configs ├── scriptexecute_cm4_defconfig └── scriptexecute_cmhybrid_defconfig ├── external.desc ├── external.mk └── package └── rpi-firmware-custom ├── Config.in └── rpi-firmware-custom.mk /.gitignore: -------------------------------------------------------------------------------- 1 | /buildroot-2017.02 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "{}" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright {yyyy} {name of copyright owner} 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Script executor 2 | 3 | Lightweight operating system image that downloads an arbritary shell script from a HTTP or NFS server, and executes it. 4 | 5 | ## Quick start (if using a binary build) 6 | 7 | To tell the image to download the script from the HTTP server with IP-address 1.2.3.4 put in `cmdline.txt`: 8 | 9 | `script=http://1.2.3.4/name-of-script.sh` 10 | 11 | To tell the image to download the script from the NFS server with IP-addresses 1.2.3.4 use: 12 | 13 | `script=1.2.3.4:/name-of-nfs-share/name-of-script.sh` 14 | 15 | If using NFS the script has access to other files inside the same NFS share as well. 16 | The current working directory is set to where the share is mounted before the script is executed. 17 | 18 | ## Documentation 19 | 20 | [Building and customizing scriptexecutor](https://github.com/raspberrypi/scriptexecutor/wiki/Building-and-customizing) 21 | 22 | -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BUILDROOT=buildroot-2019.11.1 4 | # Supported targets: cmhybrid (supports cm1 cm3), cm4 5 | TARGET=cm4 6 | 7 | # 8 | # Extract the tarball containing the unmodified buildroot version 9 | # 10 | if [ ! -e $BUILDROOT ]; then 11 | tar xzf $BUILDROOT.tar.gz 12 | fi 13 | 14 | # 15 | # Tell buildroot we have extra files in our external directory 16 | # and use our scriptexecute_defconfig configuration file 17 | # 18 | if [ ! -e $BUILDROOT/.config ]; then 19 | make -C $BUILDROOT BR2_EXTERNAL="$PWD/scriptexecute" scriptexecute_${TARGET}_defconfig 20 | fi 21 | 22 | # 23 | # Build everything 24 | # 25 | make -C $BUILDROOT 26 | 27 | # 28 | # Copy the files we are interested in from buildroot's "output/images" directory 29 | # to our "output" directory in top level directory 30 | # 31 | 32 | # initramfs file build by buildroot containing the root file system 33 | cp $BUILDROOT/output/images/rootfs.cpio.xz output/scriptexecute.img 34 | # Linux kernel 35 | cp $BUILDROOT/output/images/zImage output/kernel.img 36 | # Raspberry Pi firmware files 37 | cp $BUILDROOT/output/images/rpi-firmware/*.elf output 38 | cp $BUILDROOT/output/images/rpi-firmware/*.dat output 39 | cp $BUILDROOT/output/images/rpi-firmware/bootcode.bin output 40 | cp $BUILDROOT/output/images/*.dtb output 41 | 42 | # Uncomment if using dwc2 43 | mkdir -p output/overlays 44 | mv output/dwc2-overlay.dtb output/overlays/dwc2.dtbo 45 | mv output/spi-gpio40-45-overlay.dtb output/overlays/spi-gpio40-45.dtbo 46 | 47 | echo 48 | echo Build complete. Files are in output folder. 49 | echo 50 | -------------------------------------------------------------------------------- /buildroot-2019.11.1.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspberrypi/scriptexecutor/640d74972f0d775c3bee112d80e5b25b4a64ed25/buildroot-2019.11.1.tar.gz -------------------------------------------------------------------------------- /output/cmdline.txt: -------------------------------------------------------------------------------- 1 | readjumper script=http://myserver/scriptexecute?serial={serial}&model={model}&storagesize={storagesize}&mac={mac}&inversejumper={jumper}&memorysize={memorysize}&temp={temp}&cid={cid}&csd={csd}&bootmode={bootmode} 2 | -------------------------------------------------------------------------------- /output/cmdline.txt.ipv6ll: -------------------------------------------------------------------------------- 1 | usbipv6ll readjumper script=http://{server}/scriptexecute?serial={serial}&model={model}&storagesize={storagesize}&mac={mac}&jumper={jumper} 2 | -------------------------------------------------------------------------------- /output/config.txt: -------------------------------------------------------------------------------- 1 | dtoverlay=dwc2,dr_mode=peripheral 2 | 3 | # Set the pull ups for jumper reading 4 | gpio=5,13,21=pu 5 | 6 | # For flashrom 7 | dtparam=audio=off 8 | dtoverlay=spi-gpio40-45 9 | 10 | initramfs scriptexecute.img 11 | -------------------------------------------------------------------------------- /scriptexecute/Config.in: -------------------------------------------------------------------------------- 1 | source "$BR2_EXTERNAL_SCRIPTEXECUTE_PATH/package/rpi-firmware-custom/Config.in" 2 | -------------------------------------------------------------------------------- /scriptexecute/board/kernelconfig-cm4.armv7: -------------------------------------------------------------------------------- 1 | CONFIG_NEW_LEDS=y 2 | CONFIG_LEDS_TRIGGERS=y 3 | 4 | # bcm2711_defconfig minus modules ("cat bcm2711_defconfig |grep -v =m") 5 | 6 | CONFIG_LOCALVERSION="-v7l" 7 | # CONFIG_LOCALVERSION_AUTO is not set 8 | CONFIG_SYSVIPC=y 9 | CONFIG_POSIX_MQUEUE=y 10 | CONFIG_GENERIC_IRQ_DEBUGFS=y 11 | CONFIG_NO_HZ=y 12 | CONFIG_HIGH_RES_TIMERS=y 13 | CONFIG_PREEMPT_VOLUNTARY=y 14 | CONFIG_BSD_PROCESS_ACCT=y 15 | CONFIG_BSD_PROCESS_ACCT_V3=y 16 | CONFIG_TASKSTATS=y 17 | CONFIG_TASK_DELAY_ACCT=y 18 | CONFIG_TASK_XACCT=y 19 | CONFIG_TASK_IO_ACCOUNTING=y 20 | CONFIG_IKCONFIG_PROC=y 21 | CONFIG_MEMCG=y 22 | CONFIG_MEMCG_SWAP=y 23 | # CONFIG_MEMCG_SWAP_ENABLED is not set 24 | CONFIG_BLK_CGROUP=y 25 | CONFIG_CFS_BANDWIDTH=y 26 | CONFIG_CGROUP_PIDS=y 27 | CONFIG_CGROUP_FREEZER=y 28 | CONFIG_CPUSETS=y 29 | CONFIG_CGROUP_DEVICE=y 30 | CONFIG_CGROUP_CPUACCT=y 31 | CONFIG_CGROUP_PERF=y 32 | CONFIG_CGROUP_BPF=y 33 | CONFIG_NAMESPACES=y 34 | CONFIG_USER_NS=y 35 | CONFIG_SCHED_AUTOGROUP=y 36 | CONFIG_BLK_DEV_INITRD=y 37 | CONFIG_BPF_SYSCALL=y 38 | CONFIG_EMBEDDED=y 39 | # CONFIG_COMPAT_BRK is not set 40 | CONFIG_PROFILING=y 41 | CONFIG_ARCH_BCM=y 42 | CONFIG_ARCH_BCM2835=y 43 | CONFIG_ARM_LPAE=y 44 | # CONFIG_CACHE_L2X0 is not set 45 | CONFIG_SMP=y 46 | CONFIG_HIGHMEM=y 47 | CONFIG_UACCESS_WITH_MEMCPY=y 48 | CONFIG_SECCOMP=y 49 | # CONFIG_ATAGS is not set 50 | CONFIG_ZBOOT_ROM_TEXT=0x0 51 | CONFIG_ZBOOT_ROM_BSS=0x0 52 | CONFIG_CMDLINE="console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" 53 | CONFIG_CPU_FREQ=y 54 | CONFIG_CPU_FREQ_STAT=y 55 | CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y 56 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y 57 | CONFIG_CPU_FREQ_GOV_USERSPACE=y 58 | CONFIG_CPU_FREQ_GOV_ONDEMAND=y 59 | CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y 60 | CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y 61 | CONFIG_CPUFREQ_DT=y 62 | CONFIG_ARM_RASPBERRYPI_CPUFREQ=y 63 | # CONFIG_ARM_BCM2835_CPUFREQ is not set 64 | CONFIG_VFP=y 65 | CONFIG_NEON=y 66 | CONFIG_KERNEL_MODE_NEON=y 67 | # CONFIG_SUSPEND is not set 68 | CONFIG_PM=y 69 | CONFIG_RASPBERRYPI_FIRMWARE=y 70 | CONFIG_ARM_CRYPTO=y 71 | CONFIG_KPROBES=y 72 | CONFIG_JUMP_LABEL=y 73 | CONFIG_MODULES=y 74 | CONFIG_MODULE_UNLOAD=y 75 | CONFIG_MODVERSIONS=y 76 | CONFIG_MODULE_SRCVERSION_ALL=y 77 | CONFIG_BLK_DEV_THROTTLING=y 78 | CONFIG_PARTITION_ADVANCED=y 79 | CONFIG_MAC_PARTITION=y 80 | CONFIG_CLEANCACHE=y 81 | CONFIG_FRONTSWAP=y 82 | CONFIG_CMA=y 83 | CONFIG_ZSWAP=y 84 | CONFIG_PGTABLE_MAPPING=y 85 | CONFIG_NET=y 86 | CONFIG_PACKET=y 87 | CONFIG_UNIX=y 88 | CONFIG_XFRM_USER=y 89 | CONFIG_INET=y 90 | CONFIG_IP_MULTICAST=y 91 | CONFIG_IP_ADVANCED_ROUTER=y 92 | CONFIG_IP_MULTIPLE_TABLES=y 93 | CONFIG_IP_ROUTE_MULTIPATH=y 94 | CONFIG_IP_ROUTE_VERBOSE=y 95 | CONFIG_IP_PNP=y 96 | CONFIG_IP_PNP_DHCP=y 97 | CONFIG_IP_PNP_RARP=y 98 | CONFIG_IP_MROUTE=y 99 | CONFIG_IP_MROUTE_MULTIPLE_TABLES=y 100 | CONFIG_IP_PIMSM_V1=y 101 | CONFIG_IP_PIMSM_V2=y 102 | CONFIG_SYN_COOKIES=y 103 | CONFIG_TCP_CONG_ADVANCED=y 104 | CONFIG_IPV6_ROUTER_PREF=y 105 | CONFIG_IPV6_ROUTE_INFO=y 106 | CONFIG_IPV6_SIT_6RD=y 107 | CONFIG_IPV6_MULTIPLE_TABLES=y 108 | CONFIG_IPV6_SUBTREES=y 109 | CONFIG_IPV6_MROUTE=y 110 | CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y 111 | CONFIG_IPV6_PIMSM_V2=y 112 | CONFIG_NETFILTER=y 113 | CONFIG_NF_CONNTRACK_ZONES=y 114 | CONFIG_NF_CONNTRACK_EVENTS=y 115 | CONFIG_NF_CONNTRACK_TIMESTAMP=y 116 | CONFIG_NF_TABLES_INET=y 117 | CONFIG_NF_TABLES_NETDEV=y 118 | CONFIG_IP_VS_PROTO_TCP=y 119 | CONFIG_IP_VS_PROTO_UDP=y 120 | CONFIG_IP_VS_PROTO_ESP=y 121 | CONFIG_IP_VS_PROTO_AH=y 122 | CONFIG_IP_VS_PROTO_SCTP=y 123 | CONFIG_NF_TABLES_ARP=y 124 | CONFIG_SCTP_COOKIE_HMAC_SHA1=y 125 | CONFIG_L2TP_V3=y 126 | CONFIG_VLAN_8021Q_GVRP=y 127 | CONFIG_NET_SCHED=y 128 | CONFIG_CLS_U32_MARK=y 129 | CONFIG_NET_EMATCH=y 130 | CONFIG_NET_CLS_ACT=y 131 | CONFIG_GACT_PROB=y 132 | CONFIG_CGROUP_NET_PRIO=y 133 | CONFIG_HAMRADIO=y 134 | CONFIG_BT_RFCOMM_TTY=y 135 | CONFIG_BT_BNEP_MC_FILTER=y 136 | CONFIG_BT_BNEP_PROTO_FILTER=y 137 | CONFIG_BT_HCIUART_3WIRE=y 138 | CONFIG_BT_HCIUART_BCM=y 139 | CONFIG_MAC80211_MESH=y 140 | CONFIG_RFKILL_INPUT=y 141 | CONFIG_PCI=y 142 | CONFIG_PCIEPORTBUS=y 143 | # CONFIG_PCIEASPM is not set 144 | CONFIG_PCI_MSI=y 145 | CONFIG_PCIE_BRCMSTB=y 146 | CONFIG_UEVENT_HELPER=y 147 | CONFIG_DEVTMPFS=y 148 | CONFIG_DEVTMPFS_MOUNT=y 149 | CONFIG_OF_CONFIGFS=y 150 | CONFIG_BLK_DEV_LOOP=y 151 | CONFIG_BLK_DEV_RAM=y 152 | CONFIG_SCSI=y 153 | # CONFIG_SCSI_PROC_FS is not set 154 | CONFIG_BLK_DEV_SD=y 155 | CONFIG_SCSI_ISCSI_ATTRS=y 156 | CONFIG_MD=y 157 | CONFIG_NETDEVICES=y 158 | CONFIG_BCMGENET=y 159 | CONFIG_BROADCOM_PHY=y 160 | CONFIG_PPP_FILTER=y 161 | CONFIG_PPP_MULTILINK=y 162 | CONFIG_SLIP_COMPRESSED=y 163 | CONFIG_SLIP_SMART=y 164 | CONFIG_USB_RTL8152=y 165 | CONFIG_USB_LAN78XX=y 166 | CONFIG_USB_USBNET=y 167 | CONFIG_USB_NET_SMSC95XX=y 168 | CONFIG_USB_ALI_M5632=y 169 | CONFIG_USB_AN2720=y 170 | CONFIG_USB_EPSON2888=y 171 | CONFIG_USB_KC2190=y 172 | # CONFIG_B43_PHY_N is not set 173 | CONFIG_BRCMFMAC_USB=y 174 | CONFIG_BRCMDBG=y 175 | CONFIG_RT2800USB_RT3573=y 176 | CONFIG_RT2800USB_RT53XX=y 177 | CONFIG_RT2800USB_RT55XX=y 178 | CONFIG_RT2800USB_UNKNOWN=y 179 | CONFIG_INPUT_MOUSEDEV=y 180 | CONFIG_INPUT_EVDEV=y 181 | # CONFIG_KEYBOARD_ATKBD is not set 182 | # CONFIG_INPUT_MOUSE is not set 183 | CONFIG_INPUT_JOYSTICK=y 184 | CONFIG_JOYSTICK_XPAD_FF=y 185 | CONFIG_JOYSTICK_XPAD_LEDS=y 186 | CONFIG_JOYSTICK_PSXPAD_SPI_FF=y 187 | CONFIG_INPUT_TOUCHSCREEN=y 188 | CONFIG_INPUT_MISC=y 189 | CONFIG_BRCM_CHAR_DRIVERS=y 190 | CONFIG_BCM_VCIO=y 191 | CONFIG_BCM_VC_SM=y 192 | CONFIG_BCM2835_DEVGPIOMEM=y 193 | # CONFIG_LEGACY_PTYS is not set 194 | CONFIG_SERIAL_8250=y 195 | # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set 196 | CONFIG_SERIAL_8250_CONSOLE=y 197 | # CONFIG_SERIAL_8250_DMA is not set 198 | CONFIG_SERIAL_8250_NR_UARTS=1 199 | CONFIG_SERIAL_8250_RUNTIME_UARTS=0 200 | CONFIG_SERIAL_8250_EXTENDED=y 201 | CONFIG_SERIAL_8250_SHARE_IRQ=y 202 | CONFIG_SERIAL_8250_BCM2835AUX=y 203 | CONFIG_SERIAL_OF_PLATFORM=y 204 | CONFIG_SERIAL_AMBA_PL011=y 205 | CONFIG_SERIAL_AMBA_PL011_CONSOLE=y 206 | CONFIG_SERIAL_SC16IS7XX_SPI=y 207 | CONFIG_SERIAL_DEV_BUS=y 208 | CONFIG_TTY_PRINTK=y 209 | CONFIG_HW_RANDOM=y 210 | CONFIG_RAW_DRIVER=y 211 | CONFIG_I2C=y 212 | CONFIG_SPI=y 213 | CONFIG_SPI_SLAVE=y 214 | CONFIG_GPIO_SYSFS=y 215 | CONFIG_GPIO_BCM_VIRT=y 216 | CONFIG_GPIO_STMPE=y 217 | CONFIG_POWER_RESET=y 218 | CONFIG_POWER_RESET_GPIO=y 219 | CONFIG_THERMAL=y 220 | CONFIG_BCM2711_THERMAL=y 221 | CONFIG_BCM2835_THERMAL=y 222 | CONFIG_WATCHDOG=y 223 | CONFIG_BCM2835_WDT=y 224 | CONFIG_MFD_STMPE=y 225 | CONFIG_STMPE_SPI=y 226 | CONFIG_MFD_WM5102=y 227 | CONFIG_REGULATOR=y 228 | CONFIG_REGULATOR_FIXED_VOLTAGE=y 229 | CONFIG_REGULATOR_GPIO=y 230 | CONFIG_RC_CORE=y 231 | CONFIG_LIRC=y 232 | CONFIG_BPF_LIRC_MODE2=y 233 | CONFIG_RC_DECODERS=y 234 | CONFIG_RC_DEVICES=y 235 | CONFIG_MEDIA_CAMERA_SUPPORT=y 236 | CONFIG_MEDIA_ANALOG_TV_SUPPORT=y 237 | CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y 238 | CONFIG_MEDIA_RADIO_SUPPORT=y 239 | CONFIG_MEDIA_CONTROLLER_REQUEST_API=y 240 | CONFIG_VIDEO_V4L2_SUBDEV_API=y 241 | CONFIG_MEDIA_USB_SUPPORT=y 242 | CONFIG_VIDEO_AU0828_RC=y 243 | CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y 244 | CONFIG_V4L_PLATFORM_DRIVERS=y 245 | CONFIG_DRM_LOAD_EDID_FIRMWARE=y 246 | CONFIG_DRM_VC4_HDMI_CEC=y 247 | CONFIG_FB=y 248 | CONFIG_FB_BCM2708=y 249 | CONFIG_FB_SIMPLE=y 250 | # CONFIG_BACKLIGHT_GENERIC is not set 251 | CONFIG_FRAMEBUFFER_CONSOLE=y 252 | CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y 253 | CONFIG_LOGO=y 254 | # CONFIG_LOGO_LINUX_MONO is not set 255 | # CONFIG_LOGO_LINUX_VGA16 is not set 256 | CONFIG_SOUND=y 257 | CONFIG_SND_OSSEMUL=y 258 | CONFIG_SND_USB_CAIAQ_INPUT=y 259 | CONFIG_HID_BATTERY_STRENGTH=y 260 | CONFIG_HIDRAW=y 261 | CONFIG_LOGITECH_FF=y 262 | CONFIG_LOGIRUMBLEPAD2_FF=y 263 | CONFIG_LOGIG940_FF=y 264 | CONFIG_SONY_FF=y 265 | CONFIG_HID_PID=y 266 | CONFIG_USB_HIDDEV=y 267 | CONFIG_USB=y 268 | CONFIG_USB_ANNOUNCE_NEW_DEVICES=y 269 | CONFIG_USB_XHCI_HCD=y 270 | CONFIG_USB_XHCI_PLATFORM=y 271 | CONFIG_USB_DWCOTG=y 272 | CONFIG_USB_STORAGE=y 273 | CONFIG_USB_UAS=y 274 | CONFIG_USB_SERIAL_GENERIC=y 275 | CONFIG_NOP_USB_XCEIV=y 276 | CONFIG_USB_GADGET=y 277 | CONFIG_USB_CONFIGFS_SERIAL=y 278 | CONFIG_USB_CONFIGFS_ACM=y 279 | CONFIG_USB_CONFIGFS_OBEX=y 280 | CONFIG_USB_CONFIGFS_NCM=y 281 | CONFIG_USB_CONFIGFS_ECM=y 282 | CONFIG_USB_CONFIGFS_ECM_SUBSET=y 283 | CONFIG_USB_CONFIGFS_RNDIS=y 284 | CONFIG_USB_CONFIGFS_EEM=y 285 | CONFIG_USB_CONFIGFS_MASS_STORAGE=y 286 | CONFIG_USB_CONFIGFS_F_LB_SS=y 287 | CONFIG_USB_CONFIGFS_F_FS=y 288 | CONFIG_USB_CONFIGFS_F_UAC1=y 289 | CONFIG_USB_CONFIGFS_F_UAC2=y 290 | CONFIG_USB_CONFIGFS_F_MIDI=y 291 | CONFIG_USB_CONFIGFS_F_HID=y 292 | CONFIG_USB_CONFIGFS_F_UVC=y 293 | CONFIG_USB_CONFIGFS_F_PRINTER=y 294 | CONFIG_MMC=y 295 | CONFIG_MMC_BLOCK_MINORS=32 296 | CONFIG_MMC_BCM2835_MMC=y 297 | CONFIG_MMC_BCM2835_DMA=y 298 | CONFIG_MMC_BCM2835_SDHOST=y 299 | CONFIG_MMC_SDHCI=y 300 | CONFIG_MMC_SDHCI_PLTFM=y 301 | CONFIG_MMC_SDHCI_IPROC=y 302 | CONFIG_LEDS_CLASS=y 303 | CONFIG_LEDS_GPIO=y 304 | CONFIG_LEDS_TRIGGER_TIMER=y 305 | CONFIG_LEDS_TRIGGER_ONESHOT=y 306 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y 307 | CONFIG_LEDS_TRIGGER_BACKLIGHT=y 308 | CONFIG_LEDS_TRIGGER_CPU=y 309 | CONFIG_LEDS_TRIGGER_GPIO=y 310 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y 311 | CONFIG_LEDS_TRIGGER_INPUT=y 312 | CONFIG_LEDS_TRIGGER_PANIC=y 313 | CONFIG_LEDS_TRIGGER_ACTPWR=y 314 | CONFIG_RTC_CLASS=y 315 | # CONFIG_RTC_HCTOSYS is not set 316 | CONFIG_DMADEVICES=y 317 | CONFIG_DMA_BCM2835=y 318 | CONFIG_DMA_BCM2708=y 319 | CONFIG_DMABUF_HEAPS=y 320 | CONFIG_DMABUF_HEAPS_SYSTEM=y 321 | CONFIG_DMABUF_HEAPS_CMA=y 322 | CONFIG_AUXDISPLAY=y 323 | CONFIG_STAGING=y 324 | CONFIG_STAGING_MEDIA=y 325 | CONFIG_BCM2835_VCHIQ=y 326 | CONFIG_CLK_RASPBERRYPI=y 327 | CONFIG_MAILBOX=y 328 | CONFIG_BCM2835_MBOX=y 329 | # CONFIG_IOMMU_SUPPORT is not set 330 | CONFIG_RASPBERRYPI_POWER=y 331 | CONFIG_GENERIC_PHY=y 332 | CONFIG_EXT4_FS=y 333 | CONFIG_EXT4_FS_POSIX_ACL=y 334 | CONFIG_EXT4_FS_SECURITY=y 335 | CONFIG_REISERFS_FS_XATTR=y 336 | CONFIG_REISERFS_FS_POSIX_ACL=y 337 | CONFIG_REISERFS_FS_SECURITY=y 338 | CONFIG_JFS_POSIX_ACL=y 339 | CONFIG_JFS_SECURITY=y 340 | CONFIG_JFS_STATISTICS=y 341 | CONFIG_XFS_QUOTA=y 342 | CONFIG_XFS_POSIX_ACL=y 343 | CONFIG_XFS_RT=y 344 | CONFIG_BTRFS_FS_POSIX_ACL=y 345 | CONFIG_F2FS_FS=y 346 | CONFIG_FS_ENCRYPTION=y 347 | CONFIG_FANOTIFY=y 348 | CONFIG_AUTOFS4_FS=y 349 | CONFIG_FSCACHE=y 350 | CONFIG_FSCACHE_STATS=y 351 | CONFIG_FSCACHE_HISTOGRAM=y 352 | CONFIG_CACHEFILES=y 353 | CONFIG_JOLIET=y 354 | CONFIG_ZISOFS=y 355 | CONFIG_MSDOS_FS=y 356 | CONFIG_VFAT_FS=y 357 | CONFIG_FAT_DEFAULT_IOCHARSET="ascii" 358 | CONFIG_NTFS_RW=y 359 | CONFIG_TMPFS=y 360 | CONFIG_TMPFS_POSIX_ACL=y 361 | CONFIG_JFFS2_SUMMARY=y 362 | CONFIG_SQUASHFS_XATTR=y 363 | CONFIG_SQUASHFS_LZO=y 364 | CONFIG_SQUASHFS_XZ=y 365 | CONFIG_NFS_FS=y 366 | CONFIG_NFS_V3_ACL=y 367 | CONFIG_NFS_V4=y 368 | CONFIG_NFS_SWAP=y 369 | CONFIG_NFS_V4_1=y 370 | CONFIG_NFS_V4_2=y 371 | CONFIG_ROOT_NFS=y 372 | CONFIG_NFS_FSCACHE=y 373 | CONFIG_NFSD_V3_ACL=y 374 | CONFIG_NFSD_V4=y 375 | CONFIG_CIFS_WEAK_PW_HASH=y 376 | CONFIG_CIFS_UPCALL=y 377 | CONFIG_CIFS_XATTR=y 378 | CONFIG_CIFS_POSIX=y 379 | CONFIG_CIFS_DFS_UPCALL=y 380 | CONFIG_CIFS_FSCACHE=y 381 | CONFIG_9P_FS_POSIX_ACL=y 382 | CONFIG_NLS_DEFAULT="utf8" 383 | CONFIG_NLS_CODEPAGE_437=y 384 | CONFIG_NLS_ASCII=y 385 | CONFIG_SECURITY=y 386 | CONFIG_SECURITY_APPARMOR=y 387 | CONFIG_LSM="" 388 | CONFIG_CRYPTO_DES=y 389 | # CONFIG_CRYPTO_HW is not set 390 | CONFIG_CRC_ITU_T=y 391 | CONFIG_LIBCRC32C=y 392 | CONFIG_DMA_CMA=y 393 | CONFIG_CMA_SIZE_MBYTES=5 394 | CONFIG_PRINTK_TIME=y 395 | CONFIG_BOOT_PRINTK_DELAY=y 396 | CONFIG_DEBUG_MEMORY_INIT=y 397 | CONFIG_DETECT_HUNG_TASK=y 398 | # CONFIG_RCU_TRACE is not set 399 | CONFIG_LATENCYTOP=y 400 | CONFIG_IRQSOFF_TRACER=y 401 | CONFIG_SCHED_TRACER=y 402 | CONFIG_STACK_TRACER=y 403 | CONFIG_BLK_DEV_IO_TRACE=y 404 | # CONFIG_UPROBE_EVENTS is not set 405 | CONFIG_FUNCTION_PROFILER=y 406 | CONFIG_KGDB=y 407 | CONFIG_KGDB_KDB=y 408 | CONFIG_KDB_KEYBOARD=y 409 | -------------------------------------------------------------------------------- /scriptexecute/board/kernelconfig-hybrid.armv67: -------------------------------------------------------------------------------- 1 | CONFIG_LOCALVERSION="-v6v7" 2 | # Add support for earlier model Pi 3 | CONFIG_ARCH_MULTI_V6=y 4 | CONFIG_NEW_LEDS=y 5 | CONFIG_LEDS_TRIGGERS=y 6 | 7 | # bcm2709_defconfig minus modules ("cat bcm2709_defconfig |grep -v =m") 8 | 9 | # CONFIG_LOCALVERSION_AUTO is not set 10 | CONFIG_SYSVIPC=y 11 | CONFIG_POSIX_MQUEUE=y 12 | CONFIG_GENERIC_IRQ_DEBUGFS=y 13 | CONFIG_NO_HZ=y 14 | CONFIG_HIGH_RES_TIMERS=y 15 | CONFIG_PREEMPT_VOLUNTARY=y 16 | CONFIG_BSD_PROCESS_ACCT=y 17 | CONFIG_BSD_PROCESS_ACCT_V3=y 18 | CONFIG_TASKSTATS=y 19 | CONFIG_TASK_DELAY_ACCT=y 20 | CONFIG_TASK_XACCT=y 21 | CONFIG_TASK_IO_ACCOUNTING=y 22 | CONFIG_IKCONFIG_PROC=y 23 | CONFIG_MEMCG=y 24 | CONFIG_BLK_CGROUP=y 25 | CONFIG_CGROUP_PIDS=y 26 | CONFIG_CGROUP_FREEZER=y 27 | CONFIG_CPUSETS=y 28 | CONFIG_CGROUP_DEVICE=y 29 | CONFIG_CGROUP_CPUACCT=y 30 | CONFIG_CGROUP_BPF=y 31 | CONFIG_NAMESPACES=y 32 | CONFIG_USER_NS=y 33 | CONFIG_SCHED_AUTOGROUP=y 34 | CONFIG_BLK_DEV_INITRD=y 35 | CONFIG_BPF_SYSCALL=y 36 | CONFIG_EMBEDDED=y 37 | # CONFIG_COMPAT_BRK is not set 38 | CONFIG_PROFILING=y 39 | CONFIG_ARCH_BCM=y 40 | CONFIG_ARCH_BCM2835=y 41 | # CONFIG_CACHE_L2X0 is not set 42 | CONFIG_SMP=y 43 | CONFIG_VMSPLIT_2G=y 44 | # CONFIG_CPU_SW_DOMAIN_PAN is not set 45 | CONFIG_UACCESS_WITH_MEMCPY=y 46 | CONFIG_SECCOMP=y 47 | # CONFIG_ATAGS is not set 48 | CONFIG_ZBOOT_ROM_TEXT=0x0 49 | CONFIG_ZBOOT_ROM_BSS=0x0 50 | CONFIG_CMDLINE="console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" 51 | CONFIG_CPU_FREQ=y 52 | CONFIG_CPU_FREQ_STAT=y 53 | CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y 54 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y 55 | CONFIG_CPU_FREQ_GOV_USERSPACE=y 56 | CONFIG_CPU_FREQ_GOV_ONDEMAND=y 57 | CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y 58 | CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y 59 | CONFIG_VFP=y 60 | CONFIG_NEON=y 61 | CONFIG_KERNEL_MODE_NEON=y 62 | # CONFIG_SUSPEND is not set 63 | CONFIG_PM=y 64 | CONFIG_RASPBERRYPI_FIRMWARE=y 65 | CONFIG_ARM_CRYPTO=y 66 | CONFIG_KPROBES=y 67 | CONFIG_JUMP_LABEL=y 68 | CONFIG_MODULES=y 69 | CONFIG_MODULE_UNLOAD=y 70 | CONFIG_MODVERSIONS=y 71 | CONFIG_MODULE_SRCVERSION_ALL=y 72 | CONFIG_BLK_DEV_THROTTLING=y 73 | CONFIG_PARTITION_ADVANCED=y 74 | CONFIG_MAC_PARTITION=y 75 | CONFIG_CFQ_GROUP_IOSCHED=y 76 | CONFIG_CLEANCACHE=y 77 | CONFIG_FRONTSWAP=y 78 | CONFIG_CMA=y 79 | CONFIG_PGTABLE_MAPPING=y 80 | CONFIG_NET=y 81 | CONFIG_PACKET=y 82 | CONFIG_UNIX=y 83 | CONFIG_XFRM_USER=y 84 | CONFIG_INET=y 85 | CONFIG_IP_MULTICAST=y 86 | CONFIG_IP_ADVANCED_ROUTER=y 87 | CONFIG_IP_MULTIPLE_TABLES=y 88 | CONFIG_IP_ROUTE_MULTIPATH=y 89 | CONFIG_IP_ROUTE_VERBOSE=y 90 | CONFIG_IP_PNP=y 91 | CONFIG_IP_PNP_DHCP=y 92 | CONFIG_IP_PNP_RARP=y 93 | CONFIG_IP_MROUTE=y 94 | CONFIG_IP_MROUTE_MULTIPLE_TABLES=y 95 | CONFIG_IP_PIMSM_V1=y 96 | CONFIG_IP_PIMSM_V2=y 97 | CONFIG_SYN_COOKIES=y 98 | CONFIG_TCP_CONG_ADVANCED=y 99 | CONFIG_IPV6_ROUTER_PREF=y 100 | CONFIG_IPV6_ROUTE_INFO=y 101 | CONFIG_IPV6_SIT_6RD=y 102 | CONFIG_IPV6_MULTIPLE_TABLES=y 103 | CONFIG_IPV6_SUBTREES=y 104 | CONFIG_IPV6_MROUTE=y 105 | CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y 106 | CONFIG_IPV6_PIMSM_V2=y 107 | CONFIG_NETFILTER=y 108 | CONFIG_NF_CONNTRACK_ZONES=y 109 | CONFIG_NF_CONNTRACK_EVENTS=y 110 | CONFIG_NF_CONNTRACK_TIMESTAMP=y 111 | CONFIG_NF_TABLES_INET=y 112 | CONFIG_NF_TABLES_NETDEV=y 113 | CONFIG_IP_VS_PROTO_TCP=y 114 | CONFIG_IP_VS_PROTO_UDP=y 115 | CONFIG_IP_VS_PROTO_ESP=y 116 | CONFIG_IP_VS_PROTO_AH=y 117 | CONFIG_IP_VS_PROTO_SCTP=y 118 | CONFIG_NF_TABLES_ARP=y 119 | CONFIG_NF_TABLES_BRIDGE=y 120 | CONFIG_SCTP_COOKIE_HMAC_SHA1=y 121 | CONFIG_L2TP_V3=y 122 | CONFIG_VLAN_8021Q_GVRP=y 123 | CONFIG_NET_SCHED=y 124 | CONFIG_CLS_U32_MARK=y 125 | CONFIG_NET_EMATCH=y 126 | CONFIG_NET_CLS_ACT=y 127 | CONFIG_GACT_PROB=y 128 | CONFIG_HAMRADIO=y 129 | CONFIG_BT_RFCOMM_TTY=y 130 | CONFIG_BT_BNEP_MC_FILTER=y 131 | CONFIG_BT_BNEP_PROTO_FILTER=y 132 | CONFIG_BT_HCIUART_3WIRE=y 133 | CONFIG_BT_HCIUART_BCM=y 134 | CONFIG_MAC80211_MESH=y 135 | CONFIG_RFKILL_INPUT=y 136 | CONFIG_DEVTMPFS=y 137 | CONFIG_DEVTMPFS_MOUNT=y 138 | CONFIG_DMA_CMA=y 139 | CONFIG_CMA_SIZE_MBYTES=5 140 | CONFIG_OF_CONFIGFS=y 141 | CONFIG_BLK_DEV_LOOP=y 142 | CONFIG_BLK_DEV_RAM=y 143 | CONFIG_SCSI=y 144 | # CONFIG_SCSI_PROC_FS is not set 145 | CONFIG_BLK_DEV_SD=y 146 | CONFIG_SCSI_ISCSI_ATTRS=y 147 | CONFIG_MD=y 148 | CONFIG_NETDEVICES=y 149 | CONFIG_PPP_FILTER=y 150 | CONFIG_PPP_MULTILINK=y 151 | CONFIG_SLIP_COMPRESSED=y 152 | CONFIG_SLIP_SMART=y 153 | CONFIG_USB_LAN78XX=y 154 | CONFIG_USB_USBNET=y 155 | CONFIG_USB_NET_SMSC95XX=y 156 | CONFIG_USB_ALI_M5632=y 157 | CONFIG_USB_AN2720=y 158 | CONFIG_USB_EPSON2888=y 159 | CONFIG_USB_KC2190=y 160 | # CONFIG_B43_PHY_N is not set 161 | CONFIG_BRCMFMAC_USB=y 162 | CONFIG_BRCMDBG=y 163 | CONFIG_RT2800USB_RT3573=y 164 | CONFIG_RT2800USB_RT53XX=y 165 | CONFIG_RT2800USB_RT55XX=y 166 | CONFIG_RT2800USB_UNKNOWN=y 167 | CONFIG_INPUT_MOUSEDEV=y 168 | # CONFIG_KEYBOARD_ATKBD is not set 169 | # CONFIG_INPUT_MOUSE is not set 170 | CONFIG_INPUT_JOYSTICK=y 171 | CONFIG_JOYSTICK_IFORCE_USB=y 172 | CONFIG_JOYSTICK_XPAD_FF=y 173 | CONFIG_JOYSTICK_XPAD_LEDS=y 174 | CONFIG_JOYSTICK_PSXPAD_SPI_FF=y 175 | CONFIG_INPUT_TOUCHSCREEN=y 176 | CONFIG_INPUT_MISC=y 177 | CONFIG_BRCM_CHAR_DRIVERS=y 178 | CONFIG_BCM_VCIO=y 179 | CONFIG_BCM_VC_SM=y 180 | CONFIG_BCM2835_DEVGPIOMEM=y 181 | # CONFIG_LEGACY_PTYS is not set 182 | CONFIG_SERIAL_8250=y 183 | # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set 184 | CONFIG_SERIAL_8250_CONSOLE=y 185 | # CONFIG_SERIAL_8250_DMA is not set 186 | CONFIG_SERIAL_8250_NR_UARTS=1 187 | CONFIG_SERIAL_8250_RUNTIME_UARTS=0 188 | CONFIG_SERIAL_8250_EXTENDED=y 189 | CONFIG_SERIAL_8250_SHARE_IRQ=y 190 | CONFIG_SERIAL_8250_BCM2835AUX=y 191 | CONFIG_SERIAL_OF_PLATFORM=y 192 | CONFIG_SERIAL_AMBA_PL011=y 193 | CONFIG_SERIAL_AMBA_PL011_CONSOLE=y 194 | CONFIG_SERIAL_SC16IS7XX_SPI=y 195 | CONFIG_TTY_PRINTK=y 196 | CONFIG_HW_RANDOM=y 197 | CONFIG_RAW_DRIVER=y 198 | CONFIG_I2C=y 199 | CONFIG_SPI=y 200 | CONFIG_SPI_SLAVE=y 201 | CONFIG_GPIO_BCM_VIRT=y 202 | CONFIG_GPIO_STMPE=y 203 | CONFIG_POWER_RESET=y 204 | CONFIG_POWER_RESET_GPIO=y 205 | CONFIG_THERMAL=y 206 | CONFIG_BCM2835_THERMAL=y 207 | CONFIG_WATCHDOG=y 208 | CONFIG_BCM2835_WDT=y 209 | CONFIG_MFD_STMPE=y 210 | CONFIG_STMPE_SPI=y 211 | CONFIG_MFD_WM5102=y 212 | CONFIG_REGULATOR=y 213 | CONFIG_RC_CORE=y 214 | CONFIG_LIRC=y 215 | CONFIG_RC_DECODERS=y 216 | CONFIG_RC_DEVICES=y 217 | CONFIG_MEDIA_CAMERA_SUPPORT=y 218 | CONFIG_MEDIA_ANALOG_TV_SUPPORT=y 219 | CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y 220 | CONFIG_MEDIA_RADIO_SUPPORT=y 221 | CONFIG_MEDIA_CONTROLLER=y 222 | CONFIG_VIDEO_V4L2_SUBDEV_API=y 223 | CONFIG_MEDIA_USB_SUPPORT=y 224 | CONFIG_VIDEO_AU0828_RC=y 225 | CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y 226 | CONFIG_V4L_PLATFORM_DRIVERS=y 227 | # CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set 228 | CONFIG_DRM_LOAD_EDID_FIRMWARE=y 229 | CONFIG_FB=y 230 | CONFIG_FB_BCM2708=y 231 | CONFIG_FB_SIMPLE=y 232 | # CONFIG_BACKLIGHT_GENERIC is not set 233 | CONFIG_FRAMEBUFFER_CONSOLE=y 234 | CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y 235 | CONFIG_LOGO=y 236 | # CONFIG_LOGO_LINUX_MONO is not set 237 | # CONFIG_LOGO_LINUX_VGA16 is not set 238 | CONFIG_SOUND=y 239 | CONFIG_SND_USB_CAIAQ_INPUT=y 240 | CONFIG_HID_BATTERY_STRENGTH=y 241 | CONFIG_HIDRAW=y 242 | CONFIG_LOGITECH_FF=y 243 | CONFIG_LOGIRUMBLEPAD2_FF=y 244 | CONFIG_LOGIG940_FF=y 245 | CONFIG_SONY_FF=y 246 | CONFIG_HID_PID=y 247 | CONFIG_USB_HIDDEV=y 248 | CONFIG_USB=y 249 | CONFIG_USB_ANNOUNCE_NEW_DEVICES=y 250 | CONFIG_USB_DWCOTG=y 251 | CONFIG_USB_STORAGE=y 252 | CONFIG_USB_SERIAL_GENERIC=y 253 | CONFIG_MMC=y 254 | CONFIG_MMC_BLOCK_MINORS=32 255 | CONFIG_MMC_BCM2835_MMC=y 256 | CONFIG_MMC_BCM2835_DMA=y 257 | CONFIG_MMC_BCM2835_SDHOST=y 258 | CONFIG_MMC_SDHCI=y 259 | CONFIG_MMC_SDHCI_PLTFM=y 260 | CONFIG_LEDS_CLASS=y 261 | CONFIG_LEDS_GPIO=y 262 | CONFIG_LEDS_TRIGGER_TIMER=y 263 | CONFIG_LEDS_TRIGGER_ONESHOT=y 264 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y 265 | CONFIG_LEDS_TRIGGER_BACKLIGHT=y 266 | CONFIG_LEDS_TRIGGER_CPU=y 267 | CONFIG_LEDS_TRIGGER_GPIO=y 268 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y 269 | CONFIG_LEDS_TRIGGER_INPUT=y 270 | CONFIG_LEDS_TRIGGER_PANIC=y 271 | CONFIG_RTC_CLASS=y 272 | # CONFIG_RTC_HCTOSYS is not set 273 | CONFIG_DMADEVICES=y 274 | CONFIG_DMA_BCM2835=y 275 | CONFIG_DMA_BCM2708=y 276 | CONFIG_AUXDISPLAY=y 277 | CONFIG_STAGING=y 278 | CONFIG_STAGING_MEDIA=y 279 | CONFIG_BCM2835_VCHIQ=y 280 | CONFIG_MAILBOX=y 281 | CONFIG_BCM2835_MBOX=y 282 | # CONFIG_IOMMU_SUPPORT is not set 283 | CONFIG_RASPBERRYPI_POWER=y 284 | CONFIG_EXT4_FS=y 285 | CONFIG_EXT4_FS_POSIX_ACL=y 286 | CONFIG_EXT4_FS_SECURITY=y 287 | CONFIG_REISERFS_FS_XATTR=y 288 | CONFIG_REISERFS_FS_POSIX_ACL=y 289 | CONFIG_REISERFS_FS_SECURITY=y 290 | CONFIG_JFS_POSIX_ACL=y 291 | CONFIG_JFS_SECURITY=y 292 | CONFIG_JFS_STATISTICS=y 293 | CONFIG_XFS_QUOTA=y 294 | CONFIG_XFS_POSIX_ACL=y 295 | CONFIG_XFS_RT=y 296 | CONFIG_BTRFS_FS_POSIX_ACL=y 297 | CONFIG_F2FS_FS=y 298 | CONFIG_FANOTIFY=y 299 | CONFIG_AUTOFS4_FS=y 300 | CONFIG_FSCACHE=y 301 | CONFIG_FSCACHE_STATS=y 302 | CONFIG_FSCACHE_HISTOGRAM=y 303 | CONFIG_CACHEFILES=y 304 | CONFIG_JOLIET=y 305 | CONFIG_ZISOFS=y 306 | CONFIG_MSDOS_FS=y 307 | CONFIG_VFAT_FS=y 308 | CONFIG_FAT_DEFAULT_IOCHARSET="ascii" 309 | CONFIG_NTFS_RW=y 310 | CONFIG_TMPFS=y 311 | CONFIG_TMPFS_POSIX_ACL=y 312 | CONFIG_JFFS2_SUMMARY=y 313 | CONFIG_SQUASHFS_XATTR=y 314 | CONFIG_SQUASHFS_LZO=y 315 | CONFIG_SQUASHFS_XZ=y 316 | CONFIG_NFS_FS=y 317 | CONFIG_NFS_V3_ACL=y 318 | CONFIG_NFS_V4=y 319 | CONFIG_NFS_SWAP=y 320 | CONFIG_NFS_V4_1=y 321 | CONFIG_NFS_V4_2=y 322 | CONFIG_ROOT_NFS=y 323 | CONFIG_NFS_FSCACHE=y 324 | CONFIG_NFSD_V3_ACL=y 325 | CONFIG_NFSD_V4=y 326 | CONFIG_CIFS_WEAK_PW_HASH=y 327 | CONFIG_CIFS_UPCALL=y 328 | CONFIG_CIFS_XATTR=y 329 | CONFIG_CIFS_ACL=y 330 | CONFIG_CIFS_DFS_UPCALL=y 331 | CONFIG_CIFS_FSCACHE=y 332 | CONFIG_9P_FS_POSIX_ACL=y 333 | CONFIG_NLS_DEFAULT="utf8" 334 | CONFIG_NLS_CODEPAGE_437=y 335 | CONFIG_NLS_ASCII=y 336 | # CONFIG_SECURITYFS is not set 337 | CONFIG_CRYPTO_CBC=y 338 | CONFIG_CRYPTO_DES=y 339 | # CONFIG_CRYPTO_HW is not set 340 | CONFIG_CRC_ITU_T=y 341 | CONFIG_LIBCRC32C=y 342 | CONFIG_PRINTK_TIME=y 343 | CONFIG_BOOT_PRINTK_DELAY=y 344 | CONFIG_DEBUG_MEMORY_INIT=y 345 | CONFIG_DETECT_HUNG_TASK=y 346 | # CONFIG_RCU_TRACE is not set 347 | CONFIG_LATENCYTOP=y 348 | CONFIG_IRQSOFF_TRACER=y 349 | CONFIG_SCHED_TRACER=y 350 | CONFIG_STACK_TRACER=y 351 | CONFIG_BLK_DEV_IO_TRACE=y 352 | # CONFIG_UPROBE_EVENTS is not set 353 | CONFIG_FUNCTION_PROFILER=y 354 | CONFIG_KGDB=y 355 | CONFIG_KGDB_KDB=y 356 | CONFIG_KDB_KEYBOARD=y 357 | -------------------------------------------------------------------------------- /scriptexecute/board/kernelconfig-scriptexecute.fragment: -------------------------------------------------------------------------------- 1 | # 2 | # Use the standard recovery config with the following additions 3 | # 4 | 5 | CONFIG_LOCALVERSION="-scriptexec" 6 | 7 | # Change default cpufreq governor 8 | CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y 9 | 10 | # 11 | # Wheter or not we want NFS support 12 | # 13 | CONFIG_NETWORK_FILESYSTEMS=y 14 | CONFIG_NFS_FS=y 15 | 16 | # 17 | # Add support for some extra USB Ethernet device 18 | # 19 | 20 | #CONFIG_USB_NET_CDCETHER=y 21 | #CONFIG_USB_RTL8152=y 22 | 23 | # 24 | # Debugging options 25 | # 26 | 27 | #CONFIG_DYNAMIC_DEBUG=y 28 | #CONFIG_DEBUG_FS=y 29 | 30 | # 31 | # Alternative USB driver 32 | # If used, you must also built the dwc2 overlay, 33 | # and enable it in config.txt 34 | # 35 | 36 | CONFIG_USB_DWC2=y 37 | CONFIG_USB_GADGET=y 38 | CONFIG_USB_CONFIGFS=y 39 | CONFIG_USB_CONFIGFS_SERIAL=y 40 | CONFIG_USB_CONFIGFS_ACM=y 41 | CONFIG_USB_CONFIGFS_ECM=y 42 | 43 | # 44 | # Misc options 45 | # 46 | 47 | CONFIG_BCM_VCIO=y 48 | CONFIG_I2C_BCM2708=y 49 | CONFIG_I2C_BCM2835=y 50 | CONFIG_I2C_MUX=y 51 | CONFIG_I2C_MUX_PINCTRL=y 52 | CONFIG_GPIO_SYSFS=y 53 | CONFIG_SPI_SPIDEV=y 54 | CONFIG_SPI_BCM2835=y 55 | CONFIG_EEPROM_AT24=y 56 | CONFIG_USB_SERIAL=y 57 | CONFIG_USB_SERIAL_CP210X=y 58 | CONFIG_USB_SERIAL_FTDI_SIO=y 59 | CONFIG_USB_SERIAL_PL2303=y 60 | CONFIG_USB_SERIAL_OPTION=y 61 | 62 | # 63 | # We do not want modules 64 | # 65 | CONFIG_TCP_CONG_BIC=n 66 | CONFIG_TCP_CONG_WESTWOOD=n 67 | CONFIG_TCP_CONG_HTCP=n 68 | CONFIG_BCM2835_SMI=n 69 | CONFIG_PNFS_FLEXFILE_LAYOUT=n 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /scriptexecute/board/overlay/etc/default/urandom: -------------------------------------------------------------------------------- 1 | URANDOM_SEED="/etc/random-seed" 2 | -------------------------------------------------------------------------------- /scriptexecute/board/overlay/etc/init.d/S99scriptexec: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # 4 | # Script executed at start 5 | # 6 | 7 | # Bail out on any error 8 | set -e 9 | 10 | case "$1" in 11 | start) 12 | SERIAL=`cat /proc/cpuinfo | grep Serial | cut -d ' ' -f 2` 13 | MODEL=`cat /proc/device-tree/model` 14 | MODEL_ESCAPED="${MODEL// /+}" 15 | TEMP=`vcgencmd measure_temp` 16 | TEMP=${TEMP:5} 17 | 18 | # 19 | # Parse kernel cmdline options (cmdline.txt) 20 | # 21 | for p in `cat /proc/cmdline`; do 22 | if [ "${p%%=*}" == "script" ]; then 23 | SCRIPT="${p#*=}" 24 | fi 25 | if [ "$p" == "usbipv6ll" ]; then 26 | USBIPV6LL=true 27 | fi 28 | if [ "$p" == "readjumper" ]; then 29 | READJUMPER=true 30 | fi 31 | done 32 | 33 | if [ -e /sys/class/leds/led0 ]; then 34 | echo none > /sys/class/leds/led0/trigger 35 | echo 0 > /sys/class/leds/led0/brightness 36 | fi 37 | 38 | if [[ -n "$USBIPV6LL" ]]; then 39 | # Pretend to be a USB Ethernet adapter, talking to host on IPv6 link-local address 40 | GADGET=/sys/kernel/config/usb_gadget/g1 41 | MAC="fa:${SERIAL:6:2}:${SERIAL:8:2}:${SERIAL:10:2}:${SERIAL:12:2}:${SERIAL:14:2}" 42 | HOST_IPV6="fe80::f8${MAC:3:5}ff:fe${MAC:9:5}${MAC:15:2}%usb0" 43 | 44 | mount -t configfs none /sys/kernel/config 45 | mkdir -p $GADGET 46 | (cd $GADGET 47 | # FIXME: obtain proper USB ID instead of using f055 (FOSS) 48 | echo 0xf055 > idVendor 49 | echo 0x0002 > idProduct 50 | mkdir strings/0x409 51 | echo $SERIAL > strings/0x409/serialnumber 52 | echo "Raspberry Pi" > strings/0x409/manufacturer 53 | echo "CM provisioning" > strings/0x409/product 54 | mkdir configs/c.1 55 | mkdir configs/c.1/strings/0x409 56 | echo "Config 1" > configs/c.1/strings/0x409/configuration 57 | echo 500 > configs/c.1/MaxPower 58 | #mkdir functions/acm.usb0 59 | #ln -s functions/acm.usb0 configs/c.1 60 | mkdir functions/ecm.usb0 61 | echo $MAC > functions/ecm.usb0/host_addr 62 | ln -s functions/ecm.usb0 configs/c.1 63 | # Assuming there is only ever going to be one UDC 64 | ls /sys/class/udc > UDC 65 | ) 66 | 67 | echo 68 | echo "IP configuration:" 69 | echo 70 | ifconfig usb0 add fe80::1/64 up 71 | ifconfig -a 72 | echo "My IPv6 is: fe80::1 / IPv6 of host is: ${HOST_IPV6}" 73 | 74 | sleep 2 75 | 76 | SCRIPT="${SCRIPT//\{server\}/[$HOST_IPV6]}" 77 | else 78 | # Expecting USB to switch to device mode and USB Ethernet adapter to be attached 79 | 80 | echo "Note: shell is available on tty2 for debugging purposes" 81 | mount -t debugfs none /sys/kernel/debug || true 82 | /sbin/getty -L tty2 0 vt100 & 83 | 84 | echo "Waiting for eth0 to appear" 85 | while [ ! -e /sys/class/net/eth0 ]; do 86 | sleep 1 87 | done 88 | 89 | ifconfig eth0 up 90 | echo "Waiting for network link to go up" 91 | while grep -q -v 1 /sys/class/net/eth0/carrier; do 92 | sleep 1 93 | done 94 | 95 | echo "Obtaining DHCP lease" 96 | udhcpc -i eth0 97 | fi 98 | 99 | if [ "${SCRIPT%%:*}" == "http" ]; then 100 | SCRIPT="${SCRIPT//\{model\}/$MODEL_ESCAPED}" 101 | SCRIPT="${SCRIPT//\{serial\}/$SERIAL}" 102 | SCRIPT="${SCRIPT//\{temp\}/$TEMP}" 103 | if [ -e /sys/block/mmcblk0/size ]; then 104 | STORAGESIZE=`cat /sys/block/mmcblk0/size` 105 | fi 106 | SCRIPT="${SCRIPT//\{storagesize\}/$STORAGESIZE}" 107 | if [ -e /sys/block/mmcblk0/device/cid ]; then 108 | CID=`cat /sys/block/mmcblk0/device/cid` 109 | fi 110 | SCRIPT="${SCRIPT//\{cid\}/$CID}" 111 | if [ -e /sys/block/mmcblk0/device/csd ]; then 112 | CSD=`cat /sys/block/mmcblk0/device/csd` 113 | fi 114 | SCRIPT="${SCRIPT//\{csd\}/$CSD}" 115 | if [ -e /proc/device-tree/chosen/bootloader/boot-mode ]; then 116 | BOOTMODE=`od -An -tu1 --skip 3 /proc/device-tree/chosen/bootloader/boot-mode |xargs` 117 | fi 118 | SCRIPT="${SCRIPT//\{bootmode\}/$BOOTMODE}" 119 | MEMORYSIZE=`grep MemTotal /proc/meminfo | awk '{print $2}'` 120 | SCRIPT="${SCRIPT//\{memorysize\}/$MEMORYSIZE}" 121 | if [ -e /sys/class/net/eth0/address ]; then 122 | ETHMAC=`cat /sys/class/net/eth0/address` 123 | fi 124 | SCRIPT="${SCRIPT//\{mac\}/$ETHMAC}" 125 | if [[ -n "$READJUMPER" ]]; then 126 | JUMPER="" 127 | for GPIO in 5 13 21 128 | do 129 | echo "$GPIO" >/sys/class/gpio/export 130 | GPIOVALUE=`cat /sys/class/gpio/gpio$GPIO/value` 131 | JUMPER="$JUMPER$GPIOVALUE" 132 | done 133 | fi 134 | SCRIPT="${SCRIPT//\{jumper\}/$JUMPER}" 135 | 136 | echo "Downloading script from $SCRIPT" 137 | curl -g --retry 10 --retry-connrefused -o /tmp/script "$SCRIPT" 138 | echo "Executing script" 139 | sh /tmp/script 140 | elif [[ -n "$SCRIPT" ]]; then 141 | SHARE=${SCRIPT%/*} 142 | FILENAME=`basename $SCRIPT` 143 | 144 | echo "Mounting NFS share $SHARE" 145 | mount -t nfs -o nolock,ro $SHARE /mnt 146 | echo "Executing script $FILENAME" 147 | cd /mnt 148 | sh $FILENAME 149 | cd .. 150 | echo "Unmounting NFS share" 151 | umount /mnt 152 | fi 153 | 154 | if [[ -z "$USBIPV6LL" ]]; then 155 | echo "Releasing DHCP lease" 156 | killall -SIGUSR2 udhcpc 157 | sleep 1 158 | fi 159 | 160 | #halt 161 | ;; 162 | stop) 163 | ;; 164 | *) 165 | echo "Usage: $0 {start|stop}" 166 | exit 1 167 | esac 168 | 169 | exit $? 170 | -------------------------------------------------------------------------------- /scriptexecute/board/overlay/etc/random-seed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raspberrypi/scriptexecutor/640d74972f0d775c3bee112d80e5b25b4a64ed25/scriptexecute/board/overlay/etc/random-seed -------------------------------------------------------------------------------- /scriptexecute/configs/scriptexecute_cm4_defconfig: -------------------------------------------------------------------------------- 1 | BR2_arm=y 2 | BR2_arm1176jzf_s=y 3 | BR2_KERNEL_HEADERS_4_19=y 4 | BR2_TOOLCHAIN_BUILDROOT_LOCALE=y 5 | # BR2_UCLIBC_INSTALL_UTILS is not set 6 | BR2_TOOLCHAIN_BUILDROOT_CXX=y 7 | BR2_TARGET_GENERIC_HOSTNAME="scriptexecute" 8 | BR2_TARGET_GENERIC_ROOT_PASSWD="raspberry" 9 | BR2_TARGET_GENERIC_GETTY_PORT="tty1" 10 | BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y 11 | BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_SCRIPTEXECUTE_PATH)/board/overlay/" 12 | BR2_LINUX_KERNEL=y 13 | BR2_LINUX_KERNEL_CUSTOM_GIT=y 14 | BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git" 15 | BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rpi-5.4.y" 16 | BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y 17 | BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_SCRIPTEXECUTE_PATH)/board/kernelconfig-cm4.armv7" 18 | BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_SCRIPTEXECUTE_PATH)/board/kernelconfig-scriptexecute.fragment" 19 | BR2_LINUX_KERNEL_XZ=y 20 | BR2_LINUX_KERNEL_DTS_SUPPORT=y 21 | BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2711-rpi-4-b bcm2711-rpi-400 bcm2711-rpi-cm4 overlays/dwc2-overlay overlays/spi-gpio40-45-overlay" 22 | BR2_PACKAGE_E2FSPROGS=y 23 | # BR2_PACKAGE_E2FSPROGS_FSCK is not set 24 | BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y 25 | BR2_PACKAGE_MMC_UTILS=y 26 | BR2_PACKAGE_FLASHROM=y 27 | BR2_PACKAGE_PARTED=y 28 | BR2_PACKAGE_RPI_USERLAND=y 29 | BR2_PACKAGE_LIBARCHIVE=y 30 | BR2_PACKAGE_LIBARCHIVE_BSDTAR=y 31 | BR2_PACKAGE_ZLIB=y 32 | BR2_PACKAGE_LIBSYSFS=y 33 | BR2_PACKAGE_JITTERENTROPY_LIBRARY=y 34 | BR2_PACKAGE_LIBCURL=y 35 | BR2_PACKAGE_CURL=y 36 | # BR2_PACKAGE_LIBCURL_PROXY_SUPPORT is not set 37 | # BR2_PACKAGE_LIBCURL_COOKIES_SUPPORT is not set 38 | # BR2_PACKAGE_LIBCURL_EXTRA_PROTOCOLS_FEATURES is not set 39 | BR2_PACKAGE_ARGP_STANDALONE=y 40 | BR2_PACKAGE_UTIL_LINUX_BINARIES=y 41 | BR2_TARGET_ROOTFS_CPIO=y 42 | BR2_TARGET_ROOTFS_CPIO_XZ=y 43 | # BR2_TARGET_ROOTFS_TAR is not set 44 | BR2_PACKAGE_RPI_FIRMWARE_CUSTOM=y 45 | # BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_INSTALL_DTB_OVERLAYS is not set 46 | -------------------------------------------------------------------------------- /scriptexecute/configs/scriptexecute_cmhybrid_defconfig: -------------------------------------------------------------------------------- 1 | BR2_arm=y 2 | BR2_arm1176jzf_s=y 3 | BR2_KERNEL_HEADERS_4_19=y 4 | BR2_TOOLCHAIN_BUILDROOT_WCHAR=y 5 | # BR2_UCLIBC_INSTALL_UTILS is not set 6 | BR2_TARGET_GENERIC_HOSTNAME="scriptexecute" 7 | BR2_TARGET_GENERIC_ROOT_PASSWD="raspberry" 8 | BR2_TARGET_GENERIC_GETTY_PORT="tty1" 9 | BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y 10 | BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_SCRIPTEXECUTE_PATH)/board/overlay/" 11 | BR2_LINUX_KERNEL=y 12 | BR2_LINUX_KERNEL_CUSTOM_GIT=y 13 | BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git" 14 | BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rpi-4.19.y" 15 | BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y 16 | BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_SCRIPTEXECUTE_PATH)/board/kernelconfig-hybrid.armv67" 17 | BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_SCRIPTEXECUTE_PATH)/board/kernelconfig-scriptexecute.fragment" 18 | BR2_LINUX_KERNEL_XZ=y 19 | BR2_LINUX_KERNEL_DTS_SUPPORT=y 20 | BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-b-plus bcm2708-rpi-zero-w bcm2708-rpi-cm bcm2710-rpi-cm3 bcm2710-rpi-3-b-plus overlays/dwc2-overlay" 21 | BR2_PACKAGE_MMC_UTILS=y 22 | BR2_PACKAGE_LIBCURL=y 23 | BR2_PACKAGE_CURL=y 24 | # BR2_PACKAGE_LIBCURL_PROXY_SUPPORT is not set 25 | # BR2_PACKAGE_LIBCURL_COOKIES_SUPPORT is not set 26 | # BR2_PACKAGE_LIBCURL_EXTRA_PROTOCOLS_FEATURES is not set 27 | BR2_PACKAGE_DROPBEAR=y 28 | # BR2_PACKAGE_DROPBEAR_CLIENT is not set 29 | BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS=y 30 | BR2_PACKAGE_UTIL_LINUX=y 31 | BR2_PACKAGE_UTIL_LINUX_BINARIES=y 32 | BR2_TARGET_ROOTFS_CPIO=y 33 | BR2_TARGET_ROOTFS_CPIO_XZ=y 34 | # BR2_TARGET_ROOTFS_TAR is not set 35 | BR2_PACKAGE_RPI_FIRMWARE_CUSTOM=y 36 | # BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_INSTALL_DTB_OVERLAYS is not set 37 | -------------------------------------------------------------------------------- /scriptexecute/external.desc: -------------------------------------------------------------------------------- 1 | name: SCRIPTEXECUTE 2 | -------------------------------------------------------------------------------- /scriptexecute/external.mk: -------------------------------------------------------------------------------- 1 | include $(sort $(wildcard $(BR2_EXTERNAL_SCRIPTEXECUTE_PATH)/package/*/*.mk)) 2 | -------------------------------------------------------------------------------- /scriptexecute/package/rpi-firmware-custom/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_RPI_FIRMWARE_CUSTOM 2 | bool "rpi-firmware" 3 | depends on BR2_arm 4 | help 5 | RaspberryPi Firmware 6 | Pre-compiled binaries of the current bootloader and GPU firmware 7 | 8 | https://github.com/raspberrypi/firmware 9 | 10 | if BR2_PACKAGE_RPI_FIRMWARE_CUSTOM 11 | 12 | choice 13 | bool "Firmware to boot" 14 | default BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_DEFAULT 15 | help 16 | There are three different firmware files: 17 | - the default firmware, that enables standard GPU features; 18 | - the extended firmware, that enables additional GPU features 19 | (eg. more audio/video codecs); 20 | - the cut-down firmware, for emergency situations, with only 21 | features required to boot a Linux kernel. 22 | 23 | config BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_DEFAULT 24 | bool "default" 25 | help 26 | The default firmware, that enables standard GPU features. 27 | 28 | config BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_X 29 | bool "extended ('x', more codecs)" 30 | help 31 | The extended firmware, that enables additional GPU features 32 | (eg. more audio/video codecs). 33 | 34 | config BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_CD 35 | bool "cut-down ('cd', emergency)" 36 | help 37 | The cut-down firmware, for emergency situations, with only 38 | features required to boot a Linux kernel. 39 | 40 | endchoice 41 | 42 | config BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_BOOT 43 | string 44 | default "" if BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_DEFAULT 45 | default "_x" if BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_X 46 | default "_cd" if BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_CD 47 | 48 | config BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_INSTALL_DTBS 49 | bool "Install Device Tree Blobs (DTBs)" 50 | depends on !BR2_LINUX_KERNEL_DTS_SUPPORT 51 | default y 52 | help 53 | If you are using a Linux kernel <= 3.18, you should say 'y' here. 54 | 55 | If you are using a Linux kernel >= 3.19, you should say 'n' here, 56 | and enable BR2_LINUX_KERNEL_DTS_SUPPORT to let the kernel build 57 | the DTB. 58 | 59 | config BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_INSTALL_DTB_OVERLAYS 60 | bool "Install DTB overlays" 61 | depends on BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_INSTALL_DTBS \ 62 | || BR2_LINUX_KERNEL_DTS_SUPPORT 63 | default y 64 | help 65 | Say 'y' here if you need to load one or more of the DTB overlays, 66 | to support HATs (Hardware Attached on Top, add-on modules). 67 | 68 | config BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_INSTALL_VCDBG 69 | bool "vcdbg" 70 | depends on BR2_TOOLCHAIN_USES_GLIBC 71 | depends on BR2_INSTALL_LIBSTDCPP # rpi-userland 72 | select BR2_PACKAGE_RPI_USERLAND 73 | help 74 | Install vcdbg, to help debug communication with the GPU. 75 | 76 | comment "vcdbg needs a glibc toolchain w/ C++" 77 | depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP 78 | 79 | endif # BR2_PACKAGE_RPI_FIRMWARE_CUSTOM 80 | -------------------------------------------------------------------------------- /scriptexecute/package/rpi-firmware-custom/rpi-firmware-custom.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # rpi-firmware 4 | # 5 | ################################################################################ 6 | 7 | RPI_FIRMWARE_CUSTOM_VERSION = 995e9f03d17ab09a8821feb85cee368f29d80f89 8 | RPI_FIRMWARE_CUSTOM_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_CUSTOM_VERSION)) 9 | RPI_FIRMWARE_CUSTOM_LICENSE = BSD-3c 10 | RPI_FIRMWARE_CUSTOM_LICENSE_FILES = boot/LICENCE.broadcom 11 | RPI_FIRMWARE_CUSTOM_INSTALL_IMAGES = YES 12 | 13 | ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_INSTALL_DTBS),y) 14 | define RPI_FIRMWARE_CUSTOM_INSTALL_DTB 15 | $(INSTALL) -D -m 0644 $(@D)/boot/bcm2708-rpi-b.dtb $(BINARIES_DIR)/rpi-firmware/bcm2708-rpi-b.dtb 16 | $(INSTALL) -D -m 0644 $(@D)/boot/bcm2708-rpi-b-plus.dtb $(BINARIES_DIR)/rpi-firmware/bcm2708-rpi-b-plus.dtb 17 | $(INSTALL) -D -m 0644 $(@D)/boot/bcm2709-rpi-2-b.dtb $(BINARIES_DIR)/rpi-firmware/bcm2709-rpi-2-b.dtb 18 | $(INSTALL) -D -m 0644 $(@D)/boot/bcm2710-rpi-3-b.dtb $(BINARIES_DIR)/rpi-firmware/bcm2710-rpi-3-b.dtb 19 | endef 20 | endif 21 | 22 | ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_INSTALL_DTB_OVERLAYS),y) 23 | define RPI_FIRMWARE_CUSTOM_INSTALL_DTB_OVERLAYS 24 | for ovldtb in $(@D)/boot/overlays/*.dtbo; do \ 25 | $(INSTALL) -D -m 0644 $${ovldtb} $(BINARIES_DIR)/rpi-firmware/overlays/$${ovldtb##*/} || exit 1; \ 26 | done 27 | endef 28 | endif 29 | 30 | ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_INSTALL_VCDBG),y) 31 | define RPI_FIRMWARE_CUSTOM_INSTALL_TARGET_CMDS 32 | $(INSTALL) -D -m 0700 $(@D)/$(if BR2_ARM_EABIHF,hardfp/)opt/vc/bin/vcdbg \ 33 | $(TARGET_DIR)/usr/sbin/vcdbg 34 | endef 35 | endif # INSTALL_VCDBG 36 | 37 | define RPI_FIRMWARE_CUSTOM_INSTALL_IMAGES_CMDS 38 | $(INSTALL) -D -m 0644 $(@D)/boot/bootcode.bin $(BINARIES_DIR)/rpi-firmware/bootcode.bin 39 | $(INSTALL) -D -m 0644 $(@D)/boot/start.elf $(BINARIES_DIR)/rpi-firmware/start.elf 40 | $(INSTALL) -D -m 0644 $(@D)/boot/fixup.dat $(BINARIES_DIR)/rpi-firmware/fixup.dat 41 | $(INSTALL) -D -m 0644 $(@D)/boot/start4.elf $(BINARIES_DIR)/rpi-firmware/start4.elf 42 | $(INSTALL) -D -m 0644 $(@D)/boot/fixup4.dat $(BINARIES_DIR)/rpi-firmware/fixup4.dat 43 | $(INSTALL) -D -m 0644 package/rpi-firmware/config.txt $(BINARIES_DIR)/rpi-firmware/config.txt 44 | $(INSTALL) -D -m 0644 package/rpi-firmware/cmdline.txt $(BINARIES_DIR)/rpi-firmware/cmdline.txt 45 | $(RPI_FIRMWARE_CUSTOM_INSTALL_DTB) 46 | $(RPI_FIRMWARE_CUSTOM_INSTALL_DTB_OVERLAYS) 47 | endef 48 | 49 | $(eval $(generic-package)) 50 | --------------------------------------------------------------------------------