├── .gitattributes ├── .gitignore ├── .travis.yml ├── README.md ├── ev3dev-bullseye ├── .dockerignore ├── README.md ├── ev3-base.dockerfile ├── ev3-generic.dockerfile └── layers │ ├── base │ ├── brickstrap │ │ ├── _etcher_metadata │ │ │ └── logo.svg │ │ ├── _report │ │ │ ├── etcher.sh │ │ │ └── release-notes.sh │ │ ├── _tar-only │ │ │ └── etc │ │ │ │ └── hostname │ │ └── base │ │ │ ├── run │ │ │ └── run.d │ │ │ ├── 10-install-packages.sh │ │ │ ├── 30-ssh.sh │ │ │ ├── 31-fontconfig.sh │ │ │ ├── 32-apt.sh │ │ │ ├── 40-enable-firstboot.sh │ │ │ ├── 60-journald-storage.sh │ │ │ ├── 80-backup-etc-flash-kernel-db.sh │ │ │ └── 90-robot-user.sh │ ├── etc │ │ ├── .brickstrap-tar-exclude │ │ ├── apt │ │ │ ├── apt.conf.d │ │ │ │ ├── .brickstrap-tar-exclude │ │ │ │ ├── 00ev3dev │ │ │ │ ├── 99no-pdiffs │ │ │ │ └── 99no-translations │ │ │ └── trusted.gpg.d │ │ │ │ └── ev3dev-archive-keyring.gpg │ │ ├── avahi │ │ │ └── services │ │ │ │ ├── sftp-ssh.service │ │ │ │ └── ssh.service │ │ ├── dbus-1 │ │ │ └── system.d │ │ │ │ └── org.ev3dev.ConsoleRunner.conf │ │ ├── fstab │ │ ├── init.d │ │ │ └── firstboot │ │ ├── kernel-img.conf │ │ ├── security │ │ │ └── limits.d │ │ │ │ └── robot-nice.conf │ │ └── systemd │ │ │ └── system │ │ │ └── console-runner@.service │ └── usr │ │ └── sbin │ │ └── .brickstrap-tar-exclude │ ├── debian │ ├── brickstrap │ │ └── _tar-only │ │ │ └── etc │ │ │ └── apt │ │ │ └── sources.list │ └── etc │ │ └── apt │ │ └── sources.list │ ├── ev3 │ ├── brickstrap │ │ └── ev3 │ │ │ └── run │ ├── etc │ │ ├── brickrun.conf │ │ ├── flash-kernel │ │ │ ├── .brickstrap-tar-exclude │ │ │ └── machine │ │ └── ssh │ │ │ ├── ssh_host_dsa_key │ │ │ ├── ssh_host_dsa_key.pub │ │ │ ├── ssh_host_ecdsa_key │ │ │ ├── ssh_host_ecdsa_key.pub │ │ │ ├── ssh_host_ed25519_key │ │ │ ├── ssh_host_ed25519_key.pub │ │ │ ├── ssh_host_rsa_key │ │ │ └── ssh_host_rsa_key.pub │ └── var │ │ └── lib │ │ └── alsa │ │ └── asound.state │ └── generic │ └── brickstrap │ └── generic │ └── run ├── ev3dev-buster ├── .dockerignore ├── README.md ├── bone-base.dockerfile ├── bone-generic.dockerfile ├── ev3-base.dockerfile ├── ev3-generic.dockerfile ├── layers │ ├── base │ │ ├── brickstrap │ │ │ ├── _etcher_metadata │ │ │ │ └── logo.svg │ │ │ ├── _report │ │ │ │ ├── etcher.sh │ │ │ │ └── release-notes.sh │ │ │ ├── _tar-only │ │ │ │ └── etc │ │ │ │ │ └── hostname │ │ │ └── base │ │ │ │ ├── run │ │ │ │ └── run.d │ │ │ │ ├── 10-install-packages.sh │ │ │ │ ├── 30-ssh.sh │ │ │ │ ├── 31-fontconfig.sh │ │ │ │ ├── 32-apt.sh │ │ │ │ ├── 40-enable-firstboot.sh │ │ │ │ ├── 60-journald-storage.sh │ │ │ │ ├── 80-backup-etc-flash-kernel-db.sh │ │ │ │ └── 90-robot-user.sh │ │ ├── etc │ │ │ ├── .brickstrap-tar-exclude │ │ │ ├── apt │ │ │ │ ├── apt.conf.d │ │ │ │ │ ├── .brickstrap-tar-exclude │ │ │ │ │ ├── 00ev3dev │ │ │ │ │ ├── 99no-pdiffs │ │ │ │ │ └── 99no-translations │ │ │ │ └── trusted.gpg.d │ │ │ │ │ └── ev3dev-archive-keyring.gpg │ │ │ ├── avahi │ │ │ │ └── services │ │ │ │ │ ├── sftp-ssh.service │ │ │ │ │ └── ssh.service │ │ │ ├── dbus-1 │ │ │ │ └── system.d │ │ │ │ │ └── org.ev3dev.ConsoleRunner.conf │ │ │ ├── fstab │ │ │ ├── init.d │ │ │ │ └── firstboot │ │ │ ├── kernel-img.conf │ │ │ ├── security │ │ │ │ └── limits.d │ │ │ │ │ └── robot-nice.conf │ │ │ └── systemd │ │ │ │ └── system │ │ │ │ └── console-runner@.service │ │ └── usr │ │ │ ├── bin │ │ │ └── .brickstrap-tar-exclude │ │ │ └── sbin │ │ │ └── .brickstrap-tar-exclude │ ├── bone │ │ ├── boot │ │ │ └── flash │ │ │ │ └── uEnv.txt │ │ ├── brickstrap │ │ │ └── bone │ │ │ │ └── run │ │ └── etc │ │ │ ├── brickrun.conf │ │ │ ├── flash-kernel │ │ │ ├── .brickstrap-tar-exclude │ │ │ └── machine │ │ │ └── ssh │ │ │ ├── ssh_host_dsa_key │ │ │ ├── ssh_host_dsa_key.pub │ │ │ ├── ssh_host_ecdsa_key │ │ │ ├── ssh_host_ecdsa_key.pub │ │ │ ├── ssh_host_ed25519_key │ │ │ ├── ssh_host_ed25519_key.pub │ │ │ ├── ssh_host_rsa_key │ │ │ └── ssh_host_rsa_key.pub │ ├── debian │ │ ├── brickstrap │ │ │ └── _tar-only │ │ │ │ └── etc │ │ │ │ └── apt │ │ │ │ └── sources.list │ │ └── etc │ │ │ └── apt │ │ │ └── sources.list │ ├── ev3 │ │ ├── brickstrap │ │ │ └── ev3 │ │ │ │ └── run │ │ ├── etc │ │ │ ├── brickrun.conf │ │ │ ├── flash-kernel │ │ │ │ ├── .brickstrap-tar-exclude │ │ │ │ └── machine │ │ │ └── ssh │ │ │ │ ├── ssh_host_dsa_key │ │ │ │ ├── ssh_host_dsa_key.pub │ │ │ │ ├── ssh_host_ecdsa_key │ │ │ │ ├── ssh_host_ecdsa_key.pub │ │ │ │ ├── ssh_host_ed25519_key │ │ │ │ ├── ssh_host_ed25519_key.pub │ │ │ │ ├── ssh_host_rsa_key │ │ │ │ └── ssh_host_rsa_key.pub │ │ └── var │ │ │ └── lib │ │ │ └── alsa │ │ │ └── asound.state │ ├── generic │ │ └── brickstrap │ │ │ └── generic │ │ │ └── run │ ├── raspbian │ │ ├── brickstrap │ │ │ ├── _tar-only │ │ │ │ └── etc │ │ │ │ │ └── apt │ │ │ │ │ └── sources.list │ │ │ └── raspbian │ │ │ │ └── run │ │ └── etc │ │ │ ├── apt │ │ │ └── sources.list │ │ │ └── brickrun.conf │ ├── rpi-common │ │ ├── boot │ │ │ └── flash │ │ │ │ ├── cmdline.txt │ │ │ │ ├── config.txt │ │ │ │ └── overlays │ │ │ │ └── README.txt │ │ └── brickstrap │ │ │ └── rpi-common │ │ │ └── run │ ├── rpi │ │ ├── brickstrap │ │ │ └── rpi │ │ │ │ └── run │ │ └── etc │ │ │ ├── flash-kernel │ │ │ ├── .brickstrap-tar-exclude │ │ │ ├── db │ │ │ └── machine │ │ │ └── ssh │ │ │ ├── ssh_host_dsa_key │ │ │ ├── ssh_host_dsa_key.pub │ │ │ ├── ssh_host_ecdsa_key │ │ │ ├── ssh_host_ecdsa_key.pub │ │ │ ├── ssh_host_ed25519_key │ │ │ ├── ssh_host_ed25519_key.pub │ │ │ ├── ssh_host_rsa_key │ │ │ └── ssh_host_rsa_key.pub │ └── rpi2 │ │ ├── brickstrap │ │ └── rpi2 │ │ │ └── run │ │ └── etc │ │ ├── flash-kernel │ │ ├── .brickstrap-tar-exclude │ │ ├── db │ │ └── machine │ │ └── ssh │ │ ├── ssh_host_dsa_key │ │ ├── ssh_host_dsa_key.pub │ │ ├── ssh_host_ecdsa_key │ │ ├── ssh_host_ecdsa_key.pub │ │ ├── ssh_host_ed25519_key │ │ ├── ssh_host_ed25519_key.pub │ │ ├── ssh_host_rsa_key │ │ └── ssh_host_rsa_key.pub ├── rpi-base.dockerfile ├── rpi-generic.dockerfile ├── rpi2-base.dockerfile └── rpi2-generic.dockerfile ├── ev3dev-jessie ├── .dockerignore ├── README.md ├── bone-base.dockerfile ├── bone-generic.dockerfile ├── ev3-base.dockerfile ├── ev3-generic.dockerfile ├── ev3-lms2012.dockerfile ├── layers │ ├── base │ │ ├── brickstrap │ │ │ ├── _etcher_metadata │ │ │ │ └── logo.svg │ │ │ ├── _report │ │ │ │ ├── etcher.sh │ │ │ │ └── release-notes.sh │ │ │ ├── _tar-only │ │ │ │ └── etc │ │ │ │ │ └── hostname │ │ │ └── base │ │ │ │ ├── run │ │ │ │ └── run.d │ │ │ │ ├── 10-install-packages.sh │ │ │ │ ├── 20-base-files.sh │ │ │ │ ├── 40-enable-firstboot.sh │ │ │ │ ├── 50-console-setup.sh │ │ │ │ ├── 60-journald-storage.sh │ │ │ │ ├── 80-backup-etc-flash-kernel-db.sh │ │ │ │ └── 90-robot-user.sh │ │ └── etc │ │ │ ├── apt │ │ │ ├── apt.conf.d │ │ │ │ ├── 00ev3dev │ │ │ │ ├── 99no-pdiffs │ │ │ │ └── 99no-translations │ │ │ └── trusted.gpg.d │ │ │ │ └── ev3dev-archive-keyring.gpg │ │ │ ├── fstab │ │ │ ├── init.d │ │ │ └── firstboot │ │ │ └── kernel-img.conf │ ├── bone │ │ ├── boot │ │ │ └── flash │ │ │ │ └── uEnv.txt │ │ ├── brickstrap │ │ │ └── bone │ │ │ │ └── run │ │ └── etc │ │ │ ├── flash-kernel │ │ │ └── machine │ │ │ └── ssh │ │ │ ├── ssh_host_dsa_key │ │ │ ├── ssh_host_dsa_key.pub │ │ │ ├── ssh_host_ecdsa_key │ │ │ ├── ssh_host_ecdsa_key.pub │ │ │ ├── ssh_host_ed25519_key │ │ │ ├── ssh_host_ed25519_key.pub │ │ │ ├── ssh_host_rsa_key │ │ │ └── ssh_host_rsa_key.pub │ ├── debian │ │ ├── brickstrap │ │ │ └── _tar-only │ │ │ │ └── etc │ │ │ │ └── apt │ │ │ │ └── sources.list │ │ └── etc │ │ │ └── apt │ │ │ └── sources.list │ ├── ev3-lms2012 │ │ ├── brickstrap │ │ │ └── ev3-lms2012 │ │ │ │ └── run │ │ └── etc │ │ │ └── flash-kernel │ │ │ ├── db │ │ │ └── machine │ ├── ev3 │ │ ├── brickstrap │ │ │ └── ev3 │ │ │ │ └── run │ │ └── etc │ │ │ ├── flash-kernel │ │ │ ├── db │ │ │ └── machine │ │ │ └── ssh │ │ │ ├── ssh_host_dsa_key │ │ │ ├── ssh_host_dsa_key.pub │ │ │ ├── ssh_host_ecdsa_key │ │ │ ├── ssh_host_ecdsa_key.pub │ │ │ ├── ssh_host_ed25519_key │ │ │ ├── ssh_host_ed25519_key.pub │ │ │ ├── ssh_host_rsa_key │ │ │ └── ssh_host_rsa_key.pub │ ├── generic │ │ └── brickstrap │ │ │ └── generic │ │ │ └── run │ ├── raspbian │ │ ├── brickstrap │ │ │ ├── _tar-only │ │ │ │ └── etc │ │ │ │ │ └── apt │ │ │ │ │ └── sources.list │ │ │ └── raspbian │ │ │ │ └── run │ │ └── etc │ │ │ └── apt │ │ │ └── sources.list │ ├── rpi-common │ │ ├── boot │ │ │ └── flash │ │ │ │ ├── cmdline.txt │ │ │ │ ├── config.txt │ │ │ │ └── overlays │ │ │ │ └── README.txt │ │ └── brickstrap │ │ │ └── rpi-common │ │ │ └── run │ ├── rpi │ │ ├── brickstrap │ │ │ └── rpi │ │ │ │ └── run │ │ └── etc │ │ │ ├── flash-kernel │ │ │ ├── db │ │ │ └── machine │ │ │ └── ssh │ │ │ ├── ssh_host_dsa_key │ │ │ ├── ssh_host_dsa_key.pub │ │ │ ├── ssh_host_ecdsa_key │ │ │ ├── ssh_host_ecdsa_key.pub │ │ │ ├── ssh_host_ed25519_key │ │ │ ├── ssh_host_ed25519_key.pub │ │ │ ├── ssh_host_rsa_key │ │ │ └── ssh_host_rsa_key.pub │ └── rpi2 │ │ ├── brickstrap │ │ └── rpi2 │ │ │ └── run │ │ └── etc │ │ ├── flash-kernel │ │ ├── db │ │ └── machine │ │ └── ssh │ │ ├── ssh_host_dsa_key │ │ ├── ssh_host_dsa_key.pub │ │ ├── ssh_host_ecdsa_key │ │ ├── ssh_host_ecdsa_key.pub │ │ ├── ssh_host_ed25519_key │ │ ├── ssh_host_ed25519_key.pub │ │ ├── ssh_host_rsa_key │ │ └── ssh_host_rsa_key.pub ├── rpi-base.dockerfile ├── rpi-generic.dockerfile ├── rpi2-base.dockerfile └── rpi2-generic.dockerfile └── ev3dev-stretch ├── .dockerignore ├── README.md ├── bone-base.dockerfile ├── bone-generic.dockerfile ├── ev3-base.dockerfile ├── ev3-generic.dockerfile ├── layers ├── base │ ├── brickstrap │ │ ├── _etcher_metadata │ │ │ └── logo.svg │ │ ├── _report │ │ │ ├── etcher.sh │ │ │ └── release-notes.sh │ │ ├── _tar-only │ │ │ └── etc │ │ │ │ └── hostname │ │ └── base │ │ │ ├── run │ │ │ └── run.d │ │ │ ├── 10-install-packages.sh │ │ │ ├── 30-ssh.sh │ │ │ ├── 31-fontconfig.sh │ │ │ ├── 32-apt.sh │ │ │ ├── 40-enable-firstboot.sh │ │ │ ├── 60-journald-storage.sh │ │ │ ├── 80-backup-etc-flash-kernel-db.sh │ │ │ └── 90-robot-user.sh │ ├── etc │ │ ├── .brickstrap-tar-exclude │ │ ├── apt │ │ │ ├── apt.conf.d │ │ │ │ ├── .brickstrap-tar-exclude │ │ │ │ ├── 00ev3dev │ │ │ │ ├── 99no-pdiffs │ │ │ │ └── 99no-translations │ │ │ └── trusted.gpg.d │ │ │ │ └── ev3dev-archive-keyring.gpg │ │ ├── avahi │ │ │ └── services │ │ │ │ ├── sftp-ssh.service │ │ │ │ └── ssh.service │ │ ├── dbus-1 │ │ │ └── system.d │ │ │ │ └── org.ev3dev.ConsoleRunner.conf │ │ ├── fstab │ │ ├── init.d │ │ │ └── firstboot │ │ ├── kernel-img.conf │ │ ├── security │ │ │ └── limits.d │ │ │ │ └── robot-nice.conf │ │ └── systemd │ │ │ └── system │ │ │ └── console-runner@.service │ └── usr │ │ ├── bin │ │ └── .brickstrap-tar-exclude │ │ └── sbin │ │ └── .brickstrap-tar-exclude ├── bone │ ├── boot │ │ └── flash │ │ │ └── uEnv.txt │ ├── brickstrap │ │ └── bone │ │ │ └── run │ └── etc │ │ ├── brickrun.conf │ │ ├── flash-kernel │ │ ├── .brickstrap-tar-exclude │ │ └── machine │ │ └── ssh │ │ ├── ssh_host_dsa_key │ │ ├── ssh_host_dsa_key.pub │ │ ├── ssh_host_ecdsa_key │ │ ├── ssh_host_ecdsa_key.pub │ │ ├── ssh_host_ed25519_key │ │ ├── ssh_host_ed25519_key.pub │ │ ├── ssh_host_rsa_key │ │ └── ssh_host_rsa_key.pub ├── debian │ └── etc │ │ └── apt │ │ └── sources.list ├── ev3 │ ├── brickstrap │ │ └── ev3 │ │ │ └── run │ ├── etc │ │ ├── brickrun.conf │ │ ├── flash-kernel │ │ │ ├── .brickstrap-tar-exclude │ │ │ └── machine │ │ └── ssh │ │ │ ├── ssh_host_dsa_key │ │ │ ├── ssh_host_dsa_key.pub │ │ │ ├── ssh_host_ecdsa_key │ │ │ ├── ssh_host_ecdsa_key.pub │ │ │ ├── ssh_host_ed25519_key │ │ │ ├── ssh_host_ed25519_key.pub │ │ │ ├── ssh_host_rsa_key │ │ │ └── ssh_host_rsa_key.pub │ └── var │ │ └── lib │ │ └── alsa │ │ └── asound.state ├── generic │ └── brickstrap │ │ └── generic │ │ └── run ├── raspbian │ ├── brickstrap │ │ ├── _tar-only │ │ │ └── etc │ │ │ │ └── apt │ │ │ │ └── sources.list │ │ └── raspbian │ │ │ └── run │ └── etc │ │ ├── apt │ │ └── sources.list │ │ └── brickrun.conf ├── rpi-common │ ├── boot │ │ └── flash │ │ │ ├── cmdline.txt │ │ │ ├── config.txt │ │ │ └── overlays │ │ │ └── README.txt │ └── brickstrap │ │ └── rpi-common │ │ └── run ├── rpi │ ├── brickstrap │ │ └── rpi │ │ │ └── run │ └── etc │ │ ├── flash-kernel │ │ ├── .brickstrap-tar-exclude │ │ ├── db │ │ └── machine │ │ └── ssh │ │ ├── ssh_host_dsa_key │ │ ├── ssh_host_dsa_key.pub │ │ ├── ssh_host_ecdsa_key │ │ ├── ssh_host_ecdsa_key.pub │ │ ├── ssh_host_ed25519_key │ │ ├── ssh_host_ed25519_key.pub │ │ ├── ssh_host_rsa_key │ │ └── ssh_host_rsa_key.pub └── rpi2 │ ├── brickstrap │ └── rpi2 │ │ └── run │ └── etc │ ├── flash-kernel │ ├── .brickstrap-tar-exclude │ ├── db │ └── machine │ └── ssh │ ├── ssh_host_dsa_key │ ├── ssh_host_dsa_key.pub │ ├── ssh_host_ecdsa_key │ ├── ssh_host_ecdsa_key.pub │ ├── ssh_host_ed25519_key │ ├── ssh_host_ed25519_key.pub │ ├── ssh_host_rsa_key │ └── ssh_host_rsa_key.pub ├── rpi-base.dockerfile ├── rpi-generic.dockerfile ├── rpi2-base.dockerfile └── rpi2-generic.dockerfile /.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=lf 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: bash 2 | env: 3 | matrix: 4 | - DIST=bullseye HW_PLATFORM=ev3 5 | global: 6 | - secure: TQ0+345ltbgvkuRWl1ZNrPE8P2C+0Eppvqd3yqAtfBzCHrZIrIrZcZ8P+WvM3odvrEFrtx2Y8svAAZEO3F7l/h5bP3gmfFnxJJbefz7ml8S8Hs2QV/eUtUKXURCJhvlsIFacYu7WWSzHTYALJmBX+U47CDESKMgwjzBAK32bJukDx4cQ1w9YgyMs72UQUkEOKpkSUEieFoe1nfgLJG53wt0EMQcfOU5o+RcnG1q02eUtpZW7XWq7G8oFN+MLBQ2T8jBZZz0Rl/KGR4yTnb/oVo455O1FII04uCwlWZ1EiwPVWrqg8gOAJ7iQEoBF6dgH9kIvSlQuYo1nuIDW46tz8cAkJ6/Ha60NU/ZSMCmwK+dFQjpGyseYE6xwwP84Z00bqVGP46UohbIIHo8Y9SNYotlGkpYKVKRfQuXHch9p3OVMR0HahKQwfDTWJC8R1XTq4paMGU+j6eQuT861VyNOzvYy/3WPOkeGDFstLDCIQqLWNUC9CTWRSrBgXUe5J4bToWcEIdw4i8n1u/5mPeqfnlv2bHj7mwp14aDpQGztRhx8V9RBfsjuffOGzwY4urI7C2ifyKKSID1IwX9DB7FujQ8WMhYreLkNZBqdeFVWLx3mFyHcfGCCyiSUlBnt+L25UqdtDob+k2f5sTC4q4sps40mLr7lOvAhBzWOjx5eVjQ= 7 | - secure: XGO/Pak1wTXgC4hzmsJ4QbAxJkJdF5lshjEh6fzx364KPFzLbTIH1pH/mWdyS1TISWKV3rpH6REU8GWYlwO52Nz+0fMDiUvC7OOIia4A3gt7UNSedfmnv7WUNK5rnEXr0AiiroVY+0DGxxP5PSJf/ld2ixP6zCZtflhhmqLmFHwhpOsnCC2GfZPf/Q3PesR+B6G3WahtYeskOOBIjlBIKchR5y8RvuvncnxBZLSSMyXAMLdTzDsiZiFPG2q0m2Thphze6K7oJ5AcheUQMnXLMtE3vqqC/6r9BobQ9/W02zIoqXEIIB1A2czLswPXP499tBdy1WoWqNR3NqBbm7N4YYhevJVvb1acJRUwBUWSjOiWMT0X5Y/IoChp4uOtKiZp+9G3KpuHveRzHa2Uw6tiDDxhicVjaNWAAUBvX3aztfLPk1gGc331E2HUomwtIkNN6IwzO0YB045nTBZSOFfttU7t48+lKAntPF1AS6mUO0XzhfPGbAu1l84sQXlDpesthm5Sc7wyDzMPZiXa/aX05iFxDH1o6/FdieaUngMAU6kUSKl4cb6SagKCYAgFTtGbjMM0XRBv0lFzc1xX/iV5PxBhcfCsGQBKKFFBlhGEGaA19xd+x5ekPoaCQzXn9i8ZyDR4F84Xxmuhv9cuNunJwmGHMuFuDEPueu3lurSWEwk= 8 | dist: bionic 9 | services: docker 10 | before_script: 11 | - docker --version 12 | - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 13 | script: 14 | - docker build 15 | -t ev3dev/ev3dev-$DIST-$HW_PLATFORM-base 16 | -f ev3dev-$DIST/$HW_PLATFORM-base.dockerfile 17 | ev3dev-$DIST 18 | - docker build 19 | --build-arg BRICKSTRAP_IMAGE_NAME=ev3dev-$DIST-$HW_PLATFORM-generic-$TRAVIS_TAG 20 | -t ev3dev/ev3dev-$DIST-$HW_PLATFORM-generic 21 | -f ev3dev-$DIST/$HW_PLATFORM-generic.dockerfile 22 | ev3dev-$DIST 23 | after_success: 24 | - if [ -n "$TRAVIS_TAG" ]; then 25 | docker login -u $USER -p $PASSWORD; 26 | docker push ev3dev/ev3dev-$DIST-$HW_PLATFORM-base; 27 | docker tag ev3dev/ev3dev-$DIST-$HW_PLATFORM-base ev3dev/ev3dev-$DIST-$HW_PLATFORM-base:$TRAVIS_TAG; 28 | docker push ev3dev/ev3dev-$DIST-$HW_PLATFORM-base:$TRAVIS_TAG; 29 | docker push ev3dev/ev3dev-$DIST-$HW_PLATFORM-generic; 30 | docker tag ev3dev/ev3dev-$DIST-$HW_PLATFORM-generic ev3dev/ev3dev-$DIST-$HW_PLATFORM-generic:$TRAVIS_TAG; 31 | docker push ev3dev/ev3dev-$DIST-$HW_PLATFORM-generic:$TRAVIS_TAG; 32 | fi 33 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Ev3dev Docker Library 2 | ===================== 3 | 4 | This repository is used to create the official ev3dev [docker] images. 5 | 6 | [docker]: https://www.docker.com 7 | 8 | 9 | Image Variants 10 | -------------- 11 | 12 | There are many images. Here's how to sort them out. 13 | 14 | * The image names follow the pattern `ev3dev---`. 15 | * `` is the Debian distribution it is based on, e.g. `jessie`, `stretch`... 16 | * `` is the hardware platform, e.g. `ev3` for LEGO MINDSTORMS EV3, 17 | `bone` for BeagleBone, `rpi` for Raspberry Pi 0/1 and `rpi2` for Raspberry 18 | Pi 2/3. 19 | * `` describes which extra packages are installed. `base` is a minimal 20 | system. `generic` is what is used for the official image releases. 21 | 22 | 23 | Using the Images 24 | ---------------- 25 | 26 | * First, you will need to [install Docker Engine] on your system. 27 | * Then grab an ev3dev image: 28 | 29 | docker pull ev3dev/ev3dev-jessie-ev3-base 30 | 31 | * Make a shorter name for the image: 32 | 33 | docker tag ev3dev/ev3dev-jessie-ev3-base ev3 34 | 35 | * You can start a shell as the `robot` user in the image: 36 | 37 | docker run --rm -it ev3 su -l robot 38 | 39 | * But, the main purpose of these Docker images is to create bootable SD card 40 | images using the [brickstrap] tool. 41 | 42 | brickstrap create-tar ev3dev/ev3dev-jessie-ev3-generic ev3dev.tar 43 | brickstrap create-image ev3dev.tar ev3dev.img 44 | 45 | [install Docker Engine]: https://docs.docker.com/engine/installation/ 46 | [brickstrap]: https://github.com/ev3dev/brickstrap 47 | 48 | 49 | Tips 50 | ---- 51 | 52 | * You can use a specific version of an image by adding a "tag" to the name: 53 | 54 | ev3dev/ev3dev-jessie-ev3-base:2016-08-11 55 | -------------------------------------------------------------------------------- /ev3dev-bullseye/.dockerignore: -------------------------------------------------------------------------------- 1 | README.md 2 | -------------------------------------------------------------------------------- /ev3dev-bullseye/README.md: -------------------------------------------------------------------------------- 1 | ev3dev-bullseye 2 | ============== 3 | 4 | This directory contains everything for building ev3dev variants based on Debian 5 | bullseye. 6 | 7 | There is 1 hardware platform: 8 | * `ev3`: LEGO MINDSTORMS EV3 9 | 10 | There are 2 package variants: 11 | * `base`: minimal install 12 | * `generic`: contains many scripting languages (used for official image release) 13 | 14 | Each variant is composes of "layers" defined in the `layers` directory. Each 15 | "layer" there generally produces two docker "layers". 16 | 17 | Each layer conforms to the following rules: 18 | 19 | * The directory is copied to the docker file using the dockerfile `COPY` command. 20 | * The layer should contain a `brickstrap/` subdirectory where ` 21 | is the name of the layer (same name as the parent directory). 22 | 23 | The `brickstrap` directory can contain the following components. 24 | 25 | * `/run`: An executable file that performs the task of setting up the layer. 26 | This usually contains an `apt-get install` command and any other tweaks 27 | needed. This script should be kept to a minimum. It is preferred that 28 | as much configuration as possible is done by the packages themselves 29 | rather than manually here. 30 | * `_tar-exclude`: A text file containing a list of files that should be 31 | excluded from a SD card image file created from this docker image. 32 | This file is usually appended from the `run` script, otherwise it would 33 | be overwritten by new layers. 34 | * `_tar-only`: A directory containing a file structure that will be overlaid 35 | on the docker image root file system when creating an SD card image from 36 | the docker image. 37 | 38 | * The `brickstrap//run` script is run using the dockerfile `RUN` command. 39 | 40 | The dockerfile that will be used to actually create an image that will be released 41 | should contain the following: 42 | 43 | ARG BRICKSTRAP_IMAGE_NAME=unknown-ev3dev-bullseye-image 44 | ENV BRICKSTRAP_IMAGE_NAME ${BRICKSTRAP_IMAGE_NAME} 45 | RUN echo "$BRICKSTRAP_IMAGE_NAME" > /etc/ev3dev-release 46 | 47 | This allows a unique image name to be passed each time the image is built. 48 | -------------------------------------------------------------------------------- /ev3dev-bullseye/ev3-base.dockerfile: -------------------------------------------------------------------------------- 1 | # Minimal base image for ev3dev on LEGO MINDSTORMS EV3 hardware 2 | 3 | FROM arm32v5/debian:bullseye 4 | COPY layers/debian/ / 5 | COPY layers/base/ / 6 | RUN /brickstrap/base/run 7 | COPY layers/ev3/ / 8 | RUN /brickstrap/ev3/run 9 | -------------------------------------------------------------------------------- /ev3dev-bullseye/ev3-generic.dockerfile: -------------------------------------------------------------------------------- 1 | # Official ev3dev image for LEGO MINDSTORMS EV3 hardware 2 | 3 | FROM ev3dev/ev3dev-bullseye-ev3-base 4 | COPY layers/generic/ / 5 | RUN /brickstrap/generic/run 6 | ARG BRICKSTRAP_IMAGE_NAME=unknown-ev3dev-bullseye-ev3-generic 7 | ENV BRICKSTRAP_IMAGE_NAME ${BRICKSTRAP_IMAGE_NAME} 8 | RUN echo "$BRICKSTRAP_IMAGE_NAME" > /etc/ev3dev-release 9 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/brickstrap/_etcher_metadata/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | image/svg+xml 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/brickstrap/_report/etcher.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Create directory for use with Etcher 4 | 5 | image_dir="/brickstrap/_report/_out/$BRICKSTRAP_IMAGE_NAME" 6 | meta_dir="$image_dir/.meta" 7 | 8 | mkdir -p "$meta_dir" 9 | cp -a /brickstrap/_etcher_metadata/. "$meta_dir" 10 | 11 | cat > "$meta_dir/manifest.json" << EOF 12 | { 13 | "name": "ev3dev-bullseye", 14 | "version": "$BRICKSTRAP_IMAGE_NAME", 15 | "url": "http://www.ev3dev.org", 16 | "supportUrl": "http://www.ev3dev.org/support" 17 | } 18 | EOF 19 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/brickstrap/_report/release-notes.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Create a release notes template file. 4 | 5 | REPORT_DIR="/brickstrap/_report/_out" 6 | REPORT_FILE="$REPORT_DIR/$BRICKSTRAP_IMAGE_NAME-release-notes.md" 7 | 8 | echo "Creating $REPORT_FILE template..." 9 | cat > "$REPORT_FILE" << EOF 10 | Release notes for $BRICKSTRAP_IMAGE_NAME 11 | ======================================== 12 | 13 | Changes from previous version 14 | ----------------------------- 15 | 16 | 17 | Known issues 18 | ------------ 19 | 20 | 21 | Included Packages 22 | ----------------- 23 | 24 | \`\`\` 25 | $(dpkg -l) 26 | \`\`\` 27 | EOF 28 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/brickstrap/_tar-only/etc/hostname: -------------------------------------------------------------------------------- 1 | ev3dev 2 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/brickstrap/base/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | script_dir=$(dirname $(readlink -f $0)) 6 | 7 | echo script_dir=$script_dir 8 | 9 | run-parts --regex='[0-9a-zA-z_\-\.]+' --verbose --exit-on-error $script_dir/run.d 10 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/brickstrap/base/run.d/10-install-packages.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | debconf-set-selections << EOF 9 | locales locales/locales_to_be_generated multiselect en_US.UTF-8 UTF-8 10 | locales locales/default_environment_locale select en_US.UTF-8 11 | EOF 12 | 13 | 14 | apt-get update --yes 15 | apt-get install --yes --no-install-recommends \ 16 | alsa-utils \ 17 | avahi-daemon \ 18 | beep \ 19 | bluez \ 20 | brickd \ 21 | brickman \ 22 | brickrun \ 23 | bsdmainutils \ 24 | ca-certificates \ 25 | connman \ 26 | console-setup \ 27 | conspy \ 28 | curl \ 29 | dosfstools \ 30 | espeak \ 31 | ethtool \ 32 | ev3dev-adduser-config \ 33 | ev3dev-base-files \ 34 | ev3dev-bluez-config \ 35 | ev3dev-connman-config \ 36 | ev3dev-rules \ 37 | ev3dev-tools \ 38 | evtest \ 39 | fake-hwclock \ 40 | fbcat \ 41 | fbset \ 42 | file \ 43 | firmware-atheros \ 44 | firmware-linux-free \ 45 | firmware-ralink \ 46 | firmware-realtek \ 47 | firmware-zd1211 \ 48 | flash-kernel \ 49 | fontconfig \ 50 | i2c-tools \ 51 | ifupdown \ 52 | iproute2 \ 53 | iptables \ 54 | iputils-ping \ 55 | isc-dhcp-client \ 56 | kmod \ 57 | less \ 58 | libgrx-3.0-2-plugin-linuxfb \ 59 | libnss-mdns \ 60 | libnss-myhostname \ 61 | libnss-resolve \ 62 | libpam-systemd \ 63 | locales \ 64 | nano \ 65 | net-tools \ 66 | netbase \ 67 | netcat-openbsd \ 68 | netpbm \ 69 | ntp \ 70 | parted \ 71 | procps \ 72 | psmisc \ 73 | screen \ 74 | ssh \ 75 | sudo \ 76 | systemd-sysv \ 77 | tree \ 78 | usb-modeswitch \ 79 | usbutils \ 80 | vim \ 81 | wget \ 82 | wpasupplicant \ 83 | xfonts-100dpi \ 84 | xfonts-75dpi \ 85 | xfonts-base \ 86 | xfonts-efont-unicode \ 87 | xfonts-efont-unicode-ib \ 88 | xfonts-unifont 89 | 90 | # work around https://github.com/ev3dev/brickstrap/issues/63 91 | chmod u+s /bin/ping 92 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/brickstrap/base/run.d/30-ssh.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Allow passing ALL environment variables via ssh 6 | sed 's/\(AcceptEnv\).*/\1 \*/' -i /etc/ssh/sshd_config 7 | 8 | # Allow challenge-response passwords (for VS Code extension) 9 | sed 's/\(ChallengeResponseAuthentication\).*/\1 yes/' -i /etc/ssh/sshd_config 10 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/brickstrap/base/run.d/31-fontconfig.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Build the fontconfig cache. This takes a long time, so do it now rather 6 | # than the first time an application uses fontconfig. Otherwise, there is a 7 | # long delay starting brickman on the first boot. 8 | fc-cache 9 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/brickstrap/base/run.d/32-apt.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | systemctl disable apt-daily.timer 6 | systemctl disable apt-daily-upgrade.timer 7 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/brickstrap/base/run.d/40-enable-firstboot.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | update-rc.d firstboot defaults 6 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/brickstrap/base/run.d/60-journald-storage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # systemd-journald uses massive amounts of memory, so we use persistent storage to prevent this 6 | sed -i 's/^#Storage=auto$/Storage=persistent/' /etc/systemd/journald.conf 7 | mkdir -p /var/log/journal 8 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/brickstrap/base/run.d/80-backup-etc-flash-kernel-db.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This will be written over by other docker layers for bootstrapping purposes. 4 | # However, we want this file included in the final image file rather than the 5 | # file that replaced it. 6 | 7 | source_dir=/etc/flash-kernel 8 | dest_dir=/brickstrap/_tar-only/$source_dir 9 | 10 | mkdir -p $dest_dir 11 | cp $source_dir/db $dest_dir 12 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/brickstrap/base/run.d/90-robot-user.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Add default user and give them sudo powers 6 | adduser --disabled-password --gecos \"\" robot 7 | echo "robot:maker" | chpasswd 8 | usermod -a -G sudo robot 9 | 10 | # automatically start console-runner on boot 11 | systemctl enable console-runner@tty5.service 12 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/etc/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | hostname 2 | kernel-img.conf 3 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/etc/apt/apt.conf.d/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | 01Autoremove 2 | 70debconf 3 | docker-* 4 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/etc/apt/apt.conf.d/00ev3dev: -------------------------------------------------------------------------------- 1 | APT::Default-Release "o=ev3dev"; -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/etc/apt/apt.conf.d/99no-pdiffs: -------------------------------------------------------------------------------- 1 | Acquire::PDiffs "0"; 2 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/etc/apt/apt.conf.d/99no-translations: -------------------------------------------------------------------------------- 1 | Acquire::Languages "none"; 2 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/etc/apt/trusted.gpg.d/ev3dev-archive-keyring.gpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ev3dev/docker-library/a0d6926e6d74ea9ab2f079382cd41e8292279f47/ev3dev-bullseye/layers/base/etc/apt/trusted.gpg.d/ev3dev-archive-keyring.gpg -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/etc/avahi/services/sftp-ssh.service: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | %h 5 | 6 | _sftp-ssh._tcp 7 | 22 8 | ev3dev.robot.user=robot 9 | ev3dev.robot.home=/home/robot 10 | 11 | 12 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/etc/avahi/services/ssh.service: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | %h 5 | 6 | _ssh._tcp 7 | 22 8 | 9 | 10 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/etc/dbus-1/system.d/org.ev3dev.ConsoleRunner.conf: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/etc/fstab: -------------------------------------------------------------------------------- 1 | # 2 | /dev/mmcblk0p1 /boot/flash vfat defaults,errors=remount-ro,noatime 0 2 3 | /dev/mmcblk0p2 / ext4 defaults,errors=remount-ro,noatime 0 1 4 | proc /proc proc defaults 0 0 5 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/etc/init.d/firstboot: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | ### BEGIN INIT INFO 4 | # Provides: firstboot 5 | # Required-Start: $local_fs 6 | # Required-Stop: 7 | # Default-Start: 2 3 4 5 8 | # Default-Stop: 9 | # Short-Description: ev3dev first boot tasks 10 | ### END INIT INFO 11 | 12 | case "$1" in 13 | start) 14 | update-rc.d -f firstboot remove 15 | 16 | # expand the root file system 17 | parted --script /dev/mmcblk0 unit % resizepart 2 100% || \ 18 | echo 'unit % resizepart 2 Yes 100%' | parted ---pretend-input-tty /dev/mmcblk0 19 | # line above is a hack to work around a parted bug. 20 | # http://unix.stackexchange.com/a/202872/91467 21 | partprobe 22 | resize2fs /dev/mmcblk0p2 23 | ;; 24 | stop|restart|reload|force-reload|status) 25 | : 26 | ;; 27 | *) 28 | echo "Usage: /etc/init.d/firstboot start" 29 | exit 1 30 | ;; 31 | esac 32 | 33 | exit 0 34 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/etc/kernel-img.conf: -------------------------------------------------------------------------------- 1 | silent_modules=Yes 2 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/etc/security/limits.d/robot-nice.conf: -------------------------------------------------------------------------------- 1 | # 2 | robot - nice -20 3 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/etc/systemd/system/console-runner@.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Console runner for robot 3 | 4 | [Service] 5 | Type=simple 6 | ExecStart=/usr/bin/conrun-server 7 | User=robot 8 | StandardInput=tty-fail 9 | StandardOutput=tty 10 | StandardError=journal 11 | TTYPath=/dev/%i 12 | PAMName=console-runner 13 | Nice=-10 14 | 15 | [Install] 16 | WantedBy=multi-user.target 17 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/base/usr/sbin/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | policy-rc.d 2 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/debian/brickstrap/_tar-only/etc/apt/sources.list: -------------------------------------------------------------------------------- 1 | deb http://httpredir.debian.org/debian bullseye main contrib non-free 2 | #deb-src http://httpredir.debian.org/debian bullseye main contrib non-free 3 | 4 | #deb http://security.debian.org/ bullseye/updates main contrib non-free 5 | #deb-src http://security.debian.org/ bullseye/updates main contrib non-free 6 | 7 | deb http://archive.ev3dev.org/debian bullseye main 8 | #deb-src http://archive.ev3dev.org/debian bullseye main 9 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/debian/etc/apt/sources.list: -------------------------------------------------------------------------------- 1 | # httpredir.debian.org does not work with CI servers like travis, so using 2 | # a fixed mirror here. This file is replaced when images are created with 3 | # brickstrap. 4 | 5 | deb http://ftp.debian.org/debian bullseye main contrib non-free 6 | #deb-src http://ftp.debian.org/debian bullseye main contrib non-free 7 | 8 | #deb http://security.debian.org/ bullseye/updates main contrib non-free 9 | #deb-src http://security.debian.org/ bullseye/updates main contrib non-free 10 | 11 | deb http://archive.ev3dev.org/debian bullseye main 12 | #deb-src http://archive.ev3dev.org/debian bullseye main 13 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/ev3/brickstrap/ev3/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | mkdir -p /boot/flash 6 | 7 | export DEBIAN_FRONTEND=noninteractive 8 | export DEBCONF_NONINTERACTIVE_SEEN=true 9 | 10 | apt-get install --yes --no-install-recommends \ 11 | ev3-config \ 12 | ev3-systemd \ 13 | firmware-ti-connectivity \ 14 | linux-image-ev3dev-ev3 \ 15 | u-boot-tools \ 16 | zram-init 17 | 18 | # make sure serial-getty@.service does not try to use the serial ports because 19 | # we use them for other things 20 | systemctl mask serial-getty@ttyS0.service 21 | systemctl mask serial-getty@ttyS1.service 22 | systemctl mask serial-getty@ttyS2.service 23 | systemctl mask serial-getty@ttySU0.service 24 | systemctl mask serial-getty@ttySU1.service 25 | 26 | # enable zram swap file 27 | systemctl enable zram_swap.service 28 | 29 | # Fix file permissions on private ssh host keys. (git does not preserve 30 | # permissions other than the executable bit) 31 | chmod 600 /etc/ssh/ssh_host_*_key 32 | 33 | # set the default font (fonts-tom-thumb is installed as dependency of ev3-systemd) 34 | echo -e -n "\nFONT='Lat15-TomThumb4x6.psf.gz'" >> /etc/default/console-setup 35 | setupcon --save-only 36 | 37 | # get u-boot 38 | 39 | u_boot_version="v2018.07-rc0-ev3dev2" 40 | u_boot_url="https://github.com/ev3dev/u-boot/releases/download" 41 | u_boot_files="boot.scr u-boot.bin uEnv.txt" 42 | 43 | for f in $u_boot_files; do 44 | wget $u_boot_url/$u_boot_version/$f 45 | done 46 | 47 | echo "90e104632df87ff1ee64fc7e1e155c23 boot.scr 48 | a38be33090e17f142e45bf39cf50c8b6 u-boot.bin 49 | c5999cd67d643e563ec2244cb313a9b5 uEnv.txt" | md5sum --check - 50 | 51 | for f in $u_boot_files; do 52 | mv $f /boot/flash/ 53 | done 54 | 55 | # add entry to fstab to work around systemd complaint about not enough free 56 | # space in /run/system. 57 | 58 | cat >> /etc/fstab << EOF 59 | tmpfs /run tmpfs nosuid,noexec,size=20M,nr_inodes=4096 0 0 60 | EOF 61 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/ev3/etc/brickrun.conf: -------------------------------------------------------------------------------- 1 | [stop-button] 2 | # LEGO MINDSTORMS EV3 back button 3 | dev_path=/dev/input/by-path/platform-gpio_keys-event 4 | key_code=14 5 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/ev3/etc/flash-kernel/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | machine 2 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/ev3/etc/flash-kernel/machine: -------------------------------------------------------------------------------- 1 | LEGO MINDSTORMS EV3 2 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/ev3/etc/ssh/ssh_host_dsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN DSA PRIVATE KEY----- 2 | MIIBuwIBAAKBgQDGOXDeiuPQwrMVJS9Lx6+kz2Ni4TNWkRVHIZlw/ih8IOw2K5Gl 3 | Um+OyfMZuKN4dS3yZcCkUxKVkonrRV8JWRDX5gGk/ZAwm3NxeiC0Ic76CfMCF7zE 4 | C+7AERGU9DNUU/ZCK6DbFPYF8L2uKxIhp4HAj4QBPn8Mu0heaqZjT8UnzQIVAOad 5 | MiVGb+5dztSprbRzeHqZE93rAoGAds8WW5lXz5XLvw/tUub9vGEP4DD3aXTPZYP+ 6 | rs/alG8u0Vsvc51Njr9JM/rkwZNOEdRU2a+R+v27nAveBPvC5S7sd7iRfgz53URc 7 | c576Z/ODjsATZrI7krCIhBBNfrGE0UK9rpGhmn21ekqupoxaIHYXDavQgi0iv4Nn 8 | +XDp0GYCgYB3DZceIK7LM7PXLGYnL4mYGl1nmIcg2CqaPZO239bBfSCdoJPab2id 9 | pyT9O1/e0/KtZ69mDW3d2Q/1d5ENPcKO1hdcRDai48oOHqf2Z15zQIhOTc5rxbEW 10 | +xHj2ajOH7zmLmqyHQfpLQbD1Q+cVUEU9NuEI1FO2VanCgxTkABiEAIVAJJz7bkv 11 | UG3g69KElu3TkD7Zf+1L 12 | -----END DSA PRIVATE KEY----- 13 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/ev3/etc/ssh/ssh_host_dsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBAMY5cN6K49DCsxUlL0vHr6TPY2LhM1aRFUchmXD+KHwg7DYrkaVSb47J8xm4o3h1LfJlwKRTEpWSietFXwlZENfmAaT9kDCbc3F6ILQhzvoJ8wIXvMQL7sAREZT0M1RT9kIroNsU9gXwva4rEiGngcCPhAE+fwy7SF5qpmNPxSfNAAAAFQDmnTIlRm/uXc7Uqa20c3h6mRPd6wAAAIB2zxZbmVfPlcu/D+1S5v28YQ/gMPdpdM9lg/6uz9qUby7RWy9znU2Ov0kz+uTBk04R1FTZr5H6/bucC94E+8LlLux3uJF+DPndRFxznvpn84OOwBNmsjuSsIiEEE1+sYTRQr2ukaGafbV6Sq6mjFogdhcNq9CCLSK/g2f5cOnQZgAAAIB3DZceIK7LM7PXLGYnL4mYGl1nmIcg2CqaPZO239bBfSCdoJPab2idpyT9O1/e0/KtZ69mDW3d2Q/1d5ENPcKO1hdcRDai48oOHqf2Z15zQIhOTc5rxbEW+xHj2ajOH7zmLmqyHQfpLQbD1Q+cVUEU9NuEI1FO2VanCgxTkABiEA== 2 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/ev3/etc/ssh/ssh_host_ecdsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEIMKv/e0e5zgDkF/Youy94lRKhs5O59rYSfGm3oz9RJ7poAoGCCqGSM49 3 | AwEHoUQDQgAEpntNUh8ppI4qO+t59liAUxD5uUJaEA2gU6DTQEPp7voZy4UWmN4s 4 | zN6ICsyZkgYic53bI6VjM6udg9REtl7HBw== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/ev3/etc/ssh/ssh_host_ecdsa_key.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKZ7TVIfKaSOKjvrefZYgFMQ+blCWhANoFOg00BD6e76GcuFFpjeLMzeiArMmZIGInOd2yOlYzOrnYPURLZexwc= 2 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/ev3/etc/ssh/ssh_host_ed25519_key: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW 3 | QyNTUxOQAAACC9FvTpnM+5aDqD3YymFEMt5kyMgRBs8dfoJKsZewmYiQAAAIjgttaF4LbW 4 | hQAAAAtzc2gtZWQyNTUxOQAAACC9FvTpnM+5aDqD3YymFEMt5kyMgRBs8dfoJKsZewmYiQ 5 | AAAECoR7RtCCQv+Uw4PGk23UnB2MG7u4FudBZnB7ICeS0zpb0W9Omcz7loOoPdjKYUQy3m 6 | TIyBEGzx1+gkqxl7CZiJAAAAAAECAwQF 7 | -----END OPENSSH PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/ev3/etc/ssh/ssh_host_ed25519_key.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL0W9Omcz7loOoPdjKYUQy3mTIyBEGzx1+gkqxl7CZiJ 2 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/ev3/etc/ssh/ssh_host_rsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEA7OSHUDDaSYejJM3fgIgBSez6clUAOVA1lmwI9/UMIL0CcqAd 3 | 29KEL8qF/IZd4UPb615R26+44XXvqf6j6xHDLIYnWhUs7fgOTjBT5XzgeeXa3OIH 4 | hkZuatYx6s3aggqA0+a1YZ05xfPNQVH1ckaLzS4mQTEhkSgFLq2C/dR9wELGUIST 5 | WezKeKBRXXXDqQ2nD0Z6GxLpW17hoaQa/FDhpVhPrEnyYcm1g5BX/XEhId2S8FX7 6 | wu+9ChWR8Ooz48v4Lx8F78Ek1NM01ogID/sxMkJKQw1No68pDpOpEBZ0fc8uQZg+ 7 | RgvEArwCm6t7QGE4nH+RjCmpAIAYmO8jHBq2hQIDAQABAoIBAQDcO5mQ89n8gh0q 8 | GjuvQsHv+GDd6ihLIEaxkb7Exwx/YzjjV/hqZUx/Iclu+3xL8MqEBywTEUrQUNR/ 9 | Nj0uTVUmD5KGLSmYEwU5q7RTpcULjqXqtDhKnTAKIxhFMxvxydH7LoFyPrl3TzGD 10 | iK6nju5p0n2+He8XBB3NR4KAeQxvr9rJ7CJJWcJWaPZOE1DuAWlSnXOrCGky9/5k 11 | bN7QtYHvSysnJiFnxVaG0QYb8n03ktSz3e4DzQyeW4t0B3ILmrcpwFlcH6kqoCD4 12 | eXeopJYYWLgXPyL4T9M69JSlAL8p5PFfwKX6He5OWtuyjIGFHxeC3YHvybvh1vEQ 13 | ASrXcgABAoGBAPcrsAD4zR2I004NcVsa/vMpJuikM+EUlxWeyS8qp6U6KFNPY4gm 14 | 88d09g1LbtU6cDdqJ+qMeCgsTs5nCpvRcKihOrP8AOQMeF0lgcvF8N5jjxmFMoA5 15 | MHlWDkVHoIR4aVxRv0U9Fyn91j4h/Uk1kn3F2ptjome29uSs/5+fh8WhAoGBAPVa 16 | 2gh5V48njTp57SbvmAQ3175WFLqU5KGsWqN+Nt842L+ls440fO28sEmzHZ6NAb4v 17 | YQRusIVbL//6MobIFabuMkpNmG64/PHw6cxHxTgyzkfvXtw96WTrT8/GweLvMhNC 18 | /6vhaN5njFBAO/W7nJe84Bnd/e2+KalFRVEY9P5lAoGABLuycCJTkzg2i60YOZ1n 19 | unJUS2oxkCLbzc8vnRadBT363bWMe2P7kRs9Rv3lznGDCpyezRAJkQNgMvWoL1mw 20 | ZZpIzH+L6NIQUABS3vsYZLnVWLDDSc9OjVRHi64WddL0eY8bMZE861HwE1qFRiyf 21 | dIcga49Z4dCQI8roTj8402ECgYBI75sFDd1DhwRqr7gZ7PuJtXgC8t/ynzRgAzZm 22 | h6yUKvfz8LQxv9Srb34QSpixe0VbXgY/JRCAdB0OwTen7W7SUtjMUcjQkVlQKse1 23 | nFg6XpAHvla6rgTlpTXylCkq5uRB6ZbLZ5SfGLUTXiT05bKlQNZ1mhJUTEViNl9m 24 | vj6GKQKBgQDDjdmkW3n9zvRUKjuGqaRtPjmHc8RpFKnwCwJXOMioSlzaLb22afqJ 25 | V5fu7NHPe5APBqKKQgAA1BBAQDNybVuVLZ2XUN1OfuAGSspwBXxyPEs6jGIM7pw4 26 | +0g60qHB/eteimvozHGDRLX0cfRYAOvKt91sRPGC3jmpFx2sH/qtkA== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/ev3/etc/ssh/ssh_host_rsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDs5IdQMNpJh6Mkzd+AiAFJ7PpyVQA5UDWWbAj39QwgvQJyoB3b0oQvyoX8hl3hQ9vrXlHbr7jhde+p/qPrEcMshidaFSzt+A5OMFPlfOB55drc4geGRm5q1jHqzdqCCoDT5rVhnTnF881BUfVyRovNLiZBMSGRKAUurYL91H3AQsZQhJNZ7Mp4oFFddcOpDacPRnobEulbXuGhpBr8UOGlWE+sSfJhybWDkFf9cSEh3ZLwVfvC770KFZHw6jPjy/gvHwXvwSTU0zTWiAgP+zEyQkpDDU2jrykOk6kQFnR9zy5BmD5GC8QCvAKbq3tAYTicf5GMKakAgBiY7yMcGraF 2 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/ev3/var/lib/alsa/asound.state: -------------------------------------------------------------------------------- 1 | state.legoev3 { 2 | control.1 { 3 | iface MIXER 4 | name 'Beep Playback Volume' 5 | value 51 6 | comment { 7 | access 'read write' 8 | type INTEGER 9 | count 1 10 | range '0 - 256' 11 | } 12 | } 13 | control.2 { 14 | iface MIXER 15 | name 'PCM Playback Volume' 16 | value 256 17 | comment { 18 | access 'read write' 19 | type INTEGER 20 | count 1 21 | range '0 - 256' 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /ev3dev-bullseye/layers/generic/brickstrap/generic/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | apt-get install --yes --no-install-recommends \ 9 | bzip2 \ 10 | ev3dev-media \ 11 | fortune \ 12 | fortunes-min \ 13 | gdbserver \ 14 | git \ 15 | python3 \ 16 | python3-bluez \ 17 | python3-ev3dev2 \ 18 | python3-evdev \ 19 | python3-gi \ 20 | python3-paho-mqtt \ 21 | python3-pyudev \ 22 | python3-serial \ 23 | python3-setuptools \ 24 | python3-smbus \ 25 | smbnetfs \ 26 | sshfs \ 27 | telnet \ 28 | unzip \ 29 | zip 30 | 31 | # Mask systemd-rfkill - ConnMan takes care of this instead 32 | sudo systemctl mask systemd-rfkill.service 33 | sudo systemctl mask systemd-rfkill.socket 34 | 35 | # flash-kernel is triggered by some of the package installs and results in 36 | # backup files being created in the boot partition. 37 | rm -f /boot/flash/*.bak 38 | -------------------------------------------------------------------------------- /ev3dev-buster/.dockerignore: -------------------------------------------------------------------------------- 1 | README.md 2 | -------------------------------------------------------------------------------- /ev3dev-buster/README.md: -------------------------------------------------------------------------------- 1 | ev3dev-buster 2 | ============== 3 | 4 | This directory contains everything for building ev3dev variants based on Debian 5 | buster. 6 | 7 | There are 4 hardware platforms: 8 | * `bone`: BeagleBone White/Black/Green 9 | * `ev3`: LEGO MINDSTORMS EV3 10 | * `rpi`: Raspberry Pi 0/1 11 | * `rpi2`: Rapsberry Pi 2/3 12 | 13 | There are 2 package variants: 14 | * `base`: minimal install 15 | * `generic`: contains many scripting languages (used for official image release) 16 | 17 | Each variant is composes of "layers" defined in the `layers` directory. Each 18 | "layer" there generally produces two docker "layers". 19 | 20 | Each layer conforms to the following rules: 21 | 22 | * The directory is copied to the docker file using the dockerfile `COPY` command. 23 | * The layer should contain a `brickstrap/` subdirectory where ` 24 | is the name of the layer (same name as the parent directory). 25 | 26 | The `brickstrap` directory can contain the following components. 27 | 28 | * `/run`: An executable file that performs the task of setting up the layer. 29 | This usually contains an `apt-get install` command and any other tweaks 30 | needed. This script should be kept to a minimum. It is preferred that 31 | as much configuration as possible is done by the packages themselves 32 | rather than manually here. 33 | * `_tar-exclude`: A text file containing a list of files that should be 34 | excluded from a SD card image file created from this docker image. 35 | This file is usually appended from the `run` script, otherwise it would 36 | be overwritten by new layers. 37 | * `_tar-only`: A directory containing a file structure that will be overlaid 38 | on the docker image root file system when creating an SD card image from 39 | the docker image. 40 | 41 | * The `brickstrap//run` script is run using the dockerfile `RUN` command. 42 | 43 | The dockerfile that will be used to actually create an image that will be released 44 | should contain the following: 45 | 46 | ARG BRICKSTRAP_IMAGE_NAME=unknown-ev3dev-buster-image 47 | ENV BRICKSTRAP_IMAGE_NAME ${BRICKSTRAP_IMAGE_NAME} 48 | RUN echo "$BRICKSTRAP_IMAGE_NAME" > /etc/ev3dev-release 49 | 50 | This allows a unique image name to be passed each time the image is built. 51 | -------------------------------------------------------------------------------- /ev3dev-buster/bone-base.dockerfile: -------------------------------------------------------------------------------- 1 | # Minimal base image for ev3dev on BeagleBone hardware 2 | 3 | FROM ev3dev/debian-buster-armhf-qemu-minbase 4 | COPY layers/debian/ / 5 | COPY layers/base/ / 6 | RUN /brickstrap/base/run 7 | COPY layers/bone/ / 8 | RUN /brickstrap/bone/run 9 | -------------------------------------------------------------------------------- /ev3dev-buster/bone-generic.dockerfile: -------------------------------------------------------------------------------- 1 | # Official ev3dev image for BeagleBone hardware 2 | 3 | FROM ev3dev/ev3dev-buster-bone-base 4 | COPY layers/generic/ / 5 | RUN /brickstrap/generic/run 6 | ARG BRICKSTRAP_IMAGE_NAME=unknown-ev3dev-buster-bone-generic 7 | ENV BRICKSTRAP_IMAGE_NAME ${BRICKSTRAP_IMAGE_NAME} 8 | RUN echo "$BRICKSTRAP_IMAGE_NAME" > /etc/ev3dev-release 9 | -------------------------------------------------------------------------------- /ev3dev-buster/ev3-base.dockerfile: -------------------------------------------------------------------------------- 1 | # Minimal base image for ev3dev on LEGO MINDSTORMS EV3 hardware 2 | 3 | FROM ev3dev/debian-buster-armel-qemu-minbase 4 | COPY layers/debian/ / 5 | COPY layers/base/ / 6 | RUN /brickstrap/base/run 7 | COPY layers/ev3/ / 8 | RUN /brickstrap/ev3/run 9 | -------------------------------------------------------------------------------- /ev3dev-buster/ev3-generic.dockerfile: -------------------------------------------------------------------------------- 1 | # Official ev3dev image for LEGO MINDSTORMS EV3 hardware 2 | 3 | FROM ev3dev/ev3dev-buster-ev3-base 4 | COPY layers/generic/ / 5 | RUN /brickstrap/generic/run 6 | ARG BRICKSTRAP_IMAGE_NAME=unknown-ev3dev-buster-ev3-generic 7 | ENV BRICKSTRAP_IMAGE_NAME ${BRICKSTRAP_IMAGE_NAME} 8 | RUN echo "$BRICKSTRAP_IMAGE_NAME" > /etc/ev3dev-release 9 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/brickstrap/_etcher_metadata/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | image/svg+xml 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/brickstrap/_report/etcher.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Create directory for use with Etcher 4 | 5 | image_dir="/brickstrap/_report/_out/$BRICKSTRAP_IMAGE_NAME" 6 | meta_dir="$image_dir/.meta" 7 | 8 | mkdir -p "$meta_dir" 9 | cp -a /brickstrap/_etcher_metadata/. "$meta_dir" 10 | 11 | cat > "$meta_dir/manifest.json" << EOF 12 | { 13 | "name": "ev3dev-buster", 14 | "version": "$BRICKSTRAP_IMAGE_NAME", 15 | "url": "http://www.ev3dev.org", 16 | "supportUrl": "http://www.ev3dev.org/support" 17 | } 18 | EOF 19 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/brickstrap/_report/release-notes.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Create a release notes template file. 4 | 5 | REPORT_DIR="/brickstrap/_report/_out" 6 | REPORT_FILE="$REPORT_DIR/$BRICKSTRAP_IMAGE_NAME-release-notes.md" 7 | 8 | echo "Creating $REPORT_FILE template..." 9 | cat > "$REPORT_FILE" << EOF 10 | Release notes for $BRICKSTRAP_IMAGE_NAME 11 | ======================================== 12 | 13 | Changes from previous version 14 | ----------------------------- 15 | 16 | 17 | Known issues 18 | ------------ 19 | 20 | 21 | Included Packages 22 | ----------------- 23 | 24 | \`\`\` 25 | $(dpkg -l) 26 | \`\`\` 27 | EOF 28 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/brickstrap/_tar-only/etc/hostname: -------------------------------------------------------------------------------- 1 | ev3dev 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/brickstrap/base/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | script_dir=$(dirname $(readlink -f $0)) 6 | 7 | echo script_dir=$script_dir 8 | 9 | run-parts --regex='[0-9a-zA-z_\-\.]+' --verbose --exit-on-error $script_dir/run.d 10 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/brickstrap/base/run.d/10-install-packages.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | debconf-set-selections << EOF 9 | locales locales/locales_to_be_generated multiselect en_US.UTF-8 UTF-8 10 | locales locales/default_environment_locale select en_US.UTF-8 11 | EOF 12 | 13 | 14 | apt-get update --yes 15 | apt-get install --yes --no-install-recommends \ 16 | alsa-utils \ 17 | avahi-daemon \ 18 | beep \ 19 | bluez \ 20 | brickd \ 21 | brickman \ 22 | brickrun \ 23 | bsdmainutils \ 24 | ca-certificates \ 25 | connman \ 26 | console-setup \ 27 | conspy \ 28 | curl \ 29 | dosfstools \ 30 | espeak \ 31 | ethtool \ 32 | ev3dev-adduser-config \ 33 | ev3dev-base-files \ 34 | ev3dev-bluez-config \ 35 | ev3dev-connman-config \ 36 | ev3dev-rules \ 37 | ev3dev-tools \ 38 | evtest \ 39 | fake-hwclock \ 40 | fbcat \ 41 | fbset \ 42 | file \ 43 | firmware-atheros \ 44 | firmware-linux-free \ 45 | firmware-ralink \ 46 | firmware-realtek \ 47 | firmware-zd1211 \ 48 | flash-kernel \ 49 | fontconfig \ 50 | i2c-tools \ 51 | ifupdown \ 52 | iproute2 \ 53 | iptables \ 54 | iputils-ping \ 55 | isc-dhcp-client \ 56 | kmod \ 57 | less \ 58 | libgrx-3.0-plugin-linuxfb \ 59 | libnss-mdns \ 60 | libnss-myhostname \ 61 | libnss-resolve \ 62 | libpam-systemd \ 63 | locales \ 64 | nano \ 65 | net-tools \ 66 | netbase \ 67 | netcat-openbsd \ 68 | netpbm \ 69 | ntp \ 70 | parted \ 71 | procps \ 72 | psmisc \ 73 | screen \ 74 | ssh \ 75 | sudo \ 76 | systemd-sysv \ 77 | tree \ 78 | usb-modeswitch \ 79 | usbutils \ 80 | vim \ 81 | wget \ 82 | wpasupplicant \ 83 | xfonts-100dpi \ 84 | xfonts-75dpi \ 85 | xfonts-base \ 86 | xfonts-efont-unicode \ 87 | xfonts-efont-unicode-ib \ 88 | xfonts-unifont 89 | 90 | # work around https://github.com/ev3dev/brickstrap/issues/63 91 | chmod u+s /bin/ping 92 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/brickstrap/base/run.d/30-ssh.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Allow passing ALL environment variables via ssh 6 | sed 's/\(AcceptEnv\).*/\1 \*/' -i /etc/ssh/sshd_config 7 | 8 | # Allow challenge-response passwords (for VS Code extension) 9 | sed 's/\(ChallengeResponseAuthentication\).*/\1 yes/' -i /etc/ssh/sshd_config 10 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/brickstrap/base/run.d/31-fontconfig.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Build the fontconfig cache. This takes a long time, so do it now rather 6 | # than the first time an application uses fontconfig. Otherwise, there is a 7 | # long delay starting brickman on the first boot. 8 | fc-cache 9 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/brickstrap/base/run.d/32-apt.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | systemctl disable apt-daily.timer 6 | systemctl disable apt-daily-upgrade.timer 7 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/brickstrap/base/run.d/40-enable-firstboot.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | update-rc.d firstboot defaults 6 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/brickstrap/base/run.d/60-journald-storage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # systemd-journald uses massive amounts of memory, so we use persistent storage to prevent this 6 | sed -i 's/^#Storage=auto$/Storage=persistent/' /etc/systemd/journald.conf 7 | mkdir -p /var/log/journal 8 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/brickstrap/base/run.d/80-backup-etc-flash-kernel-db.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This will be written over by other docker layers for bootstrapping purposes. 4 | # However, we want this file included in the final image file rather than the 5 | # file that replaced it. 6 | 7 | source_dir=/etc/flash-kernel 8 | dest_dir=/brickstrap/_tar-only/$source_dir 9 | 10 | mkdir -p $dest_dir 11 | cp $source_dir/db $dest_dir 12 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/brickstrap/base/run.d/90-robot-user.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Add default user and give them sudo powers 6 | adduser --disabled-password --gecos \"\" robot 7 | echo "robot:maker" | chpasswd 8 | usermod -a -G sudo robot 9 | 10 | # automatically start console-runner on boot 11 | systemctl enable console-runner@tty5.service 12 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/etc/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | hostname 2 | kernel-img.conf 3 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/etc/apt/apt.conf.d/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | 01Autoremove 2 | 70debconf 3 | docker-* 4 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/etc/apt/apt.conf.d/00ev3dev: -------------------------------------------------------------------------------- 1 | APT::Default-Release "o=ev3dev"; -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/etc/apt/apt.conf.d/99no-pdiffs: -------------------------------------------------------------------------------- 1 | Acquire::PDiffs "0"; 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/etc/apt/apt.conf.d/99no-translations: -------------------------------------------------------------------------------- 1 | Acquire::Languages "none"; 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/etc/apt/trusted.gpg.d/ev3dev-archive-keyring.gpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ev3dev/docker-library/a0d6926e6d74ea9ab2f079382cd41e8292279f47/ev3dev-buster/layers/base/etc/apt/trusted.gpg.d/ev3dev-archive-keyring.gpg -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/etc/avahi/services/sftp-ssh.service: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | %h 5 | 6 | _sftp-ssh._tcp 7 | 22 8 | ev3dev.robot.user=robot 9 | ev3dev.robot.home=/home/robot 10 | 11 | 12 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/etc/avahi/services/ssh.service: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | %h 5 | 6 | _ssh._tcp 7 | 22 8 | 9 | 10 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/etc/dbus-1/system.d/org.ev3dev.ConsoleRunner.conf: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/etc/fstab: -------------------------------------------------------------------------------- 1 | # 2 | /dev/mmcblk0p1 /boot/flash vfat defaults,errors=remount-ro,noatime 0 2 3 | /dev/mmcblk0p2 / ext4 defaults,errors=remount-ro,noatime 0 1 4 | proc /proc proc defaults 0 0 5 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/etc/init.d/firstboot: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | ### BEGIN INIT INFO 4 | # Provides: firstboot 5 | # Required-Start: $local_fs 6 | # Required-Stop: 7 | # Default-Start: 2 3 4 5 8 | # Default-Stop: 9 | # Short-Description: ev3dev first boot tasks 10 | ### END INIT INFO 11 | 12 | case "$1" in 13 | start) 14 | update-rc.d -f firstboot remove 15 | 16 | # expand the root file system 17 | parted --script /dev/mmcblk0 unit % resizepart 2 100% || \ 18 | echo 'unit % resizepart 2 Yes 100%' | parted ---pretend-input-tty /dev/mmcblk0 19 | # line above is a hack to work around a parted bug. 20 | # http://unix.stackexchange.com/a/202872/91467 21 | partprobe 22 | resize2fs /dev/mmcblk0p2 23 | ;; 24 | stop|restart|reload|force-reload|status) 25 | : 26 | ;; 27 | *) 28 | echo "Usage: /etc/init.d/firstboot start" 29 | exit 1 30 | ;; 31 | esac 32 | 33 | exit 0 34 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/etc/kernel-img.conf: -------------------------------------------------------------------------------- 1 | silent_modules=Yes 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/etc/security/limits.d/robot-nice.conf: -------------------------------------------------------------------------------- 1 | # 2 | robot - nice -20 3 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/etc/systemd/system/console-runner@.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Console runner for robot 3 | 4 | [Service] 5 | Type=simple 6 | ExecStart=/usr/bin/conrun-server 7 | User=robot 8 | StandardInput=tty-fail 9 | StandardOutput=tty 10 | StandardError=journal 11 | TTYPath=/dev/%i 12 | PAMName=console-runner 13 | Nice=-10 14 | 15 | [Install] 16 | WantedBy=multi-user.target 17 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/usr/bin/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | qemu-arm-static 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/base/usr/sbin/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | policy-rc.d 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/bone/boot/flash/uEnv.txt: -------------------------------------------------------------------------------- 1 | # Select your cape from the following 2 | # ----------------------------------- 3 | 4 | # Uncomment only one "cape=...* line. The "...-lms2012" options use alternate 5 | # drivers for motors and sensors used by `lms2012-compat` instead of the usual 6 | # ev3dev drivers for motors and sensors. 7 | 8 | # FatcatLab EVB 9 | #cape=evb 10 | #cape=evb-lms2012 11 | 12 | # QuestCape 13 | #cape=quest 14 | #cape=quest-lms2012 15 | 16 | 17 | # Advanced options 18 | # ---------------- 19 | 20 | # kernel boot arguments 21 | cmdline=splash console=tty1 consoleblank=0 22 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/bone/brickstrap/bone/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | apt-get install --yes --no-install-recommends \ 9 | evb-systemd \ 10 | linux-image-ev3dev-bb.org \ 11 | lms2012-compat \ 12 | u-boot-tools 13 | 14 | # Fix file permissions on private ssh host keys. (git does not preserve 15 | # permissions other than the executable bit) 16 | chmod 600 /etc/ssh/ssh_host_*_key 17 | 18 | # Download BeagleBone Bootloader 19 | # 20 | # To find out the latest stable version of the files, run: 21 | # 22 | # wget https://rcn-ee.com/repos/bootloader/latest/bootloader-ng -q -O - | grep "ABI2:am335x_evm:" 23 | # 24 | 25 | mlo_url=https://rcn-ee.com/repos/bootloader/am335x_evm/MLO-am335x_evm-v2017.09-r7 26 | uboot_url=https://rcn-ee.com/repos/bootloader/am335x_evm/u-boot-am335x_evm-v2017.09-r7.img 27 | dest_dir=/brickstrap/_beagle-boot 28 | 29 | mkdir -p $dest_dir 30 | 31 | wget $mlo_url -O $dest_dir/MLO 32 | echo "d359f47f8803dc82f68969d381be96b8 $dest_dir/MLO" | md5sum --check - 33 | 34 | wget $uboot_url -O $dest_dir/u-boot.img 35 | echo "5aabd32abe3f2692395f17ffccfa53cb $dest_dir/u-boot.img" | md5sum --check - 36 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/bone/etc/brickrun.conf: -------------------------------------------------------------------------------- 1 | [stop-button] 2 | # Fatcatlab EVB back button 3 | dev_path=platform-evb-buttons-event 4 | key_code=14 5 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/bone/etc/flash-kernel/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | machine 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/bone/etc/flash-kernel/machine: -------------------------------------------------------------------------------- 1 | TI AM335x BeagleBone -------------------------------------------------------------------------------- /ev3dev-buster/layers/bone/etc/ssh/ssh_host_dsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN DSA PRIVATE KEY----- 2 | MIIBvAIBAAKBgQDTkKzyei7LMKZrpnYgYv3kDwmcWHAa1eWBdN0AEPc6mkO6Heep 3 | RBeJ4jnHhtqn/gLhUPsjLuI43iraKzwzJu+OHDNlPVgZbT6U5w2gyyVcl+6roJiC 4 | BzsVgP1zoLQKXbqxKPBxrSQfk9L7lol6HyKNVAV1XW9gs2yS24S55g8cWwIVAKwt 5 | h6tsErtlVEkEBYLGd2MWgliTAoGBAIdDfwGFwgJQG3/YKE38Caa3LuQNAEJH3HP0 6 | sM5sL5Ved1S+wqt6Fg86Gq1C4BBCYJltbrCVPswVifzq5Ddgj5d2Hg1TF3eNmpT1 7 | W0t4Q6geCRsN5ZPdyiauwFVd4nxgXdFm1SyARFjCW0BPbo+oO1EodzxIjotrUalv 8 | /OF4TRe0AoGBAKotHwOUyClQIgx83ywWDrCZVxVzd6OwDa7j+pHf/7BzuWj5YBRa 9 | dVP5DHedPDgWIRubCasgiMhgY6mLyhN3mHUyCHEGXMIdW0M01ETYVr5ZXe32GnaK 10 | q2XLEd35lNv7SLKpkigQCSn/NgscVvJvDD00/zFm6r4rBj54iVYZj7JtAhRtxIp/ 11 | /vdfKx2B/hzhHXtCBrPifw== 12 | -----END DSA PRIVATE KEY----- 13 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/bone/etc/ssh/ssh_host_dsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBANOQrPJ6LsswpmumdiBi/eQPCZxYcBrV5YF03QAQ9zqaQ7od56lEF4niOceG2qf+AuFQ+yMu4jjeKtorPDMm744cM2U9WBltPpTnDaDLJVyX7qugmIIHOxWA/XOgtApdurEo8HGtJB+T0vuWiXofIo1UBXVdb2CzbJLbhLnmDxxbAAAAFQCsLYerbBK7ZVRJBAWCxndjFoJYkwAAAIEAh0N/AYXCAlAbf9goTfwJprcu5A0AQkfcc/SwzmwvlV53VL7Cq3oWDzoarULgEEJgmW1usJU+zBWJ/OrkN2CPl3YeDVMXd42alPVbS3hDqB4JGw3lk93KJq7AVV3ifGBd0WbVLIBEWMJbQE9uj6g7USh3PEiOi2tRqW/84XhNF7QAAACBAKotHwOUyClQIgx83ywWDrCZVxVzd6OwDa7j+pHf/7BzuWj5YBRadVP5DHedPDgWIRubCasgiMhgY6mLyhN3mHUyCHEGXMIdW0M01ETYVr5ZXe32GnaKq2XLEd35lNv7SLKpkigQCSn/NgscVvJvDD00/zFm6r4rBj54iVYZj7Jt 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/bone/etc/ssh/ssh_host_ecdsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEINP6FhOWdITpJL9+nZbitdrIxrdwGlsJS0olA1Bh+SsZoAoGCCqGSM49 3 | AwEHoUQDQgAECQ9nIaG4SilllAUewr84RoPDVoSu25zCS9VwIpDOjacWIPrV+kYE 4 | +alnDbgAsNXU8d8EcZ1irqNhKRvdbX8Y7Q== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/bone/etc/ssh/ssh_host_ecdsa_key.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAkPZyGhuEopZZQFHsK/OEaDw1aErtucwkvVcCKQzo2nFiD61fpGBPmpZw24ALDV1PHfBHGdYq6jYSkb3W1/GO0= 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/bone/etc/ssh/ssh_host_ed25519_key: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW 3 | QyNTUxOQAAACAmCk/3F111X1Mz44EwHqnRma98yO32kRxXmZLpdhBT+QAAAIi76XVcu+l1 4 | XAAAAAtzc2gtZWQyNTUxOQAAACAmCk/3F111X1Mz44EwHqnRma98yO32kRxXmZLpdhBT+Q 5 | AAAEDHW7WUl+Qz9r/xrUfXfX7scUC6TRm1yzuZ/P/+B6DUDiYKT/cXXXVfUzPjgTAeqdGZ 6 | r3zI7faRHFeZkul2EFP5AAAAAAECAwQF 7 | -----END OPENSSH PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/bone/etc/ssh/ssh_host_ed25519_key.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICYKT/cXXXVfUzPjgTAeqdGZr3zI7faRHFeZkul2EFP5 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/bone/etc/ssh/ssh_host_rsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpQIBAAKCAQEAqMuyWh59wFNJP0D+LhpUZ5GKBcHE21wsqzlum611hXy8P51/ 3 | SO7BiR1EHhjKGZ/H0lsuZ+skvz4g06lS8uhzFPdSNl04nLtDiVq2cV3Fi9oR2mrt 4 | aDHvLdGVkHejQB3j4F5tjlb7HBmTgj6KKLgm0xVpx9UXeDgauRkkRQgD9WupccaG 5 | NXs8jSlXDe21KldEuvjX5gbJta4MRTjd6GOjQLWS/qlcLotoozx9C14B0Ib8L/jM 6 | 6Uaq1mDhE2Gqv6nF+DNCu4rD3yo42/8yUEGbMcyncddmBCugWWaCmJSUzFo/QIaa 7 | oqHKhO0Pxs82hK2j2eUhYeLLt1HvKCDtI7A7FwIDAQABAoIBAQCgnEnVdEPld5ov 8 | pND23zjG33X8ala8/yTFu70iRleXr4uT4HHX3M6sf/trw9yxqxZAc2Bhox3xFtW3 9 | cNsrpMC0B2zjq6oNgCYQEQ+eKUKqAtKQCMRjK3hRGaZ9s0jT3l0RBeiq0trW7wMr 10 | oARoIGlY2nwvl/RgAMp0q5aWVL0njEA77fFDCx2/qp5AON7bpWU+7fGxhZxOjeD3 11 | LCjCwvFjJ2F57ANUxfN2Hq69P4yZYU0Wf4auqJ8afU8CoVJKDsDEsrc+/yqgdhHP 12 | ZjXz8COMf+r3d51dHDEhs8L/oEuMxY+Y2f4/MCVSB5qGo8qUV+mydwnPpmlbNiMr 13 | G8si2AuZAoGBAN7t44NJrHAvZg1aX0CpeEA1DyFDqTEomgATcl+NsFUabsJvYg4B 14 | ZgWnpmyswCzt8OhADHGPDBx/14txn/QM8O4fbTENdHdMoZZ4n8ocvbd7sVoz0Q1D 15 | 23p7tmD8xFsiC5sz+0GtosqTSEDq3bQ4SZulHkbA7OKMHm05qKhD6fLFAoGBAMHV 16 | /tDIm5T4g2XmrcUK2y4AVtp0cFVAu2Ry+o17he/6gM+tAb+3aPug3yNfhcmmOAIM 17 | G4Nj64XB8NN6mW7kNfbKVm5JpnLeKHJqkKTjgeNjdjLRucFpcYbchcZArv8dobnG 18 | xeJOVlhoUJxnjLpfIiNqDlJGFepYKw+8BTjhSeQrAoGBAIjo/pYt0/peEcXXn7I9 19 | oj2EmJMsU6d+MP4k81Qd15KcljNRZp4FW9vTN5F8ktXFF/P7CelgGecS2JSqJrsi 20 | i4EiydObWNC/vmmEEVZ2Skl6bNRiCFymNQ/HFJ4B/rGdehVKWl/evKC+zVwZIinB 21 | e+tb//kiGRmVRkZ8Z8lXVEGlAoGAUyqVDVG1Z2KFRjiGgE+bIQ6mNU7WT83ZWUz3 22 | 8bJ5EjEiCXkKkg6IrcYlV1EJ3y5BQ6ecOnCpwhcnVCV7JZgnCz9ffCx/jTOCmSzd 23 | 6NFwjnbDZSSVFcY/HoUJpLlmHDHDjSkbCHFiHMaNJ75KJEDjLdy4Tlah2o1/1F1w 24 | xCntgUcCgYEAtC5QuJ5s7jwWtE3kzvvUyUrcVKsg5NfyDZ3hTRtsddJ33ZcLmB/M 25 | /a49vDWNj8GvnwHryt41SfFEyg9wAV3hD3xlr8mJOf/LjfLKQknTFZp/0Gc/6Vxg 26 | /Gjwj6oKcumomijaf9UeVNsbJjmfxUSG5LNgjS3dKUTbQNYtH2Gtunc= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/bone/etc/ssh/ssh_host_rsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCoy7JaHn3AU0k/QP4uGlRnkYoFwcTbXCyrOW6brXWFfLw/nX9I7sGJHUQeGMoZn8fSWy5n6yS/PiDTqVLy6HMU91I2XTicu0OJWrZxXcWL2hHaau1oMe8t0ZWQd6NAHePgXm2OVvscGZOCPooouCbTFWnH1Rd4OBq5GSRFCAP1a6lxxoY1ezyNKVcN7bUqV0S6+NfmBsm1rgxFON3oY6NAtZL+qVwui2ijPH0LXgHQhvwv+MzpRqrWYOETYaq/qcX4M0K7isPfKjjb/zJQQZsxzKdx12YEK6BZZoKYlJTMWj9AhpqiocqE7Q/GzzaEraPZ5SFh4su3Ue8oIO0jsDsX 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/debian/brickstrap/_tar-only/etc/apt/sources.list: -------------------------------------------------------------------------------- 1 | deb http://httpredir.debian.org/debian buster main contrib non-free 2 | #deb-src http://httpredir.debian.org/debian buster main contrib non-free 3 | 4 | #deb http://security.debian.org/ buster/updates main contrib non-free 5 | #deb-src http://security.debian.org/ buster/updates main contrib non-free 6 | 7 | deb http://archive.ev3dev.org/debian buster main 8 | #deb-src http://archive.ev3dev.org/debian buster main 9 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/debian/etc/apt/sources.list: -------------------------------------------------------------------------------- 1 | # httpredir.debian.org does not work with CI servers like travis, so using 2 | # a fixed mirror here. This file is replaced when images are created with 3 | # brickstrap. 4 | 5 | deb http://ftp.debian.org/debian buster main contrib non-free 6 | #deb-src http://ftp.debian.org/debian buster main contrib non-free 7 | 8 | #deb http://security.debian.org/ buster/updates main contrib non-free 9 | #deb-src http://security.debian.org/ buster/updates main contrib non-free 10 | 11 | deb http://archive.ev3dev.org/debian buster main 12 | #deb-src http://archive.ev3dev.org/debian buster main 13 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/ev3/brickstrap/ev3/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | mkdir -p /boot/flash 6 | 7 | export DEBIAN_FRONTEND=noninteractive 8 | export DEBCONF_NONINTERACTIVE_SEEN=true 9 | 10 | apt-get install --yes --no-install-recommends \ 11 | ev3-config \ 12 | ev3-systemd \ 13 | firmware-ti-connectivity \ 14 | linux-image-ev3dev-ev3 \ 15 | lms2012-compat \ 16 | u-boot-tools \ 17 | zram-init 18 | 19 | # make sure serial-getty@.service does not try to use the serial ports because 20 | # we use them for other things 21 | systemctl mask serial-getty@ttyS0.service 22 | systemctl mask serial-getty@ttyS1.service 23 | systemctl mask serial-getty@ttyS2.service 24 | systemctl mask serial-getty@ttySU0.service 25 | systemctl mask serial-getty@ttySU1.service 26 | 27 | # enable zram swap file 28 | systemctl enable zram_swap.service 29 | 30 | # Fix file permissions on private ssh host keys. (git does not preserve 31 | # permissions other than the executable bit) 32 | chmod 600 /etc/ssh/ssh_host_*_key 33 | 34 | # set the default font (fonts-tom-thumb is installed as dependency of ev3-systemd) 35 | echo -e -n "\nFONT='Lat15-TomThumb4x6.psf.gz'" >> /etc/default/console-setup 36 | setupcon --save-only 37 | 38 | # get u-boot 39 | 40 | u_boot_version="v2018.07-rc0-ev3dev2" 41 | u_boot_url="https://github.com/ev3dev/u-boot/releases/download" 42 | u_boot_files="boot.scr u-boot.bin uEnv.txt" 43 | 44 | for f in $u_boot_files; do 45 | wget $u_boot_url/$u_boot_version/$f 46 | done 47 | 48 | echo "90e104632df87ff1ee64fc7e1e155c23 boot.scr 49 | a38be33090e17f142e45bf39cf50c8b6 u-boot.bin 50 | c5999cd67d643e563ec2244cb313a9b5 uEnv.txt" | md5sum --check - 51 | 52 | for f in $u_boot_files; do 53 | mv $f /boot/flash/ 54 | done 55 | 56 | # add entry to fstab to work around systemd complaint about not enough free 57 | # space in /run/system. 58 | 59 | cat >> /etc/fstab << EOF 60 | tmpfs /run tmpfs nosuid,noexec,size=20M,nr_inodes=4096 0 0 61 | EOF 62 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/ev3/etc/brickrun.conf: -------------------------------------------------------------------------------- 1 | [stop-button] 2 | # LEGO MINDSTORMS EV3 back button 3 | dev_path=/dev/input/by-path/platform-gpio_keys-event 4 | key_code=14 5 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/ev3/etc/flash-kernel/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | machine 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/ev3/etc/flash-kernel/machine: -------------------------------------------------------------------------------- 1 | LEGO MINDSTORMS EV3 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/ev3/etc/ssh/ssh_host_dsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN DSA PRIVATE KEY----- 2 | MIIBuwIBAAKBgQDGOXDeiuPQwrMVJS9Lx6+kz2Ni4TNWkRVHIZlw/ih8IOw2K5Gl 3 | Um+OyfMZuKN4dS3yZcCkUxKVkonrRV8JWRDX5gGk/ZAwm3NxeiC0Ic76CfMCF7zE 4 | C+7AERGU9DNUU/ZCK6DbFPYF8L2uKxIhp4HAj4QBPn8Mu0heaqZjT8UnzQIVAOad 5 | MiVGb+5dztSprbRzeHqZE93rAoGAds8WW5lXz5XLvw/tUub9vGEP4DD3aXTPZYP+ 6 | rs/alG8u0Vsvc51Njr9JM/rkwZNOEdRU2a+R+v27nAveBPvC5S7sd7iRfgz53URc 7 | c576Z/ODjsATZrI7krCIhBBNfrGE0UK9rpGhmn21ekqupoxaIHYXDavQgi0iv4Nn 8 | +XDp0GYCgYB3DZceIK7LM7PXLGYnL4mYGl1nmIcg2CqaPZO239bBfSCdoJPab2id 9 | pyT9O1/e0/KtZ69mDW3d2Q/1d5ENPcKO1hdcRDai48oOHqf2Z15zQIhOTc5rxbEW 10 | +xHj2ajOH7zmLmqyHQfpLQbD1Q+cVUEU9NuEI1FO2VanCgxTkABiEAIVAJJz7bkv 11 | UG3g69KElu3TkD7Zf+1L 12 | -----END DSA PRIVATE KEY----- 13 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/ev3/etc/ssh/ssh_host_dsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBAMY5cN6K49DCsxUlL0vHr6TPY2LhM1aRFUchmXD+KHwg7DYrkaVSb47J8xm4o3h1LfJlwKRTEpWSietFXwlZENfmAaT9kDCbc3F6ILQhzvoJ8wIXvMQL7sAREZT0M1RT9kIroNsU9gXwva4rEiGngcCPhAE+fwy7SF5qpmNPxSfNAAAAFQDmnTIlRm/uXc7Uqa20c3h6mRPd6wAAAIB2zxZbmVfPlcu/D+1S5v28YQ/gMPdpdM9lg/6uz9qUby7RWy9znU2Ov0kz+uTBk04R1FTZr5H6/bucC94E+8LlLux3uJF+DPndRFxznvpn84OOwBNmsjuSsIiEEE1+sYTRQr2ukaGafbV6Sq6mjFogdhcNq9CCLSK/g2f5cOnQZgAAAIB3DZceIK7LM7PXLGYnL4mYGl1nmIcg2CqaPZO239bBfSCdoJPab2idpyT9O1/e0/KtZ69mDW3d2Q/1d5ENPcKO1hdcRDai48oOHqf2Z15zQIhOTc5rxbEW+xHj2ajOH7zmLmqyHQfpLQbD1Q+cVUEU9NuEI1FO2VanCgxTkABiEA== 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/ev3/etc/ssh/ssh_host_ecdsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEIMKv/e0e5zgDkF/Youy94lRKhs5O59rYSfGm3oz9RJ7poAoGCCqGSM49 3 | AwEHoUQDQgAEpntNUh8ppI4qO+t59liAUxD5uUJaEA2gU6DTQEPp7voZy4UWmN4s 4 | zN6ICsyZkgYic53bI6VjM6udg9REtl7HBw== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/ev3/etc/ssh/ssh_host_ecdsa_key.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKZ7TVIfKaSOKjvrefZYgFMQ+blCWhANoFOg00BD6e76GcuFFpjeLMzeiArMmZIGInOd2yOlYzOrnYPURLZexwc= 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/ev3/etc/ssh/ssh_host_ed25519_key: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW 3 | QyNTUxOQAAACC9FvTpnM+5aDqD3YymFEMt5kyMgRBs8dfoJKsZewmYiQAAAIjgttaF4LbW 4 | hQAAAAtzc2gtZWQyNTUxOQAAACC9FvTpnM+5aDqD3YymFEMt5kyMgRBs8dfoJKsZewmYiQ 5 | AAAECoR7RtCCQv+Uw4PGk23UnB2MG7u4FudBZnB7ICeS0zpb0W9Omcz7loOoPdjKYUQy3m 6 | TIyBEGzx1+gkqxl7CZiJAAAAAAECAwQF 7 | -----END OPENSSH PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/ev3/etc/ssh/ssh_host_ed25519_key.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL0W9Omcz7loOoPdjKYUQy3mTIyBEGzx1+gkqxl7CZiJ 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/ev3/etc/ssh/ssh_host_rsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEA7OSHUDDaSYejJM3fgIgBSez6clUAOVA1lmwI9/UMIL0CcqAd 3 | 29KEL8qF/IZd4UPb615R26+44XXvqf6j6xHDLIYnWhUs7fgOTjBT5XzgeeXa3OIH 4 | hkZuatYx6s3aggqA0+a1YZ05xfPNQVH1ckaLzS4mQTEhkSgFLq2C/dR9wELGUIST 5 | WezKeKBRXXXDqQ2nD0Z6GxLpW17hoaQa/FDhpVhPrEnyYcm1g5BX/XEhId2S8FX7 6 | wu+9ChWR8Ooz48v4Lx8F78Ek1NM01ogID/sxMkJKQw1No68pDpOpEBZ0fc8uQZg+ 7 | RgvEArwCm6t7QGE4nH+RjCmpAIAYmO8jHBq2hQIDAQABAoIBAQDcO5mQ89n8gh0q 8 | GjuvQsHv+GDd6ihLIEaxkb7Exwx/YzjjV/hqZUx/Iclu+3xL8MqEBywTEUrQUNR/ 9 | Nj0uTVUmD5KGLSmYEwU5q7RTpcULjqXqtDhKnTAKIxhFMxvxydH7LoFyPrl3TzGD 10 | iK6nju5p0n2+He8XBB3NR4KAeQxvr9rJ7CJJWcJWaPZOE1DuAWlSnXOrCGky9/5k 11 | bN7QtYHvSysnJiFnxVaG0QYb8n03ktSz3e4DzQyeW4t0B3ILmrcpwFlcH6kqoCD4 12 | eXeopJYYWLgXPyL4T9M69JSlAL8p5PFfwKX6He5OWtuyjIGFHxeC3YHvybvh1vEQ 13 | ASrXcgABAoGBAPcrsAD4zR2I004NcVsa/vMpJuikM+EUlxWeyS8qp6U6KFNPY4gm 14 | 88d09g1LbtU6cDdqJ+qMeCgsTs5nCpvRcKihOrP8AOQMeF0lgcvF8N5jjxmFMoA5 15 | MHlWDkVHoIR4aVxRv0U9Fyn91j4h/Uk1kn3F2ptjome29uSs/5+fh8WhAoGBAPVa 16 | 2gh5V48njTp57SbvmAQ3175WFLqU5KGsWqN+Nt842L+ls440fO28sEmzHZ6NAb4v 17 | YQRusIVbL//6MobIFabuMkpNmG64/PHw6cxHxTgyzkfvXtw96WTrT8/GweLvMhNC 18 | /6vhaN5njFBAO/W7nJe84Bnd/e2+KalFRVEY9P5lAoGABLuycCJTkzg2i60YOZ1n 19 | unJUS2oxkCLbzc8vnRadBT363bWMe2P7kRs9Rv3lznGDCpyezRAJkQNgMvWoL1mw 20 | ZZpIzH+L6NIQUABS3vsYZLnVWLDDSc9OjVRHi64WddL0eY8bMZE861HwE1qFRiyf 21 | dIcga49Z4dCQI8roTj8402ECgYBI75sFDd1DhwRqr7gZ7PuJtXgC8t/ynzRgAzZm 22 | h6yUKvfz8LQxv9Srb34QSpixe0VbXgY/JRCAdB0OwTen7W7SUtjMUcjQkVlQKse1 23 | nFg6XpAHvla6rgTlpTXylCkq5uRB6ZbLZ5SfGLUTXiT05bKlQNZ1mhJUTEViNl9m 24 | vj6GKQKBgQDDjdmkW3n9zvRUKjuGqaRtPjmHc8RpFKnwCwJXOMioSlzaLb22afqJ 25 | V5fu7NHPe5APBqKKQgAA1BBAQDNybVuVLZ2XUN1OfuAGSspwBXxyPEs6jGIM7pw4 26 | +0g60qHB/eteimvozHGDRLX0cfRYAOvKt91sRPGC3jmpFx2sH/qtkA== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/ev3/etc/ssh/ssh_host_rsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDs5IdQMNpJh6Mkzd+AiAFJ7PpyVQA5UDWWbAj39QwgvQJyoB3b0oQvyoX8hl3hQ9vrXlHbr7jhde+p/qPrEcMshidaFSzt+A5OMFPlfOB55drc4geGRm5q1jHqzdqCCoDT5rVhnTnF881BUfVyRovNLiZBMSGRKAUurYL91H3AQsZQhJNZ7Mp4oFFddcOpDacPRnobEulbXuGhpBr8UOGlWE+sSfJhybWDkFf9cSEh3ZLwVfvC770KFZHw6jPjy/gvHwXvwSTU0zTWiAgP+zEyQkpDDU2jrykOk6kQFnR9zy5BmD5GC8QCvAKbq3tAYTicf5GMKakAgBiY7yMcGraF 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/ev3/var/lib/alsa/asound.state: -------------------------------------------------------------------------------- 1 | state.legoev3 { 2 | control.1 { 3 | iface MIXER 4 | name 'Beep Playback Volume' 5 | value 51 6 | comment { 7 | access 'read write' 8 | type INTEGER 9 | count 1 10 | range '0 - 256' 11 | } 12 | } 13 | control.2 { 14 | iface MIXER 15 | name 'PCM Playback Volume' 16 | value 256 17 | comment { 18 | access 'read write' 19 | type INTEGER 20 | count 1 21 | range '0 - 256' 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/generic/brickstrap/generic/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | apt-get install --yes --no-install-recommends \ 9 | bzip2 \ 10 | ev3dev-media \ 11 | fortune \ 12 | fortunes-min \ 13 | gdbserver \ 14 | gir1.2-ev3devkit-0.5 \ 15 | git \ 16 | gjs \ 17 | lua5.3 \ 18 | micropython \ 19 | micropython-ev3dev2 \ 20 | micropython-lib \ 21 | mosquitto \ 22 | mosquitto-clients \ 23 | mpy-cross \ 24 | nfs-common \ 25 | python \ 26 | python-evdev \ 27 | python-gobject \ 28 | python-pyudev \ 29 | python-setuptools \ 30 | python-smbus \ 31 | python3 \ 32 | python3-agt \ 33 | python3-bluez \ 34 | python3-ev3dev2 \ 35 | python3-evdev \ 36 | python3-gi \ 37 | python3-libpixyusb \ 38 | python3-ptvsd \ 39 | python3-pyudev \ 40 | python3-serial \ 41 | python3-setuptools \ 42 | python3-smbus \ 43 | smbnetfs \ 44 | sshfs \ 45 | telnet \ 46 | unzip \ 47 | zip 48 | 49 | # some packages are not available for armel 50 | if [[ "$(dpkg --print-architecture)" != "armel" ]]; then 51 | apt-get install --yes --no-install-recommends nodejs 52 | fi 53 | 54 | if dpkg -s linux-image-ev3dev-ev3 >/dev/null 2>&1; then 55 | apt-get install --yes --no-install-recommends \ 56 | jri-11-ev3 57 | fi 58 | 59 | # Mask systemd-rfkill - ConnMan takes care of this instead 60 | sudo systemctl mask systemd-rfkill.service 61 | sudo systemctl mask systemd-rfkill.socket 62 | 63 | # disable nfs from running by default since most won't use it 64 | systemctl disable nfs-common.service 65 | systemctl disable rpcbind.service 66 | 67 | # Most people won't use MQTT, so off by default 68 | systemctl disable mosquitto.service 69 | 70 | # flash-kernel is triggered by some of the package installs and results in 71 | # backup files being created in the boot partition. 72 | rm -f /boot/flash/*.bak 73 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/raspbian/brickstrap/_tar-only/etc/apt/sources.list: -------------------------------------------------------------------------------- 1 | deb http://mirrordirector.raspbian.org/raspbian buster main contrib non-free rpi 2 | #deb-src http://mirrordirector.raspbian.org/raspbian buster main contrib non-free rpi 3 | 4 | deb http://archive.ev3dev.org/raspbian buster main 5 | #deb-src http://archive.ev3dev.org/raspbian buster main 6 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/raspbian/brickstrap/raspbian/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | # These files are incorrectly marked as required in the raspbian repository. 9 | # see https://bugs.launchpad.net/raspbian/+bug/1541204 10 | apt-get purge --yes \ 11 | gcc-4.9-base \ 12 | gcc-5-base \ 13 | gcc-6-base \ 14 | gcc-7-base \ 15 | liblocale-gettext-perl \ 16 | libtext-charwidth-perl \ 17 | libtext-iconv-perl \ 18 | libtext-wrapi18n-perl \ 19 | xz-utils 20 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/raspbian/etc/apt/sources.list: -------------------------------------------------------------------------------- 1 | # This file is replaced when building images with brickstrap 2 | 3 | deb http://archive.raspbian.org/raspbian buster main contrib non-free rpi 4 | #deb-src http://archive.raspbian.org/raspbian buster main contrib non-free rpi 5 | 6 | deb http://archive.ev3dev.org/raspbian buster main 7 | #deb-src http://archive.ev3dev.org/raspbian buster main 8 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/raspbian/etc/brickrun.conf: -------------------------------------------------------------------------------- 1 | [status-leds] 2 | # BrickPi only has blue LEDs 3 | color=blue 4 | 5 | [stop-button] 6 | # This is the PiStorms GO button 7 | dev_path=/dev/input/by-path/platform-3f804000.i2c-event 8 | key_code=28 9 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi-common/boot/flash/cmdline.txt: -------------------------------------------------------------------------------- 1 | dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait consoleblank=0 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi-common/boot/flash/overlays/README.txt: -------------------------------------------------------------------------------- 1 | This directory is where the bootloader looks for device tree overlays. 2 | You can copy overlays from /usr/lib/linux-image-/overlays/*.dtbo 3 | or create your own. You must also enable the overlays in config.txt. 4 | 5 | Run `zless /usr/share/doc/raspberrypi-bootloader/README.overlays.gz` or visit 6 | for 7 | more information. 8 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi-common/brickstrap/rpi-common/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | apt-get install --yes --no-install-recommends \ 9 | bash-completion \ 10 | bluez-firmware \ 11 | firmware-brcm80211 \ 12 | firmware-brickpi3 \ 13 | libraspberrypi-bin \ 14 | libraspberrypi0 \ 15 | raspberrypi-bootloader \ 16 | rpi-systemd 17 | 18 | # Copy all of the overlays to the FAT partition 19 | cp /usr/lib/linux-image-*[^.old]/overlays/*.dtbo /boot/flash/overlays/ 20 | 21 | # make sure serial-getty@.service does not try to use the serial port 22 | # so that it can be used by BrickPi 23 | systemctl mask serial-getty@ttyAMA0.service 24 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi/brickstrap/rpi/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | # need a place to put the kernel 9 | mkdir -p /boot/flash 10 | 11 | apt-get install --yes --no-install-recommends \ 12 | linux-image-ev3dev-rpi 13 | 14 | # Copy additional device tree files - only Model B is installed by flash-kernel 15 | # and this image needs to support multiple models. 16 | cp /usr/lib/linux-image-*[^.old]/bcm2708-rpi-zero.dtb /boot/flash/ 17 | cp /usr/lib/linux-image-*[^.old]/bcm2708-rpi-zero-w.dtb /boot/flash/ 18 | cp /usr/lib/linux-image-*[^.old]/bcm2708-rpi-b-plus.dtb /boot/flash/ 19 | 20 | # Fix file permissions on private ssh host keys. (git does not preserve 21 | # permissions other than the executable bit) 22 | chmod 600 /etc/ssh/ssh_host_*_key 23 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi/etc/flash-kernel/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | db 2 | machine 3 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi/etc/flash-kernel/db: -------------------------------------------------------------------------------- 1 | Machine: Raspberry Pi Model B 2 | Boot-Kernel-Path: boot/flash/kernel.img 3 | Boot-DTB-Path: boot/flash/bcm2708-rpi-b.dtb 4 | Boot-Device: 5 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi/etc/flash-kernel/machine: -------------------------------------------------------------------------------- 1 | Raspberry Pi Model B 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi/etc/ssh/ssh_host_dsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN DSA PRIVATE KEY----- 2 | MIIBuwIBAAKBgQCEWxylXfz/hi19k2Kx0S+xVH42ywL6E4n8ElwjSsIaXKVYDQDb 3 | i8h2koQvAClcBro2N1AauRO3FHaYhf7zjEeFt3efhlgC2hrYvVIsPjFuEtxeFLD3 4 | sa9uJ3u/5/mDL+6CHbwIVUZrEwSRi5OUiic72mzZvswLMd269gWx18GibQIVANXI 5 | eKNJ3JOJo28KtoM4vRrbyNInAoGATvtRhhgyLqjeIlBNYDVHKEr/0VJCcgiBOuuA 6 | krXQ9VZW4jYvAgsp+grIoxdPga+RkANjoRicn1HmNUaadtTbjFu+runQC5QGj3Tn 7 | lDvgNjEe3q4zclS9s23ty+2iC1GH1etNOMOOfsIGw0QfqfQUBG6R/ZTvAF5EmOg9 8 | WS+5tkwCgYBgLLR6zckBgveIKC4Shs/PHhYu6WEs9nt43Ido/9oouA6jWsXUhf6e 9 | TesCbdinz6aXDyMD2E8Nv9y/mGN28Xujor/amgU5V2OicGYsYYUtuIPk6V2XGIq3 10 | MC7G1KBANl/mlNnTVq54fTppb8O4fCy78BS5jiftFSzTQm9N5xeRGwIVAMTBC4wK 11 | k9Thk8JCgtB2ZtvZY4mU 12 | -----END DSA PRIVATE KEY----- 13 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi/etc/ssh/ssh_host_dsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBAIRbHKVd/P+GLX2TYrHRL7FUfjbLAvoTifwSXCNKwhpcpVgNANuLyHaShC8AKVwGujY3UBq5E7cUdpiF/vOMR4W3d5+GWALaGti9Uiw+MW4S3F4UsPexr24ne7/n+YMv7oIdvAhVRmsTBJGLk5SKJzvabNm+zAsx3br2BbHXwaJtAAAAFQDVyHijSdyTiaNvCraDOL0a28jSJwAAAIBO+1GGGDIuqN4iUE1gNUcoSv/RUkJyCIE664CStdD1VlbiNi8CCyn6CsijF0+Br5GQA2OhGJyfUeY1Rpp21NuMW76u6dALlAaPdOeUO+A2MR7erjNyVL2zbe3L7aILUYfV6004w45+wgbDRB+p9BQEbpH9lO8AXkSY6D1ZL7m2TAAAAIBgLLR6zckBgveIKC4Shs/PHhYu6WEs9nt43Ido/9oouA6jWsXUhf6eTesCbdinz6aXDyMD2E8Nv9y/mGN28Xujor/amgU5V2OicGYsYYUtuIPk6V2XGIq3MC7G1KBANl/mlNnTVq54fTppb8O4fCy78BS5jiftFSzTQm9N5xeRGw== 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi/etc/ssh/ssh_host_ecdsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEIDMTs2dTNSm293uTi2Z1BN/NSMt7+8g8wxnKw50pxGcioAoGCCqGSM49 3 | AwEHoUQDQgAEPIB4QNta15nnoSps4ULkGZSEy3NCOLRWnaAx+E1xP/rD2Sh7KcH4 4 | dt81Ke+OIivry4+6VOXW0dJ6MrJ7xfU7JA== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi/etc/ssh/ssh_host_ecdsa_key.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDyAeEDbWteZ56EqbOFC5BmUhMtzQji0Vp2gMfhNcT/6w9koeynB+HbfNSnvjiIr68uPulTl1tHSejKye8X1OyQ= 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi/etc/ssh/ssh_host_ed25519_key: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW 3 | QyNTUxOQAAACAnPM0b7Ny1tqTLYUjXyipr0X+FnSkVq+dfpmNSlOBKpAAAAIiHeku/h3pL 4 | vwAAAAtzc2gtZWQyNTUxOQAAACAnPM0b7Ny1tqTLYUjXyipr0X+FnSkVq+dfpmNSlOBKpA 5 | AAAED3m2Ob0lfGSi3Mwsf8gVx7XaThlIcS5fymVyirzFwRJic8zRvs3LW2pMthSNfKKmvR 6 | f4WdKRWr51+mY1KU4EqkAAAAAAECAwQF 7 | -----END OPENSSH PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi/etc/ssh/ssh_host_ed25519_key.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICc8zRvs3LW2pMthSNfKKmvRf4WdKRWr51+mY1KU4Eqk 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi/etc/ssh/ssh_host_rsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEA8rEeTI/tek2aSz0C2xhMhyTK414KFKvj2EZPReShgyJm0a6Y 3 | U3CDHKEz8ynxB64RmcNo9jFdwzwqotZ8OOQJ2yyz6ES5ese0JxxMxFHdPpkt1Isz 4 | mCxxisBLbP3JRPUFnezq45aXaauTPjltoLNH0Z6eiM66xsV2yDU5MWjySxSDsSqF 5 | uB14d8a2xGPAGWQn9sigWz60st3FCRqTr4qh4oKOJBpfv5BtNQfxTX4/+ugpePRv 6 | zLJMoDeDmKRErW5CxTbEdEpcmKtSiwtYyrU2Xkj4Fg7vqp3Gheu8TKTjn2rmPgiw 7 | /UGTHEG4CcN4ZgCIOIpk5/UtjfyhEa5ZmVtmfQIDAQABAoIBADQkzA7FKdAKVmlt 8 | /WwXp3Gt/Q2nCeFxIS45xRSOUAl93buVmNLsrK79D81iKJBu3Qc9jhK/fpbRGZQN 9 | I3mRvXBjBXCVO4je2Z1BnljcAf5OKSOumPJMMkUOleYgDRuMzZ0l5z3pADVLEQLg 10 | keZiPr8SJpvcVxMYIDJaBSTRmKV6osJ6I35uLxt/Q5MQAirxUqBeLxURUaCod9kr 11 | 1fSb9dr/VMWwdnjLmAXtH7Cr/npsM9VDHD+fbvzv00X+RSfdA2FTkiiKDO+2wOwO 12 | Fr5FxcPccKc3q7IQX/lUtAV+VYHtziUjktctz7fddnAONOw3oA72JPvqGfj3I9vT 13 | Kz6JX+ECgYEA/qDrLhSFo4zeq6AibZKqIyA75pcQAcbuAyfBvKowLizk5OIm4Mn8 14 | Wl/ld7G0h8o3+lV5+YkgklfM/ok5cwzKipshNcUgufNASFD+hdXB40CP8Xb1UnnW 15 | W/l21I9KuVfaO3TFXLaIDSxMb9EBCWc8iUwsEUkdjdBaVKAtd20Do7kCgYEA8/+9 16 | yda4+7PUsrlJ3O99+fjE1zt+cboHfe2R8VHuZYwt1kEJsQFuUN+MqAJLpypnT9rn 17 | GXmyzhxw17+hmBVtnBZlRSkBNhzaBT+vlG1saAMe9GkrtIoGoRPRCakzo/5PYSfz 18 | yi51xCgv7U9GAaZX/5p/c9p9tIUXKo41wqKmguUCgYBEUIood8sPASlwpGr4OOQ6 19 | vlgz2o2p3GRZJl59Lq/0g4j5u48wuiBhYt8eyOelkuSH3kz2XQsHGFVgaRKnwmPI 20 | 4iv70CKioRe7DzfqUlpNjTHRV9gjw5p2XKy8BKHIrkBXuVGGOVaxKhRr34hGrJL6 21 | Rxx/mr06Ig9KKxtnsjDKyQKBgQDoWmyYLbMAdlKhU5NEIoh7p+uC7vPNRxLlV3u4 22 | K4ZzC1eHBW4+MhekSg2+3FjAur+hKtsRxnOAlVLcEW/HzPgRQL51asPtjPINN4Vz 23 | OfSW5AnxQ8nL5fjEIYPZyFgV3hIneg1NRor9Hivtt6T54zc/gBfI8pLseiUCcGQ/ 24 | kfYxBQKBgQCBcDgRQMA07HdHXTxV49H5D+FTlIRQ+ZcE6cPyi//AhjUhc7FrYVzy 25 | pyixgSGQRXn6AldcW5ilokr8InBA9Dj3Pp8gMytIoQxeK4hart7ABe0ffiA+AnMx 26 | Zu3ouKOiTu/eD87TOo8yp8LSMau8UQhgkl50jkVkx6epxif/w9xwZQ== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi/etc/ssh/ssh_host_rsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDysR5Mj+16TZpLPQLbGEyHJMrjXgoUq+PYRk9F5KGDImbRrphTcIMcoTPzKfEHrhGZw2j2MV3DPCqi1nw45AnbLLPoRLl6x7QnHEzEUd0+mS3UizOYLHGKwEts/clE9QWd7Orjlpdpq5M+OW2gs0fRnp6IzrrGxXbINTkxaPJLFIOxKoW4HXh3xrbEY8AZZCf2yKBbPrSy3cUJGpOviqHigo4kGl+/kG01B/FNfj/66Cl49G/MskygN4OYpEStbkLFNsR0SlyYq1KLC1jKtTZeSPgWDu+qncaF67xMpOOfauY+CLD9QZMcQbgJw3hmAIg4imTn9S2N/KERrlmZW2Z9 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi2/brickstrap/rpi2/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | # need a place to put the kernel 9 | mkdir -p /boot/flash 10 | 11 | apt-get install --yes --no-install-recommends \ 12 | linux-image-ev3dev-rpi2 13 | 14 | # Copy device tree for RPi 3 - only RPi 2 is installed by flash-kernel 15 | # and this image needs to support both models. 16 | cp /usr/lib/linux-image-*[^.old]/bcm2710-rpi-2-b.dtb /boot/flash/ 17 | cp /usr/lib/linux-image-*[^.old]/bcm2710-rpi-3-b.dtb /boot/flash/ 18 | cp /usr/lib/linux-image-*[^.old]/bcm2710-rpi-3-b-plus.dtb /boot/flash/ 19 | cp /usr/lib/linux-image-*[^.old]/bcm2711-rpi-4-b.dtb /boot/flash/ 20 | 21 | # Fix file permissions on private ssh host keys. (git does not preserve 22 | # permissions other than the executable bit) 23 | chmod 600 /etc/ssh/ssh_host_*_key 24 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi2/etc/flash-kernel/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | db 2 | machine 3 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi2/etc/flash-kernel/db: -------------------------------------------------------------------------------- 1 | Machine: Raspberry Pi 2 Model B 2 | Boot-Kernel-Path: boot/flash/kernel7.img 3 | Boot-DTB-Path: boot/flash/bcm2709-rpi-2-b.dtb 4 | Boot-Device: 5 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi2/etc/flash-kernel/machine: -------------------------------------------------------------------------------- 1 | Raspberry Pi 2 Model B 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi2/etc/ssh/ssh_host_dsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN DSA PRIVATE KEY----- 2 | MIIBuwIBAAKBgQDlItVNlpZwDIxiw9KSlIDN46Xfl4mkWmzrb/kpEg7afm7kijFi 3 | aGb6xkwDCD+KHwuIXC3lE23613DbPgMiKlIxAH9mKThAE84PEnks7hHUiQPE1PDW 4 | bDfJzk/fE+q89Gm+Jk9M02MHELTRyD9ozWSnxYdCPeShxvEZdJjv0PFz4wIVAL9N 5 | 5Iak/NYL9vIAqVWkCReLKmy3AoGBAJuilQCzFkWsc948Tersy1kR2wh0ZJPTLeLx 6 | C1pcd9KFQOe0/zL7brf7nqjHU7MDO73pdJsNLis9l/J62rNcAjpa0kGXvxmoLiD2 7 | 9Rtj1U2OY9+5IlFvNL5HaklVE++6HvdPUxmL5tXDS91nDgf/E4x9Sn+pDtLmgZol 8 | SK6UHG5zAoGAWkOCSMqhb5eKk/HNdhVf4Hc/DS+pXsJHYAPKzH3FHCkQZUJTggqv 9 | zLYyiHZ1tjETvU8wP/csNyr7TEI2yNydsuw9Fssd926I9stK/6nf4/hySlCPInOT 10 | /NnwedneCsWFXUeTH83+0AxWB3fLTAQGvsWspqBRdq5Y0eGmrYGokcQCFCIXtv7g 11 | grG6Ixc2CkP4Sdp/sr3W 12 | -----END DSA PRIVATE KEY----- 13 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi2/etc/ssh/ssh_host_dsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBAOUi1U2WlnAMjGLD0pKUgM3jpd+XiaRabOtv+SkSDtp+buSKMWJoZvrGTAMIP4ofC4hcLeUTbfrXcNs+AyIqUjEAf2YpOEATzg8SeSzuEdSJA8TU8NZsN8nOT98T6rz0ab4mT0zTYwcQtNHIP2jNZKfFh0I95KHG8Rl0mO/Q8XPjAAAAFQC/TeSGpPzWC/byAKlVpAkXiypstwAAAIEAm6KVALMWRaxz3jxN6uzLWRHbCHRkk9Mt4vELWlx30oVA57T/Mvtut/ueqMdTswM7vel0mw0uKz2X8nras1wCOlrSQZe/GaguIPb1G2PVTY5j37kiUW80vkdqSVUT77oe909TGYvm1cNL3WcOB/8TjH1Kf6kO0uaBmiVIrpQcbnMAAACAWkOCSMqhb5eKk/HNdhVf4Hc/DS+pXsJHYAPKzH3FHCkQZUJTggqvzLYyiHZ1tjETvU8wP/csNyr7TEI2yNydsuw9Fssd926I9stK/6nf4/hySlCPInOT/NnwedneCsWFXUeTH83+0AxWB3fLTAQGvsWspqBRdq5Y0eGmrYGokcQ= 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi2/etc/ssh/ssh_host_ecdsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEIC/V+jh3f5BItmPJFagwQ1v0yunsNRGI4eodSn1nAU3LoAoGCCqGSM49 3 | AwEHoUQDQgAEvVbl06ZhzTFUvfz27XONf8QbpsMAbo8UCC+hKBLxhitDX1Jra+5s 4 | bnfULSrCs4/E0LNM3bv0z+Yh2zEo9BlgKg== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi2/etc/ssh/ssh_host_ecdsa_key.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBL1W5dOmYc0xVL389u1zjX/EG6bDAG6PFAgvoSgS8YYrQ19Sa2vubG531C0qwrOPxNCzTN279M/mIdsxKPQZYCo= 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi2/etc/ssh/ssh_host_ed25519_key: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW 3 | QyNTUxOQAAACCnmWsqMzbLnHDr/6E2Rl+djV9D57vdgMFyWULMmU/YIgAAAIjAyL2gwMi9 4 | oAAAAAtzc2gtZWQyNTUxOQAAACCnmWsqMzbLnHDr/6E2Rl+djV9D57vdgMFyWULMmU/YIg 5 | AAAEALUW9Cg/BtdmFBRB6eGa+nc4VOtllDB3mBtRrsgiHxtaeZayozNsuccOv/oTZGX52N 6 | X0Pnu92AwXJZQsyZT9giAAAAAAECAwQF 7 | -----END OPENSSH PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi2/etc/ssh/ssh_host_ed25519_key.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKeZayozNsuccOv/oTZGX52NX0Pnu92AwXJZQsyZT9gi 2 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi2/etc/ssh/ssh_host_rsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpQIBAAKCAQEAw8wrkwMoUE4apRifvig6OVl3FYJ483XdH+/H0MbU4WSFinYD 3 | /jH5orbn1afayVnpAU//FS2+TQ4ChgWg+dgiKtz28OS1sX5tb3dcx1fsz285VK/3 4 | pd0lHLkLyXWFIJ640H8KpsLnqEkCG49/rzZnzzBA+oshgVH6jEOGsfC/iUX7+8uG 5 | ELoMsZNemuF1TXzs+SrmzNAYK/0/yfEM+xfzCA2XU6pv0BT4LmNA2BYFw077b4T+ 6 | BMkeJSe0VZ7FA++WPuBXQnNV5Im3syhXD9GHm58J0KtfpANk6cWgWVQNZqPfytFU 7 | i6wwT/NPNulLg9awjePZAMgS2dAIGRHE3ib7VwIDAQABAoIBAQCaP8i8QqqJyV44 8 | XlPKjQqBj7e/HFCJDHut40r5cQrYnkaONDclFN3jkFDIAzrbkZd8zzbXyne3YKgg 9 | SWLuMZWJSxbH5IY3VLCGNfTDnsMTED6MNyzUYIoSPL3Kcmj0r9ZNeyg7BCVYcFvW 10 | tpASyruxgARQ3TcCGEFYKwJ8QHvEehsCUsdJU1Qxfxbb6JMqjAs56gAAQOlRTLuU 11 | XlGTDG7cplbSpQ63Ddn6nnhT+lRW7PNVv8SR/MjzdISq8RaZwYwRiA8DksbgLdqD 12 | oQbDqC/9ytyTQaRVUqDy3OMPVwfmPywE7FKT7maneZwSF16XQuZmB59j6HM4axCJ 13 | 23Uof24hAoGBAOb1uWr287VttSC41UXi+3LCKUtW8d2mbhU28Q71fy0NNNLn1FIW 14 | QmenlTnKFkRQqdVyNR6fPmIgsHRdo25bJwy/iwaNIYqS/pYg69B+zRJBbJaMAohF 15 | r9BlXCNKTdEhUf0TWdzM9j5HtKOUnmjlFaRuvPtX3GvhMiGUnVNU61DJAoGBANkG 16 | hJ25H5f8x1yy/t8lA2rQfbms5r1AsoPZVG7yVqYud5sc/TsWtab3PQA1vfJe5QA2 17 | mGv3oNWKuI+NkRVLRyUJJS1EjDORdofa1D1Rd2UWyfdHZ8edrfrFYJVsRVHGF8/f 18 | 2xLe8fLWCQDhKEhNkYc0Dl/b1W7l0r3seKcvixsfAoGBANUSSw3oaCuv25MlkfRY 19 | lFtpzsjnnFk9Cn/d4QRI7hv0/A+6usFEMd0I2P2od2Rs+lGlfGYUyWuj9sZUAMt1 20 | oo/7Qdo4Z4I9XEvKcWM3KB+4ZeJ5pnhruehLKnaQPTw7PjV5HcU6/c21P2xOVto0 21 | xgOd+hDzHLIV3rbmMUJIrJMpAoGBAK/B8paVPPvmsEHniDeJDzpq/NbpKrir86aJ 22 | 1DJBumC9EwogsQgwfQ5p/hH0dA8cQNMqY8hUdAFcZdmEKbIYE9bvkBcYA38j191w 23 | ICBEoK/Sg9/qCScFEMgdHvoEBCOUjOZBgXbH7SPfqMz4i5n6j9fyFY4WR8SXBVPg 24 | dVnYTAy7AoGAa4AcDpVNkA2A3dKmCkQOsGUPvrzv12rhfJZEyTe/Iyc2bWclJ6CQ 25 | 3WS8PawfDJrnhpt0sxPVXG2cpu70Wp+nf0B/2+MjRQ3ofKzdGxK2IRQm4MFIxaIF 26 | FCNPYQs5JlU2td21rXEmAl8sADiOM18EXv6efuo5uq83GmTuO8H4+3I= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /ev3dev-buster/layers/rpi2/etc/ssh/ssh_host_rsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDzCuTAyhQThqlGJ++KDo5WXcVgnjzdd0f78fQxtThZIWKdgP+MfmitufVp9rJWekBT/8VLb5NDgKGBaD52CIq3Pbw5LWxfm1vd1zHV+zPbzlUr/el3SUcuQvJdYUgnrjQfwqmwueoSQIbj3+vNmfPMED6iyGBUfqMQ4ax8L+JRfv7y4YQugyxk16a4XVNfOz5KubM0Bgr/T/J8Qz7F/MIDZdTqm/QFPguY0DYFgXDTvtvhP4EyR4lJ7RVnsUD75Y+4FdCc1XkibezKFcP0YebnwnQq1+kA2TpxaBZVA1mo9/K0VSLrDBP80826UuD1rCN49kAyBLZ0AgZEcTeJvtX 2 | -------------------------------------------------------------------------------- /ev3dev-buster/rpi-base.dockerfile: -------------------------------------------------------------------------------- 1 | # Minimal base image for ev3dev on Raspberry Pi hardware 2 | 3 | FROM ev3dev/raspbian-buster-armhf-qemu-minbase 4 | COPY layers/raspbian/ / 5 | RUN /brickstrap/raspbian/run 6 | COPY layers/base/ / 7 | RUN /brickstrap/base/run 8 | COPY layers/rpi/ / 9 | RUN /brickstrap/rpi/run 10 | COPY layers/rpi-common/ / 11 | RUN /brickstrap/rpi-common/run 12 | -------------------------------------------------------------------------------- /ev3dev-buster/rpi-generic.dockerfile: -------------------------------------------------------------------------------- 1 | # Official ev3dev image for Raspberry Pi hardware 2 | 3 | FROM ev3dev/ev3dev-buster-rpi-base 4 | COPY layers/generic/ / 5 | RUN /brickstrap/generic/run 6 | ARG BRICKSTRAP_IMAGE_NAME=unknown-ev3dev-buster-rpi-generic 7 | ENV BRICKSTRAP_IMAGE_NAME ${BRICKSTRAP_IMAGE_NAME} 8 | RUN echo "$BRICKSTRAP_IMAGE_NAME" > /etc/ev3dev-release 9 | -------------------------------------------------------------------------------- /ev3dev-buster/rpi2-base.dockerfile: -------------------------------------------------------------------------------- 1 | # Minimal base image for ev3dev on Raspberry Pi 2/3 hardware 2 | 3 | FROM ev3dev/debian-buster-armhf-qemu-minbase 4 | COPY layers/debian/ / 5 | COPY layers/base/ / 6 | RUN /brickstrap/base/run 7 | COPY layers/rpi2/ / 8 | RUN /brickstrap/rpi2/run 9 | COPY layers/rpi-common/ / 10 | RUN /brickstrap/rpi-common/run 11 | -------------------------------------------------------------------------------- /ev3dev-buster/rpi2-generic.dockerfile: -------------------------------------------------------------------------------- 1 | # Official ev3dev image for Raspberry Pi 2/3 hardware 2 | 3 | FROM ev3dev/ev3dev-buster-rpi2-base 4 | COPY layers/generic/ / 5 | RUN /brickstrap/generic/run 6 | ARG BRICKSTRAP_IMAGE_NAME=unknown-ev3dev-buster-rpi2-generic 7 | ENV BRICKSTRAP_IMAGE_NAME ${BRICKSTRAP_IMAGE_NAME} 8 | RUN echo "$BRICKSTRAP_IMAGE_NAME" > /etc/ev3dev-release 9 | -------------------------------------------------------------------------------- /ev3dev-jessie/.dockerignore: -------------------------------------------------------------------------------- 1 | README.md 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/README.md: -------------------------------------------------------------------------------- 1 | ev3dev-jessie 2 | ============= 3 | 4 | This directory contains everything for building ev3dev variants based on Debian 5 | Jessie. 6 | 7 | There are 4 hardware platforms: 8 | * `bone`: BeagleBone White/Black/Green 9 | * `ev3`: LEGO MINDSTORMS EV3 10 | * `rpi`: Raspberry Pi 0/1 11 | * `rpi2`: Rapsberry Pi 2/3 12 | 13 | There are 2 package variants: 14 | * `base`: minimal install 15 | * `generic`: contains many scripting languages (used for official image release) 16 | 17 | Each variant is composes of "layers" defined in the `layers` directory. Each 18 | "layer" there generally produces two docker "layers". 19 | 20 | Each layer conforms to the following rules: 21 | 22 | * The directory is copied to the docker file using the dockerfile `COPY` command. 23 | * The layer should contain a `brickstrap/` subdirectory where ` 24 | is the name of the layer (same name as the parent directory). 25 | 26 | The `brickstrap` directory can contain the following components. 27 | 28 | * `/run`: An executable file that performs the task of setting up the layer. 29 | This usually contains an `apt-get install` command and any other tweaks 30 | needed. This script should be kept to a minimum. It is preferred that 31 | as much configuration as possible is done by the packages themselves 32 | rather than manually here. 33 | * `_tar-exclude`: A text file containing a list of files that should be 34 | excluded from a SD card image file created from this docker image. 35 | This file is usually appended from the `run` script, otherwise it would 36 | be overwritten by new layers. 37 | * `_tar-only`: A directory containing a file structure that will be overlaid 38 | on the docker image root file system when creating an SD card image from 39 | the docker image. 40 | 41 | * The `brickstrap//run` script is run using the dockerfile `RUN` command. 42 | 43 | The dockerfile that will be used to actually create an image that will be released 44 | should contain the following: 45 | 46 | ARG BRICKSTRAP_IMAGE_NAME=unknown-ev3dev-jessie-image 47 | ENV BRICKSTRAP_IMAGE_NAME ${BRICKSTRAP_IMAGE_NAME} 48 | RUN echo "$BRICKSTRAP_IMAGE_NAME" > /etc/ev3dev-release 49 | 50 | This allows a unique image name to be passed each time the image is built. 51 | -------------------------------------------------------------------------------- /ev3dev-jessie/bone-base.dockerfile: -------------------------------------------------------------------------------- 1 | # Minimal base image for ev3dev on BeagleBone hardware 2 | 3 | FROM ev3dev/debian-jessie-armhf-qemu-minbase 4 | COPY layers/debian/ / 5 | COPY layers/base/ / 6 | RUN /brickstrap/base/run 7 | COPY layers/bone/ / 8 | RUN /brickstrap/bone/run 9 | -------------------------------------------------------------------------------- /ev3dev-jessie/bone-generic.dockerfile: -------------------------------------------------------------------------------- 1 | # Official ev3dev image for BeagleBone hardware 2 | 3 | FROM ev3dev/ev3dev-jessie-bone-base 4 | COPY layers/generic/ / 5 | RUN /brickstrap/generic/run 6 | ARG BRICKSTRAP_IMAGE_NAME=unknown-ev3dev-jessie-bone-generic 7 | ENV BRICKSTRAP_IMAGE_NAME ${BRICKSTRAP_IMAGE_NAME} 8 | RUN echo "$BRICKSTRAP_IMAGE_NAME" > /etc/ev3dev-release 9 | -------------------------------------------------------------------------------- /ev3dev-jessie/ev3-base.dockerfile: -------------------------------------------------------------------------------- 1 | # Minimal base image for ev3dev on LEGO MINDSTORMS EV3 hardware 2 | 3 | FROM ev3dev/debian-jessie-armel-qemu-minbase 4 | COPY layers/debian/ / 5 | COPY layers/base/ / 6 | RUN /brickstrap/base/run 7 | COPY layers/ev3/ / 8 | RUN /brickstrap/ev3/run 9 | -------------------------------------------------------------------------------- /ev3dev-jessie/ev3-generic.dockerfile: -------------------------------------------------------------------------------- 1 | # Official ev3dev image for LEGO MINDSTORMS EV3 hardware 2 | 3 | FROM ev3dev/ev3dev-jessie-ev3-base 4 | COPY layers/generic/ / 5 | RUN /brickstrap/generic/run 6 | ARG BRICKSTRAP_IMAGE_NAME=unknown-ev3dev-jessie-ev3-generic 7 | ENV BRICKSTRAP_IMAGE_NAME ${BRICKSTRAP_IMAGE_NAME} 8 | RUN echo "$BRICKSTRAP_IMAGE_NAME" > /etc/ev3dev-release 9 | -------------------------------------------------------------------------------- /ev3dev-jessie/ev3-lms2012.dockerfile: -------------------------------------------------------------------------------- 1 | # lms2012-comapt ev3dev image for LEGO MINDSTORMS EV3 hardware 2 | 3 | FROM ev3dev/ev3dev-jessie-ev3-base 4 | COPY layers/ev3-lms2012/ / 5 | RUN /brickstrap/ev3-lms2012/run 6 | ARG BRICKSTRAP_IMAGE_NAME=unknown-ev3dev-jessie-ev3-lms2012 7 | ENV BRICKSTRAP_IMAGE_NAME ${BRICKSTRAP_IMAGE_NAME} 8 | RUN echo "$BRICKSTRAP_IMAGE_NAME" > /etc/ev3dev-release 9 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/base/brickstrap/_etcher_metadata/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | image/svg+xml 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/base/brickstrap/_report/etcher.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Create directory for use with Etcher 4 | 5 | image_dir="/brickstrap/_report/_out/$BRICKSTRAP_IMAGE_NAME" 6 | meta_dir="$image_dir/.meta" 7 | 8 | mkdir -p "$meta_dir" 9 | cp -a /brickstrap/_etcher_metadata/. "$meta_dir" 10 | 11 | cat > "$meta_dir/manifest.json" << EOF 12 | { 13 | "name": "ev3dev-jessie", 14 | "version": "$BRICKSTRAP_IMAGE_NAME", 15 | "url": "http://www.ev3dev.org", 16 | "supportUrl": "http://www.ev3dev.org/support" 17 | } 18 | EOF 19 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/base/brickstrap/_report/release-notes.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Create a release notes template file. 4 | 5 | REPORT_DIR="/brickstrap/_report/_out" 6 | REPORT_FILE="$REPORT_DIR/$BRICKSTRAP_IMAGE_NAME-release-notes.md" 7 | 8 | echo "Creating $REPORT_FILE template..." 9 | cat > "$REPORT_FILE" << EOF 10 | Release notes for $BRICKSTRAP_IMAGE_NAME 11 | ======================================== 12 | 13 | Changes from previous version 14 | ----------------------------- 15 | 16 | 17 | Known issues 18 | ------------ 19 | 20 | 21 | Included Packages 22 | ----------------- 23 | 24 | \`\`\` 25 | $(dpkg -l) 26 | \`\`\` 27 | EOF 28 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/base/brickstrap/_tar-only/etc/hostname: -------------------------------------------------------------------------------- 1 | ev3dev 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/base/brickstrap/base/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | script_dir=$(dirname $(readlink -f $0)) 6 | 7 | echo script_dir=$script_dir 8 | 9 | run-parts --regex='[0-9a-zA-z_\-\.]+' --verbose --exit-on-error $script_dir/run.d 10 | 11 | # Note: some of these files come from dockers mkimage.sh 12 | echo './etc/apt.conf.d/01Autoremove*' >> /brickstrap/_tar-exclude 13 | echo './etc/apt.conf.d/70debconf' >> /brickstrap/_tar-exclude 14 | echo './etc/apt.conf.d/docker-*' >> /brickstrap/_tar-exclude 15 | echo './etc/hostname' >> /brickstrap/_tar-exclude 16 | echo './etc/kernel-img.conf' >> /brickstrap/_tar-exclude 17 | echo './usr/bin/qemu-arm-static' >> /brickstrap/_tar-exclude 18 | echo './usr/sbin/policy-rc.d' >> /brickstrap/_tar-exclude 19 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/base/brickstrap/base/run.d/10-install-packages.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | debconf-set-selections << EOF 9 | locales locales/locales_to_be_generated multiselect en_US.UTF-8 UTF-8 10 | locales locales/default_environment_locale select en_US.UTF-8 11 | EOF 12 | 13 | # TODO: It would be better to not have the base-files version number hard-coded 14 | # here. However, it is needed because if debian does a point release, we will 15 | # actually be downgrading the base-files package. 16 | 17 | apt-get update --yes 18 | apt-get install --yes --force-yes --no-install-recommends \ 19 | alsa-utils \ 20 | avahi-daemon \ 21 | base-files=8+deb8u5ev3dev1 \ 22 | beep \ 23 | bluez \ 24 | brickman \ 25 | bsdmainutils \ 26 | ca-certificates \ 27 | connman \ 28 | console-setup \ 29 | conspy \ 30 | dosfstools \ 31 | espeak \ 32 | ethtool \ 33 | ev3dev-adduser-config \ 34 | ev3dev-bluez-config \ 35 | ev3dev-connman-config \ 36 | ev3dev-rules \ 37 | ev3dev-tools \ 38 | evtest \ 39 | fake-hwclock \ 40 | fbcat \ 41 | fbset \ 42 | firmware-atheros \ 43 | firmware-linux-free \ 44 | firmware-ralink \ 45 | firmware-realtek \ 46 | flash-kernel \ 47 | i2c-tools \ 48 | ifupdown \ 49 | iproute \ 50 | iptables \ 51 | iputils-ping \ 52 | isc-dhcp-client \ 53 | kmod \ 54 | less \ 55 | libgrx-3.0-plugin-linuxfb \ 56 | libnss-mdns \ 57 | libnss-myhostname \ 58 | libpam-systemd \ 59 | locales \ 60 | nano \ 61 | net-tools \ 62 | netbase \ 63 | netcat-openbsd \ 64 | netpbm \ 65 | ntp \ 66 | parted \ 67 | procps \ 68 | psmisc \ 69 | screen \ 70 | ssh \ 71 | sudo \ 72 | tree \ 73 | usb-modeswitch \ 74 | usbutils \ 75 | vim \ 76 | wget \ 77 | wpasupplicant 78 | 79 | # work around https://github.com/ev3dev/brickstrap/issues/63 80 | chmod u+s /bin/ping 81 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/base/brickstrap/base/run.d/20-base-files.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Since the ev3dev base-files package is installed over the top of the official 4 | # debian base-files package, some files don't get copied. 5 | 6 | set -e 7 | 8 | cp /usr/share/base-files/staff-group-for-usr-local /etc/staff-group-for-usr-local 9 | cp /usr/share/base-files/dot.profile /root/.profile 10 | cp /usr/share/base-files/dot.bashrc /root/.bashrc 11 | cp /usr/share/base-files/profile /etc/profile 12 | cp /usr/share/base-files/motd /etc/motd 13 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/base/brickstrap/base/run.d/40-enable-firstboot.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | update-rc.d firstboot start 99 S 6 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/base/brickstrap/base/run.d/50-console-setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # set the default font 6 | echo -e -n "\nFONT='Lat15-TomThumb4x6.psf.gz'" >> /etc/default/console-setup 7 | setupcon --save-only 8 | 9 | # keyboard-setup takes long time during boot, so disabling for now. 10 | update-rc.d keyboard-setup disable 11 | 12 | # `kbd` does the same thing as `console-setup`/`keyboard-setup`, so we disable it too, 13 | # Also, `kbd` breaks systemd, so we really don't want it enabled. 14 | update-rc.d kbd disable 15 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/base/brickstrap/base/run.d/60-journald-storage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # systemd-journald uses massive amounts of memory, so we use persistent storage to prevent this 6 | sed -i 's/^#Storage=auto$/Storage=persistent/' /etc/systemd/journald.conf 7 | mkdir -p /var/log/journal 8 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/base/brickstrap/base/run.d/80-backup-etc-flash-kernel-db.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This will be written over by other docker layers for bootstrapping purposes. 4 | # However, we want this file included in the final image file rather than the 5 | # file that replaced it. 6 | 7 | source_dir=/etc/flash-kernel 8 | dest_dir=/brickstrap/_tar-only/$source_dir 9 | 10 | mkdir -p $dest_dir 11 | cp $source_dir/db $dest_dir 12 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/base/brickstrap/base/run.d/90-robot-user.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Add default user and give them sudo powers 6 | adduser --disabled-password --gecos \"\" robot 7 | echo "robot:maker" | chpasswd 8 | usermod -a -G sudo robot 9 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/base/etc/apt/apt.conf.d/00ev3dev: -------------------------------------------------------------------------------- 1 | APT::Default-Release "o=ev3dev"; -------------------------------------------------------------------------------- /ev3dev-jessie/layers/base/etc/apt/apt.conf.d/99no-pdiffs: -------------------------------------------------------------------------------- 1 | Acquire::PDiffs "0"; 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/base/etc/apt/apt.conf.d/99no-translations: -------------------------------------------------------------------------------- 1 | Acquire::Languages "none"; 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/base/etc/apt/trusted.gpg.d/ev3dev-archive-keyring.gpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ev3dev/docker-library/a0d6926e6d74ea9ab2f079382cd41e8292279f47/ev3dev-jessie/layers/base/etc/apt/trusted.gpg.d/ev3dev-archive-keyring.gpg -------------------------------------------------------------------------------- /ev3dev-jessie/layers/base/etc/fstab: -------------------------------------------------------------------------------- 1 | # 2 | /dev/mmcblk0p1 /boot/flash vfat defaults,errors=remount-ro,noatime 0 2 3 | /dev/mmcblk0p2 / ext4 defaults,errors=remount-ro,noatime 0 1 4 | proc /proc proc defaults 0 0 5 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/base/etc/init.d/firstboot: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | ### BEGIN INIT INFO 4 | # Provides: firstboot 5 | # Required-Start: $local_fs 6 | # Required-Stop: 7 | # Default-Start: S 8 | # Default-Stop: 9 | # Short-Description: ev3dev first boot tasks 10 | ### END INIT INFO 11 | 12 | case "$1" in 13 | start) 14 | update-rc.d -f firstboot remove 15 | 16 | # expand the root file system 17 | parted --script /dev/mmcblk0 unit % resizepart 2 100% || \ 18 | echo 'unit % resizepart 2 Yes 100%' | parted ---pretend-input-tty /dev/mmcblk0 19 | # line above is a hack to work around a parted bug. 20 | # http://unix.stackexchange.com/a/202872/91467 21 | partprobe 22 | resize2fs /dev/mmcblk0p2 23 | ;; 24 | stop|restart|reload|force-reload|status) 25 | : 26 | ;; 27 | *) 28 | echo "Usage: /etc/init.d/firstboot start" 29 | exit 1 30 | ;; 31 | esac 32 | 33 | exit 0 34 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/base/etc/kernel-img.conf: -------------------------------------------------------------------------------- 1 | silent_modules=Yes 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/bone/boot/flash/uEnv.txt: -------------------------------------------------------------------------------- 1 | # Select your cape from the following 2 | # ----------------------------------- 3 | 4 | # Uncomment only one "cape=...* line. The "...-lms2012" options use alternate 5 | # drivers for motors and sensors used by `lms2012-compat` instead of the usual 6 | # ev3dev drivers for motors and sensors. 7 | 8 | # FatcatLab EVB 9 | #cape=evb 10 | #cape=evb-lms2012 11 | 12 | # QuestCape 13 | #cape=quest 14 | #cape=quest-lms2012 15 | 16 | 17 | # Advanced options 18 | # ---------------- 19 | 20 | # kernel boot arguments 21 | cmdline=splash console=tty1 22 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/bone/brickstrap/bone/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | apt-get install --yes --no-install-recommends \ 9 | evb-systemd \ 10 | linux-image-ev3dev-bb.org \ 11 | lms2012-compat \ 12 | u-boot-tools 13 | 14 | # Fix file permissions on private ssh host keys. (git does not preserve 15 | # permissions other than the executable bit) 16 | chmod 600 /etc/ssh/ssh_host_*_key 17 | 18 | # Download BeagleBone Bootloader 19 | # 20 | # To find out the latest stable version of the files, run: 21 | # 22 | # wget https://rcn-ee.com/repos/bootloader/latest/bootloader-ng -q -O - | grep "ABI2:am335x_evm:" 23 | # 24 | 25 | mlo_url=https://rcn-ee.com/repos/bootloader/am335x_evm/MLO-am335x_evm-v2016.03-r8 26 | uboot_url=https://rcn-ee.com/repos/bootloader/am335x_evm/u-boot-am335x_evm-v2016.03-r8.img 27 | dest_dir=/brickstrap/_beagle-boot 28 | 29 | mkdir -p $dest_dir 30 | 31 | wget $mlo_url -O $dest_dir/MLO 32 | echo "ad9a30c6cc33fd38947b8076db7707a3 $dest_dir/MLO" | md5sum --check - 33 | 34 | wget $uboot_url -O $dest_dir/u-boot.img 35 | echo "7560b15e06e9906c8b10c025c7fd9d4d $dest_dir/u-boot.img" | md5sum --check - 36 | 37 | echo './etc/flash-kernel/machine' >> /brickstrap/_tar-exclude 38 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/bone/etc/flash-kernel/machine: -------------------------------------------------------------------------------- 1 | TI AM335x BeagleBone -------------------------------------------------------------------------------- /ev3dev-jessie/layers/bone/etc/ssh/ssh_host_dsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN DSA PRIVATE KEY----- 2 | MIIBvAIBAAKBgQDTkKzyei7LMKZrpnYgYv3kDwmcWHAa1eWBdN0AEPc6mkO6Heep 3 | RBeJ4jnHhtqn/gLhUPsjLuI43iraKzwzJu+OHDNlPVgZbT6U5w2gyyVcl+6roJiC 4 | BzsVgP1zoLQKXbqxKPBxrSQfk9L7lol6HyKNVAV1XW9gs2yS24S55g8cWwIVAKwt 5 | h6tsErtlVEkEBYLGd2MWgliTAoGBAIdDfwGFwgJQG3/YKE38Caa3LuQNAEJH3HP0 6 | sM5sL5Ved1S+wqt6Fg86Gq1C4BBCYJltbrCVPswVifzq5Ddgj5d2Hg1TF3eNmpT1 7 | W0t4Q6geCRsN5ZPdyiauwFVd4nxgXdFm1SyARFjCW0BPbo+oO1EodzxIjotrUalv 8 | /OF4TRe0AoGBAKotHwOUyClQIgx83ywWDrCZVxVzd6OwDa7j+pHf/7BzuWj5YBRa 9 | dVP5DHedPDgWIRubCasgiMhgY6mLyhN3mHUyCHEGXMIdW0M01ETYVr5ZXe32GnaK 10 | q2XLEd35lNv7SLKpkigQCSn/NgscVvJvDD00/zFm6r4rBj54iVYZj7JtAhRtxIp/ 11 | /vdfKx2B/hzhHXtCBrPifw== 12 | -----END DSA PRIVATE KEY----- 13 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/bone/etc/ssh/ssh_host_dsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBANOQrPJ6LsswpmumdiBi/eQPCZxYcBrV5YF03QAQ9zqaQ7od56lEF4niOceG2qf+AuFQ+yMu4jjeKtorPDMm744cM2U9WBltPpTnDaDLJVyX7qugmIIHOxWA/XOgtApdurEo8HGtJB+T0vuWiXofIo1UBXVdb2CzbJLbhLnmDxxbAAAAFQCsLYerbBK7ZVRJBAWCxndjFoJYkwAAAIEAh0N/AYXCAlAbf9goTfwJprcu5A0AQkfcc/SwzmwvlV53VL7Cq3oWDzoarULgEEJgmW1usJU+zBWJ/OrkN2CPl3YeDVMXd42alPVbS3hDqB4JGw3lk93KJq7AVV3ifGBd0WbVLIBEWMJbQE9uj6g7USh3PEiOi2tRqW/84XhNF7QAAACBAKotHwOUyClQIgx83ywWDrCZVxVzd6OwDa7j+pHf/7BzuWj5YBRadVP5DHedPDgWIRubCasgiMhgY6mLyhN3mHUyCHEGXMIdW0M01ETYVr5ZXe32GnaKq2XLEd35lNv7SLKpkigQCSn/NgscVvJvDD00/zFm6r4rBj54iVYZj7Jt 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/bone/etc/ssh/ssh_host_ecdsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEINP6FhOWdITpJL9+nZbitdrIxrdwGlsJS0olA1Bh+SsZoAoGCCqGSM49 3 | AwEHoUQDQgAECQ9nIaG4SilllAUewr84RoPDVoSu25zCS9VwIpDOjacWIPrV+kYE 4 | +alnDbgAsNXU8d8EcZ1irqNhKRvdbX8Y7Q== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/bone/etc/ssh/ssh_host_ecdsa_key.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAkPZyGhuEopZZQFHsK/OEaDw1aErtucwkvVcCKQzo2nFiD61fpGBPmpZw24ALDV1PHfBHGdYq6jYSkb3W1/GO0= 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/bone/etc/ssh/ssh_host_ed25519_key: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW 3 | QyNTUxOQAAACAmCk/3F111X1Mz44EwHqnRma98yO32kRxXmZLpdhBT+QAAAIi76XVcu+l1 4 | XAAAAAtzc2gtZWQyNTUxOQAAACAmCk/3F111X1Mz44EwHqnRma98yO32kRxXmZLpdhBT+Q 5 | AAAEDHW7WUl+Qz9r/xrUfXfX7scUC6TRm1yzuZ/P/+B6DUDiYKT/cXXXVfUzPjgTAeqdGZ 6 | r3zI7faRHFeZkul2EFP5AAAAAAECAwQF 7 | -----END OPENSSH PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/bone/etc/ssh/ssh_host_ed25519_key.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICYKT/cXXXVfUzPjgTAeqdGZr3zI7faRHFeZkul2EFP5 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/bone/etc/ssh/ssh_host_rsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpQIBAAKCAQEAqMuyWh59wFNJP0D+LhpUZ5GKBcHE21wsqzlum611hXy8P51/ 3 | SO7BiR1EHhjKGZ/H0lsuZ+skvz4g06lS8uhzFPdSNl04nLtDiVq2cV3Fi9oR2mrt 4 | aDHvLdGVkHejQB3j4F5tjlb7HBmTgj6KKLgm0xVpx9UXeDgauRkkRQgD9WupccaG 5 | NXs8jSlXDe21KldEuvjX5gbJta4MRTjd6GOjQLWS/qlcLotoozx9C14B0Ib8L/jM 6 | 6Uaq1mDhE2Gqv6nF+DNCu4rD3yo42/8yUEGbMcyncddmBCugWWaCmJSUzFo/QIaa 7 | oqHKhO0Pxs82hK2j2eUhYeLLt1HvKCDtI7A7FwIDAQABAoIBAQCgnEnVdEPld5ov 8 | pND23zjG33X8ala8/yTFu70iRleXr4uT4HHX3M6sf/trw9yxqxZAc2Bhox3xFtW3 9 | cNsrpMC0B2zjq6oNgCYQEQ+eKUKqAtKQCMRjK3hRGaZ9s0jT3l0RBeiq0trW7wMr 10 | oARoIGlY2nwvl/RgAMp0q5aWVL0njEA77fFDCx2/qp5AON7bpWU+7fGxhZxOjeD3 11 | LCjCwvFjJ2F57ANUxfN2Hq69P4yZYU0Wf4auqJ8afU8CoVJKDsDEsrc+/yqgdhHP 12 | ZjXz8COMf+r3d51dHDEhs8L/oEuMxY+Y2f4/MCVSB5qGo8qUV+mydwnPpmlbNiMr 13 | G8si2AuZAoGBAN7t44NJrHAvZg1aX0CpeEA1DyFDqTEomgATcl+NsFUabsJvYg4B 14 | ZgWnpmyswCzt8OhADHGPDBx/14txn/QM8O4fbTENdHdMoZZ4n8ocvbd7sVoz0Q1D 15 | 23p7tmD8xFsiC5sz+0GtosqTSEDq3bQ4SZulHkbA7OKMHm05qKhD6fLFAoGBAMHV 16 | /tDIm5T4g2XmrcUK2y4AVtp0cFVAu2Ry+o17he/6gM+tAb+3aPug3yNfhcmmOAIM 17 | G4Nj64XB8NN6mW7kNfbKVm5JpnLeKHJqkKTjgeNjdjLRucFpcYbchcZArv8dobnG 18 | xeJOVlhoUJxnjLpfIiNqDlJGFepYKw+8BTjhSeQrAoGBAIjo/pYt0/peEcXXn7I9 19 | oj2EmJMsU6d+MP4k81Qd15KcljNRZp4FW9vTN5F8ktXFF/P7CelgGecS2JSqJrsi 20 | i4EiydObWNC/vmmEEVZ2Skl6bNRiCFymNQ/HFJ4B/rGdehVKWl/evKC+zVwZIinB 21 | e+tb//kiGRmVRkZ8Z8lXVEGlAoGAUyqVDVG1Z2KFRjiGgE+bIQ6mNU7WT83ZWUz3 22 | 8bJ5EjEiCXkKkg6IrcYlV1EJ3y5BQ6ecOnCpwhcnVCV7JZgnCz9ffCx/jTOCmSzd 23 | 6NFwjnbDZSSVFcY/HoUJpLlmHDHDjSkbCHFiHMaNJ75KJEDjLdy4Tlah2o1/1F1w 24 | xCntgUcCgYEAtC5QuJ5s7jwWtE3kzvvUyUrcVKsg5NfyDZ3hTRtsddJ33ZcLmB/M 25 | /a49vDWNj8GvnwHryt41SfFEyg9wAV3hD3xlr8mJOf/LjfLKQknTFZp/0Gc/6Vxg 26 | /Gjwj6oKcumomijaf9UeVNsbJjmfxUSG5LNgjS3dKUTbQNYtH2Gtunc= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/bone/etc/ssh/ssh_host_rsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCoy7JaHn3AU0k/QP4uGlRnkYoFwcTbXCyrOW6brXWFfLw/nX9I7sGJHUQeGMoZn8fSWy5n6yS/PiDTqVLy6HMU91I2XTicu0OJWrZxXcWL2hHaau1oMe8t0ZWQd6NAHePgXm2OVvscGZOCPooouCbTFWnH1Rd4OBq5GSRFCAP1a6lxxoY1ezyNKVcN7bUqV0S6+NfmBsm1rgxFON3oY6NAtZL+qVwui2ijPH0LXgHQhvwv+MzpRqrWYOETYaq/qcX4M0K7isPfKjjb/zJQQZsxzKdx12YEK6BZZoKYlJTMWj9AhpqiocqE7Q/GzzaEraPZ5SFh4su3Ue8oIO0jsDsX 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/debian/brickstrap/_tar-only/etc/apt/sources.list: -------------------------------------------------------------------------------- 1 | deb http://httpredir.debian.org/debian jessie main contrib non-free 2 | #deb-src http://httpredir.debian.org/debian jessie main contrib non-free 3 | 4 | deb http://security.debian.org/ jessie/updates main contrib non-free 5 | #deb-src http://security.debian.org/ jessie/updates main contrib non-free 6 | 7 | deb http://archive.ev3dev.org/debian jessie main 8 | #deb-src http://archive.ev3dev.org/debian jessie main 9 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/debian/etc/apt/sources.list: -------------------------------------------------------------------------------- 1 | # httpredir.debian.org does not work with CI servers like travis, so using 2 | # a fixed mirror here. This file is replaced when images are created with 3 | # brickstrap. 4 | 5 | deb http://ftp.debian.org/debian jessie main contrib non-free 6 | #deb-src http://ftp.debian.org/debian jessie main contrib non-free 7 | 8 | deb http://security.debian.org/ jessie/updates main contrib non-free 9 | #deb-src http://security.debian.org/ jessie/updates main contrib non-free 10 | 11 | deb http://archive.ev3dev.org/debian jessie main 12 | #deb-src http://archive.ev3dev.org/debian jessie main 13 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/ev3-lms2012/brickstrap/ev3-lms2012/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | apt-get update --yes && \ 9 | apt-get install --yes --no-install-recommends \ 10 | ev3-lms2012-systemd \ 11 | linux-image-ev3dev-bpo-stretch-ev3-lms2012 \ 12 | lms2012-compat 13 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/ev3-lms2012/etc/flash-kernel/db: -------------------------------------------------------------------------------- 1 | Machine: LEGO MINDSTORMS EV3 + lms2012-compat 2 | Boot-Kernel-Path: boot/flash/uImage 3 | Boot-Script-Path: boot/flash/boot.scr 4 | Boot-Device: 5 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/ev3-lms2012/etc/flash-kernel/machine: -------------------------------------------------------------------------------- 1 | LEGO MINDSTORMS EV3 + lms2012-compat 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/ev3/brickstrap/ev3/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | mkdir -p /boot/flash 6 | 7 | export DEBIAN_FRONTEND=noninteractive 8 | export DEBCONF_NONINTERACTIVE_SEEN=true 9 | 10 | apt-get install --yes --no-install-recommends \ 11 | ev3-config \ 12 | ev3-systemd \ 13 | firmware-ev3 \ 14 | linux-image-ev3dev-ev3 \ 15 | u-boot-tools \ 16 | zram-init 17 | 18 | # make sure serial-getty@.service does not try to use the serial ports because 19 | # we use them for other things 20 | systemctl mask serial-getty@ttyS0.service 21 | systemctl mask serial-getty@ttyS1.service 22 | systemctl mask serial-getty@ttyS2.service 23 | systemctl mask serial-getty@ttySU0.service 24 | systemctl mask serial-getty@ttySU1.service 25 | 26 | # enable zram swap file 27 | systemctl enable zram_swap.service 28 | 29 | # Fix file permissions on private ssh host keys. (git does not preserve 30 | # permissions other than the executable bit) 31 | chmod 600 /etc/ssh/ssh_host_*_key 32 | 33 | echo './etc/flash-kernel/db' >> /brickstrap/_tar-exclude 34 | echo './etc/flash-kernel/machine' >> /brickstrap/_tar-exclude 35 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/ev3/etc/flash-kernel/db: -------------------------------------------------------------------------------- 1 | Machine: LEGO MINDSTORMS EV3 Programmable Brick 2 | Boot-Kernel-Path: boot/flash/uImage 3 | Boot-Script-Path: boot/flash/boot.scr 4 | Boot-Device: 5 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/ev3/etc/flash-kernel/machine: -------------------------------------------------------------------------------- 1 | LEGO MINDSTORMS EV3 Programmable Brick 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/ev3/etc/ssh/ssh_host_dsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN DSA PRIVATE KEY----- 2 | MIIBuwIBAAKBgQDGOXDeiuPQwrMVJS9Lx6+kz2Ni4TNWkRVHIZlw/ih8IOw2K5Gl 3 | Um+OyfMZuKN4dS3yZcCkUxKVkonrRV8JWRDX5gGk/ZAwm3NxeiC0Ic76CfMCF7zE 4 | C+7AERGU9DNUU/ZCK6DbFPYF8L2uKxIhp4HAj4QBPn8Mu0heaqZjT8UnzQIVAOad 5 | MiVGb+5dztSprbRzeHqZE93rAoGAds8WW5lXz5XLvw/tUub9vGEP4DD3aXTPZYP+ 6 | rs/alG8u0Vsvc51Njr9JM/rkwZNOEdRU2a+R+v27nAveBPvC5S7sd7iRfgz53URc 7 | c576Z/ODjsATZrI7krCIhBBNfrGE0UK9rpGhmn21ekqupoxaIHYXDavQgi0iv4Nn 8 | +XDp0GYCgYB3DZceIK7LM7PXLGYnL4mYGl1nmIcg2CqaPZO239bBfSCdoJPab2id 9 | pyT9O1/e0/KtZ69mDW3d2Q/1d5ENPcKO1hdcRDai48oOHqf2Z15zQIhOTc5rxbEW 10 | +xHj2ajOH7zmLmqyHQfpLQbD1Q+cVUEU9NuEI1FO2VanCgxTkABiEAIVAJJz7bkv 11 | UG3g69KElu3TkD7Zf+1L 12 | -----END DSA PRIVATE KEY----- 13 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/ev3/etc/ssh/ssh_host_dsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBAMY5cN6K49DCsxUlL0vHr6TPY2LhM1aRFUchmXD+KHwg7DYrkaVSb47J8xm4o3h1LfJlwKRTEpWSietFXwlZENfmAaT9kDCbc3F6ILQhzvoJ8wIXvMQL7sAREZT0M1RT9kIroNsU9gXwva4rEiGngcCPhAE+fwy7SF5qpmNPxSfNAAAAFQDmnTIlRm/uXc7Uqa20c3h6mRPd6wAAAIB2zxZbmVfPlcu/D+1S5v28YQ/gMPdpdM9lg/6uz9qUby7RWy9znU2Ov0kz+uTBk04R1FTZr5H6/bucC94E+8LlLux3uJF+DPndRFxznvpn84OOwBNmsjuSsIiEEE1+sYTRQr2ukaGafbV6Sq6mjFogdhcNq9CCLSK/g2f5cOnQZgAAAIB3DZceIK7LM7PXLGYnL4mYGl1nmIcg2CqaPZO239bBfSCdoJPab2idpyT9O1/e0/KtZ69mDW3d2Q/1d5ENPcKO1hdcRDai48oOHqf2Z15zQIhOTc5rxbEW+xHj2ajOH7zmLmqyHQfpLQbD1Q+cVUEU9NuEI1FO2VanCgxTkABiEA== 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/ev3/etc/ssh/ssh_host_ecdsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEIMKv/e0e5zgDkF/Youy94lRKhs5O59rYSfGm3oz9RJ7poAoGCCqGSM49 3 | AwEHoUQDQgAEpntNUh8ppI4qO+t59liAUxD5uUJaEA2gU6DTQEPp7voZy4UWmN4s 4 | zN6ICsyZkgYic53bI6VjM6udg9REtl7HBw== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/ev3/etc/ssh/ssh_host_ecdsa_key.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKZ7TVIfKaSOKjvrefZYgFMQ+blCWhANoFOg00BD6e76GcuFFpjeLMzeiArMmZIGInOd2yOlYzOrnYPURLZexwc= 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/ev3/etc/ssh/ssh_host_ed25519_key: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW 3 | QyNTUxOQAAACC9FvTpnM+5aDqD3YymFEMt5kyMgRBs8dfoJKsZewmYiQAAAIjgttaF4LbW 4 | hQAAAAtzc2gtZWQyNTUxOQAAACC9FvTpnM+5aDqD3YymFEMt5kyMgRBs8dfoJKsZewmYiQ 5 | AAAECoR7RtCCQv+Uw4PGk23UnB2MG7u4FudBZnB7ICeS0zpb0W9Omcz7loOoPdjKYUQy3m 6 | TIyBEGzx1+gkqxl7CZiJAAAAAAECAwQF 7 | -----END OPENSSH PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/ev3/etc/ssh/ssh_host_ed25519_key.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL0W9Omcz7loOoPdjKYUQy3mTIyBEGzx1+gkqxl7CZiJ 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/ev3/etc/ssh/ssh_host_rsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEA7OSHUDDaSYejJM3fgIgBSez6clUAOVA1lmwI9/UMIL0CcqAd 3 | 29KEL8qF/IZd4UPb615R26+44XXvqf6j6xHDLIYnWhUs7fgOTjBT5XzgeeXa3OIH 4 | hkZuatYx6s3aggqA0+a1YZ05xfPNQVH1ckaLzS4mQTEhkSgFLq2C/dR9wELGUIST 5 | WezKeKBRXXXDqQ2nD0Z6GxLpW17hoaQa/FDhpVhPrEnyYcm1g5BX/XEhId2S8FX7 6 | wu+9ChWR8Ooz48v4Lx8F78Ek1NM01ogID/sxMkJKQw1No68pDpOpEBZ0fc8uQZg+ 7 | RgvEArwCm6t7QGE4nH+RjCmpAIAYmO8jHBq2hQIDAQABAoIBAQDcO5mQ89n8gh0q 8 | GjuvQsHv+GDd6ihLIEaxkb7Exwx/YzjjV/hqZUx/Iclu+3xL8MqEBywTEUrQUNR/ 9 | Nj0uTVUmD5KGLSmYEwU5q7RTpcULjqXqtDhKnTAKIxhFMxvxydH7LoFyPrl3TzGD 10 | iK6nju5p0n2+He8XBB3NR4KAeQxvr9rJ7CJJWcJWaPZOE1DuAWlSnXOrCGky9/5k 11 | bN7QtYHvSysnJiFnxVaG0QYb8n03ktSz3e4DzQyeW4t0B3ILmrcpwFlcH6kqoCD4 12 | eXeopJYYWLgXPyL4T9M69JSlAL8p5PFfwKX6He5OWtuyjIGFHxeC3YHvybvh1vEQ 13 | ASrXcgABAoGBAPcrsAD4zR2I004NcVsa/vMpJuikM+EUlxWeyS8qp6U6KFNPY4gm 14 | 88d09g1LbtU6cDdqJ+qMeCgsTs5nCpvRcKihOrP8AOQMeF0lgcvF8N5jjxmFMoA5 15 | MHlWDkVHoIR4aVxRv0U9Fyn91j4h/Uk1kn3F2ptjome29uSs/5+fh8WhAoGBAPVa 16 | 2gh5V48njTp57SbvmAQ3175WFLqU5KGsWqN+Nt842L+ls440fO28sEmzHZ6NAb4v 17 | YQRusIVbL//6MobIFabuMkpNmG64/PHw6cxHxTgyzkfvXtw96WTrT8/GweLvMhNC 18 | /6vhaN5njFBAO/W7nJe84Bnd/e2+KalFRVEY9P5lAoGABLuycCJTkzg2i60YOZ1n 19 | unJUS2oxkCLbzc8vnRadBT363bWMe2P7kRs9Rv3lznGDCpyezRAJkQNgMvWoL1mw 20 | ZZpIzH+L6NIQUABS3vsYZLnVWLDDSc9OjVRHi64WddL0eY8bMZE861HwE1qFRiyf 21 | dIcga49Z4dCQI8roTj8402ECgYBI75sFDd1DhwRqr7gZ7PuJtXgC8t/ynzRgAzZm 22 | h6yUKvfz8LQxv9Srb34QSpixe0VbXgY/JRCAdB0OwTen7W7SUtjMUcjQkVlQKse1 23 | nFg6XpAHvla6rgTlpTXylCkq5uRB6ZbLZ5SfGLUTXiT05bKlQNZ1mhJUTEViNl9m 24 | vj6GKQKBgQDDjdmkW3n9zvRUKjuGqaRtPjmHc8RpFKnwCwJXOMioSlzaLb22afqJ 25 | V5fu7NHPe5APBqKKQgAA1BBAQDNybVuVLZ2XUN1OfuAGSspwBXxyPEs6jGIM7pw4 26 | +0g60qHB/eteimvozHGDRLX0cfRYAOvKt91sRPGC3jmpFx2sH/qtkA== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/ev3/etc/ssh/ssh_host_rsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDs5IdQMNpJh6Mkzd+AiAFJ7PpyVQA5UDWWbAj39QwgvQJyoB3b0oQvyoX8hl3hQ9vrXlHbr7jhde+p/qPrEcMshidaFSzt+A5OMFPlfOB55drc4geGRm5q1jHqzdqCCoDT5rVhnTnF881BUfVyRovNLiZBMSGRKAUurYL91H3AQsZQhJNZ7Mp4oFFddcOpDacPRnobEulbXuGhpBr8UOGlWE+sSfJhybWDkFf9cSEh3ZLwVfvC770KFZHw6jPjy/gvHwXvwSTU0zTWiAgP+zEyQkpDDU2jrykOk6kQFnR9zy5BmD5GC8QCvAKbq3tAYTicf5GMKakAgBiY7yMcGraF 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/generic/brickstrap/generic/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | apt-get install --yes --no-install-recommends \ 9 | bzip2 \ 10 | fortune \ 11 | fortunes-min \ 12 | gawk \ 13 | gir1.2-ev3devkit-0.4 \ 14 | git \ 15 | guile-1.8 \ 16 | lua5.2 \ 17 | nfs-common \ 18 | nodejs \ 19 | nodejs-legacy \ 20 | npm \ 21 | openrobertalab \ 22 | python \ 23 | python-evdev \ 24 | python-gobject \ 25 | python-pyudev \ 26 | python-setuptools \ 27 | python-smbus \ 28 | python3 \ 29 | python3-bluez \ 30 | python3-ev3dev \ 31 | python3-evdev \ 32 | python3-gattlib \ 33 | python3-gi \ 34 | python3-libpixyusb \ 35 | python3-ptvsd \ 36 | python3-pyudev \ 37 | python3-rpyc \ 38 | python3-serial \ 39 | python3-setuptools \ 40 | python3-smbus \ 41 | ruby \ 42 | samba \ 43 | smbnetfs \ 44 | sshfs 45 | 46 | # prevent openrobertalab from running 47 | systemctl mask openrobertalab.service 48 | 49 | # disable nfs from running by default since most won't use it 50 | systemctl disable nfs-common.service 51 | systemctl disable rpcbind.service 52 | 53 | # disable smbd from running by default. Want to leave nmbd on though. 54 | systemctl disable smbd.service 55 | # we really don't want this running - it causes a long timeout on boot 56 | systemctl mask samba-ad-dc.service 57 | 58 | # flash-kernel is triggered by some of the package installs and results in 59 | # backup files being created in the boot partition. 60 | rm -f /boot/flash/*.bak 61 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/raspbian/brickstrap/_tar-only/etc/apt/sources.list: -------------------------------------------------------------------------------- 1 | deb http://mirrordirector.raspbian.org/raspbian jessie main contrib non-free rpi 2 | #deb-src http://mirrordirector.raspbian.org/raspbian jessie main contrib non-free rpi 3 | 4 | deb http://archive.ev3dev.org/raspbian jessie main 5 | #deb-src http://archive.ev3dev.org/raspbian jessie main 6 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/raspbian/brickstrap/raspbian/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | # These files are incorrectly marked as required in the raspbian repository. 9 | # see https://bugs.launchpad.net/raspbian/+bug/1541204 10 | apt-get purge --yes \ 11 | gcc-4.6-base \ 12 | gcc-4.7-base \ 13 | mountall \ 14 | xz-utils 15 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/raspbian/etc/apt/sources.list: -------------------------------------------------------------------------------- 1 | # This file is replaced when building images with brickstrap 2 | 3 | deb http://archive.raspbian.org/raspbian jessie main contrib non-free rpi 4 | #deb-src http://archive.raspbian.org/raspbian jessie main contrib non-free rpi 5 | 6 | deb http://archive.ev3dev.org/raspbian jessie main 7 | #deb-src http://archive.ev3dev.org/raspbian jessie main 8 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi-common/boot/flash/cmdline.txt: -------------------------------------------------------------------------------- 1 | dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi-common/boot/flash/overlays/README.txt: -------------------------------------------------------------------------------- 1 | This directory is where the bootloader looks for device tree overlays. 2 | You can copy overlays from /usr/lib/linux-image-/overlays/*.dtbo 3 | or create your own. You must also enable the overlays in config.txt. 4 | 5 | Run `zless /usr/share/doc/raspberrypi-bootloader/README.overlays.gz` or visit 6 | for 7 | more information. 8 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi-common/brickstrap/rpi-common/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | apt-get install --yes --no-install-recommends \ 9 | bash-completion \ 10 | libraspberrypi-bin \ 11 | libraspberrypi0 \ 12 | raspberrypi-bootloader \ 13 | rpi-systemd 14 | 15 | # Copy all of the overlays to the FAT partition 16 | cp /usr/lib/linux-image-*[^.old]/overlays/*.dtbo /boot/flash/overlays/ 17 | 18 | # Set the FRAMEBUFFER environment variable. 19 | 20 | # PiStorms and other add-on displays are generally at /dev/fb1 21 | 22 | # This one is so that users will inherit this variable. 23 | echo "FRAMEBUFFER=/dev/fb1" >> /etc/environment 24 | 25 | # And this one is for systemd since it doesn't look at /etc/environment 26 | # This would be better in /etc/systemd/system.conf.d/, but that was not introduced 27 | # until systemd 218 and jessie uses 215. 28 | sed -i 's,#\(DefaultEnvironment=\),\1FRAMEBUFFER=/dev/fb1,' /etc/systemd/system.conf 29 | 30 | # make sure serial-getty@.service does not try to use the serial port 31 | # so that it can be used by BrickPi 32 | systemctl mask serial-getty@ttyAMA0.service 33 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi/brickstrap/rpi/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | # need a place to put the kernel 9 | mkdir -p /boot/flash 10 | 11 | apt-get install --yes --no-install-recommends \ 12 | linux-image-ev3dev-rpi 13 | 14 | # Copy device tree for Model B+ - only Model B is installed by flash-kernel 15 | # and this image needs to support both models. 16 | cp /usr/lib/linux-image-*[^.old]/bcm2708-rpi-b-plus.dtb /boot/flash/ 17 | 18 | # Fix file permissions on private ssh host keys. (git does not preserve 19 | # permissions other than the executable bit) 20 | chmod 600 /etc/ssh/ssh_host_*_key 21 | 22 | echo './etc/flash-kernel/db' >> /brickstrap/_tar-exclude 23 | echo './etc/flash-kernel/machine' >> /brickstrap/_tar-exclude 24 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi/etc/flash-kernel/db: -------------------------------------------------------------------------------- 1 | Machine: Raspberry Pi Model B 2 | Boot-Kernel-Path: boot/flash/kernel.img 3 | Boot-DTB-Path: boot/flash/bcm2708-rpi-b.dtb 4 | Boot-Device: 5 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi/etc/flash-kernel/machine: -------------------------------------------------------------------------------- 1 | Raspberry Pi Model B 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi/etc/ssh/ssh_host_dsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN DSA PRIVATE KEY----- 2 | MIIBuwIBAAKBgQCEWxylXfz/hi19k2Kx0S+xVH42ywL6E4n8ElwjSsIaXKVYDQDb 3 | i8h2koQvAClcBro2N1AauRO3FHaYhf7zjEeFt3efhlgC2hrYvVIsPjFuEtxeFLD3 4 | sa9uJ3u/5/mDL+6CHbwIVUZrEwSRi5OUiic72mzZvswLMd269gWx18GibQIVANXI 5 | eKNJ3JOJo28KtoM4vRrbyNInAoGATvtRhhgyLqjeIlBNYDVHKEr/0VJCcgiBOuuA 6 | krXQ9VZW4jYvAgsp+grIoxdPga+RkANjoRicn1HmNUaadtTbjFu+runQC5QGj3Tn 7 | lDvgNjEe3q4zclS9s23ty+2iC1GH1etNOMOOfsIGw0QfqfQUBG6R/ZTvAF5EmOg9 8 | WS+5tkwCgYBgLLR6zckBgveIKC4Shs/PHhYu6WEs9nt43Ido/9oouA6jWsXUhf6e 9 | TesCbdinz6aXDyMD2E8Nv9y/mGN28Xujor/amgU5V2OicGYsYYUtuIPk6V2XGIq3 10 | MC7G1KBANl/mlNnTVq54fTppb8O4fCy78BS5jiftFSzTQm9N5xeRGwIVAMTBC4wK 11 | k9Thk8JCgtB2ZtvZY4mU 12 | -----END DSA PRIVATE KEY----- 13 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi/etc/ssh/ssh_host_dsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBAIRbHKVd/P+GLX2TYrHRL7FUfjbLAvoTifwSXCNKwhpcpVgNANuLyHaShC8AKVwGujY3UBq5E7cUdpiF/vOMR4W3d5+GWALaGti9Uiw+MW4S3F4UsPexr24ne7/n+YMv7oIdvAhVRmsTBJGLk5SKJzvabNm+zAsx3br2BbHXwaJtAAAAFQDVyHijSdyTiaNvCraDOL0a28jSJwAAAIBO+1GGGDIuqN4iUE1gNUcoSv/RUkJyCIE664CStdD1VlbiNi8CCyn6CsijF0+Br5GQA2OhGJyfUeY1Rpp21NuMW76u6dALlAaPdOeUO+A2MR7erjNyVL2zbe3L7aILUYfV6004w45+wgbDRB+p9BQEbpH9lO8AXkSY6D1ZL7m2TAAAAIBgLLR6zckBgveIKC4Shs/PHhYu6WEs9nt43Ido/9oouA6jWsXUhf6eTesCbdinz6aXDyMD2E8Nv9y/mGN28Xujor/amgU5V2OicGYsYYUtuIPk6V2XGIq3MC7G1KBANl/mlNnTVq54fTppb8O4fCy78BS5jiftFSzTQm9N5xeRGw== 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi/etc/ssh/ssh_host_ecdsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEIDMTs2dTNSm293uTi2Z1BN/NSMt7+8g8wxnKw50pxGcioAoGCCqGSM49 3 | AwEHoUQDQgAEPIB4QNta15nnoSps4ULkGZSEy3NCOLRWnaAx+E1xP/rD2Sh7KcH4 4 | dt81Ke+OIivry4+6VOXW0dJ6MrJ7xfU7JA== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi/etc/ssh/ssh_host_ecdsa_key.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDyAeEDbWteZ56EqbOFC5BmUhMtzQji0Vp2gMfhNcT/6w9koeynB+HbfNSnvjiIr68uPulTl1tHSejKye8X1OyQ= 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi/etc/ssh/ssh_host_ed25519_key: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW 3 | QyNTUxOQAAACAnPM0b7Ny1tqTLYUjXyipr0X+FnSkVq+dfpmNSlOBKpAAAAIiHeku/h3pL 4 | vwAAAAtzc2gtZWQyNTUxOQAAACAnPM0b7Ny1tqTLYUjXyipr0X+FnSkVq+dfpmNSlOBKpA 5 | AAAED3m2Ob0lfGSi3Mwsf8gVx7XaThlIcS5fymVyirzFwRJic8zRvs3LW2pMthSNfKKmvR 6 | f4WdKRWr51+mY1KU4EqkAAAAAAECAwQF 7 | -----END OPENSSH PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi/etc/ssh/ssh_host_ed25519_key.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICc8zRvs3LW2pMthSNfKKmvRf4WdKRWr51+mY1KU4Eqk 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi/etc/ssh/ssh_host_rsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEA8rEeTI/tek2aSz0C2xhMhyTK414KFKvj2EZPReShgyJm0a6Y 3 | U3CDHKEz8ynxB64RmcNo9jFdwzwqotZ8OOQJ2yyz6ES5ese0JxxMxFHdPpkt1Isz 4 | mCxxisBLbP3JRPUFnezq45aXaauTPjltoLNH0Z6eiM66xsV2yDU5MWjySxSDsSqF 5 | uB14d8a2xGPAGWQn9sigWz60st3FCRqTr4qh4oKOJBpfv5BtNQfxTX4/+ugpePRv 6 | zLJMoDeDmKRErW5CxTbEdEpcmKtSiwtYyrU2Xkj4Fg7vqp3Gheu8TKTjn2rmPgiw 7 | /UGTHEG4CcN4ZgCIOIpk5/UtjfyhEa5ZmVtmfQIDAQABAoIBADQkzA7FKdAKVmlt 8 | /WwXp3Gt/Q2nCeFxIS45xRSOUAl93buVmNLsrK79D81iKJBu3Qc9jhK/fpbRGZQN 9 | I3mRvXBjBXCVO4je2Z1BnljcAf5OKSOumPJMMkUOleYgDRuMzZ0l5z3pADVLEQLg 10 | keZiPr8SJpvcVxMYIDJaBSTRmKV6osJ6I35uLxt/Q5MQAirxUqBeLxURUaCod9kr 11 | 1fSb9dr/VMWwdnjLmAXtH7Cr/npsM9VDHD+fbvzv00X+RSfdA2FTkiiKDO+2wOwO 12 | Fr5FxcPccKc3q7IQX/lUtAV+VYHtziUjktctz7fddnAONOw3oA72JPvqGfj3I9vT 13 | Kz6JX+ECgYEA/qDrLhSFo4zeq6AibZKqIyA75pcQAcbuAyfBvKowLizk5OIm4Mn8 14 | Wl/ld7G0h8o3+lV5+YkgklfM/ok5cwzKipshNcUgufNASFD+hdXB40CP8Xb1UnnW 15 | W/l21I9KuVfaO3TFXLaIDSxMb9EBCWc8iUwsEUkdjdBaVKAtd20Do7kCgYEA8/+9 16 | yda4+7PUsrlJ3O99+fjE1zt+cboHfe2R8VHuZYwt1kEJsQFuUN+MqAJLpypnT9rn 17 | GXmyzhxw17+hmBVtnBZlRSkBNhzaBT+vlG1saAMe9GkrtIoGoRPRCakzo/5PYSfz 18 | yi51xCgv7U9GAaZX/5p/c9p9tIUXKo41wqKmguUCgYBEUIood8sPASlwpGr4OOQ6 19 | vlgz2o2p3GRZJl59Lq/0g4j5u48wuiBhYt8eyOelkuSH3kz2XQsHGFVgaRKnwmPI 20 | 4iv70CKioRe7DzfqUlpNjTHRV9gjw5p2XKy8BKHIrkBXuVGGOVaxKhRr34hGrJL6 21 | Rxx/mr06Ig9KKxtnsjDKyQKBgQDoWmyYLbMAdlKhU5NEIoh7p+uC7vPNRxLlV3u4 22 | K4ZzC1eHBW4+MhekSg2+3FjAur+hKtsRxnOAlVLcEW/HzPgRQL51asPtjPINN4Vz 23 | OfSW5AnxQ8nL5fjEIYPZyFgV3hIneg1NRor9Hivtt6T54zc/gBfI8pLseiUCcGQ/ 24 | kfYxBQKBgQCBcDgRQMA07HdHXTxV49H5D+FTlIRQ+ZcE6cPyi//AhjUhc7FrYVzy 25 | pyixgSGQRXn6AldcW5ilokr8InBA9Dj3Pp8gMytIoQxeK4hart7ABe0ffiA+AnMx 26 | Zu3ouKOiTu/eD87TOo8yp8LSMau8UQhgkl50jkVkx6epxif/w9xwZQ== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi/etc/ssh/ssh_host_rsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDysR5Mj+16TZpLPQLbGEyHJMrjXgoUq+PYRk9F5KGDImbRrphTcIMcoTPzKfEHrhGZw2j2MV3DPCqi1nw45AnbLLPoRLl6x7QnHEzEUd0+mS3UizOYLHGKwEts/clE9QWd7Orjlpdpq5M+OW2gs0fRnp6IzrrGxXbINTkxaPJLFIOxKoW4HXh3xrbEY8AZZCf2yKBbPrSy3cUJGpOviqHigo4kGl+/kG01B/FNfj/66Cl49G/MskygN4OYpEStbkLFNsR0SlyYq1KLC1jKtTZeSPgWDu+qncaF67xMpOOfauY+CLD9QZMcQbgJw3hmAIg4imTn9S2N/KERrlmZW2Z9 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi2/brickstrap/rpi2/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | # need a place to put the kernel 9 | mkdir -p /boot/flash 10 | 11 | apt-get install --yes --no-install-recommends \ 12 | linux-image-ev3dev-rpi2 \ 13 | firmware-rpi 14 | 15 | # Copy device tree for RPi 3 - only RPi 2 is installed by flash-kernel 16 | # and this image needs to support both models. 17 | cp /usr/lib/linux-image-*[^.old]/bcm2710-rpi-3-b.dtb /boot/flash/ 18 | 19 | # Fix file permissions on private ssh host keys. (git does not preserve 20 | # permissions other than the executable bit) 21 | chmod 600 /etc/ssh/ssh_host_*_key 22 | 23 | echo './etc/flash-kernel/db' >> /brickstrap/_tar-exclude 24 | echo './etc/flash-kernel/machine' >> /brickstrap/_tar-exclude 25 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi2/etc/flash-kernel/db: -------------------------------------------------------------------------------- 1 | Machine: Raspberry Pi 2 Model B 2 | Boot-Kernel-Path: boot/flash/kernel7.img 3 | Boot-DTB-Path: boot/flash/bcm2709-rpi-2-b.dtb 4 | Boot-Device: 5 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi2/etc/flash-kernel/machine: -------------------------------------------------------------------------------- 1 | Raspberry Pi 2 Model B 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi2/etc/ssh/ssh_host_dsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN DSA PRIVATE KEY----- 2 | MIIBuwIBAAKBgQDlItVNlpZwDIxiw9KSlIDN46Xfl4mkWmzrb/kpEg7afm7kijFi 3 | aGb6xkwDCD+KHwuIXC3lE23613DbPgMiKlIxAH9mKThAE84PEnks7hHUiQPE1PDW 4 | bDfJzk/fE+q89Gm+Jk9M02MHELTRyD9ozWSnxYdCPeShxvEZdJjv0PFz4wIVAL9N 5 | 5Iak/NYL9vIAqVWkCReLKmy3AoGBAJuilQCzFkWsc948Tersy1kR2wh0ZJPTLeLx 6 | C1pcd9KFQOe0/zL7brf7nqjHU7MDO73pdJsNLis9l/J62rNcAjpa0kGXvxmoLiD2 7 | 9Rtj1U2OY9+5IlFvNL5HaklVE++6HvdPUxmL5tXDS91nDgf/E4x9Sn+pDtLmgZol 8 | SK6UHG5zAoGAWkOCSMqhb5eKk/HNdhVf4Hc/DS+pXsJHYAPKzH3FHCkQZUJTggqv 9 | zLYyiHZ1tjETvU8wP/csNyr7TEI2yNydsuw9Fssd926I9stK/6nf4/hySlCPInOT 10 | /NnwedneCsWFXUeTH83+0AxWB3fLTAQGvsWspqBRdq5Y0eGmrYGokcQCFCIXtv7g 11 | grG6Ixc2CkP4Sdp/sr3W 12 | -----END DSA PRIVATE KEY----- 13 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi2/etc/ssh/ssh_host_dsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBAOUi1U2WlnAMjGLD0pKUgM3jpd+XiaRabOtv+SkSDtp+buSKMWJoZvrGTAMIP4ofC4hcLeUTbfrXcNs+AyIqUjEAf2YpOEATzg8SeSzuEdSJA8TU8NZsN8nOT98T6rz0ab4mT0zTYwcQtNHIP2jNZKfFh0I95KHG8Rl0mO/Q8XPjAAAAFQC/TeSGpPzWC/byAKlVpAkXiypstwAAAIEAm6KVALMWRaxz3jxN6uzLWRHbCHRkk9Mt4vELWlx30oVA57T/Mvtut/ueqMdTswM7vel0mw0uKz2X8nras1wCOlrSQZe/GaguIPb1G2PVTY5j37kiUW80vkdqSVUT77oe909TGYvm1cNL3WcOB/8TjH1Kf6kO0uaBmiVIrpQcbnMAAACAWkOCSMqhb5eKk/HNdhVf4Hc/DS+pXsJHYAPKzH3FHCkQZUJTggqvzLYyiHZ1tjETvU8wP/csNyr7TEI2yNydsuw9Fssd926I9stK/6nf4/hySlCPInOT/NnwedneCsWFXUeTH83+0AxWB3fLTAQGvsWspqBRdq5Y0eGmrYGokcQ= 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi2/etc/ssh/ssh_host_ecdsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEIC/V+jh3f5BItmPJFagwQ1v0yunsNRGI4eodSn1nAU3LoAoGCCqGSM49 3 | AwEHoUQDQgAEvVbl06ZhzTFUvfz27XONf8QbpsMAbo8UCC+hKBLxhitDX1Jra+5s 4 | bnfULSrCs4/E0LNM3bv0z+Yh2zEo9BlgKg== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi2/etc/ssh/ssh_host_ecdsa_key.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBL1W5dOmYc0xVL389u1zjX/EG6bDAG6PFAgvoSgS8YYrQ19Sa2vubG531C0qwrOPxNCzTN279M/mIdsxKPQZYCo= 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi2/etc/ssh/ssh_host_ed25519_key: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW 3 | QyNTUxOQAAACCnmWsqMzbLnHDr/6E2Rl+djV9D57vdgMFyWULMmU/YIgAAAIjAyL2gwMi9 4 | oAAAAAtzc2gtZWQyNTUxOQAAACCnmWsqMzbLnHDr/6E2Rl+djV9D57vdgMFyWULMmU/YIg 5 | AAAEALUW9Cg/BtdmFBRB6eGa+nc4VOtllDB3mBtRrsgiHxtaeZayozNsuccOv/oTZGX52N 6 | X0Pnu92AwXJZQsyZT9giAAAAAAECAwQF 7 | -----END OPENSSH PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi2/etc/ssh/ssh_host_ed25519_key.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKeZayozNsuccOv/oTZGX52NX0Pnu92AwXJZQsyZT9gi 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi2/etc/ssh/ssh_host_rsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpQIBAAKCAQEAw8wrkwMoUE4apRifvig6OVl3FYJ483XdH+/H0MbU4WSFinYD 3 | /jH5orbn1afayVnpAU//FS2+TQ4ChgWg+dgiKtz28OS1sX5tb3dcx1fsz285VK/3 4 | pd0lHLkLyXWFIJ640H8KpsLnqEkCG49/rzZnzzBA+oshgVH6jEOGsfC/iUX7+8uG 5 | ELoMsZNemuF1TXzs+SrmzNAYK/0/yfEM+xfzCA2XU6pv0BT4LmNA2BYFw077b4T+ 6 | BMkeJSe0VZ7FA++WPuBXQnNV5Im3syhXD9GHm58J0KtfpANk6cWgWVQNZqPfytFU 7 | i6wwT/NPNulLg9awjePZAMgS2dAIGRHE3ib7VwIDAQABAoIBAQCaP8i8QqqJyV44 8 | XlPKjQqBj7e/HFCJDHut40r5cQrYnkaONDclFN3jkFDIAzrbkZd8zzbXyne3YKgg 9 | SWLuMZWJSxbH5IY3VLCGNfTDnsMTED6MNyzUYIoSPL3Kcmj0r9ZNeyg7BCVYcFvW 10 | tpASyruxgARQ3TcCGEFYKwJ8QHvEehsCUsdJU1Qxfxbb6JMqjAs56gAAQOlRTLuU 11 | XlGTDG7cplbSpQ63Ddn6nnhT+lRW7PNVv8SR/MjzdISq8RaZwYwRiA8DksbgLdqD 12 | oQbDqC/9ytyTQaRVUqDy3OMPVwfmPywE7FKT7maneZwSF16XQuZmB59j6HM4axCJ 13 | 23Uof24hAoGBAOb1uWr287VttSC41UXi+3LCKUtW8d2mbhU28Q71fy0NNNLn1FIW 14 | QmenlTnKFkRQqdVyNR6fPmIgsHRdo25bJwy/iwaNIYqS/pYg69B+zRJBbJaMAohF 15 | r9BlXCNKTdEhUf0TWdzM9j5HtKOUnmjlFaRuvPtX3GvhMiGUnVNU61DJAoGBANkG 16 | hJ25H5f8x1yy/t8lA2rQfbms5r1AsoPZVG7yVqYud5sc/TsWtab3PQA1vfJe5QA2 17 | mGv3oNWKuI+NkRVLRyUJJS1EjDORdofa1D1Rd2UWyfdHZ8edrfrFYJVsRVHGF8/f 18 | 2xLe8fLWCQDhKEhNkYc0Dl/b1W7l0r3seKcvixsfAoGBANUSSw3oaCuv25MlkfRY 19 | lFtpzsjnnFk9Cn/d4QRI7hv0/A+6usFEMd0I2P2od2Rs+lGlfGYUyWuj9sZUAMt1 20 | oo/7Qdo4Z4I9XEvKcWM3KB+4ZeJ5pnhruehLKnaQPTw7PjV5HcU6/c21P2xOVto0 21 | xgOd+hDzHLIV3rbmMUJIrJMpAoGBAK/B8paVPPvmsEHniDeJDzpq/NbpKrir86aJ 22 | 1DJBumC9EwogsQgwfQ5p/hH0dA8cQNMqY8hUdAFcZdmEKbIYE9bvkBcYA38j191w 23 | ICBEoK/Sg9/qCScFEMgdHvoEBCOUjOZBgXbH7SPfqMz4i5n6j9fyFY4WR8SXBVPg 24 | dVnYTAy7AoGAa4AcDpVNkA2A3dKmCkQOsGUPvrzv12rhfJZEyTe/Iyc2bWclJ6CQ 25 | 3WS8PawfDJrnhpt0sxPVXG2cpu70Wp+nf0B/2+MjRQ3ofKzdGxK2IRQm4MFIxaIF 26 | FCNPYQs5JlU2td21rXEmAl8sADiOM18EXv6efuo5uq83GmTuO8H4+3I= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /ev3dev-jessie/layers/rpi2/etc/ssh/ssh_host_rsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDzCuTAyhQThqlGJ++KDo5WXcVgnjzdd0f78fQxtThZIWKdgP+MfmitufVp9rJWekBT/8VLb5NDgKGBaD52CIq3Pbw5LWxfm1vd1zHV+zPbzlUr/el3SUcuQvJdYUgnrjQfwqmwueoSQIbj3+vNmfPMED6iyGBUfqMQ4ax8L+JRfv7y4YQugyxk16a4XVNfOz5KubM0Bgr/T/J8Qz7F/MIDZdTqm/QFPguY0DYFgXDTvtvhP4EyR4lJ7RVnsUD75Y+4FdCc1XkibezKFcP0YebnwnQq1+kA2TpxaBZVA1mo9/K0VSLrDBP80826UuD1rCN49kAyBLZ0AgZEcTeJvtX 2 | -------------------------------------------------------------------------------- /ev3dev-jessie/rpi-base.dockerfile: -------------------------------------------------------------------------------- 1 | # Minimal base image for ev3dev on Raspberry Pi hardware 2 | 3 | FROM ev3dev/raspbian-jessie-armhf-qemu-minbase 4 | COPY layers/raspbian/ / 5 | RUN /brickstrap/raspbian/run 6 | COPY layers/base/ / 7 | RUN /brickstrap/base/run 8 | COPY layers/rpi/ / 9 | RUN /brickstrap/rpi/run 10 | COPY layers/rpi-common/ / 11 | RUN /brickstrap/rpi-common/run 12 | -------------------------------------------------------------------------------- /ev3dev-jessie/rpi-generic.dockerfile: -------------------------------------------------------------------------------- 1 | # Official ev3dev image for Raspberry Pi hardware 2 | 3 | FROM ev3dev/ev3dev-jessie-rpi-base 4 | COPY layers/generic/ / 5 | RUN /brickstrap/generic/run 6 | ARG BRICKSTRAP_IMAGE_NAME=unknown-ev3dev-jessie-rpi-generic 7 | ENV BRICKSTRAP_IMAGE_NAME ${BRICKSTRAP_IMAGE_NAME} 8 | RUN echo "$BRICKSTRAP_IMAGE_NAME" > /etc/ev3dev-release 9 | -------------------------------------------------------------------------------- /ev3dev-jessie/rpi2-base.dockerfile: -------------------------------------------------------------------------------- 1 | # Minimal base image for ev3dev on Raspberry Pi 2/3 hardware 2 | 3 | FROM ev3dev/debian-jessie-armhf-qemu-minbase 4 | COPY layers/debian/ / 5 | COPY layers/base/ / 6 | RUN /brickstrap/base/run 7 | COPY layers/rpi2/ / 8 | RUN /brickstrap/rpi2/run 9 | COPY layers/rpi-common/ / 10 | RUN /brickstrap/rpi-common/run 11 | -------------------------------------------------------------------------------- /ev3dev-jessie/rpi2-generic.dockerfile: -------------------------------------------------------------------------------- 1 | # Official ev3dev image for Raspberry Pi 2/3 hardware 2 | 3 | FROM ev3dev/ev3dev-jessie-rpi2-base 4 | COPY layers/generic/ / 5 | RUN /brickstrap/generic/run 6 | ARG BRICKSTRAP_IMAGE_NAME=unknown-ev3dev-jessie-rpi2-generic 7 | ENV BRICKSTRAP_IMAGE_NAME ${BRICKSTRAP_IMAGE_NAME} 8 | RUN echo "$BRICKSTRAP_IMAGE_NAME" > /etc/ev3dev-release 9 | -------------------------------------------------------------------------------- /ev3dev-stretch/.dockerignore: -------------------------------------------------------------------------------- 1 | README.md 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/README.md: -------------------------------------------------------------------------------- 1 | ev3dev-stretch 2 | ============== 3 | 4 | This directory contains everything for building ev3dev variants based on Debian 5 | stretch. 6 | 7 | There are 4 hardware platforms: 8 | * `bone`: BeagleBone White/Black/Green 9 | * `ev3`: LEGO MINDSTORMS EV3 10 | * `rpi`: Raspberry Pi 0/1 11 | * `rpi2`: Rapsberry Pi 2/3 12 | 13 | There are 2 package variants: 14 | * `base`: minimal install 15 | * `generic`: contains many scripting languages (used for official image release) 16 | 17 | Each variant is composes of "layers" defined in the `layers` directory. Each 18 | "layer" there generally produces two docker "layers". 19 | 20 | Each layer conforms to the following rules: 21 | 22 | * The directory is copied to the docker file using the dockerfile `COPY` command. 23 | * The layer should contain a `brickstrap/` subdirectory where ` 24 | is the name of the layer (same name as the parent directory). 25 | 26 | The `brickstrap` directory can contain the following components. 27 | 28 | * `/run`: An executable file that performs the task of setting up the layer. 29 | This usually contains an `apt-get install` command and any other tweaks 30 | needed. This script should be kept to a minimum. It is preferred that 31 | as much configuration as possible is done by the packages themselves 32 | rather than manually here. 33 | * `_tar-exclude`: A text file containing a list of files that should be 34 | excluded from a SD card image file created from this docker image. 35 | This file is usually appended from the `run` script, otherwise it would 36 | be overwritten by new layers. 37 | * `_tar-only`: A directory containing a file structure that will be overlaid 38 | on the docker image root file system when creating an SD card image from 39 | the docker image. 40 | 41 | * The `brickstrap//run` script is run using the dockerfile `RUN` command. 42 | 43 | The dockerfile that will be used to actually create an image that will be released 44 | should contain the following: 45 | 46 | ARG BRICKSTRAP_IMAGE_NAME=unknown-ev3dev-stretch-image 47 | ENV BRICKSTRAP_IMAGE_NAME ${BRICKSTRAP_IMAGE_NAME} 48 | RUN echo "$BRICKSTRAP_IMAGE_NAME" > /etc/ev3dev-release 49 | 50 | This allows a unique image name to be passed each time the image is built. 51 | -------------------------------------------------------------------------------- /ev3dev-stretch/bone-base.dockerfile: -------------------------------------------------------------------------------- 1 | # Minimal base image for ev3dev on BeagleBone hardware 2 | 3 | FROM ev3dev/debian-stretch-armhf-qemu-minbase 4 | COPY layers/debian/ / 5 | COPY layers/base/ / 6 | RUN /brickstrap/base/run 7 | COPY layers/bone/ / 8 | RUN /brickstrap/bone/run 9 | -------------------------------------------------------------------------------- /ev3dev-stretch/bone-generic.dockerfile: -------------------------------------------------------------------------------- 1 | # Official ev3dev image for BeagleBone hardware 2 | 3 | FROM ev3dev/ev3dev-stretch-bone-base 4 | COPY layers/generic/ / 5 | RUN /brickstrap/generic/run 6 | ARG BRICKSTRAP_IMAGE_NAME=unknown-ev3dev-stretch-bone-generic 7 | ENV BRICKSTRAP_IMAGE_NAME ${BRICKSTRAP_IMAGE_NAME} 8 | RUN echo "$BRICKSTRAP_IMAGE_NAME" > /etc/ev3dev-release 9 | -------------------------------------------------------------------------------- /ev3dev-stretch/ev3-base.dockerfile: -------------------------------------------------------------------------------- 1 | # Minimal base image for ev3dev on LEGO MINDSTORMS EV3 hardware 2 | 3 | FROM ev3dev/debian-stretch-armel-qemu-minbase 4 | COPY layers/debian/ / 5 | COPY layers/base/ / 6 | RUN /brickstrap/base/run 7 | COPY layers/ev3/ / 8 | RUN /brickstrap/ev3/run 9 | -------------------------------------------------------------------------------- /ev3dev-stretch/ev3-generic.dockerfile: -------------------------------------------------------------------------------- 1 | # Official ev3dev image for LEGO MINDSTORMS EV3 hardware 2 | 3 | FROM ev3dev/ev3dev-stretch-ev3-base 4 | COPY layers/generic/ / 5 | RUN /brickstrap/generic/run 6 | ARG BRICKSTRAP_IMAGE_NAME=unknown-ev3dev-stretch-ev3-generic 7 | ENV BRICKSTRAP_IMAGE_NAME ${BRICKSTRAP_IMAGE_NAME} 8 | RUN echo "$BRICKSTRAP_IMAGE_NAME" > /etc/ev3dev-release 9 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/brickstrap/_etcher_metadata/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | image/svg+xml 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/brickstrap/_report/etcher.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Create directory for use with Etcher 4 | 5 | image_dir="/brickstrap/_report/_out/$BRICKSTRAP_IMAGE_NAME" 6 | meta_dir="$image_dir/.meta" 7 | 8 | mkdir -p "$meta_dir" 9 | cp -a /brickstrap/_etcher_metadata/. "$meta_dir" 10 | 11 | cat > "$meta_dir/manifest.json" << EOF 12 | { 13 | "name": "ev3dev-stretch", 14 | "version": "$BRICKSTRAP_IMAGE_NAME", 15 | "url": "http://www.ev3dev.org", 16 | "supportUrl": "http://www.ev3dev.org/support" 17 | } 18 | EOF 19 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/brickstrap/_report/release-notes.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Create a release notes template file. 4 | 5 | REPORT_DIR="/brickstrap/_report/_out" 6 | REPORT_FILE="$REPORT_DIR/$BRICKSTRAP_IMAGE_NAME-release-notes.md" 7 | 8 | echo "Creating $REPORT_FILE template..." 9 | cat > "$REPORT_FILE" << EOF 10 | Release notes for $BRICKSTRAP_IMAGE_NAME 11 | ======================================== 12 | 13 | Changes from previous version 14 | ----------------------------- 15 | 16 | 17 | Known issues 18 | ------------ 19 | 20 | 21 | Included Packages 22 | ----------------- 23 | 24 | \`\`\` 25 | $(dpkg -l) 26 | \`\`\` 27 | EOF 28 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/brickstrap/_tar-only/etc/hostname: -------------------------------------------------------------------------------- 1 | ev3dev 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/brickstrap/base/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | script_dir=$(dirname $(readlink -f $0)) 6 | 7 | echo script_dir=$script_dir 8 | 9 | run-parts --regex='[0-9a-zA-z_\-\.]+' --verbose --exit-on-error $script_dir/run.d 10 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/brickstrap/base/run.d/10-install-packages.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | debconf-set-selections << EOF 9 | locales locales/locales_to_be_generated multiselect en_US.UTF-8 UTF-8 10 | locales locales/default_environment_locale select en_US.UTF-8 11 | EOF 12 | 13 | 14 | apt-get update --yes 15 | apt-get install --yes --no-install-recommends \ 16 | alsa-utils \ 17 | avahi-daemon \ 18 | beep \ 19 | bluez \ 20 | brickd \ 21 | brickman \ 22 | brickrun \ 23 | bsdmainutils \ 24 | ca-certificates \ 25 | connman \ 26 | console-setup \ 27 | conspy \ 28 | curl \ 29 | dosfstools \ 30 | espeak \ 31 | ethtool \ 32 | ev3dev-adduser-config \ 33 | ev3dev-base-files \ 34 | ev3dev-bluez-config \ 35 | ev3dev-connman-config \ 36 | ev3dev-rules \ 37 | ev3dev-tools \ 38 | evtest \ 39 | fake-hwclock \ 40 | fbcat \ 41 | fbset \ 42 | file \ 43 | firmware-atheros \ 44 | firmware-linux-free \ 45 | firmware-ralink \ 46 | firmware-realtek \ 47 | firmware-zd1211 \ 48 | flash-kernel \ 49 | fontconfig \ 50 | i2c-tools \ 51 | ifupdown \ 52 | iproute \ 53 | iptables \ 54 | iputils-ping \ 55 | isc-dhcp-client \ 56 | kmod \ 57 | less \ 58 | libnss-mdns \ 59 | libnss-myhostname \ 60 | libnss-resolve \ 61 | libpam-systemd \ 62 | locales \ 63 | nano \ 64 | net-tools \ 65 | netbase \ 66 | netcat-openbsd \ 67 | netpbm \ 68 | ntp \ 69 | parted \ 70 | procps \ 71 | psmisc \ 72 | screen \ 73 | ssh \ 74 | sudo \ 75 | systemd-sysv \ 76 | tree \ 77 | usb-modeswitch \ 78 | usbutils \ 79 | vim \ 80 | wget \ 81 | wpasupplicant \ 82 | xfonts-100dpi \ 83 | xfonts-75dpi \ 84 | xfonts-base \ 85 | xfonts-efont-unicode \ 86 | xfonts-efont-unicode-ib \ 87 | xfonts-unifont 88 | 89 | # work around https://github.com/ev3dev/brickstrap/issues/63 90 | chmod u+s /bin/ping 91 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/brickstrap/base/run.d/30-ssh.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Allow passing ALL environment variables via ssh 6 | sed 's/\(AcceptEnv\).*/\1 \*/' -i /etc/ssh/sshd_config 7 | 8 | # Allow challenge-response passwords (for VS Code extension) 9 | sed 's/\(ChallengeResponseAuthentication\).*/\1 yes/' -i /etc/ssh/sshd_config 10 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/brickstrap/base/run.d/31-fontconfig.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # We need bitmap fonts for brickman 6 | rm /etc/fonts/conf.d/70-no-bitmaps.conf 7 | 8 | # Build the fontconfig cache. This takes a long time, so do it now rather 9 | # than the first time an application uses fontconfig. Otherwise, there is a 10 | # long delay starting brickman on the first boot. 11 | fc-cache 12 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/brickstrap/base/run.d/32-apt.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | systemctl disable apt-daily.timer 6 | systemctl disable apt-daily-upgrade.timer 7 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/brickstrap/base/run.d/40-enable-firstboot.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | update-rc.d firstboot defaults 6 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/brickstrap/base/run.d/60-journald-storage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # systemd-journald uses massive amounts of memory, so we use persistent storage to prevent this 6 | sed -i 's/^#Storage=auto$/Storage=persistent/' /etc/systemd/journald.conf 7 | mkdir -p /var/log/journal 8 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/brickstrap/base/run.d/80-backup-etc-flash-kernel-db.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This will be written over by other docker layers for bootstrapping purposes. 4 | # However, we want this file included in the final image file rather than the 5 | # file that replaced it. 6 | 7 | source_dir=/etc/flash-kernel 8 | dest_dir=/brickstrap/_tar-only/$source_dir 9 | 10 | mkdir -p $dest_dir 11 | cp $source_dir/db $dest_dir 12 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/brickstrap/base/run.d/90-robot-user.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # Add default user and give them sudo powers 6 | adduser --disabled-password --gecos \"\" robot 7 | echo "robot:maker" | chpasswd 8 | usermod -a -G sudo robot 9 | 10 | # automatically start console-runner on boot 11 | systemctl enable console-runner@tty5.service 12 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/etc/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | hostname 2 | kernel-img.conf 3 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/etc/apt/apt.conf.d/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | 01Autoremove 2 | 70debconf 3 | docker-* 4 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/etc/apt/apt.conf.d/00ev3dev: -------------------------------------------------------------------------------- 1 | APT::Default-Release "o=ev3dev"; -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/etc/apt/apt.conf.d/99no-pdiffs: -------------------------------------------------------------------------------- 1 | Acquire::PDiffs "0"; 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/etc/apt/apt.conf.d/99no-translations: -------------------------------------------------------------------------------- 1 | Acquire::Languages "none"; 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/etc/apt/trusted.gpg.d/ev3dev-archive-keyring.gpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ev3dev/docker-library/a0d6926e6d74ea9ab2f079382cd41e8292279f47/ev3dev-stretch/layers/base/etc/apt/trusted.gpg.d/ev3dev-archive-keyring.gpg -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/etc/avahi/services/sftp-ssh.service: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | %h 5 | 6 | _sftp-ssh._tcp 7 | 22 8 | ev3dev.robot.user=robot 9 | ev3dev.robot.home=/home/robot 10 | 11 | 12 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/etc/avahi/services/ssh.service: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | %h 5 | 6 | _ssh._tcp 7 | 22 8 | 9 | 10 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/etc/dbus-1/system.d/org.ev3dev.ConsoleRunner.conf: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/etc/fstab: -------------------------------------------------------------------------------- 1 | # 2 | /dev/mmcblk0p1 /boot/flash vfat defaults,errors=remount-ro,noatime 0 2 3 | /dev/mmcblk0p2 / ext4 defaults,errors=remount-ro,noatime 0 1 4 | proc /proc proc defaults 0 0 5 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/etc/init.d/firstboot: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | ### BEGIN INIT INFO 4 | # Provides: firstboot 5 | # Required-Start: $local_fs 6 | # Required-Stop: 7 | # Default-Start: 2 3 4 5 8 | # Default-Stop: 9 | # Short-Description: ev3dev first boot tasks 10 | ### END INIT INFO 11 | 12 | case "$1" in 13 | start) 14 | update-rc.d -f firstboot remove 15 | 16 | # expand the root file system 17 | parted --script /dev/mmcblk0 unit % resizepart 2 100% || \ 18 | echo 'unit % resizepart 2 Yes 100%' | parted ---pretend-input-tty /dev/mmcblk0 19 | # line above is a hack to work around a parted bug. 20 | # http://unix.stackexchange.com/a/202872/91467 21 | partprobe 22 | resize2fs /dev/mmcblk0p2 23 | ;; 24 | stop|restart|reload|force-reload|status) 25 | : 26 | ;; 27 | *) 28 | echo "Usage: /etc/init.d/firstboot start" 29 | exit 1 30 | ;; 31 | esac 32 | 33 | exit 0 34 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/etc/kernel-img.conf: -------------------------------------------------------------------------------- 1 | silent_modules=Yes 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/etc/security/limits.d/robot-nice.conf: -------------------------------------------------------------------------------- 1 | # 2 | robot - nice -20 3 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/etc/systemd/system/console-runner@.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Console runner for robot 3 | 4 | [Service] 5 | Type=simple 6 | ExecStart=/usr/bin/conrun-server 7 | User=robot 8 | StandardInput=tty-fail 9 | StandardOutput=tty 10 | StandardError=journal 11 | TTYPath=/dev/%i 12 | PAMName=console-runner 13 | Nice=-10 14 | 15 | [Install] 16 | WantedBy=multi-user.target 17 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/usr/bin/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | qemu-arm-static 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/base/usr/sbin/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | policy-rc.d 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/bone/boot/flash/uEnv.txt: -------------------------------------------------------------------------------- 1 | # Select your cape from the following 2 | # ----------------------------------- 3 | 4 | # Uncomment only one "cape=...* line. The "...-lms2012" options use alternate 5 | # drivers for motors and sensors used by `lms2012-compat` instead of the usual 6 | # ev3dev drivers for motors and sensors. 7 | 8 | # FatcatLab EVB 9 | #cape=evb 10 | #cape=evb-lms2012 11 | 12 | # QuestCape 13 | #cape=quest 14 | #cape=quest-lms2012 15 | 16 | 17 | # Advanced options 18 | # ---------------- 19 | 20 | # kernel boot arguments 21 | cmdline=splash console=tty1 consoleblank=0 22 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/bone/brickstrap/bone/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | apt-get install --yes --no-install-recommends \ 9 | evb-systemd \ 10 | linux-image-ev3dev-bb.org \ 11 | lms2012-compat \ 12 | u-boot-tools 13 | 14 | # Fix file permissions on private ssh host keys. (git does not preserve 15 | # permissions other than the executable bit) 16 | chmod 600 /etc/ssh/ssh_host_*_key 17 | 18 | # Download BeagleBone Bootloader 19 | # 20 | # To find out the latest stable version of the files, run: 21 | # 22 | # wget https://rcn-ee.com/repos/bootloader/latest/bootloader-ng -q -O - | grep "ABI2:am335x_evm:" 23 | # 24 | 25 | mlo_url=https://rcn-ee.com/repos/bootloader/am335x_evm/MLO-am335x_evm-v2017.09-r7 26 | uboot_url=https://rcn-ee.com/repos/bootloader/am335x_evm/u-boot-am335x_evm-v2017.09-r7.img 27 | dest_dir=/brickstrap/_beagle-boot 28 | 29 | mkdir -p $dest_dir 30 | 31 | wget $mlo_url -O $dest_dir/MLO 32 | echo "d359f47f8803dc82f68969d381be96b8 $dest_dir/MLO" | md5sum --check - 33 | 34 | wget $uboot_url -O $dest_dir/u-boot.img 35 | echo "5aabd32abe3f2692395f17ffccfa53cb $dest_dir/u-boot.img" | md5sum --check - 36 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/bone/etc/brickrun.conf: -------------------------------------------------------------------------------- 1 | [stop-button] 2 | # Fatcatlab EVB back button 3 | dev_path=platform-evb-buttons-event 4 | key_code=14 5 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/bone/etc/flash-kernel/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | machine 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/bone/etc/flash-kernel/machine: -------------------------------------------------------------------------------- 1 | TI AM335x BeagleBone -------------------------------------------------------------------------------- /ev3dev-stretch/layers/bone/etc/ssh/ssh_host_dsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN DSA PRIVATE KEY----- 2 | MIIBvAIBAAKBgQDTkKzyei7LMKZrpnYgYv3kDwmcWHAa1eWBdN0AEPc6mkO6Heep 3 | RBeJ4jnHhtqn/gLhUPsjLuI43iraKzwzJu+OHDNlPVgZbT6U5w2gyyVcl+6roJiC 4 | BzsVgP1zoLQKXbqxKPBxrSQfk9L7lol6HyKNVAV1XW9gs2yS24S55g8cWwIVAKwt 5 | h6tsErtlVEkEBYLGd2MWgliTAoGBAIdDfwGFwgJQG3/YKE38Caa3LuQNAEJH3HP0 6 | sM5sL5Ved1S+wqt6Fg86Gq1C4BBCYJltbrCVPswVifzq5Ddgj5d2Hg1TF3eNmpT1 7 | W0t4Q6geCRsN5ZPdyiauwFVd4nxgXdFm1SyARFjCW0BPbo+oO1EodzxIjotrUalv 8 | /OF4TRe0AoGBAKotHwOUyClQIgx83ywWDrCZVxVzd6OwDa7j+pHf/7BzuWj5YBRa 9 | dVP5DHedPDgWIRubCasgiMhgY6mLyhN3mHUyCHEGXMIdW0M01ETYVr5ZXe32GnaK 10 | q2XLEd35lNv7SLKpkigQCSn/NgscVvJvDD00/zFm6r4rBj54iVYZj7JtAhRtxIp/ 11 | /vdfKx2B/hzhHXtCBrPifw== 12 | -----END DSA PRIVATE KEY----- 13 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/bone/etc/ssh/ssh_host_dsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBANOQrPJ6LsswpmumdiBi/eQPCZxYcBrV5YF03QAQ9zqaQ7od56lEF4niOceG2qf+AuFQ+yMu4jjeKtorPDMm744cM2U9WBltPpTnDaDLJVyX7qugmIIHOxWA/XOgtApdurEo8HGtJB+T0vuWiXofIo1UBXVdb2CzbJLbhLnmDxxbAAAAFQCsLYerbBK7ZVRJBAWCxndjFoJYkwAAAIEAh0N/AYXCAlAbf9goTfwJprcu5A0AQkfcc/SwzmwvlV53VL7Cq3oWDzoarULgEEJgmW1usJU+zBWJ/OrkN2CPl3YeDVMXd42alPVbS3hDqB4JGw3lk93KJq7AVV3ifGBd0WbVLIBEWMJbQE9uj6g7USh3PEiOi2tRqW/84XhNF7QAAACBAKotHwOUyClQIgx83ywWDrCZVxVzd6OwDa7j+pHf/7BzuWj5YBRadVP5DHedPDgWIRubCasgiMhgY6mLyhN3mHUyCHEGXMIdW0M01ETYVr5ZXe32GnaKq2XLEd35lNv7SLKpkigQCSn/NgscVvJvDD00/zFm6r4rBj54iVYZj7Jt 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/bone/etc/ssh/ssh_host_ecdsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEINP6FhOWdITpJL9+nZbitdrIxrdwGlsJS0olA1Bh+SsZoAoGCCqGSM49 3 | AwEHoUQDQgAECQ9nIaG4SilllAUewr84RoPDVoSu25zCS9VwIpDOjacWIPrV+kYE 4 | +alnDbgAsNXU8d8EcZ1irqNhKRvdbX8Y7Q== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/bone/etc/ssh/ssh_host_ecdsa_key.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAkPZyGhuEopZZQFHsK/OEaDw1aErtucwkvVcCKQzo2nFiD61fpGBPmpZw24ALDV1PHfBHGdYq6jYSkb3W1/GO0= 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/bone/etc/ssh/ssh_host_ed25519_key: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW 3 | QyNTUxOQAAACAmCk/3F111X1Mz44EwHqnRma98yO32kRxXmZLpdhBT+QAAAIi76XVcu+l1 4 | XAAAAAtzc2gtZWQyNTUxOQAAACAmCk/3F111X1Mz44EwHqnRma98yO32kRxXmZLpdhBT+Q 5 | AAAEDHW7WUl+Qz9r/xrUfXfX7scUC6TRm1yzuZ/P/+B6DUDiYKT/cXXXVfUzPjgTAeqdGZ 6 | r3zI7faRHFeZkul2EFP5AAAAAAECAwQF 7 | -----END OPENSSH PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/bone/etc/ssh/ssh_host_ed25519_key.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICYKT/cXXXVfUzPjgTAeqdGZr3zI7faRHFeZkul2EFP5 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/bone/etc/ssh/ssh_host_rsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpQIBAAKCAQEAqMuyWh59wFNJP0D+LhpUZ5GKBcHE21wsqzlum611hXy8P51/ 3 | SO7BiR1EHhjKGZ/H0lsuZ+skvz4g06lS8uhzFPdSNl04nLtDiVq2cV3Fi9oR2mrt 4 | aDHvLdGVkHejQB3j4F5tjlb7HBmTgj6KKLgm0xVpx9UXeDgauRkkRQgD9WupccaG 5 | NXs8jSlXDe21KldEuvjX5gbJta4MRTjd6GOjQLWS/qlcLotoozx9C14B0Ib8L/jM 6 | 6Uaq1mDhE2Gqv6nF+DNCu4rD3yo42/8yUEGbMcyncddmBCugWWaCmJSUzFo/QIaa 7 | oqHKhO0Pxs82hK2j2eUhYeLLt1HvKCDtI7A7FwIDAQABAoIBAQCgnEnVdEPld5ov 8 | pND23zjG33X8ala8/yTFu70iRleXr4uT4HHX3M6sf/trw9yxqxZAc2Bhox3xFtW3 9 | cNsrpMC0B2zjq6oNgCYQEQ+eKUKqAtKQCMRjK3hRGaZ9s0jT3l0RBeiq0trW7wMr 10 | oARoIGlY2nwvl/RgAMp0q5aWVL0njEA77fFDCx2/qp5AON7bpWU+7fGxhZxOjeD3 11 | LCjCwvFjJ2F57ANUxfN2Hq69P4yZYU0Wf4auqJ8afU8CoVJKDsDEsrc+/yqgdhHP 12 | ZjXz8COMf+r3d51dHDEhs8L/oEuMxY+Y2f4/MCVSB5qGo8qUV+mydwnPpmlbNiMr 13 | G8si2AuZAoGBAN7t44NJrHAvZg1aX0CpeEA1DyFDqTEomgATcl+NsFUabsJvYg4B 14 | ZgWnpmyswCzt8OhADHGPDBx/14txn/QM8O4fbTENdHdMoZZ4n8ocvbd7sVoz0Q1D 15 | 23p7tmD8xFsiC5sz+0GtosqTSEDq3bQ4SZulHkbA7OKMHm05qKhD6fLFAoGBAMHV 16 | /tDIm5T4g2XmrcUK2y4AVtp0cFVAu2Ry+o17he/6gM+tAb+3aPug3yNfhcmmOAIM 17 | G4Nj64XB8NN6mW7kNfbKVm5JpnLeKHJqkKTjgeNjdjLRucFpcYbchcZArv8dobnG 18 | xeJOVlhoUJxnjLpfIiNqDlJGFepYKw+8BTjhSeQrAoGBAIjo/pYt0/peEcXXn7I9 19 | oj2EmJMsU6d+MP4k81Qd15KcljNRZp4FW9vTN5F8ktXFF/P7CelgGecS2JSqJrsi 20 | i4EiydObWNC/vmmEEVZ2Skl6bNRiCFymNQ/HFJ4B/rGdehVKWl/evKC+zVwZIinB 21 | e+tb//kiGRmVRkZ8Z8lXVEGlAoGAUyqVDVG1Z2KFRjiGgE+bIQ6mNU7WT83ZWUz3 22 | 8bJ5EjEiCXkKkg6IrcYlV1EJ3y5BQ6ecOnCpwhcnVCV7JZgnCz9ffCx/jTOCmSzd 23 | 6NFwjnbDZSSVFcY/HoUJpLlmHDHDjSkbCHFiHMaNJ75KJEDjLdy4Tlah2o1/1F1w 24 | xCntgUcCgYEAtC5QuJ5s7jwWtE3kzvvUyUrcVKsg5NfyDZ3hTRtsddJ33ZcLmB/M 25 | /a49vDWNj8GvnwHryt41SfFEyg9wAV3hD3xlr8mJOf/LjfLKQknTFZp/0Gc/6Vxg 26 | /Gjwj6oKcumomijaf9UeVNsbJjmfxUSG5LNgjS3dKUTbQNYtH2Gtunc= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/bone/etc/ssh/ssh_host_rsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCoy7JaHn3AU0k/QP4uGlRnkYoFwcTbXCyrOW6brXWFfLw/nX9I7sGJHUQeGMoZn8fSWy5n6yS/PiDTqVLy6HMU91I2XTicu0OJWrZxXcWL2hHaau1oMe8t0ZWQd6NAHePgXm2OVvscGZOCPooouCbTFWnH1Rd4OBq5GSRFCAP1a6lxxoY1ezyNKVcN7bUqV0S6+NfmBsm1rgxFON3oY6NAtZL+qVwui2ijPH0LXgHQhvwv+MzpRqrWYOETYaq/qcX4M0K7isPfKjjb/zJQQZsxzKdx12YEK6BZZoKYlJTMWj9AhpqiocqE7Q/GzzaEraPZ5SFh4su3Ue8oIO0jsDsX 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/debian/etc/apt/sources.list: -------------------------------------------------------------------------------- 1 | deb http://archive.debian.org/debian stretch main contrib non-free 2 | #deb-src http://archive.debian.org/debian stretch main contrib non-free 3 | 4 | deb http://archive.ev3dev.org/debian stretch main 5 | #deb-src http://archive.ev3dev.org/debian stretch main 6 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/ev3/brickstrap/ev3/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | mkdir -p /boot/flash 6 | 7 | export DEBIAN_FRONTEND=noninteractive 8 | export DEBCONF_NONINTERACTIVE_SEEN=true 9 | 10 | apt-get install --yes --no-install-recommends \ 11 | ev3-config \ 12 | ev3-systemd \ 13 | firmware-ev3 \ 14 | linux-image-ev3dev-ev3 \ 15 | lms2012-compat \ 16 | u-boot-tools \ 17 | zram-init 18 | 19 | # make sure serial-getty@.service does not try to use the serial ports because 20 | # we use them for other things 21 | systemctl mask serial-getty@ttyS0.service 22 | systemctl mask serial-getty@ttyS1.service 23 | systemctl mask serial-getty@ttyS2.service 24 | systemctl mask serial-getty@ttySU0.service 25 | systemctl mask serial-getty@ttySU1.service 26 | 27 | # enable zram swap file 28 | systemctl enable zram_swap.service 29 | 30 | # Fix file permissions on private ssh host keys. (git does not preserve 31 | # permissions other than the executable bit) 32 | chmod 600 /etc/ssh/ssh_host_*_key 33 | 34 | # set the default font (fonts-tom-thumb is installed as dependency of ev3-systemd) 35 | echo -e -n "\nFONT='Lat15-TomThumb4x6.psf.gz'" >> /etc/default/console-setup 36 | setupcon --save-only 37 | 38 | # get u-boot 39 | 40 | u_boot_version="v2018.07-rc0-ev3dev2" 41 | u_boot_url="https://github.com/ev3dev/u-boot/releases/download" 42 | u_boot_files="boot.scr u-boot.bin uEnv.txt" 43 | 44 | for f in $u_boot_files; do 45 | wget $u_boot_url/$u_boot_version/$f 46 | done 47 | 48 | echo "90e104632df87ff1ee64fc7e1e155c23 boot.scr 49 | a38be33090e17f142e45bf39cf50c8b6 u-boot.bin 50 | c5999cd67d643e563ec2244cb313a9b5 uEnv.txt" | md5sum --check - 51 | 52 | for f in $u_boot_files; do 53 | mv $f /boot/flash/ 54 | done 55 | 56 | # add entry to fstab to work around systemd complaint about not enough free 57 | # space in /run/system. 58 | 59 | cat >> /etc/fstab << EOF 60 | tmpfs /run tmpfs nosuid,noexec,size=20M,nr_inodes=4096 0 0 61 | EOF 62 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/ev3/etc/brickrun.conf: -------------------------------------------------------------------------------- 1 | [stop-button] 2 | # LEGO MINDSTORMS EV3 back button 3 | dev_path=/dev/input/by-path/platform-gpio_keys-event 4 | key_code=14 5 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/ev3/etc/flash-kernel/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | machine 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/ev3/etc/flash-kernel/machine: -------------------------------------------------------------------------------- 1 | LEGO MINDSTORMS EV3 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/ev3/etc/ssh/ssh_host_dsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN DSA PRIVATE KEY----- 2 | MIIBuwIBAAKBgQDGOXDeiuPQwrMVJS9Lx6+kz2Ni4TNWkRVHIZlw/ih8IOw2K5Gl 3 | Um+OyfMZuKN4dS3yZcCkUxKVkonrRV8JWRDX5gGk/ZAwm3NxeiC0Ic76CfMCF7zE 4 | C+7AERGU9DNUU/ZCK6DbFPYF8L2uKxIhp4HAj4QBPn8Mu0heaqZjT8UnzQIVAOad 5 | MiVGb+5dztSprbRzeHqZE93rAoGAds8WW5lXz5XLvw/tUub9vGEP4DD3aXTPZYP+ 6 | rs/alG8u0Vsvc51Njr9JM/rkwZNOEdRU2a+R+v27nAveBPvC5S7sd7iRfgz53URc 7 | c576Z/ODjsATZrI7krCIhBBNfrGE0UK9rpGhmn21ekqupoxaIHYXDavQgi0iv4Nn 8 | +XDp0GYCgYB3DZceIK7LM7PXLGYnL4mYGl1nmIcg2CqaPZO239bBfSCdoJPab2id 9 | pyT9O1/e0/KtZ69mDW3d2Q/1d5ENPcKO1hdcRDai48oOHqf2Z15zQIhOTc5rxbEW 10 | +xHj2ajOH7zmLmqyHQfpLQbD1Q+cVUEU9NuEI1FO2VanCgxTkABiEAIVAJJz7bkv 11 | UG3g69KElu3TkD7Zf+1L 12 | -----END DSA PRIVATE KEY----- 13 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/ev3/etc/ssh/ssh_host_dsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBAMY5cN6K49DCsxUlL0vHr6TPY2LhM1aRFUchmXD+KHwg7DYrkaVSb47J8xm4o3h1LfJlwKRTEpWSietFXwlZENfmAaT9kDCbc3F6ILQhzvoJ8wIXvMQL7sAREZT0M1RT9kIroNsU9gXwva4rEiGngcCPhAE+fwy7SF5qpmNPxSfNAAAAFQDmnTIlRm/uXc7Uqa20c3h6mRPd6wAAAIB2zxZbmVfPlcu/D+1S5v28YQ/gMPdpdM9lg/6uz9qUby7RWy9znU2Ov0kz+uTBk04R1FTZr5H6/bucC94E+8LlLux3uJF+DPndRFxznvpn84OOwBNmsjuSsIiEEE1+sYTRQr2ukaGafbV6Sq6mjFogdhcNq9CCLSK/g2f5cOnQZgAAAIB3DZceIK7LM7PXLGYnL4mYGl1nmIcg2CqaPZO239bBfSCdoJPab2idpyT9O1/e0/KtZ69mDW3d2Q/1d5ENPcKO1hdcRDai48oOHqf2Z15zQIhOTc5rxbEW+xHj2ajOH7zmLmqyHQfpLQbD1Q+cVUEU9NuEI1FO2VanCgxTkABiEA== 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/ev3/etc/ssh/ssh_host_ecdsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEIMKv/e0e5zgDkF/Youy94lRKhs5O59rYSfGm3oz9RJ7poAoGCCqGSM49 3 | AwEHoUQDQgAEpntNUh8ppI4qO+t59liAUxD5uUJaEA2gU6DTQEPp7voZy4UWmN4s 4 | zN6ICsyZkgYic53bI6VjM6udg9REtl7HBw== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/ev3/etc/ssh/ssh_host_ecdsa_key.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKZ7TVIfKaSOKjvrefZYgFMQ+blCWhANoFOg00BD6e76GcuFFpjeLMzeiArMmZIGInOd2yOlYzOrnYPURLZexwc= 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/ev3/etc/ssh/ssh_host_ed25519_key: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW 3 | QyNTUxOQAAACC9FvTpnM+5aDqD3YymFEMt5kyMgRBs8dfoJKsZewmYiQAAAIjgttaF4LbW 4 | hQAAAAtzc2gtZWQyNTUxOQAAACC9FvTpnM+5aDqD3YymFEMt5kyMgRBs8dfoJKsZewmYiQ 5 | AAAECoR7RtCCQv+Uw4PGk23UnB2MG7u4FudBZnB7ICeS0zpb0W9Omcz7loOoPdjKYUQy3m 6 | TIyBEGzx1+gkqxl7CZiJAAAAAAECAwQF 7 | -----END OPENSSH PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/ev3/etc/ssh/ssh_host_ed25519_key.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL0W9Omcz7loOoPdjKYUQy3mTIyBEGzx1+gkqxl7CZiJ 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/ev3/etc/ssh/ssh_host_rsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEA7OSHUDDaSYejJM3fgIgBSez6clUAOVA1lmwI9/UMIL0CcqAd 3 | 29KEL8qF/IZd4UPb615R26+44XXvqf6j6xHDLIYnWhUs7fgOTjBT5XzgeeXa3OIH 4 | hkZuatYx6s3aggqA0+a1YZ05xfPNQVH1ckaLzS4mQTEhkSgFLq2C/dR9wELGUIST 5 | WezKeKBRXXXDqQ2nD0Z6GxLpW17hoaQa/FDhpVhPrEnyYcm1g5BX/XEhId2S8FX7 6 | wu+9ChWR8Ooz48v4Lx8F78Ek1NM01ogID/sxMkJKQw1No68pDpOpEBZ0fc8uQZg+ 7 | RgvEArwCm6t7QGE4nH+RjCmpAIAYmO8jHBq2hQIDAQABAoIBAQDcO5mQ89n8gh0q 8 | GjuvQsHv+GDd6ihLIEaxkb7Exwx/YzjjV/hqZUx/Iclu+3xL8MqEBywTEUrQUNR/ 9 | Nj0uTVUmD5KGLSmYEwU5q7RTpcULjqXqtDhKnTAKIxhFMxvxydH7LoFyPrl3TzGD 10 | iK6nju5p0n2+He8XBB3NR4KAeQxvr9rJ7CJJWcJWaPZOE1DuAWlSnXOrCGky9/5k 11 | bN7QtYHvSysnJiFnxVaG0QYb8n03ktSz3e4DzQyeW4t0B3ILmrcpwFlcH6kqoCD4 12 | eXeopJYYWLgXPyL4T9M69JSlAL8p5PFfwKX6He5OWtuyjIGFHxeC3YHvybvh1vEQ 13 | ASrXcgABAoGBAPcrsAD4zR2I004NcVsa/vMpJuikM+EUlxWeyS8qp6U6KFNPY4gm 14 | 88d09g1LbtU6cDdqJ+qMeCgsTs5nCpvRcKihOrP8AOQMeF0lgcvF8N5jjxmFMoA5 15 | MHlWDkVHoIR4aVxRv0U9Fyn91j4h/Uk1kn3F2ptjome29uSs/5+fh8WhAoGBAPVa 16 | 2gh5V48njTp57SbvmAQ3175WFLqU5KGsWqN+Nt842L+ls440fO28sEmzHZ6NAb4v 17 | YQRusIVbL//6MobIFabuMkpNmG64/PHw6cxHxTgyzkfvXtw96WTrT8/GweLvMhNC 18 | /6vhaN5njFBAO/W7nJe84Bnd/e2+KalFRVEY9P5lAoGABLuycCJTkzg2i60YOZ1n 19 | unJUS2oxkCLbzc8vnRadBT363bWMe2P7kRs9Rv3lznGDCpyezRAJkQNgMvWoL1mw 20 | ZZpIzH+L6NIQUABS3vsYZLnVWLDDSc9OjVRHi64WddL0eY8bMZE861HwE1qFRiyf 21 | dIcga49Z4dCQI8roTj8402ECgYBI75sFDd1DhwRqr7gZ7PuJtXgC8t/ynzRgAzZm 22 | h6yUKvfz8LQxv9Srb34QSpixe0VbXgY/JRCAdB0OwTen7W7SUtjMUcjQkVlQKse1 23 | nFg6XpAHvla6rgTlpTXylCkq5uRB6ZbLZ5SfGLUTXiT05bKlQNZ1mhJUTEViNl9m 24 | vj6GKQKBgQDDjdmkW3n9zvRUKjuGqaRtPjmHc8RpFKnwCwJXOMioSlzaLb22afqJ 25 | V5fu7NHPe5APBqKKQgAA1BBAQDNybVuVLZ2XUN1OfuAGSspwBXxyPEs6jGIM7pw4 26 | +0g60qHB/eteimvozHGDRLX0cfRYAOvKt91sRPGC3jmpFx2sH/qtkA== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/ev3/etc/ssh/ssh_host_rsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDs5IdQMNpJh6Mkzd+AiAFJ7PpyVQA5UDWWbAj39QwgvQJyoB3b0oQvyoX8hl3hQ9vrXlHbr7jhde+p/qPrEcMshidaFSzt+A5OMFPlfOB55drc4geGRm5q1jHqzdqCCoDT5rVhnTnF881BUfVyRovNLiZBMSGRKAUurYL91H3AQsZQhJNZ7Mp4oFFddcOpDacPRnobEulbXuGhpBr8UOGlWE+sSfJhybWDkFf9cSEh3ZLwVfvC770KFZHw6jPjy/gvHwXvwSTU0zTWiAgP+zEyQkpDDU2jrykOk6kQFnR9zy5BmD5GC8QCvAKbq3tAYTicf5GMKakAgBiY7yMcGraF 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/ev3/var/lib/alsa/asound.state: -------------------------------------------------------------------------------- 1 | state.legoev3 { 2 | control.1 { 3 | iface MIXER 4 | name 'Beep Playback Volume' 5 | value 51 6 | comment { 7 | access 'read write' 8 | type INTEGER 9 | count 1 10 | range '0 - 256' 11 | } 12 | } 13 | control.2 { 14 | iface MIXER 15 | name 'PCM Playback Volume' 16 | value 256 17 | comment { 18 | access 'read write' 19 | type INTEGER 20 | count 1 21 | range '0 - 256' 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/generic/brickstrap/generic/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | apt-get install --yes --no-install-recommends \ 9 | bzip2 \ 10 | ev3dev-media \ 11 | fortune \ 12 | fortunes-min \ 13 | gdbserver \ 14 | gir1.2-ev3devkit-0.5 \ 15 | git \ 16 | gjs \ 17 | lua5.3 \ 18 | micropython \ 19 | micropython-lib \ 20 | micropython-ev3dev2 \ 21 | mosquitto \ 22 | mosquitto-clients \ 23 | mpy-cross \ 24 | nfs-common \ 25 | openrobertalab \ 26 | python \ 27 | python-evdev \ 28 | python-gobject \ 29 | python-pyudev \ 30 | python-setuptools \ 31 | python-smbus \ 32 | python3 \ 33 | python3-bluez \ 34 | python3-ev3dev \ 35 | python3-ev3dev2 \ 36 | python3-evdev \ 37 | python3-gattlib \ 38 | python3-gi \ 39 | python3-libpixyusb \ 40 | python3-ptvsd \ 41 | python3-pyudev \ 42 | python3-rpyc \ 43 | python3-serial \ 44 | python3-setuptools \ 45 | python3-smbus \ 46 | ruby \ 47 | smbnetfs \ 48 | sshfs \ 49 | telnet \ 50 | unzip \ 51 | zip 52 | 53 | # some packages are not available for armel 54 | if [[ "$(dpkg --print-architecture)" != "armel" ]]; then 55 | apt-get install --yes --no-install-recommends \ 56 | nodejs \ 57 | nodejs-legacy 58 | fi 59 | 60 | # some packages are for EV3 only 61 | if dpkg -s linux-image-ev3dev-ev3 >/dev/null 2>&1; then 62 | apt-get install --yes --no-install-recommends \ 63 | jri-11-ev3 \ 64 | pybricks-micropython \ 65 | pybricks-micropython-lib 66 | fi 67 | 68 | # raspbian doesn't have stretch-backports so we are missing python3-protobuf 69 | # >= 3.2 depedency 70 | if ! grep -q raspbian /etc/apt/sources.list; then 71 | apt-get install --yes --no-install-recommends python3-agt 72 | fi 73 | 74 | # Mask systemd-rfkill - ConnMan takes care of this instead 75 | sudo systemctl mask systemd-rfkill.service 76 | sudo systemctl mask systemd-rfkill.socket 77 | 78 | # prevent openrobertalab from running 79 | systemctl mask openrobertalab.service 80 | 81 | # disable nfs from running by default since most won't use it 82 | systemctl disable nfs-common.service 83 | systemctl disable rpcbind.service 84 | 85 | # Most people won't use MQTT, so off by default 86 | systemctl disable mosquitto.service 87 | 88 | # flash-kernel is triggered by some of the package installs and results in 89 | # backup files being created in the boot partition. 90 | rm -f /boot/flash/*.bak 91 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/raspbian/brickstrap/_tar-only/etc/apt/sources.list: -------------------------------------------------------------------------------- 1 | deb http://mirrordirector.raspbian.org/raspbian stretch main contrib non-free rpi 2 | #deb-src http://mirrordirector.raspbian.org/raspbian stretch main contrib non-free rpi 3 | 4 | deb http://archive.ev3dev.org/raspbian stretch main 5 | #deb-src http://archive.ev3dev.org/raspbian stretch main 6 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/raspbian/brickstrap/raspbian/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | # These files are incorrectly marked as required in the raspbian repository. 9 | # see https://bugs.launchpad.net/raspbian/+bug/1541204 10 | apt-get purge --yes \ 11 | gcc-4.6-base \ 12 | gcc-4.7-base \ 13 | gcc-4.8-base \ 14 | gcc-4.9-base \ 15 | mountall \ 16 | xz-utils 17 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/raspbian/etc/apt/sources.list: -------------------------------------------------------------------------------- 1 | # This file is replaced when building images with brickstrap 2 | 3 | deb http://archive.raspbian.org/raspbian stretch main contrib non-free rpi 4 | #deb-src http://archive.raspbian.org/raspbian stretch main contrib non-free rpi 5 | 6 | deb http://archive.ev3dev.org/raspbian stretch main 7 | #deb-src http://archive.ev3dev.org/raspbian stretch main 8 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/raspbian/etc/brickrun.conf: -------------------------------------------------------------------------------- 1 | [status-leds] 2 | # BrickPi only has blue LEDs 3 | color=blue 4 | 5 | [stop-button] 6 | # This is the PiStorms GO button 7 | dev_path=/dev/input/by-path/platform-3f804000.i2c-event 8 | key_code=28 9 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi-common/boot/flash/cmdline.txt: -------------------------------------------------------------------------------- 1 | dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait consoleblank=0 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi-common/boot/flash/overlays/README.txt: -------------------------------------------------------------------------------- 1 | This directory is where the bootloader looks for device tree overlays. 2 | You can copy overlays from /usr/lib/linux-image-/overlays/*.dtbo 3 | or create your own. You must also enable the overlays in config.txt. 4 | 5 | Run `zless /usr/share/doc/raspberrypi-bootloader/README.overlays.gz` or visit 6 | for 7 | more information. 8 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi-common/brickstrap/rpi-common/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | apt-get install --yes --no-install-recommends \ 9 | bash-completion \ 10 | bluez-firmware \ 11 | firmware-brcm80211 \ 12 | firmware-brickpi3 \ 13 | libraspberrypi-bin \ 14 | libraspberrypi0 \ 15 | raspberrypi-bootloader \ 16 | rpi-systemd 17 | 18 | # Copy all of the overlays to the FAT partition 19 | cp /usr/lib/linux-image-*[^.old]/overlays/*.dtbo /boot/flash/overlays/ 20 | 21 | # make sure serial-getty@.service does not try to use the serial port 22 | # so that it can be used by BrickPi 23 | systemctl mask serial-getty@ttyAMA0.service 24 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi/brickstrap/rpi/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | # need a place to put the kernel 9 | mkdir -p /boot/flash 10 | 11 | apt-get install --yes --no-install-recommends \ 12 | linux-image-ev3dev-rpi 13 | 14 | # Copy additional device tree files - only Model B is installed by flash-kernel 15 | # and this image needs to support multiple models. 16 | cp /usr/lib/linux-image-*[^.old]/bcm2708-rpi-0-w.dtb /boot/flash/ 17 | cp /usr/lib/linux-image-*[^.old]/bcm2708-rpi-b-plus.dtb /boot/flash/ 18 | 19 | # Fix file permissions on private ssh host keys. (git does not preserve 20 | # permissions other than the executable bit) 21 | chmod 600 /etc/ssh/ssh_host_*_key 22 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi/etc/flash-kernel/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | db 2 | machine 3 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi/etc/flash-kernel/db: -------------------------------------------------------------------------------- 1 | Machine: Raspberry Pi Model B 2 | Boot-Kernel-Path: boot/flash/kernel.img 3 | Boot-DTB-Path: boot/flash/bcm2708-rpi-b.dtb 4 | Boot-Device: 5 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi/etc/flash-kernel/machine: -------------------------------------------------------------------------------- 1 | Raspberry Pi Model B 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi/etc/ssh/ssh_host_dsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN DSA PRIVATE KEY----- 2 | MIIBuwIBAAKBgQCEWxylXfz/hi19k2Kx0S+xVH42ywL6E4n8ElwjSsIaXKVYDQDb 3 | i8h2koQvAClcBro2N1AauRO3FHaYhf7zjEeFt3efhlgC2hrYvVIsPjFuEtxeFLD3 4 | sa9uJ3u/5/mDL+6CHbwIVUZrEwSRi5OUiic72mzZvswLMd269gWx18GibQIVANXI 5 | eKNJ3JOJo28KtoM4vRrbyNInAoGATvtRhhgyLqjeIlBNYDVHKEr/0VJCcgiBOuuA 6 | krXQ9VZW4jYvAgsp+grIoxdPga+RkANjoRicn1HmNUaadtTbjFu+runQC5QGj3Tn 7 | lDvgNjEe3q4zclS9s23ty+2iC1GH1etNOMOOfsIGw0QfqfQUBG6R/ZTvAF5EmOg9 8 | WS+5tkwCgYBgLLR6zckBgveIKC4Shs/PHhYu6WEs9nt43Ido/9oouA6jWsXUhf6e 9 | TesCbdinz6aXDyMD2E8Nv9y/mGN28Xujor/amgU5V2OicGYsYYUtuIPk6V2XGIq3 10 | MC7G1KBANl/mlNnTVq54fTppb8O4fCy78BS5jiftFSzTQm9N5xeRGwIVAMTBC4wK 11 | k9Thk8JCgtB2ZtvZY4mU 12 | -----END DSA PRIVATE KEY----- 13 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi/etc/ssh/ssh_host_dsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBAIRbHKVd/P+GLX2TYrHRL7FUfjbLAvoTifwSXCNKwhpcpVgNANuLyHaShC8AKVwGujY3UBq5E7cUdpiF/vOMR4W3d5+GWALaGti9Uiw+MW4S3F4UsPexr24ne7/n+YMv7oIdvAhVRmsTBJGLk5SKJzvabNm+zAsx3br2BbHXwaJtAAAAFQDVyHijSdyTiaNvCraDOL0a28jSJwAAAIBO+1GGGDIuqN4iUE1gNUcoSv/RUkJyCIE664CStdD1VlbiNi8CCyn6CsijF0+Br5GQA2OhGJyfUeY1Rpp21NuMW76u6dALlAaPdOeUO+A2MR7erjNyVL2zbe3L7aILUYfV6004w45+wgbDRB+p9BQEbpH9lO8AXkSY6D1ZL7m2TAAAAIBgLLR6zckBgveIKC4Shs/PHhYu6WEs9nt43Ido/9oouA6jWsXUhf6eTesCbdinz6aXDyMD2E8Nv9y/mGN28Xujor/amgU5V2OicGYsYYUtuIPk6V2XGIq3MC7G1KBANl/mlNnTVq54fTppb8O4fCy78BS5jiftFSzTQm9N5xeRGw== 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi/etc/ssh/ssh_host_ecdsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEIDMTs2dTNSm293uTi2Z1BN/NSMt7+8g8wxnKw50pxGcioAoGCCqGSM49 3 | AwEHoUQDQgAEPIB4QNta15nnoSps4ULkGZSEy3NCOLRWnaAx+E1xP/rD2Sh7KcH4 4 | dt81Ke+OIivry4+6VOXW0dJ6MrJ7xfU7JA== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi/etc/ssh/ssh_host_ecdsa_key.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDyAeEDbWteZ56EqbOFC5BmUhMtzQji0Vp2gMfhNcT/6w9koeynB+HbfNSnvjiIr68uPulTl1tHSejKye8X1OyQ= 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi/etc/ssh/ssh_host_ed25519_key: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW 3 | QyNTUxOQAAACAnPM0b7Ny1tqTLYUjXyipr0X+FnSkVq+dfpmNSlOBKpAAAAIiHeku/h3pL 4 | vwAAAAtzc2gtZWQyNTUxOQAAACAnPM0b7Ny1tqTLYUjXyipr0X+FnSkVq+dfpmNSlOBKpA 5 | AAAED3m2Ob0lfGSi3Mwsf8gVx7XaThlIcS5fymVyirzFwRJic8zRvs3LW2pMthSNfKKmvR 6 | f4WdKRWr51+mY1KU4EqkAAAAAAECAwQF 7 | -----END OPENSSH PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi/etc/ssh/ssh_host_ed25519_key.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICc8zRvs3LW2pMthSNfKKmvRf4WdKRWr51+mY1KU4Eqk 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi/etc/ssh/ssh_host_rsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEA8rEeTI/tek2aSz0C2xhMhyTK414KFKvj2EZPReShgyJm0a6Y 3 | U3CDHKEz8ynxB64RmcNo9jFdwzwqotZ8OOQJ2yyz6ES5ese0JxxMxFHdPpkt1Isz 4 | mCxxisBLbP3JRPUFnezq45aXaauTPjltoLNH0Z6eiM66xsV2yDU5MWjySxSDsSqF 5 | uB14d8a2xGPAGWQn9sigWz60st3FCRqTr4qh4oKOJBpfv5BtNQfxTX4/+ugpePRv 6 | zLJMoDeDmKRErW5CxTbEdEpcmKtSiwtYyrU2Xkj4Fg7vqp3Gheu8TKTjn2rmPgiw 7 | /UGTHEG4CcN4ZgCIOIpk5/UtjfyhEa5ZmVtmfQIDAQABAoIBADQkzA7FKdAKVmlt 8 | /WwXp3Gt/Q2nCeFxIS45xRSOUAl93buVmNLsrK79D81iKJBu3Qc9jhK/fpbRGZQN 9 | I3mRvXBjBXCVO4je2Z1BnljcAf5OKSOumPJMMkUOleYgDRuMzZ0l5z3pADVLEQLg 10 | keZiPr8SJpvcVxMYIDJaBSTRmKV6osJ6I35uLxt/Q5MQAirxUqBeLxURUaCod9kr 11 | 1fSb9dr/VMWwdnjLmAXtH7Cr/npsM9VDHD+fbvzv00X+RSfdA2FTkiiKDO+2wOwO 12 | Fr5FxcPccKc3q7IQX/lUtAV+VYHtziUjktctz7fddnAONOw3oA72JPvqGfj3I9vT 13 | Kz6JX+ECgYEA/qDrLhSFo4zeq6AibZKqIyA75pcQAcbuAyfBvKowLizk5OIm4Mn8 14 | Wl/ld7G0h8o3+lV5+YkgklfM/ok5cwzKipshNcUgufNASFD+hdXB40CP8Xb1UnnW 15 | W/l21I9KuVfaO3TFXLaIDSxMb9EBCWc8iUwsEUkdjdBaVKAtd20Do7kCgYEA8/+9 16 | yda4+7PUsrlJ3O99+fjE1zt+cboHfe2R8VHuZYwt1kEJsQFuUN+MqAJLpypnT9rn 17 | GXmyzhxw17+hmBVtnBZlRSkBNhzaBT+vlG1saAMe9GkrtIoGoRPRCakzo/5PYSfz 18 | yi51xCgv7U9GAaZX/5p/c9p9tIUXKo41wqKmguUCgYBEUIood8sPASlwpGr4OOQ6 19 | vlgz2o2p3GRZJl59Lq/0g4j5u48wuiBhYt8eyOelkuSH3kz2XQsHGFVgaRKnwmPI 20 | 4iv70CKioRe7DzfqUlpNjTHRV9gjw5p2XKy8BKHIrkBXuVGGOVaxKhRr34hGrJL6 21 | Rxx/mr06Ig9KKxtnsjDKyQKBgQDoWmyYLbMAdlKhU5NEIoh7p+uC7vPNRxLlV3u4 22 | K4ZzC1eHBW4+MhekSg2+3FjAur+hKtsRxnOAlVLcEW/HzPgRQL51asPtjPINN4Vz 23 | OfSW5AnxQ8nL5fjEIYPZyFgV3hIneg1NRor9Hivtt6T54zc/gBfI8pLseiUCcGQ/ 24 | kfYxBQKBgQCBcDgRQMA07HdHXTxV49H5D+FTlIRQ+ZcE6cPyi//AhjUhc7FrYVzy 25 | pyixgSGQRXn6AldcW5ilokr8InBA9Dj3Pp8gMytIoQxeK4hart7ABe0ffiA+AnMx 26 | Zu3ouKOiTu/eD87TOo8yp8LSMau8UQhgkl50jkVkx6epxif/w9xwZQ== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi/etc/ssh/ssh_host_rsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDysR5Mj+16TZpLPQLbGEyHJMrjXgoUq+PYRk9F5KGDImbRrphTcIMcoTPzKfEHrhGZw2j2MV3DPCqi1nw45AnbLLPoRLl6x7QnHEzEUd0+mS3UizOYLHGKwEts/clE9QWd7Orjlpdpq5M+OW2gs0fRnp6IzrrGxXbINTkxaPJLFIOxKoW4HXh3xrbEY8AZZCf2yKBbPrSy3cUJGpOviqHigo4kGl+/kG01B/FNfj/66Cl49G/MskygN4OYpEStbkLFNsR0SlyYq1KLC1jKtTZeSPgWDu+qncaF67xMpOOfauY+CLD9QZMcQbgJw3hmAIg4imTn9S2N/KERrlmZW2Z9 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi2/brickstrap/rpi2/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | export DEBIAN_FRONTEND=noninteractive 6 | export DEBCONF_NONINTERACTIVE_SEEN=true 7 | 8 | # need a place to put the kernel 9 | mkdir -p /boot/flash 10 | 11 | apt-get install --yes --no-install-recommends \ 12 | linux-image-ev3dev-rpi2 13 | 14 | # Copy device tree for RPi 3 - only RPi 2 is installed by flash-kernel 15 | # and this image needs to support both models. 16 | cp /usr/lib/linux-image-*[^.old]/bcm2710-rpi-3-b.dtb /boot/flash/ 17 | 18 | # Fix file permissions on private ssh host keys. (git does not preserve 19 | # permissions other than the executable bit) 20 | chmod 600 /etc/ssh/ssh_host_*_key 21 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi2/etc/flash-kernel/.brickstrap-tar-exclude: -------------------------------------------------------------------------------- 1 | db 2 | machine 3 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi2/etc/flash-kernel/db: -------------------------------------------------------------------------------- 1 | Machine: Raspberry Pi 2 Model B 2 | Boot-Kernel-Path: boot/flash/kernel7.img 3 | Boot-DTB-Path: boot/flash/bcm2709-rpi-2-b.dtb 4 | Boot-Device: 5 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi2/etc/flash-kernel/machine: -------------------------------------------------------------------------------- 1 | Raspberry Pi 2 Model B 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi2/etc/ssh/ssh_host_dsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN DSA PRIVATE KEY----- 2 | MIIBuwIBAAKBgQDlItVNlpZwDIxiw9KSlIDN46Xfl4mkWmzrb/kpEg7afm7kijFi 3 | aGb6xkwDCD+KHwuIXC3lE23613DbPgMiKlIxAH9mKThAE84PEnks7hHUiQPE1PDW 4 | bDfJzk/fE+q89Gm+Jk9M02MHELTRyD9ozWSnxYdCPeShxvEZdJjv0PFz4wIVAL9N 5 | 5Iak/NYL9vIAqVWkCReLKmy3AoGBAJuilQCzFkWsc948Tersy1kR2wh0ZJPTLeLx 6 | C1pcd9KFQOe0/zL7brf7nqjHU7MDO73pdJsNLis9l/J62rNcAjpa0kGXvxmoLiD2 7 | 9Rtj1U2OY9+5IlFvNL5HaklVE++6HvdPUxmL5tXDS91nDgf/E4x9Sn+pDtLmgZol 8 | SK6UHG5zAoGAWkOCSMqhb5eKk/HNdhVf4Hc/DS+pXsJHYAPKzH3FHCkQZUJTggqv 9 | zLYyiHZ1tjETvU8wP/csNyr7TEI2yNydsuw9Fssd926I9stK/6nf4/hySlCPInOT 10 | /NnwedneCsWFXUeTH83+0AxWB3fLTAQGvsWspqBRdq5Y0eGmrYGokcQCFCIXtv7g 11 | grG6Ixc2CkP4Sdp/sr3W 12 | -----END DSA PRIVATE KEY----- 13 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi2/etc/ssh/ssh_host_dsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBAOUi1U2WlnAMjGLD0pKUgM3jpd+XiaRabOtv+SkSDtp+buSKMWJoZvrGTAMIP4ofC4hcLeUTbfrXcNs+AyIqUjEAf2YpOEATzg8SeSzuEdSJA8TU8NZsN8nOT98T6rz0ab4mT0zTYwcQtNHIP2jNZKfFh0I95KHG8Rl0mO/Q8XPjAAAAFQC/TeSGpPzWC/byAKlVpAkXiypstwAAAIEAm6KVALMWRaxz3jxN6uzLWRHbCHRkk9Mt4vELWlx30oVA57T/Mvtut/ueqMdTswM7vel0mw0uKz2X8nras1wCOlrSQZe/GaguIPb1G2PVTY5j37kiUW80vkdqSVUT77oe909TGYvm1cNL3WcOB/8TjH1Kf6kO0uaBmiVIrpQcbnMAAACAWkOCSMqhb5eKk/HNdhVf4Hc/DS+pXsJHYAPKzH3FHCkQZUJTggqvzLYyiHZ1tjETvU8wP/csNyr7TEI2yNydsuw9Fssd926I9stK/6nf4/hySlCPInOT/NnwedneCsWFXUeTH83+0AxWB3fLTAQGvsWspqBRdq5Y0eGmrYGokcQ= 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi2/etc/ssh/ssh_host_ecdsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEIC/V+jh3f5BItmPJFagwQ1v0yunsNRGI4eodSn1nAU3LoAoGCCqGSM49 3 | AwEHoUQDQgAEvVbl06ZhzTFUvfz27XONf8QbpsMAbo8UCC+hKBLxhitDX1Jra+5s 4 | bnfULSrCs4/E0LNM3bv0z+Yh2zEo9BlgKg== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi2/etc/ssh/ssh_host_ecdsa_key.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBL1W5dOmYc0xVL389u1zjX/EG6bDAG6PFAgvoSgS8YYrQ19Sa2vubG531C0qwrOPxNCzTN279M/mIdsxKPQZYCo= 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi2/etc/ssh/ssh_host_ed25519_key: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW 3 | QyNTUxOQAAACCnmWsqMzbLnHDr/6E2Rl+djV9D57vdgMFyWULMmU/YIgAAAIjAyL2gwMi9 4 | oAAAAAtzc2gtZWQyNTUxOQAAACCnmWsqMzbLnHDr/6E2Rl+djV9D57vdgMFyWULMmU/YIg 5 | AAAEALUW9Cg/BtdmFBRB6eGa+nc4VOtllDB3mBtRrsgiHxtaeZayozNsuccOv/oTZGX52N 6 | X0Pnu92AwXJZQsyZT9giAAAAAAECAwQF 7 | -----END OPENSSH PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi2/etc/ssh/ssh_host_ed25519_key.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKeZayozNsuccOv/oTZGX52NX0Pnu92AwXJZQsyZT9gi 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi2/etc/ssh/ssh_host_rsa_key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpQIBAAKCAQEAw8wrkwMoUE4apRifvig6OVl3FYJ483XdH+/H0MbU4WSFinYD 3 | /jH5orbn1afayVnpAU//FS2+TQ4ChgWg+dgiKtz28OS1sX5tb3dcx1fsz285VK/3 4 | pd0lHLkLyXWFIJ640H8KpsLnqEkCG49/rzZnzzBA+oshgVH6jEOGsfC/iUX7+8uG 5 | ELoMsZNemuF1TXzs+SrmzNAYK/0/yfEM+xfzCA2XU6pv0BT4LmNA2BYFw077b4T+ 6 | BMkeJSe0VZ7FA++WPuBXQnNV5Im3syhXD9GHm58J0KtfpANk6cWgWVQNZqPfytFU 7 | i6wwT/NPNulLg9awjePZAMgS2dAIGRHE3ib7VwIDAQABAoIBAQCaP8i8QqqJyV44 8 | XlPKjQqBj7e/HFCJDHut40r5cQrYnkaONDclFN3jkFDIAzrbkZd8zzbXyne3YKgg 9 | SWLuMZWJSxbH5IY3VLCGNfTDnsMTED6MNyzUYIoSPL3Kcmj0r9ZNeyg7BCVYcFvW 10 | tpASyruxgARQ3TcCGEFYKwJ8QHvEehsCUsdJU1Qxfxbb6JMqjAs56gAAQOlRTLuU 11 | XlGTDG7cplbSpQ63Ddn6nnhT+lRW7PNVv8SR/MjzdISq8RaZwYwRiA8DksbgLdqD 12 | oQbDqC/9ytyTQaRVUqDy3OMPVwfmPywE7FKT7maneZwSF16XQuZmB59j6HM4axCJ 13 | 23Uof24hAoGBAOb1uWr287VttSC41UXi+3LCKUtW8d2mbhU28Q71fy0NNNLn1FIW 14 | QmenlTnKFkRQqdVyNR6fPmIgsHRdo25bJwy/iwaNIYqS/pYg69B+zRJBbJaMAohF 15 | r9BlXCNKTdEhUf0TWdzM9j5HtKOUnmjlFaRuvPtX3GvhMiGUnVNU61DJAoGBANkG 16 | hJ25H5f8x1yy/t8lA2rQfbms5r1AsoPZVG7yVqYud5sc/TsWtab3PQA1vfJe5QA2 17 | mGv3oNWKuI+NkRVLRyUJJS1EjDORdofa1D1Rd2UWyfdHZ8edrfrFYJVsRVHGF8/f 18 | 2xLe8fLWCQDhKEhNkYc0Dl/b1W7l0r3seKcvixsfAoGBANUSSw3oaCuv25MlkfRY 19 | lFtpzsjnnFk9Cn/d4QRI7hv0/A+6usFEMd0I2P2od2Rs+lGlfGYUyWuj9sZUAMt1 20 | oo/7Qdo4Z4I9XEvKcWM3KB+4ZeJ5pnhruehLKnaQPTw7PjV5HcU6/c21P2xOVto0 21 | xgOd+hDzHLIV3rbmMUJIrJMpAoGBAK/B8paVPPvmsEHniDeJDzpq/NbpKrir86aJ 22 | 1DJBumC9EwogsQgwfQ5p/hH0dA8cQNMqY8hUdAFcZdmEKbIYE9bvkBcYA38j191w 23 | ICBEoK/Sg9/qCScFEMgdHvoEBCOUjOZBgXbH7SPfqMz4i5n6j9fyFY4WR8SXBVPg 24 | dVnYTAy7AoGAa4AcDpVNkA2A3dKmCkQOsGUPvrzv12rhfJZEyTe/Iyc2bWclJ6CQ 25 | 3WS8PawfDJrnhpt0sxPVXG2cpu70Wp+nf0B/2+MjRQ3ofKzdGxK2IRQm4MFIxaIF 26 | FCNPYQs5JlU2td21rXEmAl8sADiOM18EXv6efuo5uq83GmTuO8H4+3I= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /ev3dev-stretch/layers/rpi2/etc/ssh/ssh_host_rsa_key.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDzCuTAyhQThqlGJ++KDo5WXcVgnjzdd0f78fQxtThZIWKdgP+MfmitufVp9rJWekBT/8VLb5NDgKGBaD52CIq3Pbw5LWxfm1vd1zHV+zPbzlUr/el3SUcuQvJdYUgnrjQfwqmwueoSQIbj3+vNmfPMED6iyGBUfqMQ4ax8L+JRfv7y4YQugyxk16a4XVNfOz5KubM0Bgr/T/J8Qz7F/MIDZdTqm/QFPguY0DYFgXDTvtvhP4EyR4lJ7RVnsUD75Y+4FdCc1XkibezKFcP0YebnwnQq1+kA2TpxaBZVA1mo9/K0VSLrDBP80826UuD1rCN49kAyBLZ0AgZEcTeJvtX 2 | -------------------------------------------------------------------------------- /ev3dev-stretch/rpi-base.dockerfile: -------------------------------------------------------------------------------- 1 | # Minimal base image for ev3dev on Raspberry Pi hardware 2 | 3 | FROM ev3dev/raspbian-stretch-armhf-qemu-minbase 4 | COPY layers/raspbian/ / 5 | RUN /brickstrap/raspbian/run 6 | COPY layers/base/ / 7 | RUN /brickstrap/base/run 8 | COPY layers/rpi/ / 9 | RUN /brickstrap/rpi/run 10 | COPY layers/rpi-common/ / 11 | RUN /brickstrap/rpi-common/run 12 | -------------------------------------------------------------------------------- /ev3dev-stretch/rpi-generic.dockerfile: -------------------------------------------------------------------------------- 1 | # Official ev3dev image for Raspberry Pi hardware 2 | 3 | FROM ev3dev/ev3dev-stretch-rpi-base 4 | COPY layers/generic/ / 5 | RUN /brickstrap/generic/run 6 | ARG BRICKSTRAP_IMAGE_NAME=unknown-ev3dev-stretch-rpi-generic 7 | ENV BRICKSTRAP_IMAGE_NAME ${BRICKSTRAP_IMAGE_NAME} 8 | RUN echo "$BRICKSTRAP_IMAGE_NAME" > /etc/ev3dev-release 9 | -------------------------------------------------------------------------------- /ev3dev-stretch/rpi2-base.dockerfile: -------------------------------------------------------------------------------- 1 | # Minimal base image for ev3dev on Raspberry Pi 2/3 hardware 2 | 3 | FROM ev3dev/debian-stretch-armhf-qemu-minbase 4 | COPY layers/debian/ / 5 | COPY layers/base/ / 6 | RUN /brickstrap/base/run 7 | COPY layers/rpi2/ / 8 | RUN /brickstrap/rpi2/run 9 | COPY layers/rpi-common/ / 10 | RUN /brickstrap/rpi-common/run 11 | -------------------------------------------------------------------------------- /ev3dev-stretch/rpi2-generic.dockerfile: -------------------------------------------------------------------------------- 1 | # Official ev3dev image for Raspberry Pi 2/3 hardware 2 | 3 | FROM ev3dev/ev3dev-stretch-rpi2-base 4 | COPY layers/generic/ / 5 | RUN /brickstrap/generic/run 6 | ARG BRICKSTRAP_IMAGE_NAME=unknown-ev3dev-stretch-rpi2-generic 7 | ENV BRICKSTRAP_IMAGE_NAME ${BRICKSTRAP_IMAGE_NAME} 8 | RUN echo "$BRICKSTRAP_IMAGE_NAME" > /etc/ev3dev-release 9 | --------------------------------------------------------------------------------