├── .gitignore ├── README.md ├── bin ├── alias-generator ├── buster ├── checkfy ├── domainfy ├── dumpsterdiver ├── finalrecon ├── infoga ├── littlebrother ├── mailfy ├── onionsearch ├── phonefy ├── phoneinfoga ├── reconspider ├── searchfy ├── sherlock ├── spiderpig ├── tiktok-scraper ├── twint ├── usufy ├── whatsmyname └── wikileaker ├── bookmarks.html ├── bsp ├── audio │ ├── pinebook-pro │ │ └── asound.state │ └── veyron │ │ ├── asound.state │ │ └── default.pa ├── bluetooth │ └── rpi │ │ ├── 50-bluetooth-hci-auto-poweron.rules │ │ ├── 99-com.rules │ │ ├── btuart │ │ ├── hciuart.service │ │ └── pi-bluetooth+re4son_2.2_all.deb ├── bootloader │ ├── nanopi2 │ │ ├── 2ndboot.bin │ │ ├── boot.TBI │ │ └── bootloader │ ├── pinebook-pro │ │ ├── idbloader.img │ │ ├── trust.img │ │ └── uboot.img │ └── ventana │ │ └── 6x_bootscript-ventana.script ├── configs │ ├── raspi-userland.conf │ └── vc.sh ├── firmware │ ├── rpi │ │ ├── BCM43430A1.hcd │ │ └── config.txt │ └── veyron │ │ ├── BCM4354_003.001.012.0306.0659.hcd │ │ ├── BCM4354_003.001.012.0322.0679.hcd │ │ ├── brcm_patchram_plus │ │ ├── brcmfmac43455-sdio.bin │ │ ├── brcmfmac43455-sdio.clm_blob │ │ ├── brcmfmac43455-sdio.txt │ │ ├── brcmfmac4354-sdio.bin │ │ ├── brcmfmac4354-sdio.txt │ │ ├── elan_i2c.bin │ │ ├── elants_i2c_0000.bin │ │ ├── elants_i2c_0a91.bin │ │ ├── maxtouch-ts.cfg │ │ └── maxtouch-ts.fw ├── polkit │ └── 10-NetworkManager.pkla ├── scripts │ ├── copy-user-wpasupplicant.sh │ ├── monstart │ ├── monstop │ └── rpi-resizerootfs ├── services │ ├── all │ │ ├── regenerate_ssh_host_keys.service │ │ ├── rpiwiggle.service │ │ └── smi-hack.service │ ├── odroid-c2 │ │ └── amlogic.service │ ├── pinebook │ │ └── pinebook-wifi-dkms.service │ └── rpi │ │ ├── copy-user-wpasupplicant.service │ │ ├── enable-ssh.service │ │ └── rpi-resizerootfs.service ├── udev │ ├── 50-mali.rules │ ├── 50-media.rules │ ├── 80-brcm-sdio-added.rules │ ├── 99-hide-emmc-partitions.rules │ ├── 99-rk3288-ehci-persist.rules │ ├── 99-rk3288-gpio-charger.rules │ └── 99-vchiq-permissions.rules └── xorg │ ├── 10-synaptics-chromebook.conf │ ├── 20-fbdev.conf │ ├── 20-meson.conf │ ├── 50-pine64-pinebook-pro.touchpad.conf │ └── 50-pine64-pinebook.touchpad.conf ├── build-deps.sh ├── etc ├── skel │ └── Desktop │ │ └── Updater.desktop └── xdg │ ├── menus │ └── applications-merged │ │ └── tl-applications.menu │ └── xfce4 │ └── xfconf │ └── xfce-perchannel-xml │ └── xfce4-desktop.xml ├── install-packages.sh ├── rpi3-64-build.sh ├── updater-current.sh ├── updater.sh └── usr └── share ├── applications ├── tl-Infoga.desktop ├── tl-PhoneInfoga.desktop ├── tl-Spiderpig.desktop ├── tl-WebHTTrack-Websites.desktop ├── tl-WebHTTrack.desktop ├── tl-alias-generator.desktop ├── tl-checkfy.desktop ├── tl-cherrytree.desktop ├── tl-domainfy.desktop ├── tl-dumpsterdiver.desktop ├── tl-exifgrep.desktop ├── tl-exifprobe.desktop ├── tl-exiftool.desktop ├── tl-finalrecon.desktop ├── tl-h8mail.desktop ├── tl-instaloader.desktop ├── tl-kali-maltego.desktop ├── tl-littlebrother.desktop ├── tl-mailfy.desktop ├── tl-metagoofil.desktop ├── tl-onionsearch.desktop ├── tl-osrf-upgrade.desktop ├── tl-osrf.desktop ├── tl-phonefy.desktop ├── tl-photon.desktop ├── tl-searchfy.desktop ├── tl-sherlock.desktop ├── tl-spiderfoot.desktop ├── tl-stegosuite.desktop ├── tl-sublist3r.desktop ├── tl-theHarvester.desktop ├── tl-tiktok-scraper.desktop ├── tl-toutatis.desktop ├── tl-twint.desktop ├── tl-usufy.desktop ├── tl-whatsmyname.desktop ├── tl-wikileaker.desktop └── tl-youtube-dl.desktop ├── backgrounds └── kali │ └── tracelabs.png ├── desktop-directories ├── 01-07-osint-analysis.directory ├── 01-phone-numbers.directory ├── 02-email.directory ├── 03-data-analysis.directory ├── 04-usernames.directory ├── 05-social-media.directory ├── 06-downloaders.directory ├── 07-note-taking.directory ├── 08-frameworks.directory ├── 09-domains.directory ├── 11-forensics.directory ├── 12-reporting.directory ├── browsers.directory └── tracelabs.directory └── firefox-esr └── distribution ├── distribution.ini └── policies.json /.gitignore: -------------------------------------------------------------------------------- 1 | fourth/* 2 | third/* 3 | rpi4*/* 4 | *third* 5 | *test* 6 | *.img 7 | fifth/* 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Trace-Labs-VM-Ras-Pi-Build 2 | 3 | This project ports the Trace Labs OSINT VM over to a Raspberry Pi and was made possible by the work done by Offensive Secuirty. The core of this repo revolves around the build scripts created by them: 4 | https://gitlab.com/kalilinux/build-scripts/kali-arm 5 | 6 | The below process has only been tested on Debian flavors of Linux. It does involve adding additional repositories to your host Linux system and we recommend running it inside of a virtual machine (a Kali VM for example). 7 | * Start by cloning this repo to a Debian based system and navigate in to the `Trace-Labs-VM-Ras-Pi-Build` directory 8 | * Run `sudo ./build-deps.sh` - this will get your current system ready to build the Kali Pi image. 9 | * Run `sudo ./rpi3-64-build.sh ` - This script gives you the option to install tools or not. Choosing "y" will take longer but you will end up with a fully built out OSINT system at the end. Selecting "n" will just build a bare bones Kali Pi system. 10 | * Burn the resulting `.img` file to an sd card as you normally would for a pi image. 11 | * User: `osint` Password: `osint` 12 | 13 | 14 | ### Explanation 15 | `rpi3-64-build.sh` does several things: 16 | * Lays the groundwork on the host system to build our Kali Pi image 17 | * Uses `debootstrap` to lay down a basic Linux operating system and the tools needed to run it 18 | * Writes a text file:`third-stage` to the Kali Pi system directory created in the above step. From here, the `third-stage` text file is executed and a bare bones Kali Pi system is installed. No tools are installed at this point but is instead the "kali-core" set of packages. 19 | * If "y" was selected at the beginning then `install-packages.sh` will be ran. This is the text file containing instructions to install all the OSINT tools. 20 | 21 | 22 | 23 | ### Troubleshooting 24 | If the "rpi3-64-build.sh" is throwing errors from the beginning, you may need to move the entire folder outside of your home directory before running. 25 | -------------------------------------------------------------------------------- /bin/alias-generator: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec alias_generator "$@" 4 | -------------------------------------------------------------------------------- /bin/buster: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec buster "$@" -------------------------------------------------------------------------------- /bin/checkfy: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec osrf checkfy "$@" 4 | -------------------------------------------------------------------------------- /bin/domainfy: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec osrf domainfy "$@" 4 | -------------------------------------------------------------------------------- /bin/dumpsterdiver: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #dumpster diver reference files relatively not absolutetly 4 | #must be run from directory it resides in 5 | 6 | cd /usr/share/DumpsterDiver 7 | exec python3 /usr/share/DumpsterDiver/DumpsterDiver.py "$@" 8 | -------------------------------------------------------------------------------- /bin/finalrecon: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #finalrecon reference files relatively not absolutetly 4 | #must be run from directory it resides in 5 | 6 | cd /usr/share/FinalRecon 7 | exec python3 /usr/share/FinalRecon/finalrecon.py "$@" 8 | -------------------------------------------------------------------------------- /bin/infoga: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec python3 /usr/share/Infoga/infoga.py "$@" -------------------------------------------------------------------------------- /bin/littlebrother: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec python3 /usr/share/LittleBrother/LittleBrother.py "$@" -------------------------------------------------------------------------------- /bin/mailfy: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec osrf mailfy "$@" 4 | -------------------------------------------------------------------------------- /bin/onionsearch: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec onionsearch "$@" 4 | -------------------------------------------------------------------------------- /bin/phonefy: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec osrf phonefy "$@" 4 | -------------------------------------------------------------------------------- /bin/phoneinfoga: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec /usr/share/phoneinfoga/phoneinfoga "$@" -------------------------------------------------------------------------------- /bin/reconspider: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec python3 /usr/share/reconspider/reconspider.py "$@" -------------------------------------------------------------------------------- /bin/searchfy: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec osrf searchfy "$@" 4 | -------------------------------------------------------------------------------- /bin/sherlock: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec python3 /usr/share/sherlock/sherlock.py "$@" -------------------------------------------------------------------------------- /bin/spiderpig: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec /usr/share/Spiderpig/spiderpig.rb "$@" -------------------------------------------------------------------------------- /bin/tiktok-scraper: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec tiktok-scraper "$@" 4 | -------------------------------------------------------------------------------- /bin/twint: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec python3 /usr/share/Twint/twint.py "$@" -------------------------------------------------------------------------------- /bin/usufy: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec osrf usufy "$@" 4 | -------------------------------------------------------------------------------- /bin/whatsmyname: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec python3 /usr/share/WhatsMyName/web_accounts_list_checker.py -in /usr/share/WhatsMyName/web_accounts_list.json -u "$@" 4 | -------------------------------------------------------------------------------- /bin/wikileaker: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | exec python3 /usr/share/WikiLeaker/WikiLeaker.py "$@" 4 | -------------------------------------------------------------------------------- /bsp/audio/pinebook-pro/asound.state: -------------------------------------------------------------------------------- 1 | state.rockchipes8316c { 2 | control.1 { 3 | iface CARD 4 | name 'Headphones Jack' 5 | value false 6 | comment { 7 | access read 8 | type BOOLEAN 9 | count 1 10 | } 11 | } 12 | control.2 { 13 | iface MIXER 14 | name 'Headphone Playback Volume' 15 | value.0 2 16 | value.1 2 17 | comment { 18 | access 'read write' 19 | type INTEGER 20 | count 2 21 | range '0 - 3' 22 | dbmin -4800 23 | dbmax 0 24 | dbvalue.0 -1200 25 | dbvalue.1 -1200 26 | } 27 | } 28 | control.3 { 29 | iface MIXER 30 | name 'Headphone Mixer Volume' 31 | value.0 11 32 | value.1 11 33 | comment { 34 | access 'read write' 35 | type INTEGER 36 | count 2 37 | range '0 - 11' 38 | dbmin -1200 39 | dbmax 0 40 | dbvalue.0 0 41 | dbvalue.1 0 42 | } 43 | } 44 | control.4 { 45 | iface MIXER 46 | name 'Playback Polarity' 47 | value 'R Invert' 48 | comment { 49 | access 'read write' 50 | type ENUMERATED 51 | count 1 52 | item.0 Normal 53 | item.1 'R Invert' 54 | item.2 'L Invert' 55 | item.3 'L + R Invert' 56 | } 57 | } 58 | control.5 { 59 | iface MIXER 60 | name 'DAC Playback Volume' 61 | value.0 192 62 | value.1 192 63 | comment { 64 | access 'read write' 65 | type INTEGER 66 | count 2 67 | range '0 - 192' 68 | dbmin -9999999 69 | dbmax 0 70 | dbvalue.0 0 71 | dbvalue.1 0 72 | } 73 | } 74 | control.6 { 75 | iface MIXER 76 | name 'DAC Soft Ramp Switch' 77 | value false 78 | comment { 79 | access 'read write' 80 | type BOOLEAN 81 | count 1 82 | } 83 | } 84 | control.7 { 85 | iface MIXER 86 | name 'DAC Soft Ramp Rate' 87 | value 4 88 | comment { 89 | access 'read write' 90 | type INTEGER 91 | count 1 92 | range '0 - 4' 93 | } 94 | } 95 | control.8 { 96 | iface MIXER 97 | name 'DAC Notch Filter Switch' 98 | value false 99 | comment { 100 | access 'read write' 101 | type BOOLEAN 102 | count 1 103 | } 104 | } 105 | control.9 { 106 | iface MIXER 107 | name 'DAC Double Fs Switch' 108 | value false 109 | comment { 110 | access 'read write' 111 | type BOOLEAN 112 | count 1 113 | } 114 | } 115 | control.10 { 116 | iface MIXER 117 | name 'DAC Stereo Enhancement' 118 | value 5 119 | comment { 120 | access 'read write' 121 | type INTEGER 122 | count 1 123 | range '0 - 7' 124 | } 125 | } 126 | control.11 { 127 | iface MIXER 128 | name 'DAC Mono Mix Switch' 129 | value false 130 | comment { 131 | access 'read write' 132 | type BOOLEAN 133 | count 1 134 | } 135 | } 136 | control.12 { 137 | iface MIXER 138 | name 'Capture Polarity' 139 | value Normal 140 | comment { 141 | access 'read write' 142 | type ENUMERATED 143 | count 1 144 | item.0 Normal 145 | item.1 Invert 146 | } 147 | } 148 | control.13 { 149 | iface MIXER 150 | name 'Mic Boost Switch' 151 | value true 152 | comment { 153 | access 'read write' 154 | type BOOLEAN 155 | count 1 156 | } 157 | } 158 | control.14 { 159 | iface MIXER 160 | name 'ADC Capture Volume' 161 | value 192 162 | comment { 163 | access 'read write' 164 | type INTEGER 165 | count 1 166 | range '0 - 192' 167 | dbmin -9999999 168 | dbmax 0 169 | dbvalue.0 0 170 | } 171 | } 172 | control.15 { 173 | iface MIXER 174 | name 'ADC PGA Gain Volume' 175 | value 0 176 | comment { 177 | access 'read write' 178 | type INTEGER 179 | count 1 180 | range '0 - 10' 181 | } 182 | } 183 | control.16 { 184 | iface MIXER 185 | name 'ADC Soft Ramp Switch' 186 | value false 187 | comment { 188 | access 'read write' 189 | type BOOLEAN 190 | count 1 191 | } 192 | } 193 | control.17 { 194 | iface MIXER 195 | name 'ADC Double Fs Switch' 196 | value false 197 | comment { 198 | access 'read write' 199 | type BOOLEAN 200 | count 1 201 | } 202 | } 203 | control.18 { 204 | iface MIXER 205 | name 'ALC Capture Switch' 206 | value false 207 | comment { 208 | access 'read write' 209 | type BOOLEAN 210 | count 1 211 | } 212 | } 213 | control.19 { 214 | iface MIXER 215 | name 'ALC Capture Max Volume' 216 | value 28 217 | comment { 218 | access 'read write' 219 | type INTEGER 220 | count 1 221 | range '0 - 28' 222 | dbmin -650 223 | dbmax 3550 224 | dbvalue.0 3550 225 | } 226 | } 227 | control.20 { 228 | iface MIXER 229 | name 'ALC Capture Min Volume' 230 | value 0 231 | comment { 232 | access 'read write' 233 | type INTEGER 234 | count 1 235 | range '0 - 28' 236 | dbmin -1200 237 | dbmax 3000 238 | dbvalue.0 -1200 239 | } 240 | } 241 | control.21 { 242 | iface MIXER 243 | name 'ALC Capture Target Volume' 244 | value 11 245 | comment { 246 | access 'read write' 247 | type INTEGER 248 | count 1 249 | range '0 - 10' 250 | dbmin -1650 251 | dbmax -150 252 | dbvalue.0 0 253 | } 254 | } 255 | control.22 { 256 | iface MIXER 257 | name 'ALC Capture Hold Time' 258 | value 0 259 | comment { 260 | access 'read write' 261 | type INTEGER 262 | count 1 263 | range '0 - 10' 264 | } 265 | } 266 | control.23 { 267 | iface MIXER 268 | name 'ALC Capture Decay Time' 269 | value 3 270 | comment { 271 | access 'read write' 272 | type INTEGER 273 | count 1 274 | range '0 - 10' 275 | } 276 | } 277 | control.24 { 278 | iface MIXER 279 | name 'ALC Capture Attack Time' 280 | value 2 281 | comment { 282 | access 'read write' 283 | type INTEGER 284 | count 1 285 | range '0 - 10' 286 | } 287 | } 288 | control.25 { 289 | iface MIXER 290 | name 'ALC Capture Noise Gate Switch' 291 | value false 292 | comment { 293 | access 'read write' 294 | type BOOLEAN 295 | count 1 296 | } 297 | } 298 | control.26 { 299 | iface MIXER 300 | name 'ALC Capture Noise Gate Threshold' 301 | value 0 302 | comment { 303 | access 'read write' 304 | type INTEGER 305 | count 1 306 | range '0 - 31' 307 | } 308 | } 309 | control.27 { 310 | iface MIXER 311 | name 'ALC Capture Noise Gate Type' 312 | value 'Constant PGA Gain' 313 | comment { 314 | access 'read write' 315 | type ENUMERATED 316 | count 1 317 | item.0 'Constant PGA Gain' 318 | item.1 'Mute ADC Output' 319 | } 320 | } 321 | control.28 { 322 | iface MIXER 323 | name 'Speaker Switch' 324 | value true 325 | comment { 326 | access 'read write' 327 | type BOOLEAN 328 | count 1 329 | } 330 | } 331 | control.29 { 332 | iface MIXER 333 | name 'Differential Mux' 334 | value lin1-rin1 335 | comment { 336 | access 'read write' 337 | type ENUMERATED 338 | count 1 339 | item.0 lin1-rin1 340 | item.1 lin2-rin2 341 | item.2 'lin1-rin1 with 20db Boost' 342 | item.3 'lin2-rin2 with 20db Boost' 343 | } 344 | } 345 | control.30 { 346 | iface MIXER 347 | name 'Digital Mic Mux' 348 | value 'dmic disable' 349 | comment { 350 | access 'read write' 351 | type ENUMERATED 352 | count 1 353 | item.0 'dmic disable' 354 | item.1 'dmic data at high level' 355 | item.2 'dmic data at low level' 356 | } 357 | } 358 | control.31 { 359 | iface MIXER 360 | name 'DAC Source Mux' 361 | value 'LDATA TO LDAC, RDATA TO RDAC' 362 | comment { 363 | access 'read write' 364 | type ENUMERATED 365 | count 1 366 | item.0 'LDATA TO LDAC, RDATA TO RDAC' 367 | item.1 'LDATA TO LDAC, LDATA TO RDAC' 368 | item.2 'RDATA TO LDAC, RDATA TO RDAC' 369 | item.3 'RDATA TO LDAC, LDATA TO RDAC' 370 | } 371 | } 372 | control.32 { 373 | iface MIXER 374 | name 'Left Headphone Mux' 375 | value lin1-rin1 376 | comment { 377 | access 'read write' 378 | type ENUMERATED 379 | count 1 380 | item.0 lin1-rin1 381 | item.1 lin2-rin2 382 | item.2 'lin-rin with Boost' 383 | item.3 'lin-rin with Boost and PGA' 384 | } 385 | } 386 | control.33 { 387 | iface MIXER 388 | name 'Right Headphone Mux' 389 | value lin1-rin1 390 | comment { 391 | access 'read write' 392 | type ENUMERATED 393 | count 1 394 | item.0 lin1-rin1 395 | item.1 lin2-rin2 396 | item.2 'lin-rin with Boost' 397 | item.3 'lin-rin with Boost and PGA' 398 | } 399 | } 400 | control.34 { 401 | iface MIXER 402 | name 'Left Headphone Mixer LLIN Switch' 403 | value false 404 | comment { 405 | access 'read write' 406 | type BOOLEAN 407 | count 1 408 | } 409 | } 410 | control.35 { 411 | iface MIXER 412 | name 'Left Headphone Mixer Left DAC Switch' 413 | value true 414 | comment { 415 | access 'read write' 416 | type BOOLEAN 417 | count 1 418 | } 419 | } 420 | control.36 { 421 | iface MIXER 422 | name 'Right Headphone Mixer RLIN Switch' 423 | value false 424 | comment { 425 | access 'read write' 426 | type BOOLEAN 427 | count 1 428 | } 429 | } 430 | control.37 { 431 | iface MIXER 432 | name 'Right Headphone Mixer Right DAC Switch' 433 | value true 434 | comment { 435 | access 'read write' 436 | type BOOLEAN 437 | count 1 438 | } 439 | } 440 | } 441 | -------------------------------------------------------------------------------- /bsp/audio/veyron/asound.state: -------------------------------------------------------------------------------- 1 | state.ROCKCHIPI2S { 2 | control.1 { 3 | iface MIXER 4 | name 'MIC Bias VCM Bandgap' 5 | value 'High Performance' 6 | comment { 7 | access 'read write' 8 | type ENUMERATED 9 | count 1 10 | item.0 'Low Power' 11 | item.1 'High Performance' 12 | } 13 | } 14 | control.2 { 15 | iface MIXER 16 | name 'DMIC MIC Comp Filter Config' 17 | value 6 18 | comment { 19 | access 'read write' 20 | type INTEGER 21 | count 1 22 | range '0 - 15' 23 | } 24 | } 25 | control.3 { 26 | iface MIXER 27 | name 'MIC1 Boost Volume' 28 | value 0 29 | comment { 30 | access 'read write' 31 | type INTEGER 32 | count 1 33 | range '0 - 2' 34 | dbmin 0 35 | dbmax 3000 36 | dbvalue.0 0 37 | } 38 | } 39 | control.4 { 40 | iface MIXER 41 | name 'MIC2 Boost Volume' 42 | value 0 43 | comment { 44 | access 'read write' 45 | type INTEGER 46 | count 1 47 | range '0 - 2' 48 | dbmin 0 49 | dbmax 3000 50 | dbvalue.0 0 51 | } 52 | } 53 | control.5 { 54 | iface MIXER 55 | name 'MIC1 Volume' 56 | value 0 57 | comment { 58 | access 'read write' 59 | type INTEGER 60 | count 1 61 | range '0 - 20' 62 | dbmin 0 63 | dbmax 2000 64 | dbvalue.0 0 65 | } 66 | } 67 | control.6 { 68 | iface MIXER 69 | name 'MIC2 Volume' 70 | value 0 71 | comment { 72 | access 'read write' 73 | type INTEGER 74 | count 1 75 | range '0 - 20' 76 | dbmin 0 77 | dbmax 2000 78 | dbvalue.0 0 79 | } 80 | } 81 | control.7 { 82 | iface MIXER 83 | name 'LINEA Single Ended Volume' 84 | value 1 85 | comment { 86 | access 'read write' 87 | type INTEGER 88 | count 1 89 | range '0 - 1' 90 | dbmin -600 91 | dbmax 0 92 | dbvalue.0 0 93 | } 94 | } 95 | control.8 { 96 | iface MIXER 97 | name 'LINEB Single Ended Volume' 98 | value 1 99 | comment { 100 | access 'read write' 101 | type INTEGER 102 | count 1 103 | range '0 - 1' 104 | dbmin -600 105 | dbmax 0 106 | dbvalue.0 0 107 | } 108 | } 109 | control.9 { 110 | iface MIXER 111 | name 'LINEA Volume' 112 | value 2 113 | comment { 114 | access 'read write' 115 | type INTEGER 116 | count 1 117 | range '0 - 5' 118 | dbmin -600 119 | dbmax 2000 120 | dbvalue.0 0 121 | } 122 | } 123 | control.10 { 124 | iface MIXER 125 | name 'LINEB Volume' 126 | value 2 127 | comment { 128 | access 'read write' 129 | type INTEGER 130 | count 1 131 | range '0 - 5' 132 | dbmin -600 133 | dbmax 2000 134 | dbvalue.0 0 135 | } 136 | } 137 | control.11 { 138 | iface MIXER 139 | name 'LINEA Ext Resistor Gain Mode' 140 | value false 141 | comment { 142 | access 'read write' 143 | type BOOLEAN 144 | count 1 145 | } 146 | } 147 | control.12 { 148 | iface MIXER 149 | name 'LINEB Ext Resistor Gain Mode' 150 | value false 151 | comment { 152 | access 'read write' 153 | type BOOLEAN 154 | count 1 155 | } 156 | } 157 | control.13 { 158 | iface MIXER 159 | name 'ADCL Boost Volume' 160 | value 0 161 | comment { 162 | access 'read write' 163 | type INTEGER 164 | count 1 165 | range '0 - 7' 166 | dbmin 0 167 | dbmax 4200 168 | dbvalue.0 0 169 | } 170 | } 171 | control.14 { 172 | iface MIXER 173 | name 'ADCR Boost Volume' 174 | value 0 175 | comment { 176 | access 'read write' 177 | type INTEGER 178 | count 1 179 | range '0 - 7' 180 | dbmin 0 181 | dbmax 4200 182 | dbvalue.0 0 183 | } 184 | } 185 | control.15 { 186 | iface MIXER 187 | name 'ADCL Volume' 188 | value 12 189 | comment { 190 | access 'read write' 191 | type INTEGER 192 | count 1 193 | range '0 - 15' 194 | dbmin -1200 195 | dbmax 300 196 | dbvalue.0 0 197 | } 198 | } 199 | control.16 { 200 | iface MIXER 201 | name 'ADCR Volume' 202 | value 12 203 | comment { 204 | access 'read write' 205 | type INTEGER 206 | count 1 207 | range '0 - 15' 208 | dbmin -1200 209 | dbmax 300 210 | dbvalue.0 0 211 | } 212 | } 213 | control.17 { 214 | iface MIXER 215 | name 'ADC Oversampling Rate' 216 | value '128*fs' 217 | comment { 218 | access 'read write' 219 | type ENUMERATED 220 | count 1 221 | item.0 '64*fs' 222 | item.1 '128*fs' 223 | } 224 | } 225 | control.18 { 226 | iface MIXER 227 | name 'ADC Quantizer Dither' 228 | value true 229 | comment { 230 | access 'read write' 231 | type BOOLEAN 232 | count 1 233 | } 234 | } 235 | control.19 { 236 | iface MIXER 237 | name 'ADC High Performance Mode' 238 | value 'High Performance' 239 | comment { 240 | access 'read write' 241 | type ENUMERATED 242 | count 1 243 | item.0 'Low Power' 244 | item.1 'High Performance' 245 | } 246 | } 247 | control.20 { 248 | iface MIXER 249 | name 'DAC Mono Mode' 250 | value false 251 | comment { 252 | access 'read write' 253 | type BOOLEAN 254 | count 1 255 | } 256 | } 257 | control.21 { 258 | iface MIXER 259 | name 'SDIN Mode' 260 | value false 261 | comment { 262 | access 'read write' 263 | type BOOLEAN 264 | count 1 265 | } 266 | } 267 | control.22 { 268 | iface MIXER 269 | name 'SDOUT Mode' 270 | value false 271 | comment { 272 | access 'read write' 273 | type BOOLEAN 274 | count 1 275 | } 276 | } 277 | control.23 { 278 | iface MIXER 279 | name 'SDOUT Hi-Z Mode' 280 | value true 281 | comment { 282 | access 'read write' 283 | type BOOLEAN 284 | count 1 285 | } 286 | } 287 | control.24 { 288 | iface MIXER 289 | name 'Filter Mode' 290 | value Music 291 | comment { 292 | access 'read write' 293 | type ENUMERATED 294 | count 1 295 | item.0 Voice 296 | item.1 Music 297 | } 298 | } 299 | control.25 { 300 | iface MIXER 301 | name 'Record Path DC Blocking' 302 | value false 303 | comment { 304 | access 'read write' 305 | type BOOLEAN 306 | count 1 307 | } 308 | } 309 | control.26 { 310 | iface MIXER 311 | name 'Playback Path DC Blocking' 312 | value false 313 | comment { 314 | access 'read write' 315 | type BOOLEAN 316 | count 1 317 | } 318 | } 319 | control.27 { 320 | iface MIXER 321 | name 'Digital BQ Volume' 322 | value 15 323 | comment { 324 | access 'read write' 325 | type INTEGER 326 | count 1 327 | range '0 - 15' 328 | dbmin -1500 329 | dbmax 0 330 | dbvalue.0 0 331 | } 332 | } 333 | control.28 { 334 | iface MIXER 335 | name 'Digital Sidetone Volume' 336 | value 0 337 | comment { 338 | access 'read write' 339 | type INTEGER 340 | count 1 341 | range '0 - 30' 342 | dbmin 0 343 | dbmax 3000 344 | dbvalue.0 0 345 | } 346 | } 347 | control.29 { 348 | iface MIXER 349 | name 'Digital Coarse Volume' 350 | value 0 351 | comment { 352 | access 'read write' 353 | type INTEGER 354 | count 1 355 | range '0 - 3' 356 | dbmin 0 357 | dbmax 1800 358 | dbvalue.0 0 359 | } 360 | } 361 | control.30 { 362 | iface MIXER 363 | name 'Digital Volume' 364 | value 15 365 | comment { 366 | access 'read write' 367 | type INTEGER 368 | count 1 369 | range '0 - 15' 370 | dbmin -1500 371 | dbmax 0 372 | dbvalue.0 0 373 | } 374 | } 375 | control.31 { 376 | iface MIXER 377 | name 'EQ Coefficients' 378 | value '000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' 379 | comment { 380 | access 'read write' 381 | type BYTES 382 | count 105 383 | } 384 | } 385 | control.32 { 386 | iface MIXER 387 | name 'Digital EQ 3 Band Switch' 388 | value false 389 | comment { 390 | access 'read write' 391 | type BOOLEAN 392 | count 1 393 | } 394 | } 395 | control.33 { 396 | iface MIXER 397 | name 'Digital EQ 5 Band Switch' 398 | value false 399 | comment { 400 | access 'read write' 401 | type BOOLEAN 402 | count 1 403 | } 404 | } 405 | control.34 { 406 | iface MIXER 407 | name 'Digital EQ 7 Band Switch' 408 | value false 409 | comment { 410 | access 'read write' 411 | type BOOLEAN 412 | count 1 413 | } 414 | } 415 | control.35 { 416 | iface MIXER 417 | name 'Digital EQ Clipping Detection' 418 | value true 419 | comment { 420 | access 'read write' 421 | type BOOLEAN 422 | count 1 423 | } 424 | } 425 | control.36 { 426 | iface MIXER 427 | name 'Digital EQ Volume' 428 | value 15 429 | comment { 430 | access 'read write' 431 | type INTEGER 432 | count 1 433 | range '0 - 15' 434 | dbmin -1500 435 | dbmax 0 436 | dbvalue.0 0 437 | } 438 | } 439 | control.37 { 440 | iface MIXER 441 | name 'ALC Enable' 442 | value false 443 | comment { 444 | access 'read write' 445 | type BOOLEAN 446 | count 1 447 | } 448 | } 449 | control.38 { 450 | iface MIXER 451 | name 'ALC Attack Time' 452 | value '0.5ms' 453 | comment { 454 | access 'read write' 455 | type ENUMERATED 456 | count 1 457 | item.0 '0.5ms' 458 | item.1 '1ms' 459 | item.2 '5ms' 460 | item.3 '10ms' 461 | item.4 '25ms' 462 | item.5 '50ms' 463 | item.6 '100ms' 464 | item.7 '200ms' 465 | } 466 | } 467 | control.39 { 468 | iface MIXER 469 | name 'ALC Release Time' 470 | value '8s' 471 | comment { 472 | access 'read write' 473 | type ENUMERATED 474 | count 1 475 | item.0 '8s' 476 | item.1 '4s' 477 | item.2 '2s' 478 | item.3 '1s' 479 | item.4 '0.5s' 480 | item.5 '0.25s' 481 | item.6 '0.125s' 482 | item.7 '0.0625s' 483 | } 484 | } 485 | control.40 { 486 | iface MIXER 487 | name 'ALC Make Up Volume' 488 | value 0 489 | comment { 490 | access 'read write' 491 | type INTEGER 492 | count 1 493 | range '0 - 12' 494 | dbmin 0 495 | dbmax 1200 496 | dbvalue.0 0 497 | } 498 | } 499 | control.41 { 500 | iface MIXER 501 | name 'ALC Compression Ratio' 502 | value '1:1' 503 | comment { 504 | access 'read write' 505 | type ENUMERATED 506 | count 1 507 | item.0 '1:1' 508 | item.1 '1:1.5' 509 | item.2 '1:2' 510 | item.3 '1:4' 511 | item.4 '1:INF' 512 | } 513 | } 514 | control.42 { 515 | iface MIXER 516 | name 'ALC Expansion Ratio' 517 | value '1:1' 518 | comment { 519 | access 'read write' 520 | type ENUMERATED 521 | count 1 522 | item.0 '1:1' 523 | item.1 '2:1' 524 | item.2 '3:1' 525 | } 526 | } 527 | control.43 { 528 | iface MIXER 529 | name 'ALC Compression Threshold Volume' 530 | value 31 531 | comment { 532 | access 'read write' 533 | type INTEGER 534 | count 1 535 | range '0 - 31' 536 | dbmin -3100 537 | dbmax 0 538 | dbvalue.0 0 539 | } 540 | } 541 | control.44 { 542 | iface MIXER 543 | name 'ALC Expansion Threshold Volume' 544 | value 31 545 | comment { 546 | access 'read write' 547 | type INTEGER 548 | count 1 549 | range '0 - 31' 550 | dbmin -6600 551 | dbmax -3500 552 | dbvalue.0 -3500 553 | } 554 | } 555 | control.45 { 556 | iface MIXER 557 | name 'DAC HP Playback Performance Mode' 558 | value 'High Performance' 559 | comment { 560 | access 'read write' 561 | type ENUMERATED 562 | count 1 563 | item.0 'High Performance' 564 | item.1 'Low Power' 565 | } 566 | } 567 | control.46 { 568 | iface MIXER 569 | name 'DAC High Performance Mode' 570 | value 'High Performance' 571 | comment { 572 | access 'read write' 573 | type ENUMERATED 574 | count 1 575 | item.0 'Low Power' 576 | item.1 'High Performance' 577 | } 578 | } 579 | control.47 { 580 | iface MIXER 581 | name 'Headphone Left Mixer Volume' 582 | value 3 583 | comment { 584 | access 'read write' 585 | type INTEGER 586 | count 1 587 | range '0 - 3' 588 | dbmin -1200 589 | dbmax 0 590 | dbvalue.0 0 591 | } 592 | } 593 | control.48 { 594 | iface MIXER 595 | name 'Headphone Right Mixer Volume' 596 | value 3 597 | comment { 598 | access 'read write' 599 | type INTEGER 600 | count 1 601 | range '0 - 3' 602 | dbmin -1200 603 | dbmax 0 604 | dbvalue.0 0 605 | } 606 | } 607 | control.49 { 608 | iface MIXER 609 | name 'Speaker Left Mixer Volume' 610 | value 3 611 | comment { 612 | access 'read write' 613 | type INTEGER 614 | count 1 615 | range '0 - 3' 616 | dbmin -1200 617 | dbmax 0 618 | dbvalue.0 0 619 | } 620 | } 621 | control.50 { 622 | iface MIXER 623 | name 'Speaker Right Mixer Volume' 624 | value 3 625 | comment { 626 | access 'read write' 627 | type INTEGER 628 | count 1 629 | range '0 - 3' 630 | dbmin -1200 631 | dbmax 0 632 | dbvalue.0 0 633 | } 634 | } 635 | control.51 { 636 | iface MIXER 637 | name 'Receiver Left Mixer Volume' 638 | value 3 639 | comment { 640 | access 'read write' 641 | type INTEGER 642 | count 1 643 | range '0 - 3' 644 | dbmin -1200 645 | dbmax 0 646 | dbvalue.0 0 647 | } 648 | } 649 | control.52 { 650 | iface MIXER 651 | name 'Receiver Right Mixer Volume' 652 | value 3 653 | comment { 654 | access 'read write' 655 | type INTEGER 656 | count 1 657 | range '0 - 3' 658 | dbmin -1200 659 | dbmax 0 660 | dbvalue.0 0 661 | } 662 | } 663 | control.53 { 664 | iface MIXER 665 | name 'Headphone Volume' 666 | value.0 0 667 | value.1 0 668 | comment { 669 | access 'read write' 670 | type INTEGER 671 | count 2 672 | range '0 - 31' 673 | dbmin -6700 674 | dbmax 300 675 | dbvalue.0 -6700 676 | dbvalue.1 -6700 677 | } 678 | } 679 | control.54 { 680 | iface MIXER 681 | name 'Speaker Volume' 682 | value.0 39 683 | value.1 39 684 | comment { 685 | access 'read write' 686 | type INTEGER 687 | count 2 688 | range '0 - 39' 689 | dbmin -4800 690 | dbmax 1400 691 | dbvalue.0 1400 692 | dbvalue.1 1400 693 | } 694 | } 695 | control.55 { 696 | iface MIXER 697 | name 'Receiver Volume' 698 | value.0 21 699 | value.1 21 700 | comment { 701 | access 'read write' 702 | type INTEGER 703 | count 2 704 | range '0 - 31' 705 | dbmin -6200 706 | dbmax 800 707 | dbvalue.0 0 708 | dbvalue.1 0 709 | } 710 | } 711 | control.56 { 712 | iface MIXER 713 | name 'Headphone Left Switch' 714 | value true 715 | comment { 716 | access 'read write' 717 | type BOOLEAN 718 | count 1 719 | } 720 | } 721 | control.57 { 722 | iface MIXER 723 | name 'Headphone Right Switch' 724 | value true 725 | comment { 726 | access 'read write' 727 | type BOOLEAN 728 | count 1 729 | } 730 | } 731 | control.58 { 732 | iface MIXER 733 | name 'Speaker Left Switch' 734 | value true 735 | comment { 736 | access 'read write' 737 | type BOOLEAN 738 | count 1 739 | } 740 | } 741 | control.59 { 742 | iface MIXER 743 | name 'Speaker Right Switch' 744 | value true 745 | comment { 746 | access 'read write' 747 | type BOOLEAN 748 | count 1 749 | } 750 | } 751 | control.60 { 752 | iface MIXER 753 | name 'Receiver Left Switch' 754 | value true 755 | comment { 756 | access 'read write' 757 | type BOOLEAN 758 | count 1 759 | } 760 | } 761 | control.61 { 762 | iface MIXER 763 | name 'Receiver Right Switch' 764 | value true 765 | comment { 766 | access 'read write' 767 | type BOOLEAN 768 | count 1 769 | } 770 | } 771 | control.62 { 772 | iface MIXER 773 | name 'Zero-Crossing Detection' 774 | value true 775 | comment { 776 | access 'read write' 777 | type BOOLEAN 778 | count 1 779 | } 780 | } 781 | control.63 { 782 | iface MIXER 783 | name 'Enhanced Vol Smoothing' 784 | value true 785 | comment { 786 | access 'read write' 787 | type BOOLEAN 788 | count 1 789 | } 790 | } 791 | control.64 { 792 | iface MIXER 793 | name 'Volume Adjustment Smoothing' 794 | value true 795 | comment { 796 | access 'read write' 797 | type BOOLEAN 798 | count 1 799 | } 800 | } 801 | control.65 { 802 | iface MIXER 803 | name 'Biquad Coefficients' 804 | value '000000000000000000000000000000' 805 | comment { 806 | access 'read write' 807 | type BYTES 808 | count 15 809 | } 810 | } 811 | control.66 { 812 | iface MIXER 813 | name 'Biquad Switch' 814 | value false 815 | comment { 816 | access 'read write' 817 | type BOOLEAN 818 | count 1 819 | } 820 | } 821 | control.67 { 822 | iface MIXER 823 | name 'Headphone Switch' 824 | value false 825 | comment { 826 | access 'read write' 827 | type BOOLEAN 828 | count 1 829 | } 830 | } 831 | control.68 { 832 | iface MIXER 833 | name 'Headset Mic Switch' 834 | value true 835 | comment { 836 | access 'read write' 837 | type BOOLEAN 838 | count 1 839 | } 840 | } 841 | control.69 { 842 | iface MIXER 843 | name 'Int Mic Switch' 844 | value true 845 | comment { 846 | access 'read write' 847 | type BOOLEAN 848 | count 1 849 | } 850 | } 851 | control.70 { 852 | iface MIXER 853 | name 'Speaker Switch' 854 | value true 855 | comment { 856 | access 'read write' 857 | type BOOLEAN 858 | count 1 859 | } 860 | } 861 | control.71 { 862 | iface MIXER 863 | name 'MIXHPRSEL Mux' 864 | value 'DAC Only' 865 | comment { 866 | access 'read write' 867 | type ENUMERATED 868 | count 1 869 | item.0 'DAC Only' 870 | item.1 'HP Mixer' 871 | } 872 | } 873 | control.72 { 874 | iface MIXER 875 | name 'MIXHPLSEL Mux' 876 | value 'DAC Only' 877 | comment { 878 | access 'read write' 879 | type ENUMERATED 880 | count 1 881 | item.0 'DAC Only' 882 | item.1 'HP Mixer' 883 | } 884 | } 885 | control.73 { 886 | iface MIXER 887 | name 'LINMOD Mux' 888 | value 'Left Only' 889 | comment { 890 | access 'read write' 891 | type ENUMERATED 892 | count 1 893 | item.0 'Left Only' 894 | item.1 'Left and Right' 895 | } 896 | } 897 | control.74 { 898 | iface MIXER 899 | name 'Right Receiver Mixer Left DAC Switch' 900 | value false 901 | comment { 902 | access 'read write' 903 | type BOOLEAN 904 | count 1 905 | } 906 | } 907 | control.75 { 908 | iface MIXER 909 | name 'Right Receiver Mixer Right DAC Switch' 910 | value false 911 | comment { 912 | access 'read write' 913 | type BOOLEAN 914 | count 1 915 | } 916 | } 917 | control.76 { 918 | iface MIXER 919 | name 'Right Receiver Mixer LINEA Switch' 920 | value false 921 | comment { 922 | access 'read write' 923 | type BOOLEAN 924 | count 1 925 | } 926 | } 927 | control.77 { 928 | iface MIXER 929 | name 'Right Receiver Mixer LINEB Switch' 930 | value false 931 | comment { 932 | access 'read write' 933 | type BOOLEAN 934 | count 1 935 | } 936 | } 937 | control.78 { 938 | iface MIXER 939 | name 'Right Receiver Mixer MIC1 Switch' 940 | value false 941 | comment { 942 | access 'read write' 943 | type BOOLEAN 944 | count 1 945 | } 946 | } 947 | control.79 { 948 | iface MIXER 949 | name 'Right Receiver Mixer MIC2 Switch' 950 | value false 951 | comment { 952 | access 'read write' 953 | type BOOLEAN 954 | count 1 955 | } 956 | } 957 | control.80 { 958 | iface MIXER 959 | name 'Left Receiver Mixer Left DAC Switch' 960 | value false 961 | comment { 962 | access 'read write' 963 | type BOOLEAN 964 | count 1 965 | } 966 | } 967 | control.81 { 968 | iface MIXER 969 | name 'Left Receiver Mixer Right DAC Switch' 970 | value false 971 | comment { 972 | access 'read write' 973 | type BOOLEAN 974 | count 1 975 | } 976 | } 977 | control.82 { 978 | iface MIXER 979 | name 'Left Receiver Mixer LINEA Switch' 980 | value false 981 | comment { 982 | access 'read write' 983 | type BOOLEAN 984 | count 1 985 | } 986 | } 987 | control.83 { 988 | iface MIXER 989 | name 'Left Receiver Mixer LINEB Switch' 990 | value false 991 | comment { 992 | access 'read write' 993 | type BOOLEAN 994 | count 1 995 | } 996 | } 997 | control.84 { 998 | iface MIXER 999 | name 'Left Receiver Mixer MIC1 Switch' 1000 | value false 1001 | comment { 1002 | access 'read write' 1003 | type BOOLEAN 1004 | count 1 1005 | } 1006 | } 1007 | control.85 { 1008 | iface MIXER 1009 | name 'Left Receiver Mixer MIC2 Switch' 1010 | value false 1011 | comment { 1012 | access 'read write' 1013 | type BOOLEAN 1014 | count 1 1015 | } 1016 | } 1017 | control.86 { 1018 | iface MIXER 1019 | name 'Right Speaker Mixer Left DAC Switch' 1020 | value true 1021 | comment { 1022 | access 'read write' 1023 | type BOOLEAN 1024 | count 1 1025 | } 1026 | } 1027 | control.87 { 1028 | iface MIXER 1029 | name 'Right Speaker Mixer Right DAC Switch' 1030 | value true 1031 | comment { 1032 | access 'read write' 1033 | type BOOLEAN 1034 | count 1 1035 | } 1036 | } 1037 | control.88 { 1038 | iface MIXER 1039 | name 'Right Speaker Mixer LINEA Switch' 1040 | value false 1041 | comment { 1042 | access 'read write' 1043 | type BOOLEAN 1044 | count 1 1045 | } 1046 | } 1047 | control.89 { 1048 | iface MIXER 1049 | name 'Right Speaker Mixer LINEB Switch' 1050 | value false 1051 | comment { 1052 | access 'read write' 1053 | type BOOLEAN 1054 | count 1 1055 | } 1056 | } 1057 | control.90 { 1058 | iface MIXER 1059 | name 'Right Speaker Mixer MIC1 Switch' 1060 | value false 1061 | comment { 1062 | access 'read write' 1063 | type BOOLEAN 1064 | count 1 1065 | } 1066 | } 1067 | control.91 { 1068 | iface MIXER 1069 | name 'Right Speaker Mixer MIC2 Switch' 1070 | value false 1071 | comment { 1072 | access 'read write' 1073 | type BOOLEAN 1074 | count 1 1075 | } 1076 | } 1077 | control.92 { 1078 | iface MIXER 1079 | name 'Left Speaker Mixer Left DAC Switch' 1080 | value true 1081 | comment { 1082 | access 'read write' 1083 | type BOOLEAN 1084 | count 1 1085 | } 1086 | } 1087 | control.93 { 1088 | iface MIXER 1089 | name 'Left Speaker Mixer Right DAC Switch' 1090 | value true 1091 | comment { 1092 | access 'read write' 1093 | type BOOLEAN 1094 | count 1 1095 | } 1096 | } 1097 | control.94 { 1098 | iface MIXER 1099 | name 'Left Speaker Mixer LINEA Switch' 1100 | value false 1101 | comment { 1102 | access 'read write' 1103 | type BOOLEAN 1104 | count 1 1105 | } 1106 | } 1107 | control.95 { 1108 | iface MIXER 1109 | name 'Left Speaker Mixer LINEB Switch' 1110 | value false 1111 | comment { 1112 | access 'read write' 1113 | type BOOLEAN 1114 | count 1 1115 | } 1116 | } 1117 | control.96 { 1118 | iface MIXER 1119 | name 'Left Speaker Mixer MIC1 Switch' 1120 | value false 1121 | comment { 1122 | access 'read write' 1123 | type BOOLEAN 1124 | count 1 1125 | } 1126 | } 1127 | control.97 { 1128 | iface MIXER 1129 | name 'Left Speaker Mixer MIC2 Switch' 1130 | value false 1131 | comment { 1132 | access 'read write' 1133 | type BOOLEAN 1134 | count 1 1135 | } 1136 | } 1137 | control.98 { 1138 | iface MIXER 1139 | name 'Right Headphone Mixer Left DAC Switch' 1140 | value true 1141 | comment { 1142 | access 'read write' 1143 | type BOOLEAN 1144 | count 1 1145 | } 1146 | } 1147 | control.99 { 1148 | iface MIXER 1149 | name 'Right Headphone Mixer Right DAC Switch' 1150 | value true 1151 | comment { 1152 | access 'read write' 1153 | type BOOLEAN 1154 | count 1 1155 | } 1156 | } 1157 | control.100 { 1158 | iface MIXER 1159 | name 'Right Headphone Mixer LINEA Switch' 1160 | value false 1161 | comment { 1162 | access 'read write' 1163 | type BOOLEAN 1164 | count 1 1165 | } 1166 | } 1167 | control.101 { 1168 | iface MIXER 1169 | name 'Right Headphone Mixer LINEB Switch' 1170 | value false 1171 | comment { 1172 | access 'read write' 1173 | type BOOLEAN 1174 | count 1 1175 | } 1176 | } 1177 | control.102 { 1178 | iface MIXER 1179 | name 'Right Headphone Mixer MIC1 Switch' 1180 | value false 1181 | comment { 1182 | access 'read write' 1183 | type BOOLEAN 1184 | count 1 1185 | } 1186 | } 1187 | control.103 { 1188 | iface MIXER 1189 | name 'Right Headphone Mixer MIC2 Switch' 1190 | value false 1191 | comment { 1192 | access 'read write' 1193 | type BOOLEAN 1194 | count 1 1195 | } 1196 | } 1197 | control.104 { 1198 | iface MIXER 1199 | name 'Left Headphone Mixer Left DAC Switch' 1200 | value true 1201 | comment { 1202 | access 'read write' 1203 | type BOOLEAN 1204 | count 1 1205 | } 1206 | } 1207 | control.105 { 1208 | iface MIXER 1209 | name 'Left Headphone Mixer Right DAC Switch' 1210 | value true 1211 | comment { 1212 | access 'read write' 1213 | type BOOLEAN 1214 | count 1 1215 | } 1216 | } 1217 | control.106 { 1218 | iface MIXER 1219 | name 'Left Headphone Mixer LINEA Switch' 1220 | value false 1221 | comment { 1222 | access 'read write' 1223 | type BOOLEAN 1224 | count 1 1225 | } 1226 | } 1227 | control.107 { 1228 | iface MIXER 1229 | name 'Left Headphone Mixer LINEB Switch' 1230 | value false 1231 | comment { 1232 | access 'read write' 1233 | type BOOLEAN 1234 | count 1 1235 | } 1236 | } 1237 | control.108 { 1238 | iface MIXER 1239 | name 'Left Headphone Mixer MIC1 Switch' 1240 | value false 1241 | comment { 1242 | access 'read write' 1243 | type BOOLEAN 1244 | count 1 1245 | } 1246 | } 1247 | control.109 { 1248 | iface MIXER 1249 | name 'Left Headphone Mixer MIC2 Switch' 1250 | value false 1251 | comment { 1252 | access 'read write' 1253 | type BOOLEAN 1254 | count 1 1255 | } 1256 | } 1257 | control.110 { 1258 | iface MIXER 1259 | name 'STENR Mux' 1260 | value Normal 1261 | comment { 1262 | access 'read write' 1263 | type ENUMERATED 1264 | count 1 1265 | item.0 Normal 1266 | item.1 'Sidetone Right' 1267 | } 1268 | } 1269 | control.111 { 1270 | iface MIXER 1271 | name 'STENL Mux' 1272 | value Normal 1273 | comment { 1274 | access 'read write' 1275 | type ENUMERATED 1276 | count 1 1277 | item.0 Normal 1278 | item.1 'Sidetone Left' 1279 | } 1280 | } 1281 | control.112 { 1282 | iface MIXER 1283 | name 'LTENR Mux' 1284 | value Normal 1285 | comment { 1286 | access 'read write' 1287 | type ENUMERATED 1288 | count 1 1289 | item.0 Normal 1290 | item.1 Loopthrough 1291 | } 1292 | } 1293 | control.113 { 1294 | iface MIXER 1295 | name 'LTENL Mux' 1296 | value Normal 1297 | comment { 1298 | access 'read write' 1299 | type ENUMERATED 1300 | count 1 1301 | item.0 Normal 1302 | item.1 Loopthrough 1303 | } 1304 | } 1305 | control.114 { 1306 | iface MIXER 1307 | name 'LBENR Mux' 1308 | value Normal 1309 | comment { 1310 | access 'read write' 1311 | type ENUMERATED 1312 | count 1 1313 | item.0 Normal 1314 | item.1 Loopback 1315 | } 1316 | } 1317 | control.115 { 1318 | iface MIXER 1319 | name 'LBENL Mux' 1320 | value Normal 1321 | comment { 1322 | access 'read write' 1323 | type ENUMERATED 1324 | count 1 1325 | item.0 Normal 1326 | item.1 Loopback 1327 | } 1328 | } 1329 | control.116 { 1330 | iface MIXER 1331 | name 'Right ADC Mixer IN12 Switch' 1332 | value false 1333 | comment { 1334 | access 'read write' 1335 | type BOOLEAN 1336 | count 1 1337 | } 1338 | } 1339 | control.117 { 1340 | iface MIXER 1341 | name 'Right ADC Mixer IN34 Switch' 1342 | value false 1343 | comment { 1344 | access 'read write' 1345 | type BOOLEAN 1346 | count 1 1347 | } 1348 | } 1349 | control.118 { 1350 | iface MIXER 1351 | name 'Right ADC Mixer IN56 Switch' 1352 | value false 1353 | comment { 1354 | access 'read write' 1355 | type BOOLEAN 1356 | count 1 1357 | } 1358 | } 1359 | control.119 { 1360 | iface MIXER 1361 | name 'Right ADC Mixer LINEA Switch' 1362 | value false 1363 | comment { 1364 | access 'read write' 1365 | type BOOLEAN 1366 | count 1 1367 | } 1368 | } 1369 | control.120 { 1370 | iface MIXER 1371 | name 'Right ADC Mixer LINEB Switch' 1372 | value false 1373 | comment { 1374 | access 'read write' 1375 | type BOOLEAN 1376 | count 1 1377 | } 1378 | } 1379 | control.121 { 1380 | iface MIXER 1381 | name 'Right ADC Mixer MIC1 Switch' 1382 | value false 1383 | comment { 1384 | access 'read write' 1385 | type BOOLEAN 1386 | count 1 1387 | } 1388 | } 1389 | control.122 { 1390 | iface MIXER 1391 | name 'Right ADC Mixer MIC2 Switch' 1392 | value false 1393 | comment { 1394 | access 'read write' 1395 | type BOOLEAN 1396 | count 1 1397 | } 1398 | } 1399 | control.123 { 1400 | iface MIXER 1401 | name 'Left ADC Mixer IN12 Switch' 1402 | value false 1403 | comment { 1404 | access 'read write' 1405 | type BOOLEAN 1406 | count 1 1407 | } 1408 | } 1409 | control.124 { 1410 | iface MIXER 1411 | name 'Left ADC Mixer IN34 Switch' 1412 | value false 1413 | comment { 1414 | access 'read write' 1415 | type BOOLEAN 1416 | count 1 1417 | } 1418 | } 1419 | control.125 { 1420 | iface MIXER 1421 | name 'Left ADC Mixer IN56 Switch' 1422 | value false 1423 | comment { 1424 | access 'read write' 1425 | type BOOLEAN 1426 | count 1 1427 | } 1428 | } 1429 | control.126 { 1430 | iface MIXER 1431 | name 'Left ADC Mixer LINEA Switch' 1432 | value false 1433 | comment { 1434 | access 'read write' 1435 | type BOOLEAN 1436 | count 1 1437 | } 1438 | } 1439 | control.127 { 1440 | iface MIXER 1441 | name 'Left ADC Mixer LINEB Switch' 1442 | value false 1443 | comment { 1444 | access 'read write' 1445 | type BOOLEAN 1446 | count 1 1447 | } 1448 | } 1449 | control.128 { 1450 | iface MIXER 1451 | name 'Left ADC Mixer MIC1 Switch' 1452 | value false 1453 | comment { 1454 | access 'read write' 1455 | type BOOLEAN 1456 | count 1 1457 | } 1458 | } 1459 | control.129 { 1460 | iface MIXER 1461 | name 'Left ADC Mixer MIC2 Switch' 1462 | value false 1463 | comment { 1464 | access 'read write' 1465 | type BOOLEAN 1466 | count 1 1467 | } 1468 | } 1469 | control.130 { 1470 | iface MIXER 1471 | name 'LINEB Mixer IN2 Switch' 1472 | value false 1473 | comment { 1474 | access 'read write' 1475 | type BOOLEAN 1476 | count 1 1477 | } 1478 | } 1479 | control.131 { 1480 | iface MIXER 1481 | name 'LINEB Mixer IN4 Switch' 1482 | value false 1483 | comment { 1484 | access 'read write' 1485 | type BOOLEAN 1486 | count 1 1487 | } 1488 | } 1489 | control.132 { 1490 | iface MIXER 1491 | name 'LINEB Mixer IN6 Switch' 1492 | value false 1493 | comment { 1494 | access 'read write' 1495 | type BOOLEAN 1496 | count 1 1497 | } 1498 | } 1499 | control.133 { 1500 | iface MIXER 1501 | name 'LINEB Mixer IN56 Switch' 1502 | value false 1503 | comment { 1504 | access 'read write' 1505 | type BOOLEAN 1506 | count 1 1507 | } 1508 | } 1509 | control.134 { 1510 | iface MIXER 1511 | name 'LINEA Mixer IN1 Switch' 1512 | value false 1513 | comment { 1514 | access 'read write' 1515 | type BOOLEAN 1516 | count 1 1517 | } 1518 | } 1519 | control.135 { 1520 | iface MIXER 1521 | name 'LINEA Mixer IN3 Switch' 1522 | value false 1523 | comment { 1524 | access 'read write' 1525 | type BOOLEAN 1526 | count 1 1527 | } 1528 | } 1529 | control.136 { 1530 | iface MIXER 1531 | name 'LINEA Mixer IN5 Switch' 1532 | value false 1533 | comment { 1534 | access 'read write' 1535 | type BOOLEAN 1536 | count 1 1537 | } 1538 | } 1539 | control.137 { 1540 | iface MIXER 1541 | name 'LINEA Mixer IN34 Switch' 1542 | value false 1543 | comment { 1544 | access 'read write' 1545 | type BOOLEAN 1546 | count 1 1547 | } 1548 | } 1549 | control.138 { 1550 | iface MIXER 1551 | name 'DMIC Mux' 1552 | value ADC 1553 | comment { 1554 | access 'read write' 1555 | type ENUMERATED 1556 | count 1 1557 | item.0 ADC 1558 | item.1 DMIC 1559 | } 1560 | } 1561 | control.139 { 1562 | iface MIXER 1563 | name 'MIC2 Mux' 1564 | value IN34 1565 | comment { 1566 | access 'read write' 1567 | type ENUMERATED 1568 | count 1 1569 | item.0 IN34 1570 | item.1 IN56 1571 | } 1572 | } 1573 | control.140 { 1574 | iface MIXER 1575 | name 'MIC1 Mux' 1576 | value IN12 1577 | comment { 1578 | access 'read write' 1579 | type ENUMERATED 1580 | count 1 1581 | item.0 IN12 1582 | item.1 IN56 1583 | } 1584 | } 1585 | } 1586 | state.RockchipHDMI { 1587 | control { 1588 | } 1589 | } 1590 | 1591 | -------------------------------------------------------------------------------- /bsp/audio/veyron/default.pa: -------------------------------------------------------------------------------- 1 | #!/usr/bin/pulseaudio -nF 2 | # 3 | # This file is part of PulseAudio. 4 | # 5 | # PulseAudio is free software; you can redistribute it and/or modify it 6 | # under the terms of the GNU Lesser General Public License as published by 7 | # the Free Software Foundation; either version 2 of the License, or 8 | # (at your option) any later version. 9 | # 10 | # PulseAudio is distributed in the hope that it will be useful, but 11 | # WITHOUT ANY WARRANTY; without even the implied warranty of 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | # General Public License for more details. 14 | # 15 | # You should have received a copy of the GNU Lesser General Public License 16 | # along with PulseAudio; if not, see . 17 | 18 | # This startup script is used only if PulseAudio is started per-user 19 | # (i.e. not in system mode) 20 | 21 | .nofail 22 | 23 | ### Load something into the sample cache 24 | #load-sample-lazy x11-bell /usr/share/sounds/freedesktop/stereo/bell.oga 25 | #load-sample-lazy pulse-hotplug /usr/share/sounds/freedesktop/stereo/device-added.oga 26 | #load-sample-lazy pulse-coldplug /usr/share/sounds/freedesktop/stereo/device-added.oga 27 | #load-sample-lazy pulse-access /usr/share/sounds/freedesktop/stereo/message.oga 28 | 29 | .fail 30 | 31 | ### Automatically restore the volume of streams and devices 32 | load-module module-device-restore 33 | load-module module-stream-restore 34 | load-module module-card-restore 35 | 36 | ### Automatically augment property information from .desktop files 37 | ### stored in /usr/share/application 38 | load-module module-augment-properties 39 | 40 | ### Should be after module-*-restore but before module-*-detect 41 | load-module module-switch-on-port-available 42 | 43 | ### Load audio drivers statically 44 | ### (it's probably better to not load these drivers manually, but instead 45 | ### use module-udev-detect -- see below -- for doing this automatically) 46 | load-module module-alsa-sink device=plughw:0,0 47 | #load-module module-alsa-source device=hw:1,0 48 | #load-module module-oss device="/dev/dsp" sink_name=output source_name=input 49 | #load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input 50 | #load-module module-null-sink 51 | #load-module module-pipe-sink 52 | 53 | ### Automatically load driver modules depending on the hardware available 54 | .ifexists module-udev-detect.so 55 | load-module module-udev-detect 56 | .else 57 | ### Use the static hardware detection module (for systems that lack udev support) 58 | load-module module-detect 59 | .endif 60 | 61 | ### Automatically connect sink and source if JACK server is present 62 | .ifexists module-jackdbus-detect.so 63 | .nofail 64 | load-module module-jackdbus-detect channels=2 65 | .fail 66 | .endif 67 | 68 | ### Automatically load driver modules for Bluetooth hardware 69 | .ifexists module-bluetooth-policy.so 70 | load-module module-bluetooth-policy 71 | .endif 72 | 73 | .ifexists module-bluetooth-discover.so 74 | load-module module-bluetooth-discover 75 | .endif 76 | 77 | ### Load several protocols 78 | .ifexists module-esound-protocol-unix.so 79 | load-module module-esound-protocol-unix 80 | .endif 81 | load-module module-native-protocol-unix 82 | 83 | ### Network access (may be configured with paprefs, so leave this commented 84 | ### here if you plan to use paprefs) 85 | #load-module module-esound-protocol-tcp 86 | #load-module module-native-protocol-tcp 87 | #load-module module-zeroconf-publish 88 | 89 | ### Load the RTP receiver module (also configured via paprefs, see above) 90 | #load-module module-rtp-recv 91 | 92 | ### Load the RTP sender module (also configured via paprefs, see above) 93 | #load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'" 94 | #load-module module-rtp-send source=rtp.monitor 95 | 96 | ### Load additional modules from GConf settings. This can be configured with the paprefs tool. 97 | ### Please keep in mind that the modules configured by paprefs might conflict with manually 98 | ### loaded modules. 99 | .ifexists module-gconf.so 100 | .nofail 101 | load-module module-gconf 102 | .fail 103 | .endif 104 | 105 | ### Automatically restore the default sink/source when changed by the user 106 | ### during runtime 107 | ### NOTE: This should be loaded as early as possible so that subsequent modules 108 | ### that look up the default sink/source get the right value 109 | load-module module-default-device-restore 110 | 111 | ### Automatically move streams to the default sink if the sink they are 112 | ### connected to dies, similar for sources 113 | load-module module-rescue-streams 114 | 115 | ### Make sure we always have a sink around, even if it is a null sink. 116 | load-module module-always-sink 117 | 118 | ### Honour intended role device property 119 | load-module module-intended-roles 120 | 121 | ### Automatically suspend sinks/sources that become idle for too long 122 | load-module module-suspend-on-idle 123 | 124 | ### If autoexit on idle is enabled we want to make sure we only quit 125 | ### when no local session needs us anymore. 126 | .ifexists module-console-kit.so 127 | load-module module-console-kit 128 | .endif 129 | .ifexists module-systemd-login.so 130 | load-module module-systemd-login 131 | .endif 132 | 133 | ### Enable positioned event sounds 134 | load-module module-position-event-sounds 135 | 136 | ### Cork music/video streams when a phone stream is active 137 | load-module module-role-cork 138 | 139 | ### Modules to allow autoloading of filters (such as echo cancellation) 140 | ### on demand. module-filter-heuristics tries to determine what filters 141 | ### make sense, and module-filter-apply does the heavy-lifting of 142 | ### loading modules and rerouting streams. 143 | load-module module-filter-heuristics 144 | load-module module-filter-apply 145 | 146 | # X11 modules should not be started from default.pa so that one daemon 147 | # can be shared by multiple sessions. 148 | 149 | ### Load X11 bell module 150 | #load-module module-x11-bell sample=x11-bell 151 | 152 | ### Register ourselves in the X11 session manager 153 | #load-module module-x11-xsmp 154 | 155 | ### Publish connection data in the X11 root window 156 | #.ifexists module-x11-publish.so 157 | #.nofail 158 | #load-module module-x11-publish 159 | #.fail 160 | #.endif 161 | 162 | ### Make some devices default 163 | set-default-sink 0 164 | #set-default-source input 165 | -------------------------------------------------------------------------------- /bsp/bluetooth/rpi/50-bluetooth-hci-auto-poweron.rules: -------------------------------------------------------------------------------- 1 | # Set bluetooth power up 2 | ACTION=="add", SUBSYSTEM=="bluetooth", KERNEL=="hci[0-9]*", RUN+="/usr/bin/hciconfig %k up" 3 | -------------------------------------------------------------------------------- /bsp/bluetooth/rpi/99-com.rules: -------------------------------------------------------------------------------- 1 | SUBSYSTEM=="input", GROUP="input", MODE="0660" 2 | SUBSYSTEM=="i2c-dev", GROUP="i2c", MODE="0660" 3 | SUBSYSTEM=="spidev", GROUP="spi", MODE="0660" 4 | SUBSYSTEM=="bcm2835-gpiomem", GROUP="gpio", MODE="0660" 5 | 6 | SUBSYSTEM=="gpio*", PROGRAM="/bin/sh -c '\ 7 | chown -R root:gpio /sys/class/gpio && chmod -R 770 /sys/class/gpio;\ 8 | chown -R root:gpio /sys/devices/virtual/gpio && chmod -R 770 /sys/devices/virtual/gpio;\ 9 | chown -R root:gpio /sys$devpath && chmod -R 770 /sys$devpath\ 10 | '" 11 | 12 | KERNEL=="ttyAMA[01]", PROGRAM="/bin/sh -c '\ 13 | ALIASES=/proc/device-tree/aliases; \ 14 | if cmp -s $ALIASES/uart0 $ALIASES/serial0; then \ 15 | echo 0;\ 16 | elif cmp -s $ALIASES/uart0 $ALIASES/serial1; then \ 17 | echo 1; \ 18 | else \ 19 | exit 1; \ 20 | fi\ 21 | '", SYMLINK+="serial%c" 22 | 23 | KERNEL=="ttyS0", PROGRAM="/bin/sh -c '\ 24 | ALIASES=/proc/device-tree/aliases; \ 25 | if cmp -s $ALIASES/uart1 $ALIASES/serial0; then \ 26 | echo 0; \ 27 | elif cmp -s $ALIASES/uart1 $ALIASES/serial1; then \ 28 | echo 1; \ 29 | else \ 30 | exit 1; \ 31 | fi \ 32 | '", SYMLINK+="serial%c" 33 | -------------------------------------------------------------------------------- /bsp/bluetooth/rpi/btuart: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | HCIATTACH=/usr/bin/hciattach 4 | if grep -q "Pi 4" /proc/device-tree/model; then 5 | BDADDR= 6 | else 7 | SERIAL=`cat /proc/device-tree/serial-number | cut -c9-` 8 | B1=`echo $SERIAL | cut -c3-4` 9 | B2=`echo $SERIAL | cut -c5-6` 10 | B3=`echo $SERIAL | cut -c7-8` 11 | BDADDR=`printf b8:27:eb:%02x:%02x:%02x $((0x$B1 ^ 0xaa)) $((0x$B2 ^ 0xaa)) $((0x$B3 ^ 0xaa))` 12 | fi 13 | 14 | uart0="`cat /proc/device-tree/aliases/uart0`" 15 | serial1="`cat /proc/device-tree/aliases/serial1`" 16 | 17 | if [ "$uart0" = "$serial1" ] ; then 18 | uart0_pins="`wc -c /proc/device-tree/soc/gpio@7e200000/uart0_pins/brcm\,pins | cut -f 1 -d ' '`" 19 | if [ "$uart0_pins" = "16" ] ; then 20 | $HCIATTACH /dev/serial1 bcm43xx 3000000 flow - $BDADDR 21 | else 22 | $HCIATTACH /dev/serial1 bcm43xx 921600 noflow - $BDADDR 23 | fi 24 | else 25 | $HCIATTACH /dev/serial1 bcm43xx 460800 noflow - $BDADDR 26 | fi 27 | -------------------------------------------------------------------------------- /bsp/bluetooth/rpi/hciuart.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Configure Bluetooth Modems connected by UART 3 | ConditionPathIsDirectory=/proc/device-tree/soc/gpio@7e200000/bt_pins 4 | Before=bluetooth.service 5 | After=dev-serial1.device 6 | 7 | [Service] 8 | Type=forking 9 | ExecStart=/usr/bin/btuart 10 | Restart=on-failure 11 | 12 | [Install] 13 | WantedBy=multi-user.target 14 | -------------------------------------------------------------------------------- /bsp/bluetooth/rpi/pi-bluetooth+re4son_2.2_all.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tracelabs/Trace-Labs-VM-Ras-Pi-Build/34c8bf36b0dcdbfeb43dc93bfcd391f9a0475da1/bsp/bluetooth/rpi/pi-bluetooth+re4son_2.2_all.deb -------------------------------------------------------------------------------- /bsp/bootloader/nanopi2/2ndboot.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tracelabs/Trace-Labs-VM-Ras-Pi-Build/34c8bf36b0dcdbfeb43dc93bfcd391f9a0475da1/bsp/bootloader/nanopi2/2ndboot.bin -------------------------------------------------------------------------------- /bsp/bootloader/nanopi2/boot.TBI: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tracelabs/Trace-Labs-VM-Ras-Pi-Build/34c8bf36b0dcdbfeb43dc93bfcd391f9a0475da1/bsp/bootloader/nanopi2/boot.TBI -------------------------------------------------------------------------------- /bsp/bootloader/nanopi2/bootloader: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tracelabs/Trace-Labs-VM-Ras-Pi-Build/34c8bf36b0dcdbfeb43dc93bfcd391f9a0475da1/bsp/bootloader/nanopi2/bootloader -------------------------------------------------------------------------------- /bsp/bootloader/pinebook-pro/idbloader.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tracelabs/Trace-Labs-VM-Ras-Pi-Build/34c8bf36b0dcdbfeb43dc93bfcd391f9a0475da1/bsp/bootloader/pinebook-pro/idbloader.img -------------------------------------------------------------------------------- /bsp/bootloader/pinebook-pro/trust.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tracelabs/Trace-Labs-VM-Ras-Pi-Build/34c8bf36b0dcdbfeb43dc93bfcd391f9a0475da1/bsp/bootloader/pinebook-pro/trust.img -------------------------------------------------------------------------------- /bsp/bootloader/pinebook-pro/uboot.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tracelabs/Trace-Labs-VM-Ras-Pi-Build/34c8bf36b0dcdbfeb43dc93bfcd391f9a0475da1/bsp/bootloader/pinebook-pro/uboot.img -------------------------------------------------------------------------------- /bsp/bootloader/ventana/6x_bootscript-ventana.script: -------------------------------------------------------------------------------- 1 | # the following U-Boot env vars are assumed to be set: 2 | # - automatically by the bootloader: 3 | # dtype - nand|usb|mmc|sata 4 | # mem_mb - Mib's of memory (ie 1024) 5 | # loadaddr - memory address for loading blobs 6 | # - optionally by the user: 7 | # mem - optional kernel cmdline args intended for mem allocation 8 | # video - optional kernel cmdline args intended for display 9 | # extra - optional kernel cmdline args 10 | # fixfdt - optional script to execute prior to bootm 11 | # 12 | # if 'video' is not set, it will be determined by detecting a connected 13 | # HDMI monitor and LVDS touchscreen displays with I2C touch controlellers. 14 | # 15 | # if 'mem' is not set, it will be automatically allocated 16 | # 17 | 18 | echo "Gateworks Ubuntu Bootscript v1.23" 19 | 20 | # calculate load addresses based off of loadaddr as the base 21 | # and allow 128KB for FDT and 64MB for kernel 22 | setexpr fdt_addr $loadaddr 23 | setexpr linux_addr $fdt_addr + 0x20000 # allow 128KB for FDT 24 | setexpr rd_addr $linux_addr + 0x4000000 # allow 64MB for kernel 25 | 26 | # CMA (memory allocation) 27 | if test -z "${mem}" ; then 28 | # CMA used by etnaviv display driver and coda VPU driver 29 | # specific requirements depend on display res and encode/decode res 30 | # coherent_pool is used by various drivers such as ath10k 31 | setenv mem "cma=64M coherent_pool=4M" 32 | echo "Detected ${mem_mb}MB DRAM: $mem" 33 | fi 34 | if itest.s "x${mem}" == "xNA" ; then 35 | echo "Leaving CMA alone..." 36 | else 37 | setenv extra "${extra}" "${mem}" 38 | echo "Memory configuration used from env mem: $mem" 39 | fi 40 | 41 | # Display output 42 | if test -z "${video}" ; then 43 | # locally used variables 44 | setenv lvds_flag 45 | setenv hdmi_flag 46 | 47 | # Default displays to display if displays is empty 48 | if test -z "${displays}"; then 49 | setenv displays "${display}" 50 | fi 51 | 52 | # Detect HDMI if displays is empty (HDMI) 53 | if test -z "${displays}" ; then 54 | i2c dev 2 55 | if hdmidet ; then # HDMI 56 | setenv displays "HDMI" 57 | echo "HDMI Detected" 58 | fi 59 | fi 60 | 61 | # Configure displays 62 | echo "Display(s) to configure: ${displays}" 63 | for disp in ${displays} ; do 64 | if itest.s "x${disp}" == "xHDMI" ; then 65 | if test -z "${hdmi_flag}" ; then # Only allow one HDMI display 66 | setenv hdmi_flag 1 67 | test -n "${hdmi}" || hdmi=1080p 68 | if itest.s "x${hdmi}" == "x1080p" ; then 69 | setenv hdmi "1920x1080M@60" 70 | elif itest.s "x${hdmi}" == "x720p" ; then 71 | setenv hdmi "1280x720M@60" 72 | elif itest.s "x${hdmi}" == "x480p" ; then 73 | setenv hdmi "720x480M@60" 74 | fi 75 | setenv video "${video}" "video=HDMI-A-1:${hdmi}" 76 | fi 77 | 78 | # Freescale MCIMX-LVDS1 10" XGA Touchscreen Display 79 | elif itest.s "x${disp}" == "xHannstar-XGA" ; then 80 | if test -z "${lvds_flag}" ; then # Only allow one LVDS display 81 | setenv lvds_flag 1 82 | setenv video "${video}" "video=LVDS-1:1024x768@65M" 83 | setenv display "Hannstar-XGA" 84 | fi 85 | 86 | # GW17029 DLC700JMGT4 7" WSVGA Touchscreen Display 87 | elif itest.s "x${disp}" == "xDLC700JMGT4" ; then 88 | if test -z "${lvds_flag}" ; then # Only allow one LVDS display 89 | setenv lvds_flag 1 90 | setenv video "${video}" "video=LVDS-1:1024x600@65M" 91 | setenv display "DLC700JMGT4" 92 | fi 93 | 94 | # GW17030 DLC800FIGT3 8" XGA Touchscreen Display" 95 | elif itest.s "x${disp}" == "xDLC800FIGT3" ; then 96 | if test -z "${lvds_flag}" ; then # Only allow one LVDS display 97 | setenv lvds_flag 1 98 | setenv video "${video}" "video=LVDS-1:1024x768@65M" 99 | setenv display "DLC800FIGT3" 100 | fi 101 | 102 | elif itest.s "x${disp}" != "none" ; then 103 | echo "${disp} is an unsupported display type" 104 | echo "Valid Displays: HDMI|Hannstar-XGA|DLC700JMGT4|DLC800FIGT3" 105 | fi 106 | done 107 | 108 | # disable unused connectors 109 | if test -z "${hdmi_flag}" ; then 110 | setenv video "${video}" "video=HDMI-A-1:d" 111 | fi 112 | if test -z "${lvds_flag}" ; then 113 | setenv video "${video}" "video=LVDS-1:d" 114 | fi 115 | 116 | # Set only if video is set 117 | if test -n "${video}" ; then 118 | setenv video "${video}" 119 | fi 120 | echo "Video configuration: ${video}" 121 | else 122 | echo "Video configuration used from env video: ${video}" 123 | fi 124 | 125 | # setup root and load options based on dev type 126 | if itest.s "x${dtype}" == "xnand" ; then 127 | echo "Booting from NAND/ubifs..." 128 | setenv root "root=ubi0:rootfs ubi.mtd=2 ubi.fm_autoconvert=1 rootfstype=ubifs rw rootwait" 129 | setenv fsload "ubifsload" 130 | elif itest.s "x${dtype}" == "xmmc" ; then 131 | echo "Booting from MMC..." 132 | part uuid mmc 0:1 uuid 133 | if test -z "${uuid}" ; then 134 | setenv root "root=/dev/mmcblk0p1 rootwait rw rootfstype=ext3" 135 | else 136 | setenv root "root=PARTUUID=${uuid} rootwait rw rootfstype=ext3" 137 | fi 138 | setenv fsload "ext2load $dtype 0:1" 139 | setenv rd_addr # ramdisk not needed for IMX6 MMC 140 | elif itest.s "x${dtype}" == "xusb" ; then 141 | echo "Booting from USB Mass Storage..." 142 | setenv root "root=/dev/sda1 rootwait" 143 | setenv fsload "ext2load $dtype 0:1" 144 | elif itest.s "x${dtype}" == "xsata" ; then 145 | echo "Booting from SATA..." 146 | setenv root "root=/dev/sda1 rootwait" 147 | setenv fsload "ext2load $dtype 0:1" 148 | setenv rd_addr # ramdisk not needed for IMX6 AHCI SATA 149 | fi 150 | 151 | # setup bootargs 152 | setenv bootargs "console=${console},${baudrate} ${root} ${video} ${extra}" 153 | 154 | # additional bootargs 155 | setenv bootargs "${bootargs} pci=nomsi" # MSI+legacy IRQs do not work on IMX6 156 | setenv bootargs "${bootargs} usbcore.autosuspend=-1" # IMX6DQ ERR004535 157 | 158 | # Gateworks kernels do not need ramdisk 159 | setenv rd_addr 160 | 161 | # load fdt/kernel/ramdisk 162 | echo "Loading FDT..." 163 | $fsload $fdt_addr boot/$fdt_file || 164 | $fsload $fdt_addr boot/$fdt_file1 || 165 | $fsload $fdt_addr boot/$fdt_file2 166 | echo "Loading Kernel..." 167 | $fsload $linux_addr boot/uImage 168 | if itest.s "x${rd_addr}" != "x" ; then 169 | echo "Loading Ramdisk..." 170 | $fsload $rd_addr boot/uramdisk 171 | fi 172 | if itest.s "x${dtype}" == "xnand" ; then 173 | ubifsumount 174 | fi 175 | 176 | # fdt fixup 177 | test -n "$fixfdt" && run fixfdt 178 | 179 | # boot 180 | if itest.s "x${rd_addr}" != "x" ; then 181 | echo "Booting ramdisk with "$bootargs"..." 182 | bootm $linux_addr $rd_addr $fdt_addr 183 | else 184 | echo "Booting with "$bootargs"..." 185 | bootm $linux_addr - $fdt_addr 186 | fi 187 | -------------------------------------------------------------------------------- /bsp/configs/raspi-userland.conf: -------------------------------------------------------------------------------- 1 | # Add raspberrypi libraries to ldconfig path 2 | /opt/vc/lib 3 | -------------------------------------------------------------------------------- /bsp/configs/vc.sh: -------------------------------------------------------------------------------- 1 | # Add /opt/vc/bin to the PATH for all users. 2 | if ! echo "$PATH" | tr : '\n' | grep -q "^/opt/vc/bin$"; then 3 | PATH="/opt/vc/bin:$PATH" 4 | fi 5 | -------------------------------------------------------------------------------- /bsp/firmware/rpi/BCM43430A1.hcd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tracelabs/Trace-Labs-VM-Ras-Pi-Build/34c8bf36b0dcdbfeb43dc93bfcd391f9a0475da1/bsp/firmware/rpi/BCM43430A1.hcd -------------------------------------------------------------------------------- /bsp/firmware/rpi/config.txt: -------------------------------------------------------------------------------- 1 | # For more options and information see 2 | # http://rpf.io/configtxt 3 | # Some settings may impact device functionality. See link above for details 4 | 5 | # uncomment if you get no picture on HDMI for a default "safe" mode 6 | #hdmi_safe=1 7 | 8 | # uncomment this if your display has a black border of unused pixels visible 9 | # and your display can output without overscan 10 | #disable_overscan=1 11 | 12 | # uncomment the following to adjust overscan. Use positive numbers if console 13 | # goes off screen, and negative if there is too much border 14 | #overscan_left=16 15 | #overscan_right=16 16 | #overscan_top=16 17 | #overscan_bottom=16 18 | 19 | # uncomment to force a console size. By default it will be display's size minus 20 | # overscan. 21 | #framebuffer_width=1280 22 | #framebuffer_height=720 23 | 24 | # uncomment if hdmi display is not detected and composite is being output 25 | #hdmi_force_hotplug=1 26 | 27 | # uncomment to force a specific HDMI mode (this will force VGA) 28 | #hdmi_group=1 29 | #hdmi_mode=1 30 | 31 | # uncomment to force a HDMI mode rather than DVI. This can make audio work in 32 | # DMT (computer monitor) modes 33 | #hdmi_drive=2 34 | 35 | # uncomment to increase signal to HDMI, if you have interference, blanking, or 36 | # no display 37 | #config_hdmi_boost=4 38 | 39 | # uncomment for composite PAL 40 | #sdtv_mode=2 41 | 42 | #uncomment to overclock the arm. 700 MHz is the default. 43 | #arm_freq=800 44 | 45 | # Uncomment some or all of these to enable the optional hardware interfaces 46 | #dtparam=i2c_arm=on 47 | #dtparam=i2s=on 48 | #dtparam=spi=on 49 | 50 | # Uncomment this to enable infrared communication. 51 | #dtoverlay=gpio-ir,gpio_pin=17 52 | #dtoverlay=gpio-ir-tx,gpio_pin=18 53 | 54 | # Additional overlays and parameters are documented /boot/overlays/README 55 | 56 | # Enable audio (loads snd_bcm2835) 57 | dtparam=audio=on 58 | 59 | #[pi4] 60 | # Enable DRM VC4 V3D driver on top of the dispmanx display stack 61 | #dtoverlay=vc4-fkms-v3d 62 | #max_framebuffers=2 63 | 64 | [all] 65 | #dtoverlay=vc4-fkms-v3d 66 | 67 | # USB mass storage boot is available on Raspberry Pi 2B v1.2, 3A+, 3B, and 3B+ only. 68 | #program_usb_boot_mode=1 69 | -------------------------------------------------------------------------------- /bsp/firmware/veyron/BCM4354_003.001.012.0306.0659.hcd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tracelabs/Trace-Labs-VM-Ras-Pi-Build/34c8bf36b0dcdbfeb43dc93bfcd391f9a0475da1/bsp/firmware/veyron/BCM4354_003.001.012.0306.0659.hcd -------------------------------------------------------------------------------- /bsp/firmware/veyron/BCM4354_003.001.012.0322.0679.hcd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tracelabs/Trace-Labs-VM-Ras-Pi-Build/34c8bf36b0dcdbfeb43dc93bfcd391f9a0475da1/bsp/firmware/veyron/BCM4354_003.001.012.0322.0679.hcd -------------------------------------------------------------------------------- /bsp/firmware/veyron/brcm_patchram_plus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tracelabs/Trace-Labs-VM-Ras-Pi-Build/34c8bf36b0dcdbfeb43dc93bfcd391f9a0475da1/bsp/firmware/veyron/brcm_patchram_plus -------------------------------------------------------------------------------- /bsp/firmware/veyron/brcmfmac43455-sdio.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tracelabs/Trace-Labs-VM-Ras-Pi-Build/34c8bf36b0dcdbfeb43dc93bfcd391f9a0475da1/bsp/firmware/veyron/brcmfmac43455-sdio.bin -------------------------------------------------------------------------------- /bsp/firmware/veyron/brcmfmac43455-sdio.clm_blob: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tracelabs/Trace-Labs-VM-Ras-Pi-Build/34c8bf36b0dcdbfeb43dc93bfcd391f9a0475da1/bsp/firmware/veyron/brcmfmac43455-sdio.clm_blob -------------------------------------------------------------------------------- /bsp/firmware/veyron/brcmfmac43455-sdio.txt: -------------------------------------------------------------------------------- 1 | # Cloned from bcm94345wlpagb_p2xx.txt 2 | NVRAMRev=$Rev: 498373 $ 3 | sromrev=11 4 | vendid=0x14e4 5 | devid=0x43ab 6 | manfid=0x2d0 7 | prodid=0x06e4 8 | #macaddr=00:90:4c:c5:12:38 9 | macaddr=b8:27:eb:74:f2:6c 10 | nocrc=1 11 | boardtype=0x6e4 12 | boardrev=0x1304 13 | 14 | #XTAL 37.4MHz 15 | xtalfreq=37400 16 | 17 | btc_mode=1 18 | #------------------------------------------------------ 19 | #boardflags: 5GHz eTR switch by default 20 | # 2.4GHz eTR switch by default 21 | # bit1 for btcoex 22 | boardflags=0x00480201 23 | boardflags2=0x40800000 24 | boardflags3=0x48200100 25 | phycal_tempdelta=15 26 | rxchain=1 27 | txchain=1 28 | aa2g=1 29 | aa5g=1 30 | tssipos5g=1 31 | tssipos2g=1 32 | femctrl=0 33 | AvVmid_c0=1,165,2,100,2,100,2,100,2,100 34 | pa2ga0=-129,6525,-718 35 | pa2ga1=-149,4408,-601 36 | pa5ga0=-185,6836,-815,-186,6838,-815,-184,6859,-815,-184,6882,-818 37 | pa5ga1=-202,4285,-574,-201,4312,-578,-196,4391,-586,-201,4294,-575 38 | itrsw=1 39 | pdoffsetcckma0=2 40 | pdoffset2gperchan=0,-2,1,0,1,0,1,1,1,0,0,-1,-1,0 41 | pdoffset2g40ma0=16 42 | pdoffset40ma0=0x8888 43 | pdoffset80ma0=0x8888 44 | extpagain5g=2 45 | extpagain2g=2 46 | tworangetssi2g=1 47 | tworangetssi5g=1 48 | # LTECX flags 49 | # WCI2 50 | ltecxmux=0 51 | ltecxpadnum=0x0504 52 | ltecxfnsel=0x22 53 | ltecxgcigpio=0x32 54 | 55 | maxp2ga0=80 56 | ofdmlrbw202gpo=0x0022 57 | dot11agofdmhrbw202gpo=0x4442 58 | mcsbw202gpo=0x98444422 59 | mcsbw402gpo=0x98444422 60 | maxp5ga0=82,82,82,82 61 | mcsbw205glpo=0xb9555000 62 | mcsbw205gmpo=0xb9555000 63 | mcsbw205ghpo=0xb9555000 64 | mcsbw405glpo=0xb9555000 65 | mcsbw405gmpo=0xb9555000 66 | mcsbw405ghpo=0xb9555000 67 | mcsbw805glpo=0xb9555000 68 | mcsbw805gmpo=0xb9555000 69 | mcsbw805ghpo=0xb9555000 70 | 71 | swctrlmap_2g=0x00000000,0x00000000,0x00000000,0x010000,0x3ff 72 | swctrlmap_5g=0x00100010,0x00200020,0x00200020,0x010000,0x3fe 73 | swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x3 74 | swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x3 75 | 76 | vcodivmode=1 77 | deadman_to=481500000 78 | 79 | ed_thresh2g=-54 80 | ed_thresh5g=-54 81 | eu_edthresh2g=-54 82 | eu_edthresh5g=-54 83 | ldo1=4 84 | rawtempsense=0x1ff 85 | cckPwrIdxCorr=3 86 | cckTssiDelay=150 87 | ofdmTssiDelay=150 88 | txpwr2gAdcScale=1 89 | txpwr5gAdcScale=1 90 | dot11b_opts=0x3aa85 91 | cbfilttype=1 92 | fdsslevel_ch11=6 93 | -------------------------------------------------------------------------------- /bsp/firmware/veyron/brcmfmac4354-sdio.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tracelabs/Trace-Labs-VM-Ras-Pi-Build/34c8bf36b0dcdbfeb43dc93bfcd391f9a0475da1/bsp/firmware/veyron/brcmfmac4354-sdio.bin -------------------------------------------------------------------------------- /bsp/firmware/veyron/brcmfmac4354-sdio.txt: -------------------------------------------------------------------------------- 1 | # Sample variables file for BCM94354Z NGFF 22x30mm iPA, iLNA board with PCIe/SDIO for production package 2 | # SDIO interface 3 | NVRAMRev=$Rev: 373428 $ 4 | sromrev=11 5 | boardrev=0x1224 6 | boardtype=0x0707 7 | boardflags=0x02400201 8 | #enable LNA1 bypass for both 2G & 5G 9 | 10 | #boardflags2=0xc0800000 11 | boardflags2=0x00802000 12 | 13 | boardflags3=0x4800000a 14 | #boardnum=57410 15 | macaddr=00:11:22:33:44:55 16 | ccode=0 17 | regrev=0 18 | antswitch=0 19 | pdgain5g=4 20 | pdgain2g=4 21 | tworangetssi2g=0 22 | tworangetssi5g=0 23 | paprdis=0 24 | femctrl=10 25 | vendid=0x14e4 26 | devid=0x43a3 27 | manfid=0x2d0 28 | #prodid=0x052e 29 | nocrc=1 30 | otpimagesize=502 31 | xtalfreq=37400 32 | rxgains2gelnagaina0=0 33 | 34 | #rxgains2gtrisoa0=3 35 | rxgains2gtrisoa0=7 36 | 37 | rxgains2gtrelnabypa0=0 38 | rxgains5gelnagaina0=0 39 | 40 | #rxgains5gtrisoa0=4 41 | rxgains5gtrisoa0=11 42 | 43 | rxgains5gtrelnabypa0=0 44 | rxgains5gmelnagaina0=0 45 | 46 | #rxgains5gmtrisoa0=4 47 | rxgains5gmtrisoa0=13 48 | 49 | rxgains5gmtrelnabypa0=0 50 | rxgains5ghelnagaina0=0 51 | 52 | #rxgains5ghtrisoa0=4 53 | rxgains5ghtrisoa0=12 54 | 55 | rxgains5ghtrelnabypa0=0 56 | rxgains2gelnagaina1=0 57 | 58 | #rxgains2gtrisoa1=3 59 | rxgains2gtrisoa1=7 60 | 61 | rxgains2gtrelnabypa1=0 62 | rxgains5gelnagaina1=0 63 | 64 | #rxgains5gtrisoa1=4 65 | rxgains5gtrisoa1=10 66 | 67 | rxgains5gtrelnabypa1=0 68 | rxgains5gmelnagaina1=0 69 | 70 | #rxgains5gmtrisoa1=4 71 | rxgains5gmtrisoa1=11 72 | 73 | rxgains5gmtrelnabypa1=0 74 | rxgains5ghelnagaina1=0 75 | 76 | #rxgains5ghtrisoa1=4 77 | rxgains5ghtrisoa1=11 78 | 79 | rxgains5ghtrelnabypa1=0 80 | rxchain=3 81 | txchain=3 82 | aa2g=3 83 | aa5g=3 84 | agbg0=2 85 | agbg1=2 86 | aga0=2 87 | aga1=2 88 | tssipos2g=1 89 | extpagain2g=2 90 | tssipos5g=1 91 | extpagain5g=2 92 | tempthresh=255 93 | tempoffset=255 94 | rawtempsense=0x1ff 95 | pa2ga0=-147,5992,-705 96 | pa2ga1=-161,5991,-701 97 | pa5ga0=-194,5999,-739,-188,6057,-743,-185,6001,-725,-171,5978,-715 98 | pa5ga1=-190,6103,-757,-190,6105,-759,-190,6105,-757,-184,6111,-746 99 | subband5gver=0x4 100 | pdoffsetcckma0=0x4 101 | pdoffsetcckma1=0x4 102 | pdoffset40ma0=0x0000 103 | pdoffset80ma0=0x0000 104 | pdoffset40ma1=0x0000 105 | pdoffset80ma1=0x0000 106 | maxp2ga0=70 107 | maxp5ga0=58,58,58,58 108 | maxp2ga1=70 109 | maxp5ga1=58,58,58,58 110 | cckbw202gpo=0x1111 111 | cckbw20ul2gpo=0x0000 112 | mcsbw202gpo=0x66666666 113 | mcsbw402gpo=0xAAAAAAAA 114 | dot11agofdmhrbw202gpo=0x4444 115 | ofdmlrbw202gpo=0x0044 116 | mcsbw205glpo=0x66666666 117 | mcsbw405glpo=0x66666666 118 | mcsbw805glpo=0xAAAAAAAA 119 | mcsbw205gmpo=0x66666666 120 | mcsbw405gmpo=0x66666666 121 | mcsbw805gmpo=0xAAAAAAAA 122 | mcsbw205ghpo=0x66666666 123 | mcsbw405ghpo=0x66666666 124 | mcsbw805ghpo=0xAAAAAAAA 125 | mcslr5glpo=0x0000 126 | mcslr5gmpo=0x0000 127 | mcslr5ghpo=0x0000 128 | sb20in40hrpo=0x0 129 | sb20in80and160hr5glpo=0x0 130 | sb40and80hr5glpo=0x0 131 | sb20in80and160hr5gmpo=0x0 132 | sb40and80hr5gmpo=0x0 133 | sb20in80and160hr5ghpo=0x0 134 | sb40and80hr5ghpo=0x0 135 | sb20in40lrpo=0x0 136 | sb20in80and160lr5glpo=0x0 137 | sb40and80lr5glpo=0x0 138 | sb20in80and160lr5gmpo=0x0 139 | sb40and80lr5gmpo=0x0 140 | sb20in80and160lr5ghpo=0x0 141 | sb40and80lr5ghpo=0x0 142 | dot11agduphrpo=0x0 143 | dot11agduplrpo=0x0 144 | phycal_tempdelta=25 145 | temps_period=15 146 | temps_hysteresis=15 147 | AvVmid_c0=2,140,2,145,2,145,2,145,2,145 148 | AvVmid_c1=2,140,2,145,2,145,2,145,2,145 149 | AvVmid_c2=0,0,0,0,0,0,0,0,0,0 150 | rssicorrnorm_c0=4,4 151 | rssicorrnorm_c1=4,4 152 | rssicorrnorm5g_c0=1,2,3,1,2,3,6,6,8,6,6,8 153 | rssicorrnorm5g_c1=1,2,3,2,2,2,7,7,8,7,7,8 154 | ltecxmux=0x534201 155 | Ofdmfilttype=6 156 | -------------------------------------------------------------------------------- /bsp/firmware/veyron/elan_i2c.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tracelabs/Trace-Labs-VM-Ras-Pi-Build/34c8bf36b0dcdbfeb43dc93bfcd391f9a0475da1/bsp/firmware/veyron/elan_i2c.bin -------------------------------------------------------------------------------- /bsp/firmware/veyron/elants_i2c_0000.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tracelabs/Trace-Labs-VM-Ras-Pi-Build/34c8bf36b0dcdbfeb43dc93bfcd391f9a0475da1/bsp/firmware/veyron/elants_i2c_0000.bin -------------------------------------------------------------------------------- /bsp/firmware/veyron/elants_i2c_0a91.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tracelabs/Trace-Labs-VM-Ras-Pi-Build/34c8bf36b0dcdbfeb43dc93bfcd391f9a0475da1/bsp/firmware/veyron/elants_i2c_0a91.bin -------------------------------------------------------------------------------- /bsp/firmware/veyron/maxtouch-ts.cfg: -------------------------------------------------------------------------------- 1 | OBP_RAW V1 2 | A2 00 20 AB 20 34 21 3 | 969531 4 | B5B0E5 5 | 0044 0000 0049 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6 | 0026 0000 0040 01 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7 | 0047 0000 00A8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8 | 0007 0000 0004 32 08 96 03 9 | 0008 0000 000A 67 00 0A 0A 00 00 FF 01 00 00 10 | 0009 0000 002F 83 00 00 1D 2E 00 82 28 03 01 0A 01 01 00 0A 05 08 00 1F 03 FF 04 03 03 01 01 00 00 00 00 0A 0C 32 32 02 00 43 E6 2D 5F 00 00 00 00 00 80 00 11 | 0009 0001 002F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 | 000F 0000 000B 00 00 00 00 00 00 00 00 00 00 00 13 | 0012 0000 0002 00 00 14 | 0013 0000 0006 00 00 00 00 00 00 15 | 0018 0000 0013 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 | 0018 0001 0013 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 17 | 0019 0000 0015 03 00 C0 5D 20 4E 00 00 00 00 00 00 00 00 C8 00 00 00 00 00 00 18 | 001B 0000 0007 00 00 00 00 00 00 00 19 | 001B 0001 0007 00 00 00 00 00 00 00 20 | 0028 0000 0005 00 00 00 00 00 21 | 0028 0001 0005 00 00 00 00 00 22 | 002A 0000 000D 21 19 1E 14 F0 00 00 00 00 00 00 03 00 23 | 002A 0001 000D 00 00 00 00 00 00 00 00 00 00 00 00 00 24 | 002B 0000 000C 00 00 00 00 00 00 00 00 00 00 00 00 25 | 002E 0000 000B 00 00 18 18 00 00 00 00 00 00 0B 26 | 002F 0000 001C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 27 | 002F 0001 001C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 28 | 0037 0000 0007 00 38 40 0A 01 00 C0 29 | 0037 0001 0007 00 00 00 00 00 00 00 30 | 0038 0000 0033 01 00 01 44 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 31 | 0039 0000 0003 00 00 00 32 | 0039 0001 0003 00 00 00 33 | 003D 0000 0005 00 00 00 00 00 34 | 003D 0001 0005 00 00 00 00 00 35 | 003D 0002 0005 00 00 00 00 00 36 | 003D 0003 0005 00 00 00 00 00 37 | 003E 0000 004A 7D 03 00 10 00 03 00 05 2D 00 05 16 19 12 05 00 0A 05 01 72 0F 08 24 00 28 18 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 38 | 003F 0000 0019 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 39 | 003F 0001 0019 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 | 0041 0000 0011 19 0F 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 41 | 0042 0000 0003 00 00 00 42 | 0046 0000 000A 00 00 00 00 00 00 00 00 00 00 43 | 0046 0001 000A 00 00 00 00 00 00 00 00 00 00 44 | 0046 0002 000A 00 00 00 00 00 00 00 00 00 00 45 | 0046 0003 000A 00 00 00 00 00 00 00 00 00 00 46 | 0046 0004 000A 00 00 00 00 00 00 00 00 00 00 47 | 0046 0005 000A 00 00 00 00 00 00 00 00 00 00 48 | 0046 0006 000A 00 00 00 00 00 00 00 00 00 00 49 | 0046 0007 000A 00 00 00 00 00 00 00 00 00 00 50 | 0046 0008 000A 00 00 00 00 00 00 00 00 00 00 51 | 0046 0009 000A 00 00 00 00 00 00 00 00 00 00 52 | 0046 000A 000A 00 00 00 00 00 00 00 00 00 00 53 | 0046 000B 000A 00 00 00 00 00 00 00 00 00 00 54 | 0049 0000 0006 00 00 00 00 00 00 55 | 0049 0001 0006 00 00 00 00 00 00 56 | 004D 0000 0004 00 00 00 00 57 | 004F 0000 0003 00 00 00 58 | -------------------------------------------------------------------------------- /bsp/firmware/veyron/maxtouch-ts.fw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tracelabs/Trace-Labs-VM-Ras-Pi-Build/34c8bf36b0dcdbfeb43dc93bfcd391f9a0475da1/bsp/firmware/veyron/maxtouch-ts.fw -------------------------------------------------------------------------------- /bsp/polkit/10-NetworkManager.pkla: -------------------------------------------------------------------------------- 1 | [Adding or changing system-wide NetworkManager connections] 2 | Identity=unix-group:netdev;unix-group:sudo 3 | Action=org.freedesktop.NetworkManager.* 4 | ResultAny=yes 5 | ResultInactive=yes 6 | ResultActive=yes 7 | -------------------------------------------------------------------------------- /bsp/scripts/copy-user-wpasupplicant.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | if [ -f /boot/wpa_supplicant.conf ]; then 4 | get_ssid=$(grep ssid /boot/wpa_supplicant.conf | tr -d '"') 5 | export $get_ssid 6 | get_psk=$(grep psk /boot/wpa_supplicant.conf | tr -d '#,"' | head -1) 7 | export $get_psk 8 | wifi_dev="wlan0" 9 | if [ ! -z "$ssid" ] && [ ! -z "$psk" ] && [ ! "${#psk}" -lt "8" ]; then 10 | if [ -x "$(command -v nmcli)" ]; then 11 | nmcli con add con-name "$ssid" type wifi ifname "$wifi_dev" \ 12 | ssid "$ssid" -- wifi-sec.key-mgmt wpa-psk wifi-sec.psk "$psk" \ 13 | ipv4.method auto 14 | else 15 | install -m600 /boot/wpa_supplicant.conf /etc/wpa_supplicant 16 | fi 17 | fi 18 | rm -f /boot/wpa_supplicant.conf 19 | fi 20 | -------------------------------------------------------------------------------- /bsp/scripts/monstart: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | interface=wlan0mon 3 | echo -n "Create monitor mode interface ${interface}... " 4 | iw phy phy0 interface add ${interface} type monitor 2> /dev/null 1> /dev/null 5 | if [ $? -eq 0 ]; then 6 | echo "success" 7 | else 8 | echo "failed, already created ?" 9 | fi 10 | 11 | echo -n "Trying to enable ${interface}... " 12 | ifconfig ${interface} up 2> /dev/null 13 | if [ $? -eq 0 ]; then 14 | echo "success, ${interface} is up" 15 | exit 0 16 | else 17 | echo "failed" 18 | exit 1 19 | fi 20 | -------------------------------------------------------------------------------- /bsp/scripts/monstop: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | interface=wlan0mon 3 | ifconfig ${interface} down 4 | sleep 1 5 | iw dev ${interface} del 6 | -------------------------------------------------------------------------------- /bsp/scripts/rpi-resizerootfs: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Code comes from Fran Rodriguez 3 | # https://github.com/FrangaL/rpi-img-builder 4 | DISKPART="$(findmnt -n -o SOURCE /)" 5 | DISKNAME="/dev/$(lsblk -no pkname "$DISKPART")" 6 | flock ${DISKNAME} sfdisk -f ${DISKNAME} -N ${DISKPART##*[!0-9]} < /dev/null; then 11 | echo "Script only compatible with Debian-based systems" 12 | exit 1 13 | fi 14 | 15 | # List of installed packages file. 16 | backup_packages=list-debs-$(date +"%H_%M_%m_%d_%Y") 17 | # Create a current list of installed packages. 18 | dpkg --get-selections > ${backup_packages} 19 | 20 | # Function create script to clean system packages. 21 | clean-system () { 22 | cat << EOF > clean_system${backup_packages//list-debs/}.sh 23 | #!/bin/bash -e 24 | 25 | clean_system () { 26 | dpkg --clear-selections 27 | dpkg --set-selections < ${backup_packages} 28 | apt-get -y dselect-upgrade 29 | apt-get -y remove --purge \$(dpkg -l | grep "^rc" | awk '{print \$2}') 30 | ${del_arch_i386} 31 | } 32 | 33 | clear 34 | echo "Use this script under your responsibility" 35 | read -p "Are you sure you want to remove the packages from the build? [y/n]: " yn 36 | case \$yn in 37 | [Yy]* ) clean_system;; 38 | [Nn]* ) exit;; 39 | * ) echo "Please enter Y or N!";; 40 | esac 41 | EOF 42 | chmod 755 clean_system${backup_packages//list-debs/}.sh 43 | } 44 | trap clean-system ERR SIGTERM SIGINT 45 | 46 | compilers="crossbuild-essential-arm64 crossbuild-essential-armhf crossbuild-essential-armel gcc-arm-none-eabi" 47 | libpython2_dev="libexpat1-dev libpython2.7 libpython2.7-dev libpython2.7-minimal libpython2.7-stdlib" 48 | dependencies="gnupg flex bison gperf build-essential zip curl libncurses5-dev zlib1g-dev \ 49 | parted kpartx debootstrap pixz qemu-user-static abootimg cgpt vboot-kernel-utils vboot-utils \ 50 | u-boot-tools bc lzma lzop automake autoconf m4 rsync schedtool git dosfstools e2fsprogs \ 51 | device-tree-compiler libssl-dev systemd-container libgmp3-dev gawk qpdf make libfl-dev swig \ 52 | ${libpython2_dev} dbus python3-dev cgroup-tools lsof jetring eatmydata cmake" 53 | 54 | deps="${dependencies} ${compilers}" 55 | 56 | apt-wait () { 57 | while fuser /var/{lib/{dpkg,apt/lists},cache/apt/archives}/lock >/dev/null 2>&1; do 58 | sleep 5 59 | done 60 | 61 | if [ "$1" == "update" ];then 62 | apt-get update 63 | elif [ "$1" == "install_deps" ];then 64 | apt-get install -y -qq $deps 65 | elif [ "$1" == "remove" ];then 66 | apt-get -y --purge "$@" 67 | fi 68 | } 69 | 70 | # Update list deb packages. 71 | apt-wait update 72 | # Install dependencies. 73 | apt-wait install_deps 74 | 75 | # Install kali-archive-keyring. 76 | if [ ! -f /usr/share/keyrings/kali-archive-keyring.gpg ]; then 77 | temp_key="$(mktemp -d)" 78 | git clone https://gitlab.com/kalilinux/packages/kali-archive-keyring.git $temp_key 79 | cd $temp_key && make && make install && cd $OLDPWD && rm -rf $temp_key 80 | fi 81 | 82 | echo "Waiting for other software manager to finish..." 83 | 84 | # Install packages i386 85 | if [ $(arch) == 'x86_64' ]; then 86 | if [ -z $(dpkg --print-foreign-architectures | grep i386) ]; then 87 | dpkg --add-architecture i386 88 | apt-wait update 89 | deps="libstdc++6:i386 libc6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386" 90 | apt-wait install_deps 91 | del_arch_i386="dpkg --remove-architecture i386" 92 | elif [[ $(dpkg --print-foreign-architectures | grep i386) == 'i386' ]]; then 93 | deps="libstdc++6:i386 libc6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386" 94 | apt-wait install_deps 95 | fi 96 | elif [ $(arch) == 'i386' ]; then 97 | deps="libstdc++6 libc6 libgcc1 zlib1g libncurses5" 98 | apt-wait install_deps 99 | fi 100 | 101 | # Create the script to clean the system. 102 | clean-system 103 | 104 | # Check minimum version debootstrap. 105 | debootstrap_ver=$(debootstrap --version | grep -o '[0-9.]\+' | head -1) 106 | if dpkg --compare-versions "$debootstrap_ver" lt "1.0.105"; then 107 | echo "Currently your version of debootstrap does not support the script." >&2 108 | echo "The minimum version of debootstrap is 1.0.105" >&2 109 | exit 1 110 | fi 111 | -------------------------------------------------------------------------------- /etc/skel/Desktop/Updater.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=1.0 3 | Type=Application 4 | Name=Update 5 | Comment= 6 | Exec=/usr/share/updater/updater.sh 7 | Icon=/usr/share/updater/upgrade-icon.png 8 | Path= 9 | Terminal=true 10 | StartupNotify=false 11 | Name[en_US.utf8]=Updater -------------------------------------------------------------------------------- /etc/xdg/menus/applications-merged/tl-applications.menu: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Applications 5 | 6 | OSINT 7 | 8 | 9 | 10 | 11 | OSINT 12 | tracelabs.directory 13 | 14 | 15 | WebBrowser 16 | 17 | 18 | tl-links 19 | 20 | 21 | 22 | 23 | Phone Numbers 24 | 01-phone-numbers.directory 25 | 26 | 27 | 01-phone-numbers 28 | 29 | 30 | 31 | 32 | 33 | 34 | Email 35 | 02-email.directory 36 | 37 | 38 | 02-email 39 | 40 | 41 | 42 | 43 | 44 | 45 | Data Analysis 46 | 03-data-analysis.directory 47 | 48 | 49 | 03-data-analysis 50 | 51 | 52 | 53 | 54 | 55 | 56 | Usernames 57 | 04-usernames.directory 58 | 59 | 60 | 04-usernames 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | Social Media 69 | 05-social-media.directory 70 | 71 | 72 | 05-social-media 73 | 74 | 75 | 76 | 77 | 78 | 79 | Downloaders 80 | 06-downloaders.directory 81 | 82 | 83 | 06-downloaders 84 | 85 | 86 | 87 | 88 | 89 | 90 | Reporting Tools 91 | 07-note-taking.directory 92 | 93 | 94 | joplin.desktop 95 | 96 | 97 | cherrytree.desktop 98 | 99 | 100 | mousepad.desktop 101 | 102 | 103 | com.github.maoschanz.drawing.desktop 104 | 105 | 106 | 107 | 108 | 109 | 110 | Frameworks 111 | 08-frameworks.directory 112 | 113 | 114 | 08-frameworks 115 | 116 | 117 | 01-07-osint-analysis 118 | 119 | 120 | kali-recon-ng.desktop 121 | 122 | 123 | 124 | 125 | 126 | Domains 127 | 09-domains.directory 128 | 129 | 130 | kali-recon-ng.desktop 131 | 132 | 133 | kali-theharvester.desktop 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | -------------------------------------------------------------------------------- /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /install-packages.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | # move bin files over and make executable 5 | chmod +x /opt/bin/* 6 | mv /opt/bin/* /usr/bin/ 7 | rm -rf /opt/bin 8 | 9 | packages="git 10 | golang 11 | python3 12 | python3-pip 13 | python3-dev 14 | python3-pandas 15 | build-essential 16 | curl 17 | build-essential 18 | libsqlite3-dev 19 | libseccomp-dev 20 | libsodium-dev 21 | publicsuffix 22 | cargo 23 | pkg-config 24 | rubygems 25 | libtool 26 | libssl-doc 27 | libc6-dev 28 | libseccomp2 29 | libsqlite3-0 30 | sqlite3-doc 31 | ruby-dev 32 | libpq-dev 33 | nodejs 34 | npm 35 | spiderfoot 36 | sherlock 37 | maltego 38 | python3-shodan 39 | theharvester 40 | webhttrack 41 | outguess 42 | stegosuite 43 | openvpn 44 | metagoofil 45 | exifprobe 46 | ruby-bundler 47 | recon-ng 48 | cherrytree 49 | instaloader 50 | photon 51 | sublist3r 52 | osrframework 53 | drawing 54 | finalrecon 55 | chromium 56 | " 57 | 58 | apt install -y $packages 59 | 60 | 61 | 62 | pip3 install --upgrade virtualenv 63 | pip3 install --upgrade tweepy 64 | pip3 install --upgrade youtube-dl 65 | pip3 install --upgrade requests 66 | pip3 install --upgrade fake_useragent 67 | pip3 install --upgrade dnsdumpster 68 | pip3 install --upgrade simplejson 69 | pip3 install --upgrade cfscrape 70 | pip3 install --upgrade python-docx 71 | pip3 install --upgrade urllib3 72 | pip3 install --upgrade bs4 73 | pip3 install --upgrade lxml 74 | pip3 install --upgrade ipdb 75 | pip3 install --upgrade click 76 | pip3 install --upgrade numpy 77 | pip3 install --upgrade tqdm 78 | pip3 install --upgrade googletransx 79 | pip3 install --upgrade schedule 80 | pip3 install --upgrade aiohttp 81 | pip3 install --upgrade aiohttp_socks 82 | pip3 install --upgrade cchardet 83 | pip3 install --upgrade elasticsearch 84 | pip3 install --upgrade geopy 85 | pip3 install --upgrade h8mail 86 | pip3 install --upgrade instaloader 87 | 88 | 89 | git clone --recursive https://github.com/twintproject/twint.git /usr/share/Twint 90 | cd /usr/share/Twint 91 | python3 setup.py install 92 | 93 | git clone --recursive https://github.com/hatlord/Spiderpig.git /usr/share/Spiderpig 94 | cd /usr/share/Spiderpig 95 | bundle install 96 | #chmod +x /usr/bin/spiderpig 97 | 98 | git clone --recursive https://github.com/securing/DumpsterDiver.git /usr/share/DumpsterDiver 99 | cd /usr/share/DumpsterDiver 100 | pip3 install -r requirements.txt 101 | #dumpsterdiver writes error log to home folder 102 | chmod 757 /usr/share/DumpsterDiver 103 | #chmod +x /usr/bin/dumpsterdiver 104 | 105 | git clone --recursive https://github.com/m4ll0k/Infoga.git /usr/share/Infoga 106 | cd /usr/share/Infoga 107 | python3 setup.py install 108 | #chmod +x /usr/bin/infoga 109 | 110 | git clone --recursive https://github.com/Lulz3xploit/LittleBrother /usr/share/LittleBrother 111 | cd /usr/share/LittleBrother 112 | pip3 install -r requirements.txt 113 | #chmod +x /usr/bin/littlebrother 114 | 115 | 116 | git clone --recursive https://github.com/bhavsec/reconspider /usr/share/reconspider 117 | cd /usr/share/reconspider 118 | python3 setup.py install 119 | #chmod +x /usr/bin/reconspider 120 | 121 | 122 | git clone --recursive https://github.com/WebBreacher/WhatsMyName.git /usr/share/WhatsMyName 123 | cd /usr/share/WhatsMyName 124 | pip3 install -r requirements.txt 125 | #chmod +x /usr/bin/whatsmyname 126 | 127 | git clone --recursive https://github.com/jocephus/WikiLeaker.git /usr/share/WikiLeaker 128 | cd /usr/share/WikiLeaker 129 | pip3 install -r requirements.txt 130 | #chmod +x /usr/bin/wikileaker 131 | 132 | npm i -g tiktok-scraper 133 | 134 | git clone --recursive https://github.com/megadose/OnionSearch.git /usr/share/OnionSearch 135 | cd /usr/share/OnionSearch 136 | python3 setup.py install 137 | chmod +x /usr/share/updater/updater.sh 138 | chmod +x /home/osint/Desktop/Updater.desktop 139 | 140 | git clone https://github.com/megadose/toutatis.git /usr/share/toutatis 141 | cd /usr/share/toutatis 142 | python3 setup.py install 143 | -------------------------------------------------------------------------------- /rpi3-64-build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # This is the Raspberry Pi 2 v1.2/3/4 Kali ARM 64 bit build script - http://www.kali.org/downloads 3 | # A trusted Kali Linux image created by Offensive Security - http://www.offensive-security.com 4 | set -e 5 | 6 | # Give the option to install all tools now, or just create a min install 7 | echo "Would you like to install all additional tools? y/n: " 8 | read answer 9 | if [[ $answer != "y" && $answer != "n" ]]; then 10 | echo "Not a valid choice" 11 | exit 0 12 | fi 13 | 14 | 15 | # Uncomment to activate debug 16 | # debug=true 17 | if [ "$debug" = true ]; then 18 | exec > >(tee -a -i "${0%.*}.log") 2>&1 19 | set -x 20 | fi 21 | 22 | # Architecture 23 | architecture=${architecture:-"arm64"} 24 | # Generate a random machine name to be used. 25 | machine=$(dbus-uuidgen) 26 | # Custom hostname variable 27 | hostname=${2:-kali} 28 | # Custom image file name variable - MUST NOT include .img at the end. 29 | imagename=${3:-kali-linux-$1-rpi4-nexmon-64} 30 | # Suite to use, valid options are: 31 | # kali-rolling, kali-dev, kali-bleeding-edge, kali-dev-only, kali-experimental, kali-last-snapshot 32 | suite=${suite:-"kali-rolling"} 33 | # Free space rootfs in MiB 34 | free_space="300" 35 | # /boot partition in MiB 36 | bootsize="128" 37 | # Select compression, xz or none 38 | compress="none" 39 | # Choose filesystem format to format ( ext3 or ext4 ) 40 | fstype="ext3" 41 | # If you have your own preferred mirrors, set them here. 42 | mirror=${mirror:-"http://http.kali.org/kali"} 43 | # Gitlab url Kali repository 44 | kaligit="https://gitlab.com/kalilinux" 45 | # Github raw url 46 | githubraw="https://raw.githubusercontent.com" 47 | 48 | # Check EUID=0 you can run any binary as root. 49 | if [[ $EUID -ne 0 ]]; then 50 | echo "This script must be run as root or have super user permissions" 51 | echo "Use: sudo $0 ${1:-2.0} ${2:-kali}" 52 | exit 1 53 | fi 54 | 55 | # Pass version number 56 | if [[ $# -eq 0 ]] ; then 57 | echo "Please pass version number, e.g. $0 2.0, and (if you want) a hostname, default is kali" 58 | exit 0 59 | fi 60 | 61 | # Check exist bsp directory. 62 | if [ ! -e "bsp" ]; then 63 | echo "Error: missing bsp directory structure" 64 | echo "Please clone the full repository ${kaligit}/build-scripts/kali-arm" 65 | exit 255 66 | fi 67 | 68 | # Current directory 69 | current_dir="$(pwd)" 70 | # Base directory 71 | basedir=${current_dir}/rpi4-nexmon-64-"$1" 72 | # Working directory 73 | work_dir="${basedir}/kali-${architecture}" 74 | 75 | # Check directory build 76 | if [ -e "${basedir}" ]; then 77 | echo "${basedir} directory exists, will not continue" 78 | exit 1 79 | elif [[ ${current_dir} =~ [[:space:]] ]]; then 80 | echo "The directory "\"${current_dir}"\" contains whitespace. Not supported." 81 | exit 1 82 | else 83 | echo "The basedir thinks it is: ${basedir}" 84 | mkdir -p ${basedir} 85 | fi 86 | 87 | 88 | 89 | components="main,contrib,non-free" 90 | #arm="kali-linux-arm ntpdate" 91 | arm="ntpdate" 92 | base="apt-transport-https apt-utils bash-completion console-setup dialog e2fsprogs ifupdown initramfs-tools inxi iw man-db mlocate netcat-traditional net-tools parted pciutils psmisc rfkill screen tmux unrar usbutils wget whiptail zerofree gcc-aarch64-linux-gnu g++-aarch64-linux-gnu" 93 | desktop="kali-desktop-xfce kali-root-login xserver-xorg-video-fbdev xserver-xorg-input-evdev xserver-xorg-input-synaptics" 94 | tools="" 95 | services="" 96 | # additional packages that can be installed from kali repo 97 | extras="kali-linux-core git golang python3-pip" 98 | 99 | packages="${arm} ${base}" 100 | 101 | # Automatic configuration to use an http proxy, such as apt-cacher-ng. 102 | # You can turn off automatic settings by uncommenting apt_cacher=off. 103 | # apt_cacher=off 104 | # By default the proxy settings are local, but you can define an external proxy. 105 | # proxy_url="http://external.intranet.local" 106 | apt_cacher=${apt_cacher:-"$(lsof -i :3142|cut -d ' ' -f3 | uniq | sed '/^\s*$/d')"} 107 | if [ -n "$proxy_url" ]; then 108 | export http_proxy=$proxy_url 109 | elif [ "$apt_cacher" = "apt-cacher-ng" ] ; then 110 | if [ -z "$proxy_url" ]; then 111 | proxy_url=${proxy_url:-"http://127.0.0.1:3142/"} 112 | export http_proxy=$proxy_url 113 | fi 114 | fi 115 | 116 | # Detect architecture 117 | case ${architecture} in 118 | arm64) 119 | qemu_bin="/usr/bin/qemu-aarch64-static" 120 | lib_arch="aarch64-linux-gnu" ;; 121 | armhf) 122 | qemu_bin="/usr/bin/qemu-arm-static" 123 | lib_arch="arm-linux-gnueabihf" ;; 124 | armel) 125 | qemu_bin="/usr/bin/qemu-arm-static" 126 | lib_arch="arm-linux-gnueabi" ;; 127 | esac 128 | 129 | # create the rootfs - not much to modify here, except maybe throw in some more packages if you want. 130 | eatmydata debootstrap --foreign --keyring=/usr/share/keyrings/kali-archive-keyring.gpg --include=kali-archive-keyring,eatmydata \ 131 | --components=${components} --arch ${architecture} ${suite} ${work_dir} http://http.kali.org/kali 132 | 133 | # systemd-nspawn enviroment 134 | systemd-nspawn_exec(){ 135 | LANG=C systemd-nspawn -q --bind-ro ${qemu_bin} --capability=cap_setfcap --setenv=RUNLEVEL=1 -M ${machine} -D ${work_dir} "$@" 136 | } 137 | 138 | # We need to manually extract eatmydata to use it for the second stage. 139 | for archive in ${work_dir}/var/cache/apt/archives/*eatmydata*.deb; do 140 | dpkg-deb --fsys-tarfile "$archive" > ${work_dir}/eatmydata 141 | tar -xkf ${work_dir}/eatmydata -C ${work_dir} 142 | rm -f ${work_dir}/eatmydata 143 | done 144 | 145 | # Prepare dpkg to use eatmydata 146 | systemd-nspawn_exec dpkg-divert --divert /usr/bin/dpkg-eatmydata --rename --add /usr/bin/dpkg 147 | 148 | cat > ${work_dir}/usr/bin/dpkg << EOF 149 | #!/bin/sh 150 | if [ -e /usr/lib/${lib_arch}/libeatmydata.so ]; then 151 | [ -n "\${LD_PRELOAD}" ] && LD_PRELOAD="\$LD_PRELOAD:" 152 | LD_PRELOAD="\$LD_PRELOAD\$so" 153 | fi 154 | for so in /usr/lib/${lib_arch}/libeatmydata.so; do 155 | [ -n "\$LD_PRELOAD" ] && LD_PRELOAD="\$LD_PRELOAD:" 156 | LD_PRELOAD="\$LD_PRELOAD\$so" 157 | done 158 | export LD_PRELOAD 159 | exec "\$0-eatmydata" --force-unsafe-io "\$@" 160 | EOF 161 | chmod 755 ${work_dir}/usr/bin/dpkg 162 | 163 | # debootstrap second stage 164 | systemd-nspawn_exec eatmydata /debootstrap/debootstrap --second-stage 165 | 166 | cat << EOF > ${work_dir}/etc/apt/sources.list 167 | deb ${mirror} ${suite} ${components//,/ } 168 | #deb-src ${mirror} ${suite} ${components//,/ } 169 | EOF 170 | 171 | # Set hostname 172 | echo "${hostname}" > ${work_dir}/etc/hostname 173 | 174 | # So X doesn't complain, we add kali to hosts 175 | cat << EOF > ${work_dir}/etc/hosts 176 | 127.0.0.1 ${hostname} localhost 177 | ::1 localhost ip6-localhost ip6-loopback 178 | fe00::0 ip6-localnet 179 | ff00::0 ip6-mcastprefix 180 | ff02::1 ip6-allnodes 181 | ff02::2 ip6-allrouters 182 | EOF 183 | 184 | # Disable IPv6 185 | cat << EOF > ${work_dir}/etc/modprobe.d/ipv6.conf 186 | # Don't load ipv6 by default 187 | alias net-pf-10 off 188 | EOF 189 | 190 | cat << EOF > ${work_dir}/etc/network/interfaces 191 | auto lo 192 | iface lo inet loopback 193 | 194 | auto eth0 195 | allow-hotplug eth0 196 | iface eth0 inet dhcp 197 | EOF 198 | 199 | # Copy directory bsp into build dir. 200 | cp -rp bsp ${work_dir} 201 | 202 | export MALLOC_CHECK_=0 # workaround for LP: #520465 203 | 204 | # Enable the use of http proxy in third-stage in case it is enabled. 205 | if [ -n "$proxy_url" ]; then 206 | echo "Acquire::http { Proxy \"$proxy_url\" };" > ${work_dir}/etc/apt/apt.conf.d/66proxy 207 | fi 208 | 209 | 210 | # Third stage 211 | # Third stage is where the magic happens 212 | # This is where all the additional packages are installed and other changes made 213 | cat << EOF > ${work_dir}/third-stage 214 | #!/bin/bash -e 215 | export DEBIAN_FRONTEND=noninteractive 216 | 217 | eatmydata apt-get update 218 | 219 | eatmydata apt-get -y install binutils ca-certificates cmake console-common git initramfs-tools less locales nano u-boot-tools 220 | 221 | # Create kali user with kali password... but first, we need to manually make some groups because they don't yet exist... 222 | # This mirrors what we have on a pre-installed VM, until the script works properly to allow end users to set up their own... user. 223 | # However we leave off floppy, because who a) still uses them, and b) attaches them to an SBC!? 224 | # And since a lot of these have serial devices of some sort, dialout is added as well. 225 | # scanner, lpadmin and bluetooth have to be added manually because they don't 226 | # yet exist in /etc/group at this point. 227 | groupadd -r -g 118 bluetooth 228 | groupadd -r -g 113 lpadmin 229 | groupadd -r -g 122 scanner 230 | groupadd -g 1000 osint 231 | 232 | useradd -m -u 1000 -g 1000 -G sudo,audio,bluetooth,cdrom,dialout,dip,lpadmin,netdev,plugdev,scanner,video,osint -s /bin/bash osint 233 | echo "osint:osint" | chpasswd 234 | 235 | aptops="--allow-change-held-packages -o dpkg::options::=--force-confnew -o Acquire::Retries=3" 236 | 237 | eatmydata apt-get install -y \$aptops ${packages} || eatmydata apt-get --yes --fix-broken install 238 | eatmydata apt-get install -y \$aptops ${packages} || eatmydata apt-get --yes --fix-broken install 239 | eatmydata apt-get install -y \$aptops ${desktop} ${extras} || eatmydata apt-get --yes --fix-broken install 240 | eatmydata apt-get install -y \$aptops ${desktop} ${extras} || eatmydata apt-get --yes --fix-broken install 241 | # We want systemd-timesyncd not sntp which gets pulled in by something in kali-linux-default 242 | eatmydata apt-get install -y \$aptops --autoremove systemd-timesyncd 243 | 244 | # Linux console/Keyboard configuration 245 | echo 'console-common console-data/keymap/policy select Select keymap from full list' | debconf-set-selections 246 | echo 'console-common console-data/keymap/full select en-latin1-nodeadkeys' | debconf-set-selections 247 | 248 | # Copy all services 249 | cp -p /bsp/services/all/*.service /etc/systemd/system/ 250 | cp -p /bsp/services/rpi/*.service /etc/systemd/system/ 251 | 252 | # Scripts for monitor mode 253 | #install -m755 /bsp/scripts/monstart /usr/bin/ 254 | #install -m755 /bsp/scripts/monstop /usr/bin/ 255 | 256 | # Resize rootfs script 257 | install -m755 /bsp/scripts/rpi-resizerootfs /usr/sbin/ 258 | 259 | # Add rpi userland to the path (e.g. vcgencmd) 260 | install -m644 /bsp/configs/raspi-userland.conf /etc/ld.so.conf.d/ 261 | install -m644 /bsp/configs/vc.sh /etc/profile.d/vc.sh 262 | install -m644 /bsp/udev/99-vchiq-permissions.rules /etc/udev/rules.d/ 263 | 264 | # Bluetooth enabling 265 | #install -m644 /bsp/bluetooth/rpi/99-com.rules /etc/udev/rules.d/ 266 | #install -m644 /bsp/bluetooth/rpi/hciuart.service /etc/systemd/system/ 267 | #install -m755 /bsp/bluetooth/rpi/btuart /usr/bin/ 268 | 269 | # Copy in the bluetooth firmware 270 | #install -m644 /bsp/firmware/rpi/BCM43430A1.hcd -D /lib/firmware/brcm/BCM43430A1.hcd 271 | 272 | # Re4son's rpi-tft configurator 273 | wget -q ${githubraw}/Re4son/RPi-Tweaks/master/kalipi-tft-config/kalipi-tft-config -O /usr/bin/kalipi-tft-config 274 | chmod 755 /usr/bin/kalipi-tft-config 275 | 276 | # Install the kernel packages 277 | echo "deb http://http.re4son-kernel.com/re4son kali-pi main" > /etc/apt/sources.list.d/re4son.list 278 | wget -qO /etc/apt/trusted.gpg.d/kali_pi-archive-keyring.gpg https://re4son-kernel.com/keys/http/kali_pi-archive-keyring.gpg 279 | eatmydata apt-get update 280 | eatmydata apt-get install --yes --allow-change-held-packages -o dpkg::options::=--force-confnew kalipi-kernel kalipi-bootloader kalipi-re4son-firmware kalipi-kernel-headers 281 | 282 | # Regenerated the shared-mime-info database on the first boot 283 | # since it fails to do so properly in a chroot 284 | systemctl enable smi-hack 285 | 286 | # Resize filesystem on first boot 287 | systemctl enable rpi-resizerootfs 288 | 289 | # Generate SSH host keys on first run 290 | systemctl enable regenerate_ssh_host_keys 291 | 292 | # Enable hciuart for bluetooth device 293 | #systemctl enable hciuart 294 | 295 | # Enable copying of user wpa_supplicant.conf file 296 | install -m755 /bsp/scripts/copy-user-wpasupplicant.sh /usr/bin 297 | systemctl enable copy-user-wpasupplicant 298 | 299 | # Enable... enabling ssh by putting ssh or ssh.txt file in /boot 300 | systemctl enable enable-ssh 301 | 302 | # Allow users to use NM over ssh 303 | install -m644 /bsp/polkit/10-NetworkManager.pkla /var/lib/polkit-1/localauthority/50-local.d 304 | 305 | cd /root 306 | apt download -o APT::Sandbox::User=root ca-certificates 2>/dev/null 307 | 308 | # Attempt to build the raspi userland 309 | cd /root 310 | git clone https://github.com/raspberrypi/userland 311 | cd userland 312 | sed -i 's/-j4/-j2/g' buildme 313 | ./buildme --aarch64 2>/dev/null 314 | cd 315 | rm -rf /root/userland 316 | 317 | # Copy over the default bashrc 318 | cp /etc/skel/.bashrc /root/.bashrc 319 | 320 | # Set a REGDOMAIN. This needs to be done or wireless doesn't work correctly on the RPi 3B+ 321 | touch /etc/default/crda 322 | sed -i -e 's/REGDOM.*/REGDOMAIN=00/g' /etc/default/crda 323 | 324 | # Enable login over serial 325 | echo "T0:23:respawn:/sbin/agetty -L ttyAMA0 115200 vt100" >> /etc/inittab 326 | 327 | # Try and make the console a bit nicer 328 | # Set the terminus font for a bit nicer display. 329 | sed -i -e 's/FONTFACE=.*/FONTFACE="Terminus"/' /etc/default/console-setup 330 | sed -i -e 's/FONTSIZE=.*/FONTSIZE="6x12"/' /etc/default/console-setup 331 | 332 | # Fix startup time from 5 minutes to 15 secs on raise interface wlan0 333 | sed -i 's/^TimeoutStartSec=5min/TimeoutStartSec=15/g' "/lib/systemd/system/networking.service" 334 | 335 | # Clean up dpkg.eatmydata 336 | rm -f /usr/bin/dpkg 337 | dpkg-divert --remove --rename /usr/bin/dpkg 338 | 339 | 340 | EOF 341 | 342 | # Run third stage 343 | chmod 755 ${work_dir}/third-stage 344 | systemd-nspawn_exec /third-stage 345 | 346 | # optionally run a fourth stage 347 | # if enabled, this will install the base tools as outlined in 348 | # install-packages.sh 349 | 350 | if [[ $answer == "y" ]]; then 351 | # copy over bin files that kick off apps 352 | cp -r bin ${work_dir}/opt/bin 353 | 354 | #copy updater script to root system 355 | mkdir ${work_dir}/usr/share/updater 356 | cp updater.sh ${work_dir}/usr/share/updater 357 | 358 | #copy updater icon to desktop 359 | mkdir ${work_dir}/home/osint/Desktop 360 | cp etc/skel/Desktop/Updater.desktop ${work_dir}/home/osint/Desktop/Updater.desktop 361 | systemd-nspawn_exec chown -R osint /home/osint/Desktop 362 | #install additional packages and apps 363 | cp install-packages.sh ${work_dir}/install-packages.sh 364 | systemd-nspawn_exec /install-packages.sh 365 | systemd-nspawn_exec rm -f /install-packages.sh 366 | # copy over menu files 367 | cp -R usr/share/applications ${work_dir}/usr/share/ 368 | cp -R usr/share/desktop-directories ${work_dir}/usr/share/ 369 | cp -r etc/xdg/menus/applications-merged ${work_dir}/etc/xdg/menus/ 370 | #copy over firefox bookmarks 371 | cp -r usr/share/firefox-esr/distribution/* ${work_dir}/usr/share/firefox-esr/distribution 372 | 373 | #copy over background image and config file 374 | cp usr/share/backgrounds/kali/tracelabs.png ${work_dir}/usr/share/backgrounds/kali/tracelabs.png 375 | cp etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml ${work_dir}/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml 376 | 377 | 378 | fi 379 | 380 | 381 | # Clean system 382 | 383 | systemd-nspawn_exec rm -f /0 384 | systemd-nspawn_exec rm -rf /bsp 385 | systemd-nspawn_exec fc-cache -frs 386 | systemd-nspawn_exec rm -rf /tmp/* 387 | systemd-nspawn_exec rm -rf /etc/*- 388 | systemd-nspawn_exec rm -rf /hs_err* 389 | systemd-nspawn_exec rm -rf /third-stage 390 | systemd-nspawn_exec rm -rf /userland 391 | systemd-nspawn_exec rm -rf /opt/vc/src 392 | systemd-nspawn_exec rm -f /etc/ssh/ssh_host_* 393 | systemd-nspawn_exec rm -rf /var/lib/dpkg/*-old 394 | systemd-nspawn_exec rm -rf /var/lib/apt/lists/* 395 | systemd-nspawn_exec rm -rf /var/cache/apt/*.bin 396 | systemd-nspawn_exec rm -rf /var/cache/apt/archives/* 397 | systemd-nspawn_exec rm -rf /var/cache/debconf/*.data-old 398 | systemd-nspawn_exec rm -f /fourth-stage 399 | #systemd-nspawn_exec "for logs in $(find /var/log -type f); do > $logs; done" 400 | #systemd-nspawn_exec history -c 401 | 402 | 403 | # Define DNS server after last running systemd-nspawn. 404 | echo "nameserver 8.8.8.8" > ${work_dir}/etc/resolv.conf 405 | 406 | # Disable the use of http proxy in case it is enabled. 407 | if [ -n "$proxy_url" ]; then 408 | unset http_proxy 409 | rm -rf ${work_dir}/etc/apt/apt.conf.d/66proxy 410 | fi 411 | 412 | # Mirror & suite replacement 413 | if [[ ! -z "${4}" || ! -z "${5}" ]]; then 414 | mirror=${4} 415 | suite=${5} 416 | fi 417 | 418 | # Define sources.list 419 | cat << EOF > ${work_dir}/etc/apt/sources.list 420 | deb ${mirror} ${suite} ${components//,/ } 421 | #deb-src ${mirror} ${suite} ${components//,/ } 422 | EOF 423 | 424 | # Create cmdline.txt file 425 | cat << EOF > ${work_dir}/boot/cmdline.txt 426 | dwc_otg.fiq_fix_enable=2 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=$fstype rootwait rootflags=noload net.ifnames=0 427 | EOF 428 | 429 | # systemd doesn't seem to be generating the fstab properly for some people, so 430 | # let's create one. 431 | cat << EOF > ${work_dir}/etc/fstab 432 | # 433 | proc /proc proc defaults 0 0 434 | /dev/mmcblk0p1 /boot vfat defaults 0 2 435 | /dev/mmcblk0p2 / $fstype defaults,noatime 0 1 436 | EOF 437 | 438 | # Copy a default config, with everything commented out so people find it when 439 | # they go to add something when they are following instructions on a website. 440 | cp ./bsp/firmware/rpi/config.txt ${work_dir}/boot/config.txt 441 | # Remove repeat conditional filters [all] in config.txt 442 | sed -i "59,66d" ${work_dir}/boot/config.txt 443 | 444 | # To boot 64bit, these lines *have* to be in config.txt 445 | cat << EOF >> ${work_dir}/boot/config.txt 446 | 447 | [pi2] 448 | # Pi2 is 64bit only on v1.2+ 449 | # 64bit kernel for Raspberry Pi 2 is called kernel8 (armv8a) 450 | kernel=kernel8-alt.img 451 | [pi3] 452 | # 64bit kernel for Raspberry Pi 3 is called kernel8 (armv8a) 453 | kernel=kernel8-alt.img 454 | [pi4] 455 | # Enable DRM VC4 V3D driver on top of the dispmanx display stack 456 | #dtoverlay=vc4-fkms-v3d 457 | #max_framebuffers=2 458 | # 64bit kernel for Raspberry Pi 4 is called kernel8l (armv8a) 459 | kernel=kernel8l-alt.img 460 | [all] 461 | #dtoverlay=vc4-fkms-v3d 462 | # Tell firmware to go 64bit mode. 463 | arm_64bit=1 464 | EOF 465 | 466 | cd ${current_dir} 467 | 468 | # Calculate the space to create the image. 469 | root_size=$(du -s -B1 ${work_dir} --exclude=${work_dir}/boot | cut -f1) 470 | echo $root_size 471 | root_extra=$((${root_size}/1024/1000*5*1024/5)) 472 | echo $root_extra 473 | raw_size=$(($((${free_space}*1024))+${root_extra}+$((${bootsize}*1024))+4096)) 474 | echo $raw_size 475 | 476 | # Create the disk and partition it 477 | echo "Creating image file ${imagename}.img" 478 | fallocate -l $(echo ${raw_size}Ki | numfmt --from=iec-i --to=si) ${current_dir}/${imagename}.img 479 | echo "Partitioning ${imagename}.img" 480 | parted -s ${current_dir}/${imagename}.img mklabel msdos 481 | parted -s ${current_dir}/${imagename}.img mkpart primary fat32 1MiB ${bootsize}MiB 482 | parted -s -a minimal ${current_dir}/${imagename}.img mkpart primary $fstype ${bootsize}MiB 100% 483 | 484 | # Set the partition variables 485 | loopdevice=$(losetup --show -fP "${current_dir}/${imagename}.img") 486 | bootp="${loopdevice}p1" 487 | rootp="${loopdevice}p2" 488 | 489 | # Create file systems 490 | mkfs.vfat -n BOOT -F 32 -v ${bootp} 491 | if [[ $fstype == ext4 ]]; then 492 | features="-O ^64bit,^metadata_csum" 493 | elif [[ $fstype == ext3 ]]; then 494 | features="-O ^64bit" 495 | fi 496 | mkfs $features -t $fstype -L ROOTFS ${rootp} 497 | 498 | # Create the dirs for the partitions and mount them 499 | mkdir -p ${basedir}/root/ 500 | mount ${rootp} ${basedir}/root 501 | mkdir -p ${basedir}/root/boot 502 | mount ${bootp} ${basedir}/root/boot 503 | 504 | echo "Rsyncing rootfs into image file" 505 | rsync -HPavz -q --exclude boot ${work_dir}/ ${basedir}/root/ 506 | rsync -rtx -q ${work_dir}/boot ${basedir}/root 507 | sync 508 | 509 | # Make sure to enable ssh on the device by default 510 | touch "${basedir}"/root/boot/ssh 511 | 512 | sync 513 | # Unmount filesystems 514 | umount -l ${bootp} 515 | umount -l ${rootp} 516 | 517 | # Remove loop devices 518 | losetup -d ${loopdevice} 519 | 520 | # Limite use cpu function 521 | limit_cpu (){ 522 | rand=$(tr -cd 'A-Za-z0-9' < /dev/urandom | head -c4 ; echo) # Randowm name group 523 | cgcreate -g cpu:/cpulimit-${rand} # Name of group cpulimit 524 | cgset -r cpu.shares=800 cpulimit-${rand} # Max 1024 525 | cgset -r cpu.cfs_quota_us=80000 cpulimit-${rand} # Max 100000 526 | # Retry command 527 | local n=1; local max=5; local delay=2 528 | while true; do 529 | cgexec -g cpu:cpulimit-${rand} "$@" && break || { 530 | if [[ $n -lt $max ]]; then 531 | ((n++)) 532 | echo -e "\e[31m Command failed. Attempt $n/$max \033[0m" 533 | sleep $delay; 534 | else 535 | echo "The command has failed after $n attempts." 536 | break 537 | fi 538 | } 539 | done 540 | } 541 | 542 | if [ $compress = xz ]; then 543 | if [ $(arch) == 'x86_64' ]; then 544 | echo "Compressing ${imagename}.img" 545 | [ $(nproc) \< 3 ] || cpu_cores=3 # cpu_cores = Number of cores to use 546 | limit_cpu pixz -p ${cpu_cores:-2} ${current_dir}/${imagename}.img # -p Nº cpu cores use 547 | chmod 644 ${current_dir}/${imagename}.img.xz 548 | fi 549 | else 550 | chmod 644 ${current_dir}/${imagename}.img 551 | fi 552 | 553 | # Clean up all the temporary build stuff and remove the directories. 554 | # Comment this out to keep things around if you want to see what may have gone wrong. 555 | echo "Cleaning up the temporary build files..." 556 | rm -rf "${basedir}" 557 | -------------------------------------------------------------------------------- /updater-current.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #!/usr/bin/env bash 4 | tput setaf 5;echo "#################" 5 | tput setaf 5;echo "# OSINT Updater #" 6 | tput setaf 5;echo "#################" 7 | 8 | echo "[+] Update + Upgrade System.." 9 | sudo apt update -qq 10 | sudo apt upgrade -qq -y 11 | sudo npm install npm@latest -g 12 | sudo npm update -g 13 | 14 | echo "[+] Upgrading Kali version to latest..." 15 | sudo apt dist-upgrade -qq -y 16 | sudo apt full-upgrade -qq -y 17 | 18 | tput setaf 5;echo "[+] Updating youtube-dl..." 19 | { 20 | sudo -H pip3 install --upgrade youtube-dl 21 | } 22 | tput setaf 2;echo "[+] Done." 23 | 24 | ################# 25 | 26 | tput setaf 5;echo "[+] Updating Twint..." 27 | { 28 | sudo -H pip3 install --upgrade twint 29 | } 30 | tput setaf 2;echo "[+] Done." 31 | 32 | 33 | ################## 34 | 35 | tput setaf 5;echo "[+] Updating LittleBrother..." 36 | { 37 | if [ -d "/usr/share/LittleBrother" ]; then 38 | 39 | cd /usr/share/LittleBrother 40 | sudo git pull https://github.com/Lulz3xploit/LittleBrother --rebase 41 | 42 | fi 43 | } 44 | tput setaf 2;echo "[+] Done." 45 | 46 | ################## 47 | 48 | 49 | 50 | ################### 51 | 52 | tput setaf 5;echo "[+] Updating theHarvester..." 53 | { 54 | if [ -d "/usr/share/theHarvester" ]; then 55 | 56 | cd /usr/share/theHarvester 57 | sudo git pull https://github.com/laramies/theHarvester.git --rebase 58 | 59 | fi 60 | } 61 | tput setaf 2;echo "[+] Done." 62 | 63 | #################### 64 | 65 | tput setaf 5;echo "[+] Updating ExifScan..." 66 | { 67 | if [ -d "/usr/share/exifscan" ]; then 68 | 69 | cd /usr/share/exifscan 70 | sudo git pull https://github.com/rcook/exifscan.git --rebase 71 | 72 | fi 73 | } 74 | tput setaf 2;echo "[+] Done." 75 | 76 | ##################### 77 | 78 | tput setaf 5;echo "[+] Updating DumpsterDiver..." 79 | { 80 | if [ -d "/usr/share/DumpsterDiver" ]; then 81 | 82 | cd /usr/share/DumpsterDiver 83 | sudo git pull https://github.com/securing/DumpsterDiver.git --rebase 84 | 85 | fi 86 | } 87 | tput setaf 2;echo "[+] Done." 88 | 89 | ###################### 90 | 91 | tput setaf 5;echo "[+] Updating Sherlock..." 92 | { 93 | if [ -d "/usr/share/sherlock" ]; then 94 | 95 | cd /usr/share/sherlock 96 | sudo git init 97 | sudo git pull https://github.com/sherlock-project/sherlock.git --rebase 98 | 99 | fi 100 | } 101 | tput setaf 2;echo "[+] Done." 102 | 103 | 104 | ######################### 105 | 106 | tput setaf 5;echo "[+] Updating Infoga..." 107 | { 108 | if [ -d "/usr/share/Infoga" ]; then 109 | 110 | cd /usr/share/Infoga 111 | sudo git pull https://github.com/m4ll0k/Infoga.git --rebase 112 | 113 | fi 114 | } 115 | tput setaf 2;echo "[+] Done." 116 | 117 | ######################### 118 | 119 | tput setaf 5;echo "[+] Updating Metagoofil..." 120 | { 121 | 122 | if [ -d "/usr/share/metagoofil" ]; then 123 | 124 | cd /usr/share/metagoofil 125 | sudo git init 126 | sudo git pull https://github.com/opsdisk/metagoofil.git --rebase 127 | 128 | fi 129 | } 130 | tput setaf 2;echo "[+] Done." 131 | 132 | ########################## 133 | 134 | tput setaf 5;echo "[+] Updating OSINT-Search..." 135 | { 136 | if [ -d "/usr/share/OSINT-Search" ]; then 137 | 138 | cd /usr/share/OSINT-Search 139 | sudo git pull https://github.com/am0nt31r0/OSINT-Search.git --rebase 140 | sudo pip3 install git+https://github.com/abenassi/Google-Search-API --upgrade 141 | sudo pip3 install https://github.com/PaulSec/API-dnsdumpster.com/archive/master.zip --user 142 | else 143 | sudo git clone https://github.com/am0nt31r0/OSINT-Search /usr/share/OSINT-Search 144 | fi 145 | } 146 | tput setaf 2;echo "[+] Done." 147 | 148 | ########################### 149 | 150 | tput setaf 5;echo "[+] Updating Stego Toolkit..." 151 | { 152 | if [ -d "/usr/share/stego-toolkit" ]; then 153 | 154 | cd /usr/share/stego-toolkit 155 | sudo git pull https://github.com/DominicBreuker/stego-toolkit.git --rebase 156 | 157 | fi 158 | } 159 | tput setaf 2;echo "[+] Done." 160 | 161 | ################################################# 162 | tput setaf 5;echo "[+] Updating Spiderpig..." 163 | { 164 | if [ -d "/usr/share/Spiderpig" ]; then 165 | 166 | cd /usr/share/Spiderpig 167 | sudo git pull https://github.com/hatlord/Spiderpig.git --rebase 168 | bundle install 169 | 170 | fi 171 | } 172 | tput setaf 2;echo "[+] Done." 173 | 174 | ############################ 175 | 176 | tput setaf 5;echo "[+] Updating WhatsMyName..." 177 | { 178 | if [ -d "/usr/share/WhatsMyName" ]; then 179 | 180 | cd /usr/share/WhatsMyName 181 | sudo git pull https://github.com/WebBreacher/WhatsMyName.git --rebase 182 | 183 | fi 184 | } 185 | tput setaf 2;echo "[+] Done." 186 | 187 | ############################ 188 | 189 | tput setaf 5;echo "[+] Updating WikiLeaker..." 190 | { 191 | if [ -d "/usr/share/WikiLeaker" ]; then 192 | 193 | cd /usr/share/WikiLeaker 194 | sudo git pull https://github.com/jocephus/WikiLeaker.git --rebase 195 | 196 | fi 197 | } 198 | tput setaf 2;echo "[+] Done." 199 | 200 | ############################ 201 | 202 | tput setaf 5;echo "[+] Updating OnionSearch..." 203 | { 204 | if [ -d "/usr/share/OnionSearch" ]; then 205 | cd /usr/share/OnionSearch 206 | sudo git pull https://github.com/megadose/OnionSearch.git --rebase 207 | 208 | fi 209 | } 210 | tput setaf 2;echo "[+] Done." 211 | 212 | ################################ 213 | tput setaf 5;echo "[+] Updating Toutatis..." 214 | { 215 | if [ -d "/usr/share/toutatis" ]; then 216 | 217 | cd /usr/share/toutatis 218 | sudo git pull https://github.com/megadose/toutatis.git 219 | 220 | fi 221 | } 222 | tput setaf 2;echo "[+] Done." 223 | -------------------------------------------------------------------------------- /updater.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | # this script will pull the most recent repo for updating 5 | # the repo includes a script that updates the system and tools 6 | # as well as plugs in the most recent firefox bookmarks 7 | cd /home/osint 8 | 9 | wget -O updater-current.sh https://raw.githubusercontent.com/tracelabs/trace-labs-vm-ras-pi-build/main/updater-current.sh 10 | chmod +x /home/osint/updater-current.sh 11 | sudo /home/osint/updater-current.sh 12 | 13 | sudo rm -f updater-current.sh 14 | 15 | wget -O bookmarks.html https://raw.githubusercontent.com/tracelabs/trace-labs-vm-ras-pi-build/main/bookmarks.html 16 | -------------------------------------------------------------------------------- /usr/share/applications/tl-Infoga.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Infoga 3 | Comment=Email OSINT 4 | Type=Application 5 | Terminal=true 6 | Icon=utilities-terminal 7 | Categories=02-email 8 | Exec=/usr/share/kali-menu/exec-in-shell infoga 9 | Path= 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-PhoneInfoga.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=PhoneInfoga 3 | Comment=PhoneInfoga 4 | Type=Application 5 | Icon=utilities-terminal 6 | Terminal=true 7 | Exec=/usr/share/kali-menu/exec-in-shell "phoneinfoga help" 8 | Categories=01-phone-numbers 9 | -------------------------------------------------------------------------------- /usr/share/applications/tl-Spiderpig.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Spiderpig 3 | Comment=Spiderpig Document Downloader 4 | Type=Application 5 | Terminal=true 6 | Icon=utilities-terminal 7 | Categories=06-downloaders 8 | Exec=/usr/share/kali-menu/exec-in-shell 'ruby /usr/share/Spiderpig/spiderpig.rb' 9 | -------------------------------------------------------------------------------- /usr/share/applications/tl-WebHTTrack-Websites.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=1.0 3 | Type=Application 4 | Categories=06-downloaders; 5 | Terminal=true 6 | Name=Browse Mirrored Websites 7 | Comment=Browse Websites Mirrored by WebHTTrack 8 | Keywords=browse mirrored; 9 | Exec=webhttrack browse 10 | Icon=httrack 11 | Path= 12 | StartupNotify=false 13 | -------------------------------------------------------------------------------- /usr/share/applications/tl-WebHTTrack.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=1.0 3 | Type=Application 4 | Categories=06-downloaders; 5 | Terminal=true 6 | Name=WebHTTrack Website Copier 7 | Comment=Copy websites to your computer 8 | Keywords=copy website;backup website;capture website;offline browser;surf offline;mirror;mirroring;archiving;forensics;crawl;preservation; 9 | Exec=webhttrack 10 | Icon=httrack 11 | Path= 12 | StartupNotify=false 13 | -------------------------------------------------------------------------------- /usr/share/applications/tl-alias-generator.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Alias Generator 3 | Comment=Generates a list of candidate usernames based on known information 4 | Type=Application 5 | Categories=04-usernames 6 | Terminal=true 7 | Icon=utilities-terminal 8 | Exec=/usr/share/kali-menu/exec-in-shell sudo alias-generator -h 9 | Path= 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-checkfy.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Checkfy 3 | Comment=Verifies if a given email address matches a pattern 4 | Type=Application 5 | Categories=02-email 6 | Terminal=true 7 | Icon=utilities-terminal 8 | Exec=/usr/share/kali-menu/exec-in-shell sudo checkfy -h 9 | Path= 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-cherrytree.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=CherryTree 3 | Comment=Hierarchical Note Taking 4 | Type=Application 5 | Categories=07-note-taking 6 | Icon=cherrytree 7 | Exec=/usr/share/kali-menu/exec-in-shell cherrytree %f 8 | Path= 9 | Terminal=false 10 | StartupNotify=false -------------------------------------------------------------------------------- /usr/share/applications/tl-domainfy.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Domainfy 3 | Comment=Checks whether domain names using words and nicknames are available 4 | Type=Application 5 | Categories=09-domains 6 | Terminal=true 7 | Icon=utilities-terminal 8 | Exec=/usr/share/kali-menu/exec-in-shell sudo domainfy -h 9 | Path= 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-dumpsterdiver.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=DumpsterDiver 3 | Comment=Detect any secret leaks in documents 4 | Type=Application 5 | Categories=03-data-analysis 6 | Icon=utilities-terminal 7 | Exec=/usr/share/kali-menu/exec-in-shell "dumpsterdiver -h" 8 | Path= 9 | Terminal=true 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-exifgrep.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Exifgrep 3 | Comment=Exifgrep 4 | Exec=/usr/share/kali-menu/exec-in-shell exifgrep -h 5 | Terminal=true 6 | Categories=03-data-analysis 7 | Icon=utilities-terminal 8 | Type=Application 9 | Path= 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-exifprobe.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Exifprobe 3 | Comment=Exifprobe 4 | Type=Application 5 | Icon=utilities-terminal 6 | Categories=03-data-analysis 7 | Exec=/usr/share/kali-menu/exec-in-shell exifprobe -h 8 | Path= 9 | Terminal=true 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-exiftool.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Exiftool 3 | Comment=Exiftool 4 | Type=Application 5 | Icon=utilities-terminal 6 | Categories=03-data-analysis 7 | Exec=/usr/share/kali-menu/exec-in-shell exiftool -h 8 | Path= 9 | Terminal=true 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-finalrecon.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=FinalRecon 4 | Comment=FinalRecon 5 | Terminal=true 6 | Exec=/usr/share/kali-menu/exec-in-shell "finalrecon -h" 7 | Categories=08-frameworks; 8 | Icon=utilities-terminal 9 | -------------------------------------------------------------------------------- /usr/share/applications/tl-h8mail.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=h8mail 3 | Comment=Email OSINT 4 | Type=Application 5 | Categories=02-email 6 | Terminal=true 7 | Icon=utilities-terminal 8 | Exec=/usr/share/kali-menu/exec-in-shell h8mail -h 9 | Path= 10 | StartupNotify=false -------------------------------------------------------------------------------- /usr/share/applications/tl-instaloader.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Instaloader 3 | Comment=Instagram OSINT 4 | Type=Application 5 | Terminal=true 6 | Icon=utilities-terminal 7 | Categories=05-social-media 8 | Exec=/usr/share/kali-menu/exec-in-shell "instaloader -h" 9 | Path= 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-kali-maltego.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=maltego 3 | Encoding=UTF-8 4 | Exec=sh -c "maltego" 5 | Icon=kali-maltego 6 | StartupNotify=false 7 | Terminal=false 8 | Type=Application 9 | Categories=08-frameworks 10 | Comment=Visualise, Map and Mine Data 11 | X-Kali-Package=maltego 12 | Actions=ShowWebsite; 13 | 14 | [Desktop Action ShowWebsite] 15 | Name=Paterva Website 16 | Exec=x-www-browser https://www.paterva.com 17 | -------------------------------------------------------------------------------- /usr/share/applications/tl-littlebrother.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=LittleBrother 3 | Comment=OSINT Framework 4 | Type=Application 5 | Categories=08-frameworks 6 | Terminal=true 7 | Icon=utilities-terminal 8 | Exec=/usr/share/kali-menu/exec-in-shell "littlebrother -h" 9 | 10 | Path= 11 | StartupNotify=false 12 | -------------------------------------------------------------------------------- /usr/share/applications/tl-mailfy.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Mailfy 3 | Comment=Gets information about email accounts 4 | Type=Application 5 | Categories=02-email 6 | Terminal=true 7 | Icon=utilities-terminal 8 | Exec=/usr/share/kali-menu/exec-in-shell sudo mailfy -h 9 | Path= 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-metagoofil.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Metagoofil 3 | Comment=OSINT document downloader 4 | Type=Application 5 | Categories=06-downloaders 6 | Icon=utilities-terminal 7 | Exec=/usr/share/kali-menu/exec-in-shell python3 /usr/share/metagoofil/metagoofil.py -h 8 | Terminal=true 9 | Path= 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-onionsearch.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=OnionSearch 3 | Comment=OnionSearch scrapes urls on different ".onion" search engines 4 | Type=Application 5 | Categories=08-frameworks 6 | Icon=utilities-terminal 7 | Exec=/usr/share/kali-menu/exec-in-shell sudo onionsearch -h 8 | Terminal=true 9 | Path= 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-osrf-upgrade.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=OSRFramework Upgrade 3 | Comment=Updates OSRFramework modules 4 | Type=Application 5 | Categories=08-frameworks 6 | Terminal=true 7 | Icon=utilities-terminal 8 | Exec=/usr/share/kali-menu/exec-in-shell sudo osrf upgrade 9 | Path= 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-osrf.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=OSRFramework 3 | Comment=A set of libraries to perform Open Source Intelligence collection tasks 4 | Type=Application 5 | Categories=08-frameworks 6 | Terminal=true 7 | Icon=utilities-terminal 8 | Exec=/usr/share/kali-menu/exec-in-shell sudo osrf -h 9 | Path= 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-phonefy.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Phonefy 3 | Comment=Looks for information linked to spam practices by a phone number 4 | Type=Application 5 | Categories=01-phone-numbers 6 | Terminal=true 7 | Icon=utilities-terminal 8 | Exec=/usr/share/kali-menu/exec-in-shell sudo phonefy -h 9 | Path= 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-photon.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Photon 3 | Comment=Web Crawling 4 | Type=Application 5 | Categories=03-data-analysis 6 | Icon=utilities-terminal 7 | Exec=/usr/share/kali-menu/exec-in-shell "photon -h" 8 | Path= 9 | Terminal=true 10 | StartupNotify=false -------------------------------------------------------------------------------- /usr/share/applications/tl-searchfy.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Searchfy 3 | Comment=Performs queries on several platforms 4 | Type=Application 5 | Categories=05-social-media 6 | Terminal=true 7 | Icon=utilities-terminal 8 | Exec=/usr/share/kali-menu/exec-in-shell sudo searchfy -h 9 | Path= 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-sherlock.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Sherlock 3 | Comment=Username OSINT 4 | Type=Application 5 | Icon=utilities-terminal 6 | Categories=04-usernames 7 | Exec=/usr/share/kali-menu/exec-in-shell "sherlock -h" 8 | Terminal=true 9 | Path= 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-spiderfoot.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Spiderfoot 4 | Comment=Spiderfoot 5 | Terminal=true 6 | Exec=/usr/share/kali-menu/exec-in-shell 'spiderfoot --help' 7 | Categories=08-frameworks; 8 | Icon=utilities-terminal 9 | -------------------------------------------------------------------------------- /usr/share/applications/tl-stegosuite.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Stegosuite 3 | Categories=03-data-analysis; 4 | Comment=A steganography tool 5 | Exec=stegosuite %u 6 | Icon=stegosuite 7 | MimeType=image/gif;image/bmp;image/jpeg;image/png; 8 | Keywords=steganography;embed;extract;image;hide;stego; 9 | Terminal=false 10 | Type=Application 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-sublist3r.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Sublist3r 3 | Comment=Subdomain enumeration 4 | Type=Application 5 | Icon=utilities-terminal 6 | Terminal=true 7 | Exec=/usr/share/kali-menu/exec-in-shell "sublist3r -h" 8 | Categories=09-domains 9 | Path= 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-theHarvester.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=theHarvester 3 | Comment=theHarvester 4 | Type=Application 5 | Terminal=true 6 | Icon=utilities-terminal 7 | Exec=/usr/share/kali-menu/exec-in-shell "/usr/bin/theHarvester -h" 8 | Categories=02-email 9 | Path= 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-tiktok-scraper.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Tiktok Scraper 3 | Comment=Scrape and download useful information from TikTok 4 | Type=Application 5 | Categories=05-social-media 6 | Terminal=true 7 | Icon=utilities-terminal 8 | Exec=/usr/share/kali-menu/exec-in-shell sudo tiktok-scraper -h 9 | Path= 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-toutatis.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Toutatis 3 | Comment=Instagram OSINT 4 | Type=Application 5 | Terminal=true 6 | Icon=utilities-terminal 7 | Categories=05-social-media 8 | Exec=/usr/share/kali-menu/exec-in-shell "toutatis -h" 9 | Path= 10 | StartupNotify=false -------------------------------------------------------------------------------- /usr/share/applications/tl-twint.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Twint 3 | Comment=Twitter OSINT 4 | Type=Application 5 | Terminal=true 6 | Icon=utilities-terminal 7 | Categories=05-social-media 8 | Exec=/usr/share/kali-menu/exec-in-shell "twint -h" 9 | Path= 10 | StartupNotify=false -------------------------------------------------------------------------------- /usr/share/applications/tl-usufy.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Usufy 3 | Comment=Looks for registered accounts with given nicknames 4 | Type=Application 5 | Categories=04-usernames 6 | Terminal=true 7 | Icon=utilities-terminal 8 | Exec=/usr/share/kali-menu/exec-in-shell sudo usufy -h 9 | Path= 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/applications/tl-whatsmyname.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=WhatsMyName 4 | Comment=WhatsMyName 5 | Terminal=true 6 | Exec=/usr/share/kali-menu/exec-in-shell 'whatsmyname -h' 7 | Categories=04-usernames; 8 | Icon=utilities-terminal -------------------------------------------------------------------------------- /usr/share/applications/tl-wikileaker.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=WikiLeaker 4 | Comment=WikiLeaker 5 | Terminal=true 6 | Exec=/usr/share/kali-menu/exec-in-shell 'wikileaker -h' 7 | Categories=08-frameworks; 8 | Icon=utilities-terminal 9 | -------------------------------------------------------------------------------- /usr/share/applications/tl-youtube-dl.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Youtube-DL 3 | Comment=Launch Youtube-DL 4 | Exec=/usr/share/kali-menu/exec-in-shell "youtube-dl --help" 5 | Terminal=true 6 | Categories=06-downloaders 7 | Icon=utilities-terminal 8 | Type=Application 9 | Path= 10 | StartupNotify=false 11 | -------------------------------------------------------------------------------- /usr/share/backgrounds/kali/tracelabs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tracelabs/Trace-Labs-VM-Ras-Pi-Build/34c8bf36b0dcdbfeb43dc93bfcd391f9a0475da1/usr/share/backgrounds/kali/tracelabs.png -------------------------------------------------------------------------------- /usr/share/desktop-directories/01-07-osint-analysis.directory: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=• OSINT Analysis 3 | Name[fr]=• Analyse OSINT 4 | Name[es]=• Análisis OSINT 5 | Name[hr]=• Analiza OSINT 6 | Name[de]=• OpenSource Intelligence (OSINT) Analyse 7 | Name[it]=• Analisi OSINT 8 | Name[zh_CN]=• 情报分析 9 | Name[zh_HK]=• 情報分析 10 | Name[zh_TW]=• 情報分析 11 | Type=Directory 12 | Icon=kali-info-gathering-trans 13 | -------------------------------------------------------------------------------- /usr/share/desktop-directories/01-phone-numbers.directory: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Phone Numbers 3 | Name[fr]=01 - Récupération d'informations 4 | Name[es]=01 - Recopilación de Información 5 | Name[hr]=01 - Prikupljanje Informacija 6 | Name[de]=01 - Informationsbeschaffung 7 | Name[it]=01 - Recupero Informazioni 8 | Name[zh_CN]=01 - 信息收集 9 | Name[zh_HK]=01 - 信息收集 10 | Name[zh_TW]=01 - 信息收集 11 | Type=Directory 12 | Icon=kali-info-gathering-trans 13 | -------------------------------------------------------------------------------- /usr/share/desktop-directories/02-email.directory: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Email 3 | Name[fr]=01 - Récupération d'informations 4 | Name[es]=01 - Recopilación de Información 5 | Name[hr]=01 - Prikupljanje Informacija 6 | Name[de]=01 - Informationsbeschaffung 7 | Name[it]=01 - Recupero Informazioni 8 | Name[zh_CN]=01 - 信息收集 9 | Name[zh_HK]=01 - 信息收集 10 | Name[zh_TW]=01 - 信息收集 11 | Type=Directory 12 | Icon=kali-info-gathering-trans 13 | -------------------------------------------------------------------------------- /usr/share/desktop-directories/03-data-analysis.directory: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Data Analysis 3 | Name[fr]=01 - Récupération d'informations 4 | Name[es]=01 - Recopilación de Información 5 | Name[hr]=01 - Prikupljanje Informacija 6 | Name[de]=01 - Informationsbeschaffung 7 | Name[it]=01 - Recupero Informazioni 8 | Name[zh_CN]=01 - 信息收集 9 | Name[zh_HK]=01 - 信息收集 10 | Name[zh_TW]=01 - 信息收集 11 | Type=Directory 12 | Icon=kali-info-gathering-trans 13 | -------------------------------------------------------------------------------- /usr/share/desktop-directories/04-usernames.directory: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Usernames 3 | Name[fr]=01 - Récupération d'informations 4 | Name[es]=01 - Recopilación de Información 5 | Name[hr]=01 - Prikupljanje Informacija 6 | Name[de]=01 - Informationsbeschaffung 7 | Name[it]=01 - Recupero Informazioni 8 | Name[zh_CN]=01 - 信息收集 9 | Name[zh_HK]=01 - 信息收集 10 | Name[zh_TW]=01 - 信息收集 11 | Type=Directory 12 | Icon=kali-info-gathering-trans 13 | -------------------------------------------------------------------------------- /usr/share/desktop-directories/05-social-media.directory: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Social Media 3 | Name[fr]=01 - Récupération d'informations 4 | Name[es]=01 - Recopilación de Información 5 | Name[hr]=01 - Prikupljanje Informacija 6 | Name[de]=01 - Informationsbeschaffung 7 | Name[it]=01 - Recupero Informazioni 8 | Name[zh_CN]=01 - 信息收集 9 | Name[zh_HK]=01 - 信息收集 10 | Name[zh_TW]=01 - 信息收集 11 | Type=Directory 12 | Icon=kali-info-gathering-trans 13 | -------------------------------------------------------------------------------- /usr/share/desktop-directories/06-downloaders.directory: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Downloaders 3 | Name[fr]=01 - Récupération d'informations 4 | Name[es]=01 - Recopilación de Información 5 | Name[hr]=01 - Prikupljanje Informacija 6 | Name[de]=01 - Informationsbeschaffung 7 | Name[it]=01 - Recupero Informazioni 8 | Name[zh_CN]=01 - 信息收集 9 | Name[zh_HK]=01 - 信息收集 10 | Name[zh_TW]=01 - 信息收集 11 | Type=Directory 12 | Icon=kali-info-gathering-trans 13 | -------------------------------------------------------------------------------- /usr/share/desktop-directories/07-note-taking.directory: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Note Taking 3 | Name[fr]=01 - Récupération d'informations 4 | Name[es]=01 - Recopilación de Información 5 | Name[hr]=01 - Prikupljanje Informacija 6 | Name[de]=01 - Informationsbeschaffung 7 | Name[it]=01 - Recupero Informazioni 8 | Name[zh_CN]=01 - 信息收集 9 | Name[zh_HK]=01 - 信息收集 10 | Name[zh_TW]=01 - 信息收集 11 | Type=Directory 12 | Icon=kali-info-gathering-trans 13 | -------------------------------------------------------------------------------- /usr/share/desktop-directories/08-frameworks.directory: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Frameworks 3 | Name[fr]=01 - Récupération d'informations 4 | Name[es]=01 - Recopilación de Información 5 | Name[hr]=01 - Prikupljanje Informacija 6 | Name[de]=01 - Informationsbeschaffung 7 | Name[it]=01 - Recupero Informazioni 8 | Name[zh_CN]=01 - 信息收集 9 | Name[zh_HK]=01 - 信息收集 10 | Name[zh_TW]=01 - 信息收集 11 | Type=Directory 12 | Icon=kali-info-gathering-trans 13 | -------------------------------------------------------------------------------- /usr/share/desktop-directories/09-domains.directory: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Domains 3 | Name[fr]=01 - Récupération d'informations 4 | Name[es]=01 - Recopilación de Información 5 | Name[hr]=01 - Prikupljanje Informacija 6 | Name[de]=01 - Informationsbeschaffung 7 | Name[it]=01 - Recupero Informazioni 8 | Name[zh_CN]=01 - 信息收集 9 | Name[zh_HK]=01 - 信息收集 10 | Name[zh_TW]=01 - 信息收集 11 | Type=Directory 12 | Icon=kali-info-gathering-trans 13 | -------------------------------------------------------------------------------- /usr/share/desktop-directories/11-forensics.directory: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=11 - Forensics 3 | Name[fr]=11 - Criminalistique 4 | Name[es]=11 - Análisis forense 5 | Name[hr]=11 - Forenzika 6 | Name[de]=11 - Forensik 7 | Name[it]=11 - Analisi Forense 8 | Name[zh_CN]=11 - 数字取证 9 | Name[zh_HK]=11 - 數字取證 10 | Name[zh_TW]=11 - 數字取證 11 | Type=Directory 12 | Icon=kali-forensics-trans 13 | -------------------------------------------------------------------------------- /usr/share/desktop-directories/12-reporting.directory: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=12 - Reporting Tools 3 | Name[fr]=12 - Rapports 4 | Name[es]=12 - Herramientas de Reporte 5 | Name[hr]=12 - Alati Za Izvjesca 6 | Name[de]=12 - Berichterstellung 7 | Name[it]=12 - Strumenti di Report 8 | Name[zh_CN]=12 - 报告工具集 9 | Name[zh_HK]=12 - 報告工具集 10 | Name[zh_TW]=12 - 報告工具集 11 | Type=Directory 12 | Icon=kali-reporting-tools-trans 13 | -------------------------------------------------------------------------------- /usr/share/desktop-directories/browsers.directory: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Browsers 3 | Type=Directory 4 | Icon=kali-info-gathering-trans 5 | -------------------------------------------------------------------------------- /usr/share/desktop-directories/tracelabs.directory: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Open Source Intelligence 3 | Type=Directory 4 | Icon=/usr/share/icons/hicolor/scalable/categories/tracelabs.svg 5 | -------------------------------------------------------------------------------- /usr/share/firefox-esr/distribution/policies.json: -------------------------------------------------------------------------------- 1 | { 2 | "policies": { 3 | "AppAutoUpdate": true, 4 | "BlockAboutAddons": true, 5 | "BlockAboutConfig": true, 6 | "BlockAboutProfiles": true, 7 | "BlockAboutSupport": true, 8 | "CaptivePortal": false, 9 | "DefaultDownloadDirectory": "${home}/Downloads", 10 | "DisableAppUpdate": false, 11 | "DisableBuiltinPDFViewer": true, 12 | "DisabledCiphers": { 13 | "TLS_DHE_RSA_WITH_AES_128_CBC_SHA": false, 14 | "TLS_DHE_RSA_WITH_AES_256_CBC_SHA": false, 15 | "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256": false, 16 | "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA": false, 17 | "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256": false, 18 | "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA": false, 19 | "TLS_RSA_WITH_3DES_EDE_CBC_SHA": true, 20 | "TLS_RSA_WITH_AES_128_CBC_SHA": false, 21 | "TLS_RSA_WITH_AES_128_GCM_SHA256": false, 22 | "TLS_RSA_WITH_AES_256_CBC_SHA": false, 23 | "TLS_RSA_WITH_AES_256_GCM_SHA384": false 24 | }, 25 | "DisableDefaultBrowserAgent": true, 26 | "DisableFormHistory": true, 27 | "DisablePasswordReveal": true, 28 | "DisableProfileImport": true, 29 | "DisableProfileRefresh": true, 30 | "DisableSafeMode": true, 31 | "DisableSecurityBypass": { 32 | "InvalidCertificate": true, 33 | "SafeBrowsing": true 34 | }, 35 | "DisableSystemAddonUpdate": false, 36 | "DisableTelemetry": true, 37 | "DisplayBookmarksToolbar": true, 38 | "DisplayMenuBar": "default-on", 39 | "DNSOverHTTPS": { 40 | "Enabled": false, 41 | "Locked": true 42 | }, 43 | "DontCheckDefaultBrowser": true, 44 | "DownloadDirectory": "${home}/Downloads", 45 | "EnableTrackingProtection": { 46 | "Cryptomining": true, 47 | "Exceptions": [], 48 | "Fingerprinting": true, 49 | "Locked": true, 50 | "Value": true 51 | }, 52 | "EncryptedMediaExtensions": { 53 | "Enabled": false, 54 | "Locked": false 55 | }, 56 | "Extensions": { 57 | "Install": [ 58 | "https://addons.mozilla.org/firefox/downloads/latest/https-everywhere/latest.xpi", 59 | "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi" 60 | ], 61 | "Locked": ["*"], 62 | "Uninstall": ["*"] 63 | }, 64 | "ExtensionSettings": { 65 | "*": { 66 | "allowed_types": [], 67 | "blocked_install_message": "Software installation has been disabled by your system administrator.", 68 | "install_sources": ["about:addons","https://addons.mozilla.org/"], 69 | "installation_mode": "blocked" 70 | }, 71 | "https-everywhere@eff.org": { 72 | "install_url": "https://addons.mozilla.org/firefox/downloads/latest/https-everywhere/latest.xpi", 73 | "installation_mode": "force_installed" 74 | }, 75 | "uBlock0@raymondhill.net": { 76 | "install_url": "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi", 77 | "installation_mode": "force_installed" 78 | } 79 | }, 80 | "ExtensionUpdate": true, 81 | "FirefoxHome": { 82 | "Highlights": false, 83 | "Locked": false, 84 | "Pocket": false, 85 | "Search": true, 86 | "Snippets": false, 87 | "TopSites": true 88 | }, 89 | "FlashPlugin": { 90 | "Allow": [], 91 | "Block": ["*"], 92 | "Default": false, 93 | "Locked": true 94 | }, 95 | "Homepage": { 96 | "Locked": false, 97 | "StartPage": "homepage", 98 | "URL": "https://tracelabs.org", 99 | }, 100 | "InstallAddonsPermission": { 101 | "Allow": [], 102 | "Default": false 103 | }, 104 | "NetworkPrediction": false, 105 | "NoDefaultBookmarks": true, 106 | "OfferToSaveLogins": false, 107 | "OfferToSaveLoginsDefault": false, 108 | "OverrideFirstRunPage": "", 109 | "OverridePostUpdatePage": "", 110 | "PasswordManagerEnabled": false, 111 | "PDFjs": { 112 | "Enabled": false, 113 | "EnablePermissions": false 114 | }, 115 | "Permissions": { 116 | "Autoplay": { 117 | "Allow": [], 118 | "Block": ["*"], 119 | "Default": "block-audio-video", 120 | "Locked": true 121 | }, 122 | "Camera": { 123 | "Allow": [], 124 | "Block": ["*"], 125 | "BlockNewRequests": true, 126 | "Locked": true 127 | }, 128 | "Location": { 129 | "Allow": [], 130 | "Block": ["*"], 131 | "BlockNewRequests": true, 132 | "Locked": true 133 | }, 134 | "Microphone": { 135 | "Allow": [], 136 | "Block": ["*"], 137 | "BlockNewRequests": true, 138 | "Locked": true 139 | }, 140 | "Notifications": { 141 | "Allow": [], 142 | "Block": ["*"], 143 | "BlockNewRequests": true, 144 | "Locked": true 145 | }, 146 | "VirtualReality": { 147 | "Allow": [], 148 | "Block": ["*"], 149 | "BlockNewRequests": true, 150 | "Locked": true 151 | } 152 | }, 153 | "PopupBlocking": { 154 | "Allow": [], 155 | "Default": true, 156 | "Locked": true 157 | }, 158 | "Preferences": { 159 | "browser.formfill.enable": false, 160 | "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons": false, 161 | "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features": false, 162 | "dom.battery.enabled": false, 163 | "dom.event.clipboardevents.enabled": false, 164 | "geo.enabled": false, 165 | "media.navigator.enabled": false, 166 | "media.peerconnection.enabled": false, 167 | "network.cookie.lifetimePolicy": 2, 168 | "webgl.disabled": true 169 | }, 170 | "PromptForDownloadLocation": false, 171 | "SanitizeOnShutdown": true, 172 | "SSLVersionMax": "tls1.3", 173 | "SSLVersionMin": "tls1.2" 174 | } 175 | } 176 | --------------------------------------------------------------------------------