* initial updates * disable X86 SIMD for uhd * add dependencies to hackrf * replace swig with pybind * add gnuradio 3.9 dependencies * Install pybind11 via pip * compile pybind11 from source * fix volk build script perm * ignore apt packages for dump1090 * fix dpkg ignore dependencies * remove dump1090 * update foxtelem * update foxtelem filename * upgrade to bullseye * change i386 to arm32v7 docker * revert arch detection * use native docker image to build * Add missing dependency. * fix dependency * add dependency * Fix dependencies. * add raspi-config package * update packages to bullseye * add missing packages * remove pip install of ninja and cmake * set uhd arch to armhf * nuke python2 * change armhf to armv6-m * add hardware float to the armv6 flags * tweak armv6 build * disable neon for armv6 * fix rtlsdr-airband build * Add multicore compression. * First batch of new software for v6.0. * Remove uneeeded dependencies. * Second batch of new applications for v6.0. * Third batch of new applications for v6.0. * Forth batch of new applications for v6.0. * Fix SDRplay build script. * Fix char escape. * Fix LeanDVB build. * Fix QtDAB build. * Add more desktop shortcuts. * final fixestags/v6.0.0
@@ -7,8 +7,8 @@ RUN apt-get -y update && \ | |||||
apt-get -y install --no-install-recommends \ | apt-get -y install --no-install-recommends \ | ||||
git vim parted \ | git vim parted \ | ||||
quilt coreutils qemu-user-static debootstrap zerofree zip dosfstools \ | quilt coreutils qemu-user-static debootstrap zerofree zip dosfstools \ | ||||
bsdtar libcap2-bin rsync grep udev xz-utils curl xxd file kmod bc\ | |||||
binfmt-support ca-certificates qemu-utils kpartx \ | |||||
libarchive-tools libcap2-bin rsync grep udev xz-utils curl xxd file kmod bc\ | |||||
binfmt-support ca-certificates qemu-utils kpartx util-linux fdisk \ | |||||
&& rm -rf /var/lib/apt/lists/* | && rm -rf /var/lib/apt/lists/* | ||||
COPY . /pi-gen/ | COPY . /pi-gen/ | ||||
@@ -19,3 +19,17 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
SOFTWARE. | SOFTWARE. | ||||
Copyright (c) 2015 Raspberry Pi (Trading) Ltd. | |||||
All rights reserved. | |||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: | |||||
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. | |||||
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. | |||||
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. | |||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
@@ -36,6 +36,15 @@ List of pre-installed software: | |||||
- [gpredict](https://github.com/csete/gpredict) | - [gpredict](https://github.com/csete/gpredict) | ||||
- [EliasOenal/multimon-ng](https://github.com/EliasOenal/multimon-ng) | - [EliasOenal/multimon-ng](https://github.com/EliasOenal/multimon-ng) | ||||
- [pabr/leansdr](https://github.com/pabr/leansdr) | - [pabr/leansdr](https://github.com/pabr/leansdr) | ||||
- [QtDAB](https://github.com/JvanKatwijk/qt-dab) | |||||
- [IIO Oscilloscope](https://github.com/analogdevicesinc/iio-oscilloscope) | |||||
- [RTL-AIS](https://github.com/dgiardini/rtl-ais) | |||||
- [Inspectrum](https://github.com/miek/inspectrum) | |||||
- [WSJT-X](https://physics.princeton.edu/pulsar/k1jt/wsjtx.html) | |||||
- [nrsc5](https://github.com/theori-io/nrsc5) | |||||
- [xwxapt](https://www.qsl.net/5b4az/pkg/apt/xwxapt/xwxapt.html) | |||||
- [GLRPT](https://github.com/dvdesolve/glrpt) | |||||
- [SDR++](https://github.com/AlexandreRouma/SDRPlusPlus) | |||||
### Radios | ### Radios | ||||
We currently support the following SDR: | We currently support the following SDR: | ||||
@@ -50,6 +59,7 @@ We currently support the following SDR: | |||||
- [Airspy HF+](https://airspy.com/airspy-hf-plus/) | - [Airspy HF+](https://airspy.com/airspy-hf-plus/) | ||||
- [HackRF One](https://greatscottgadgets.com/hackrf/one/) | - [HackRF One](https://greatscottgadgets.com/hackrf/one/) | ||||
- [USRP](https://www.ettus.com/products/) | - [USRP](https://www.ettus.com/products/) | ||||
- [SDRplay](https://www.sdrplay.com/) | |||||
## Getting started | ## Getting started | ||||
@@ -48,6 +48,7 @@ fi | |||||
CONTAINER_NAME=${CONTAINER_NAME:-pigen_work} | CONTAINER_NAME=${CONTAINER_NAME:-pigen_work} | ||||
CONTINUE=${CONTINUE:-0} | CONTINUE=${CONTINUE:-0} | ||||
PRESERVE_CONTAINER=${PRESERVE_CONTAINER:-0} | PRESERVE_CONTAINER=${PRESERVE_CONTAINER:-0} | ||||
PIGEN_DOCKER_OPTS=${PIGEN_DOCKER_OPTS:-""} | |||||
if [ -z "${IMG_NAME}" ]; then | if [ -z "${IMG_NAME}" ]; then | ||||
echo "IMG_NAME not set in 'config'" 1>&2 | echo "IMG_NAME not set in 'config'" 1>&2 | ||||
@@ -74,22 +75,7 @@ fi | |||||
# Modify original build-options to allow config file to be mounted in the docker container | # Modify original build-options to allow config file to be mounted in the docker container | ||||
BUILD_OPTS="$(echo "${BUILD_OPTS:-}" | sed -E 's@\-c\s?([^ ]+)@-c /config@')" | BUILD_OPTS="$(echo "${BUILD_OPTS:-}" | sed -E 's@\-c\s?([^ ]+)@-c /config@')" | ||||
# Check the arch of the machine we're running on. If it's 64-bit, use a 32-bit base image instead | |||||
case "$(uname -m)" in | |||||
x86_64|aarch64) | |||||
case "$(uname -m)" in | |||||
aarch64) | |||||
BASE_IMAGE=arm32v7/debian:buster | |||||
;; | |||||
*) | |||||
BASE_IMAGE=i386/debian:buster | |||||
;; | |||||
esac | |||||
;; | |||||
*) | |||||
BASE_IMAGE=debian:buster | |||||
;; | |||||
esac | |||||
BASE_IMAGE=debian:buster | |||||
${DOCKER} build --build-arg BASE_IMAGE=${BASE_IMAGE} -t pi-gen "${DIR}" | ${DOCKER} build --build-arg BASE_IMAGE=${BASE_IMAGE} -t pi-gen "${DIR}" | ||||
if [ "${CONTAINER_EXISTS}" != "" ]; then | if [ "${CONTAINER_EXISTS}" != "" ]; then | ||||
@@ -98,6 +84,7 @@ if [ "${CONTAINER_EXISTS}" != "" ]; then | |||||
--cap-add=ALL \ | --cap-add=ALL \ | ||||
-v /dev:/dev \ | -v /dev:/dev \ | ||||
-v /lib/modules:/lib/modules \ | -v /lib/modules:/lib/modules \ | ||||
${PIGEN_DOCKER_OPTS} \ | |||||
--volume "${CONFIG_FILE}":/config:ro \ | --volume "${CONFIG_FILE}":/config:ro \ | ||||
-e "GIT_HASH=${GIT_HASH}" \ | -e "GIT_HASH=${GIT_HASH}" \ | ||||
--volumes-from="${CONTAINER_NAME}" --name "${CONTAINER_NAME}_cont" \ | --volumes-from="${CONTAINER_NAME}" --name "${CONTAINER_NAME}_cont" \ | ||||
@@ -112,6 +99,7 @@ else | |||||
--cap-add=ALL \ | --cap-add=ALL \ | ||||
-v /dev:/dev \ | -v /dev:/dev \ | ||||
-v /lib/modules:/lib/modules \ | -v /lib/modules:/lib/modules \ | ||||
${PIGEN_DOCKER_OPTS} \ | |||||
--volume "${CONFIG_FILE}":/config:ro \ | --volume "${CONFIG_FILE}":/config:ro \ | ||||
-e "GIT_HASH=${GIT_HASH}" \ | -e "GIT_HASH=${GIT_HASH}" \ | ||||
pi-gen \ | pi-gen \ | ||||
@@ -111,7 +111,7 @@ run_stage(){ | |||||
STAGE_WORK_DIR="${WORK_DIR}/${STAGE}" | STAGE_WORK_DIR="${WORK_DIR}/${STAGE}" | ||||
ROOTFS_DIR="${STAGE_WORK_DIR}"/rootfs | ROOTFS_DIR="${STAGE_WORK_DIR}"/rootfs | ||||
if [ "${USE_QCOW2}" = "1" ]; then | |||||
if [ "${USE_QCOW2}" = "1" ]; then | |||||
if [ ! -f SKIP ]; then | if [ ! -f SKIP ]; then | ||||
load_qimage | load_qimage | ||||
fi | fi | ||||
@@ -121,7 +121,7 @@ run_stage(){ | |||||
unmount "${WORK_DIR}/${STAGE}" | unmount "${WORK_DIR}/${STAGE}" | ||||
fi | fi | ||||
fi | fi | ||||
if [ ! -f SKIP_IMAGES ]; then | if [ ! -f SKIP_IMAGES ]; then | ||||
if [ -f "${STAGE_DIR}/EXPORT_IMAGE" ]; then | if [ -f "${STAGE_DIR}/EXPORT_IMAGE" ]; then | ||||
EXPORT_DIRS="${EXPORT_DIRS} ${STAGE_DIR}" | EXPORT_DIRS="${EXPORT_DIRS} ${STAGE_DIR}" | ||||
@@ -219,7 +219,7 @@ export TARGET_HOSTNAME=${TARGET_HOSTNAME:-raspberrypi} | |||||
export FIRST_USER_NAME=${FIRST_USER_NAME:-pi} | export FIRST_USER_NAME=${FIRST_USER_NAME:-pi} | ||||
export FIRST_USER_PASS=${FIRST_USER_PASS:-raspberry} | export FIRST_USER_PASS=${FIRST_USER_PASS:-raspberry} | ||||
export RELEASE=${RELEASE:-buster} | |||||
export RELEASE=${RELEASE:-bullseye} | |||||
export WPA_ESSID | export WPA_ESSID | ||||
export WPA_PASSWORD | export WPA_PASSWORD | ||||
export WPA_COUNTRY | export WPA_COUNTRY | ||||
@@ -265,7 +265,7 @@ source "${SCRIPT_DIR}/common" | |||||
source "${SCRIPT_DIR}/dependencies_check" | source "${SCRIPT_DIR}/dependencies_check" | ||||
export NO_PRERUN_QCOW2="${NO_PRERUN_QCOW2:-1}" | export NO_PRERUN_QCOW2="${NO_PRERUN_QCOW2:-1}" | ||||
export USE_QCOW2="${USE_QCOW2:-1}" | |||||
export USE_QCOW2="${USE_QCOW2:-0}" | |||||
export BASE_QCOW2_SIZE=${BASE_QCOW2_SIZE:-12G} | export BASE_QCOW2_SIZE=${BASE_QCOW2_SIZE:-12G} | ||||
source "${SCRIPT_DIR}/qcow2_handling" | source "${SCRIPT_DIR}/qcow2_handling" | ||||
if [ "${USE_QCOW2}" = "1" ]; then | if [ "${USE_QCOW2}" = "1" ]; then | ||||
@@ -7,7 +7,7 @@ zerofree | |||||
zip | zip | ||||
mkdosfs:dosfstools | mkdosfs:dosfstools | ||||
capsh:libcap2-bin | capsh:libcap2-bin | ||||
bsdtar | |||||
bsdtar:libarchive-tools | |||||
grep | grep | ||||
rsync | rsync | ||||
xz:xz-utils | xz:xz-utils | ||||
@@ -17,3 +17,5 @@ file | |||||
git | git | ||||
lsmod:kmod | lsmod:kmod | ||||
bc | bc | ||||
qemu-nbd:qemu-utils | |||||
kpartx |
@@ -98,7 +98,7 @@ fi | |||||
if [ "${DEPLOY_ZIP}" == "1" ]; then | if [ "${DEPLOY_ZIP}" == "1" ]; then | ||||
pushd "${STAGE_WORK_DIR}" > /dev/null | pushd "${STAGE_WORK_DIR}" > /dev/null | ||||
xz -c "$(basename "${IMG_FILE}")" > "${DEPLOY_DIR}/${ZIP_FILENAME}${IMG_SUFFIX}.img.xz" | |||||
xz -T16 -c "$(basename "${IMG_FILE}")" > "${DEPLOY_DIR}/${ZIP_FILENAME}${IMG_SUFFIX}.img.xz" | |||||
popd > /dev/null | popd > /dev/null | ||||
rm -f "${DEPLOY_DIR}/${IMG_FILENAME}${IMG_SUFFIX}.img" | rm -f "${DEPLOY_DIR}/${IMG_FILENAME}${IMG_SUFFIX}.img" | ||||
else | else | ||||
@@ -0,0 +1,9 @@ | |||||
[Desktop Entry] | |||||
Name=Inspectrum | |||||
Comment=Inspectrum | |||||
Icon= | |||||
Exec=inspectrum | |||||
Type=Application | |||||
Encoding=UTF-8 | |||||
Terminal=true | |||||
Categories=None; |
@@ -16,13 +16,16 @@ bootstrap(){ | |||||
BOOTSTRAP_ARGS+=(--arch armhf) | BOOTSTRAP_ARGS+=(--arch armhf) | ||||
BOOTSTRAP_ARGS+=(--components "main,contrib,non-free") | BOOTSTRAP_ARGS+=(--components "main,contrib,non-free") | ||||
BOOTSTRAP_ARGS+=(--keyring "${STAGE_DIR}/files/raspberrypi.gpg") | BOOTSTRAP_ARGS+=(--keyring "${STAGE_DIR}/files/raspberrypi.gpg") | ||||
BOOTSTRAP_ARGS+=(--exclude=info) | |||||
BOOTSTRAP_ARGS+=("$@") | BOOTSTRAP_ARGS+=("$@") | ||||
printf -v BOOTSTRAP_STR '%q ' "${BOOTSTRAP_ARGS[@]}" | printf -v BOOTSTRAP_STR '%q ' "${BOOTSTRAP_ARGS[@]}" | ||||
setarch linux32 capsh --drop=cap_setfcap -- -c "'${BOOTSTRAP_CMD}' $BOOTSTRAP_STR" || true | setarch linux32 capsh --drop=cap_setfcap -- -c "'${BOOTSTRAP_CMD}' $BOOTSTRAP_STR" || true | ||||
if [ -d "$2/debootstrap" ]; then | |||||
rmdir "$2/debootstrap" | |||||
if [ -d "$2/debootstrap" ] && ! rmdir "$2/debootstrap"; then | |||||
cp "$2/debootstrap/debootstrap.log" "${STAGE_WORK_DIR}" | |||||
log "bootstrap failed: please check ${STAGE_WORK_DIR}/debootstrap.log" | |||||
return 1 | |||||
fi | fi | ||||
} | } | ||||
export -f bootstrap | export -f bootstrap | ||||
@@ -28,11 +28,26 @@ dependencies_check() | |||||
false | false | ||||
fi | fi | ||||
# If we're building on a native arm platform, we don't need to check for | |||||
# binfmt_misc or require it to be loaded. | |||||
if ! grep -q "/proc/sys/fs/binfmt_misc" /proc/mounts; then | |||||
echo "Module binfmt_misc not loaded in host" | |||||
echo "Please run:" | |||||
echo " sudo modprobe binfmt_misc" | |||||
exit 1 | |||||
binfmt_misc_required=1 | |||||
case $(uname -m) in | |||||
aarch64) | |||||
binfmt_misc_required=0 | |||||
;; | |||||
arm*) | |||||
binfmt_misc_required=0 | |||||
;; | |||||
esac | |||||
if [[ "${binfmt_misc_required}" == "1" ]]; then | |||||
if ! grep -q "/proc/sys/fs/binfmt_misc" /proc/mounts; then | |||||
echo "Module binfmt_misc not loaded in host" | |||||
echo "Please run:" | |||||
echo " sudo modprobe binfmt_misc" | |||||
exit 1 | |||||
fi | |||||
fi | fi | ||||
} | } |
@@ -36,7 +36,7 @@ connect_blkdev() { | |||||
init_nbd | init_nbd | ||||
qemu-nbd --discard=unmap -c $NBD_DEV "$1" | qemu-nbd --discard=unmap -c $NBD_DEV "$1" | ||||
sync | sync | ||||
kpartx -a $NBD_DEV | |||||
kpartx -as $NBD_DEV | |||||
sync | sync | ||||
CURRENT_IMAGE="$1" | CURRENT_IMAGE="$1" | ||||
} | } | ||||
@@ -108,7 +108,7 @@ load_qimage() { | |||||
254MiB,,83; | 254MiB,,83; | ||||
EOF | EOF | ||||
sync | sync | ||||
kpartx -a $NBD_DEV | |||||
kpartx -as $NBD_DEV | |||||
mkdosfs -n boot -F 32 -v $MAP_BOOT_DEV | mkdosfs -n boot -F 32 -v $MAP_BOOT_DEV | ||||
mkfs.ext4 -L rootfs -O "^huge_file,^metadata_csum,^64bit" $MAP_ROOT_DEV | mkfs.ext4 -L rootfs -O "^huge_file,^metadata_csum,^64bit" $MAP_ROOT_DEV | ||||
sync | sync | ||||
@@ -123,7 +123,7 @@ EOF | |||||
sync | sync | ||||
qemu-nbd --discard=unmap -c $NBD_DEV image-${STAGE}.qcow2 | qemu-nbd --discard=unmap -c $NBD_DEV image-${STAGE}.qcow2 | ||||
sync | sync | ||||
kpartx -a $NBD_DEV | |||||
kpartx -as $NBD_DEV | |||||
fi | fi | ||||
mount -v -t ext4 $MAP_ROOT_DEV "${ROOTFS_DIR}" | mount -v -t ext4 $MAP_ROOT_DEV "${ROOTFS_DIR}" | ||||
@@ -1,2 +1,3 @@ | |||||
raspberrypi-bootloader | raspberrypi-bootloader | ||||
raspberrypi-kernel | raspberrypi-kernel | ||||
raspi-config |
@@ -1 +1 @@ | |||||
console=serial0,115200 console=tty1 root=ROOTDEV rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait | |||||
console=serial0,115200 console=tty1 root=ROOTDEV rootfstype=ext4 fsck.repair=yes rootwait |
@@ -5,10 +5,6 @@ | |||||
# uncomment if you get no picture on HDMI for a default "safe" mode | # uncomment if you get no picture on HDMI for a default "safe" mode | ||||
#hdmi_safe=1 | #hdmi_safe=1 | ||||
# uncomment this if your display has a black border of unused pixels visible | |||||
# and your display can output without overscan | |||||
#disable_overscan=1 | |||||
# uncomment the following to adjust overscan. Use positive numbers if console | # uncomment the following to adjust overscan. Use positive numbers if console | ||||
# goes off screen, and negative if there is too much border | # goes off screen, and negative if there is too much border | ||||
#overscan_left=16 | #overscan_left=16 | ||||
@@ -56,10 +52,29 @@ | |||||
# Enable audio (loads snd_bcm2835) | # Enable audio (loads snd_bcm2835) | ||||
dtparam=audio=on | dtparam=audio=on | ||||
[pi4] | |||||
# Enable DRM VC4 V3D driver on top of the dispmanx display stack | |||||
dtoverlay=vc4-fkms-v3d | |||||
# Automatically load overlays for detected cameras | |||||
camera_auto_detect=1 | |||||
# Automatically load overlays for detected DSI displays | |||||
display_auto_detect=1 | |||||
# Enable DRM VC4 V3D driver | |||||
dtoverlay=vc4-kms-v3d | |||||
max_framebuffers=2 | max_framebuffers=2 | ||||
# Disable compensation for displays with overscan | |||||
disable_overscan=1 | |||||
[cm4] | |||||
# Enable host mode on the 2711 built-in XHCI USB controller. | |||||
# This line should be removed if the legacy DWC2 controller is required | |||||
# (e.g. for USB device mode) or if USB support is not required. | |||||
otg_mode=1 | |||||
[all] | |||||
[pi4] | |||||
# Run as fast as firmware / board allows | |||||
arm_boost=1 | |||||
[all] | [all] | ||||
#dtoverlay=vc4-fkms-v3d |
@@ -3,4 +3,6 @@ | |||||
echo "${TARGET_HOSTNAME}" > "${ROOTFS_DIR}/etc/hostname" | echo "${TARGET_HOSTNAME}" > "${ROOTFS_DIR}/etc/hostname" | ||||
echo "127.0.1.1 ${TARGET_HOSTNAME}" >> "${ROOTFS_DIR}/etc/hosts" | echo "127.0.1.1 ${TARGET_HOSTNAME}" >> "${ROOTFS_DIR}/etc/hosts" | ||||
ln -sf /dev/null "${ROOTFS_DIR}/etc/systemd/network/99-default.link" | |||||
on_chroot << EOF | |||||
SUDO_USER="${FIRST_USER_NAME}" raspi-config nonint do_net_names 1 | |||||
EOF |
@@ -1 +1 @@ | |||||
libraspberrypi-bin libraspberrypi0 raspi-config | |||||
libraspberrypi-bin libraspberrypi0 |
@@ -1,8 +1,8 @@ | |||||
ssh less fbset sudo psmisc strace ed ncdu crda | ssh less fbset sudo psmisc strace ed ncdu crda | ||||
console-setup keyboard-configuration debconf-utils parted unzip | console-setup keyboard-configuration debconf-utils parted unzip | ||||
build-essential manpages-dev python bash-completion gdb pkg-config | |||||
python-rpi.gpio v4l-utils | |||||
python-gpiozero | |||||
build-essential manpages-dev bash-completion gdb pkg-config | |||||
python-is-python3 | |||||
python3-rpi.gpio v4l-utils | |||||
python3-gpiozero | python3-gpiozero | ||||
avahi-daemon | avahi-daemon | ||||
lua5.1 | lua5.1 | ||||
@@ -26,7 +26,6 @@ policykit-1 | |||||
ssh-import-id | ssh-import-id | ||||
rng-tools | rng-tools | ||||
ethtool | ethtool | ||||
vl805fw | |||||
ntfs-3g | ntfs-3g | ||||
pciutils | pciutils | ||||
rpi-eeprom | rpi-eeprom | ||||
@@ -1,5 +1,5 @@ | |||||
--- stage2.orig/rootfs/boot/cmdline.txt | --- stage2.orig/rootfs/boot/cmdline.txt | ||||
+++ stage2/rootfs/boot/cmdline.txt | +++ stage2/rootfs/boot/cmdline.txt | ||||
@@ -1 +1 @@ | @@ -1 +1 @@ | ||||
-console=serial0,115200 console=tty1 root=ROOTDEV rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait | |||||
+console=serial0,115200 console=tty1 root=ROOTDEV rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet init=/usr/lib/raspi-config/init_resize.sh | |||||
-console=serial0,115200 console=tty1 root=ROOTDEV rootfstype=ext4 fsck.repair=yes rootwait | |||||
+console=serial0,115200 console=tty1 root=ROOTDEV rootfstype=ext4 fsck.repair=yes rootwait quiet init=/usr/lib/raspi-config/init_resize.sh |
@@ -1,11 +1,12 @@ | |||||
#!/bin/bash -e | #!/bin/bash -e | ||||
install -v -d "${ROOTFS_DIR}/etc/systemd/system/dhcpcd.service.d" | |||||
install -v -m 644 files/wait.conf "${ROOTFS_DIR}/etc/systemd/system/dhcpcd.service.d/" | |||||
install -v -d "${ROOTFS_DIR}/etc/wpa_supplicant" | install -v -d "${ROOTFS_DIR}/etc/wpa_supplicant" | ||||
install -v -m 600 files/wpa_supplicant.conf "${ROOTFS_DIR}/etc/wpa_supplicant/" | install -v -m 600 files/wpa_supplicant.conf "${ROOTFS_DIR}/etc/wpa_supplicant/" | ||||
on_chroot << EOF | |||||
SUDO_USER="${FIRST_USER_NAME}" raspi-config nonint do_boot_wait 0 | |||||
EOF | |||||
if [ -v WPA_COUNTRY ]; then | if [ -v WPA_COUNTRY ]; then | ||||
echo "country=${WPA_COUNTRY}" >> "${ROOTFS_DIR}/etc/wpa_supplicant/wpa_supplicant.conf" | echo "country=${WPA_COUNTRY}" >> "${ROOTFS_DIR}/etc/wpa_supplicant/wpa_supplicant.conf" | ||||
fi | fi | ||||
@@ -1,3 +0,0 @@ | |||||
[Service] | |||||
ExecStart= | |||||
ExecStart=/usr/lib/dhcpcd5/dhcpcd -q -w |
@@ -2,8 +2,6 @@ gstreamer1.0-x gstreamer1.0-omx gstreamer1.0-plugins-base gstreamer1.0-plugins-g | |||||
qpdfview gtk2-engines alsa-utils | qpdfview gtk2-engines alsa-utils | ||||
desktop-base | desktop-base | ||||
git | git | ||||
omxplayer | |||||
raspberrypi-artwork | |||||
policykit-1 | policykit-1 | ||||
gvfs | gvfs | ||||
rfkill | rfkill | ||||
@@ -13,3 +11,5 @@ fonts-droid-fallback | |||||
fonts-liberation2 | fonts-liberation2 | ||||
obconf | obconf | ||||
arandr | arandr | ||||
libcamera-tools | |||||
libcamera-apps |
@@ -3,4 +3,4 @@ mousepad | |||||
lxde lxtask menu-xdg | lxde lxtask menu-xdg | ||||
zenity xdg-utils | zenity xdg-utils | ||||
gvfs-backends gvfs-fuse | gvfs-backends gvfs-fuse | ||||
lightdm gnome-themes-standard-data gnome-icon-theme | |||||
lightdm gnome-themes-standard-data gnome-icon-theme |
@@ -1,3 +1,5 @@ | |||||
#!/bin/bash -e | #!/bin/bash -e | ||||
rm -f "${ROOTFS_DIR}/etc/systemd/system/dhcpcd.service.d/wait.conf" | |||||
on_chroot << EOF | |||||
SUDO_USER="${FIRST_USER_NAME}" raspi-config nonint do_boot_wait 1 | |||||
EOF |
@@ -1,11 +1,11 @@ | |||||
python python3-pygame python-pygame python-tk | |||||
python3 python3-tk thonny | |||||
python3-pygame | |||||
python3-tk thonny | |||||
python3-pgzero | python3-pgzero | ||||
python-serial python3-serial | |||||
python-picamera python3-picamera | |||||
python3-serial | |||||
python3-picamera | |||||
debian-reference-en dillo | debian-reference-en dillo | ||||
raspberrypi-net-mods raspberrypi-ui-mods | raspberrypi-net-mods raspberrypi-ui-mods | ||||
python-pip python3-pip | |||||
python3-pip | |||||
python3-numpy | python3-numpy | ||||
pypy | pypy | ||||
alacarte rc-gui sense-hat | alacarte rc-gui sense-hat | ||||
@@ -13,11 +13,11 @@ tree | |||||
libgl1-mesa-dri libgles1 libgles2-mesa xcompmgr | libgl1-mesa-dri libgles1 libgles2-mesa xcompmgr | ||||
geany | geany | ||||
piclone | piclone | ||||
wiringpi pigpio python-pigpio python3-pigpio raspi-gpio python3-rpi.gpio | |||||
python-spidev python3-spidev | |||||
python-twython python3-twython | |||||
python-smbus python3-smbus | |||||
python-flask python3-flask | |||||
pigpio python3-pigpio raspi-gpio python3-rpi.gpio | |||||
python3-spidev | |||||
python3-twython | |||||
python3-smbus | |||||
python3-flask | |||||
pprompt | pprompt | ||||
piwiz | piwiz | ||||
rp-prefapps | rp-prefapps | ||||
@@ -1,22 +1,22 @@ | |||||
python-automationhat python3-automationhat | |||||
python-blinkt python3-blinkt | |||||
python-cap1xxx python3-cap1xxx | |||||
python-drumhat python3-drumhat | |||||
python-envirophat python3-envirophat | |||||
python-explorerhat python3-explorerhat | |||||
python-fourletterphat python3-fourletterphat | |||||
python-microdotphat python3-microdotphat | |||||
python-mote python3-mote | |||||
python-motephat python3-motephat | |||||
python-phatbeat python3-phatbeat | |||||
python-pianohat python3-pianohat | |||||
python-piglow python3-piglow | |||||
python-rainbowhat python3-rainbowhat | |||||
python-scrollphat python3-scrollphat | |||||
python-scrollphathd python3-scrollphathd | |||||
python-sn3218 python3-sn3218 | |||||
python-skywriter python3-skywriter | |||||
python-touchphat python3-touchphat | |||||
python-buttonshim python3-buttonshim | |||||
python-unicornhathd python3-unicornhathd | |||||
python-pantilthat python3-pantilthat | |||||
python3-automationhat | |||||
python3-blinkt | |||||
python3-cap1xxx | |||||
python3-drumhat | |||||
python3-envirophat | |||||
python3-explorerhat | |||||
python3-fourletterphat | |||||
python3-microdotphat | |||||
python3-mote | |||||
python3-motephat | |||||
python3-phatbeat | |||||
python3-pianohat | |||||
python3-piglow | |||||
python3-rainbowhat | |||||
python3-scrollphat | |||||
python3-scrollphathd | |||||
python3-sn3218 | |||||
python3-skywriter | |||||
python3-touchphat | |||||
python3-buttonshim | |||||
python3-unicornhathd | |||||
python3-pantilthat |
@@ -1,5 +0,0 @@ | |||||
#!/bin/bash -e | |||||
on_chroot << EOF | |||||
raspi-config nonint do_xcompmgr 0 | |||||
EOF |
@@ -1,8 +1,15 @@ | |||||
vim | vim | ||||
tmux | tmux | ||||
cmake | cmake | ||||
ninja-build | |||||
build-essential | build-essential | ||||
git | git | ||||
pkg-config | pkg-config | ||||
re2c | re2c | ||||
libssl-dev | |||||
libssl-dev | |||||
xterm | |||||
libboost-dev | |||||
python3-pytest | |||||
pybind11-dev | |||||
python3-pybind11 |
@@ -1,15 +1,23 @@ | |||||
install -v -o 1000 -g 1000 -d "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Desktop/" | install -v -o 1000 -g 1000 -d "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Desktop/" | ||||
install -v -o 1000 -g 1000 -m 755 shortcut/gnuradio.desktop "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Desktop/" | install -v -o 1000 -g 1000 -m 755 shortcut/gnuradio.desktop "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Desktop/" | ||||
install -v -o 1000 -g 1000 -m 755 shortcut/gqrx.desktop "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Desktop/" | install -v -o 1000 -g 1000 -m 755 shortcut/gqrx.desktop "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Desktop/" | ||||
install -v -o 1000 -g 1000 -m 755 shortcut/sdrangel.desktop "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Desktop/" | |||||
install -v -o 1000 -g 1000 -m 755 shortcut/gpredict.desktop "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Desktop/" | install -v -o 1000 -g 1000 -m 755 shortcut/gpredict.desktop "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Desktop/" | ||||
install -v -o 1000 -g 1000 -m 755 shortcut/glrpt.desktop "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Desktop/" | |||||
install -v -o 1000 -g 1000 -m 755 shortcut/osc.desktop "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Desktop/" | |||||
install -v -o 1000 -g 1000 -m 755 shortcut/qtdab.desktop "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Desktop/" | |||||
install -v -o 1000 -g 1000 -m 755 shortcut/sdrpp.desktop "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Desktop/" | |||||
install -v -o 1000 -g 1000 -m 755 shortcut/wsjtx.desktop "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Desktop/" | |||||
install -v -o 1000 -g 1000 -m 755 shortcut/inspectrum.desktop "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Desktop/" | |||||
install -v -o 1000 -g 1000 -m 755 shortcut/limesuite.desktop "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Desktop/" | |||||
install -v -o 1000 -g 1000 -m 755 shortcut/urh.desktop "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Desktop/" | |||||
install -v -o 1000 -g 1000 -m 755 shortcut/quisk.desktop "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/Desktop/" | |||||
install -v -o 1000 -g 1000 -d "${ROOTFS_DIR}/usr/share/rpd-wallpaper/" | install -v -o 1000 -g 1000 -d "${ROOTFS_DIR}/usr/share/rpd-wallpaper/" | ||||
install -v -o 1000 -g 1000 -m 755 wallpaper/donald-giannatti-vla.jpg "${ROOTFS_DIR}/usr/share/rpd-wallpaper/" | |||||
install -v -o 1000 -g 1000 -m 755 wallpaper/kevin-quezada-lmt.jpg "${ROOTFS_DIR}/usr/share/rpd-wallpaper/" | |||||
install -v -o 1000 -g 1000 -d "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.config/" | install -v -o 1000 -g 1000 -d "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.config/" | ||||
install -v -o 1000 -g 1000 -d "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.config/menus/" | install -v -o 1000 -g 1000 -d "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.config/menus/" | ||||
install -v -o 1000 -g 1000 -d "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.config/pcmanfm/" | install -v -o 1000 -g 1000 -d "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.config/pcmanfm/" | ||||
install -v -o 1000 -g 1000 -d "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.config/pcmanfm/LXDE-pi/" | install -v -o 1000 -g 1000 -d "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.config/pcmanfm/LXDE-pi/" | ||||
install -v -o 1000 -g 1000 -m 644 wallpaper/desktop-items-0.conf "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.config/pcmanfm/LXDE-pi/" | |||||
install -v -o 1000 -g 1000 -m 644 wallpaper/desktop-items-0.conf "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.config/pcmanfm/LXDE-pi/" |
@@ -1,6 +1,8 @@ | |||||
#!/bin/bash -e | #!/bin/bash -e | ||||
install -m 755 patch/export.txt "${ROOTFS_DIR}/etc/" | |||||
on_chroot << EOF | on_chroot << EOF | ||||
python3 -m pip install cmake | |||||
python3 -m pip install ninja | |||||
cat /etc/export.txt >> /home/${FIRST_USER_NAME}/.bashrc | |||||
source /home/${FIRST_USER_NAME}/.bashrc | |||||
EOF | EOF |
@@ -1,8 +0,0 @@ | |||||
#!/bin/bash -e | |||||
install -m 755 patch/export.txt "${ROOTFS_DIR}/etc/" | |||||
on_chroot << EOF | |||||
cat /etc/export.txt >> /home/${FIRST_USER_NAME}/.bashrc | |||||
source /home/${FIRST_USER_NAME}/.bashrc | |||||
EOF |
@@ -0,0 +1,9 @@ | |||||
[Desktop Entry] | |||||
Name=GLRPT | |||||
Comment=GLRPT | |||||
Icon=/home/pi/PiSDR/Software/glrpt/share/launcher/glrpt.svg | |||||
Exec=glrpt | |||||
Type=Application | |||||
Encoding=UTF-8 | |||||
Terminal=true | |||||
Categories=None; |
@@ -0,0 +1,9 @@ | |||||
[Desktop Entry] | |||||
Name=Inspectrum | |||||
Comment=Inspectrum | |||||
Icon= | |||||
Exec=inspectrum | |||||
Type=Application | |||||
Encoding=UTF-8 | |||||
Terminal=true | |||||
Categories=None; |
@@ -0,0 +1,9 @@ | |||||
[Desktop Entry] | |||||
Name=LimeSuite | |||||
Comment=LimeSuite | |||||
Icon=/home/pi/PiSDR/Radios/LimeSuite/Desktop/lime-suite-128.png | |||||
Exec=LimeSuiteGUI | |||||
Type=Application | |||||
Encoding=UTF-8 | |||||
Terminal=true | |||||
Categories=None; |
@@ -0,0 +1,9 @@ | |||||
[Desktop Entry] | |||||
Name=IIO Oscilloscope | |||||
Comment=IIO Oscilloscope | |||||
Icon=/home/pi/PiSDR/Software/iio-oscilloscope/icons/osc.svg | |||||
Exec=osc | |||||
Type=Application | |||||
Encoding=UTF-8 | |||||
Terminal=true | |||||
Categories=None; |
@@ -0,0 +1,9 @@ | |||||
[Desktop Entry] | |||||
Name=QtDAB | |||||
Comment=QtDAB | |||||
Icon=/home/pi/PiSDR/Software/qt-dab/dab-maxi/qt-dab.png | |||||
Exec=qt-dab-4.11 | |||||
Type=Application | |||||
Encoding=UTF-8 | |||||
Terminal=true | |||||
Categories=None; |
@@ -0,0 +1,9 @@ | |||||
[Desktop Entry] | |||||
Name=Quisk | |||||
Comment=Quisk | |||||
Icon= | |||||
Exec=quisk | |||||
Type=Application | |||||
Encoding=UTF-8 | |||||
Terminal=true | |||||
Categories=None; |
@@ -1,9 +0,0 @@ | |||||
[Desktop Entry] | |||||
Name=SDR Angel | |||||
Comment=SDR Angel | |||||
Icon=/home/pi/PiSDR/Software/sdrangel/cmake/cpack/sdrangel_icon.svg | |||||
Exec=sdrangel | |||||
Type=Application | |||||
Encoding=UTF-8 | |||||
Terminal=true | |||||
Categories=None; |
@@ -0,0 +1,9 @@ | |||||
[Desktop Entry] | |||||
Name=SDR++ | |||||
Comment=SDR++ | |||||
Icon=/home/pi/PiSDR/Software/SDRPlusPlus/root/res/icons/sdrpp.png | |||||
Exec=sdrpp | |||||
Type=Application | |||||
Encoding=UTF-8 | |||||
Terminal=true | |||||
Categories=None; |
@@ -0,0 +1,9 @@ | |||||
[Desktop Entry] | |||||
Name=Universal Radio Hacker | |||||
Comment=Universal Radio Hacker | |||||
Icon=/home/pi/PiSDR/Software/urh/data/icons/appicon.svg | |||||
Exec=urh | |||||
Type=Application | |||||
Encoding=UTF-8 | |||||
Terminal=true | |||||
Categories=None; |
@@ -0,0 +1,9 @@ | |||||
[Desktop Entry] | |||||
Name=WSJTX | |||||
Comment=WSJTX | |||||
Icon= | |||||
Exec=wsjtx | |||||
Type=Application | |||||
Encoding=UTF-8 | |||||
Terminal=true | |||||
Categories=None; |
@@ -1,4 +1,4 @@ | |||||
[*] | [*] | ||||
wallpaper_mode=crop | wallpaper_mode=crop | ||||
wallpaper_common=1 | wallpaper_common=1 | ||||
wallpaper=/usr/share/rpd-wallpaper/donald-giannatti-vla.jpg | |||||
wallpaper=/usr/share/rpd-wallpaper/kevin-quezada-lmt.jpg |
@@ -11,14 +11,14 @@ fi | |||||
cd uhd/host | cd uhd/host | ||||
mkdir -p build | mkdir -p build | ||||
cd build | cd build | ||||
cmake -DCMAKE_CXX_FLAGS:STRING="-march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a15 -Wno-psabi" \ | |||||
-DCMAKE_C_FLAGS:STRING="-march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a15 -Wno-psabi" \ | |||||
-DCMAKE_ASM_FLAGS:STRING="-march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a15" \ | |||||
-GNinja -DCMAKE_BUILD_TYPE=Release ../ | |||||
cmake -DCMAKE_CXX_FLAGS:STRING="-march=armv6z -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -Wno-psabi" \ | |||||
-DCMAKE_C_FLAGS:STRING="-march=armv6z -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -Wno-psabi" \ | |||||
-DCMAKE_ASM_FLAGS:STRING="-march=armv6z -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard " \ | |||||
-GNinja -DNEON_SIMD_ENABLE=OFF -DCMAKE_BUILD_TYPE=Release ../ | |||||
ninja install | ninja install | ||||
cp /usr/local/lib/uhd/utils/uhd-usrp.rules /etc/udev/rules.d/ | cp /usr/local/lib/uhd/utils/uhd-usrp.rules /etc/udev/rules.d/ | ||||
ldconfig | ldconfig | ||||
uhd_images_downloader | uhd_images_downloader | ||||
cd .. | cd .. | ||||
rm -fr build | rm -fr build | ||||
EOF | |||||
EOF |
@@ -3,4 +3,4 @@ avahi-daemon | |||||
libavahi-client-dev | libavahi-client-dev | ||||
libusb-1.0-0-dev | libusb-1.0-0-dev | ||||
python-dev python3-dev | |||||
python3-dev |
@@ -0,0 +1,21 @@ | |||||
#!/bin/bash -e | |||||
on_chroot << EOF | |||||
mkdir -p "/home/${FIRST_USER_NAME}/PiSDR/Radios" | |||||
cd "/home/${FIRST_USER_NAME}/PiSDR/Radios" | |||||
if [ ! -d "sdrplay" ]; then | |||||
mkdir -p sdrplay | |||||
fi | |||||
cd sdrplay | |||||
wget https://www.sdrplay.com/software/SDRplay_RSP_API-ARM32-3.07.2.run | |||||
chmod +x ./SDRplay_RSP_API-ARM32-3.07.2.run | |||||
./SDRplay_RSP_API-ARM32-3.07.2.run --check | |||||
./SDRplay_RSP_API-ARM32-3.07.2.run --noexec --target . | |||||
sed -i 's/more sdrplay_license.txt//g' install_lib.sh | |||||
sed -i 's/ARCH=\`uname -m\`/ARCH=armv7l/g' install_lib.sh | |||||
printf "\ny\ny\ny\n" | ./install_lib.sh | |||||
systemctl enable sdrplay | |||||
ldconfig | |||||
EOF |
@@ -4,14 +4,14 @@ on_chroot << EOF | |||||
mkdir -p "/home/${FIRST_USER_NAME}/PiSDR/Radios" | mkdir -p "/home/${FIRST_USER_NAME}/PiSDR/Radios" | ||||
cd "/home/${FIRST_USER_NAME}/PiSDR/Radios" | cd "/home/${FIRST_USER_NAME}/PiSDR/Radios" | ||||
if [ ! -d "gr-iio" ]; then | |||||
git clone --single-branch --branch upgrade-3.8 --depth 1 https://github.com/analogdevicesinc/gr-iio | |||||
if [ ! -d "SoapySDRPlay3" ]; then | |||||
git clone --depth 1 https://github.com/pothosware/SoapySDRPlay3.git | |||||
fi | fi | ||||
cd gr-iio | |||||
cd SoapySDRPlay3 | |||||
mkdir -p build | mkdir -p build | ||||
cd build | cd build | ||||
cmake -GNinja -DINSTALL_UDEV_RULE=ON .. | |||||
cmake -GNinja -DCMAKE_CXX_FLAGS=-latomic .. | |||||
ninja install | ninja install | ||||
ldconfig | ldconfig | ||||
cd .. | cd .. |
@@ -1,19 +0,0 @@ | |||||
#!/bin/bash | |||||
on_chroot << EOF | |||||
mkdir -p "/home/${FIRST_USER_NAME}/PiSDR/Software" | |||||
cd "/home/${FIRST_USER_NAME}/PiSDR/Software" | |||||
if [ ! -d "gr-soapy" ]; then | |||||
git clone --depth 1 https://gitlab.com/librespacefoundation/gr-soapy.git | |||||
fi | |||||
cd gr-soapy | |||||
mkdir -p build | |||||
cd build | |||||
cmake -GNinja .. | |||||
ninja install | |||||
ldconfig | |||||
cd .. | |||||
rm -fr build | |||||
EOF |
@@ -1,19 +0,0 @@ | |||||
#!/bin/bash -e | |||||
on_chroot << EOF | |||||
mkdir -p "/home/${FIRST_USER_NAME}/PiSDR/Radios" | |||||
cd "/home/${FIRST_USER_NAME}/PiSDR/Radios" | |||||
if [ ! -d "gr-limesdr" ]; then | |||||
git clone --single-branch --branch gr-3.8 --depth 1 https://github.com/myriadrf/gr-limesdr.git | |||||
fi | |||||
cd gr-limesdr | |||||
mkdir -p build | |||||
cd build | |||||
cmake -GNinja -DCMAKE_CXX_FLAGS=-latomic .. | |||||
ninja install | |||||
ldconfig | |||||
cd .. | |||||
rm -fr build | |||||
EOF |
@@ -2,5 +2,5 @@ swig | |||||
libsqlite3-dev | libsqlite3-dev | ||||
libi2c-dev | libi2c-dev | ||||
libusb-1.0-0-dev | libusb-1.0-0-dev | ||||
libwxgtk3.0-dev | |||||
libwxgtk3.0-gtk3-dev | |||||
freeglut3-dev | freeglut3-dev |
@@ -0,0 +1 @@ | |||||
libfftw3-dev |
@@ -1,12 +1,9 @@ | |||||
libboost-all-dev | libboost-all-dev | ||||
swig | |||||
libzmq3-dev | libzmq3-dev | ||||
libfftw3-dev | libfftw3-dev | ||||
libgsl-dev | libgsl-dev | ||||
libcppunit-dev | libcppunit-dev | ||||
libcomedi-dev | libcomedi-dev | ||||
libqt4-opengl-dev | |||||
libqwt-dev | |||||
libsdl1.2-dev | libsdl1.2-dev | ||||
libusb-1.0-0-dev | libusb-1.0-0-dev | ||||
libasound2-dev | libasound2-dev | ||||
@@ -15,10 +12,14 @@ libportaudio2 | |||||
pulseaudio | pulseaudio | ||||
libjack-dev | libjack-dev | ||||
libgmp-dev | libgmp-dev | ||||
libsdl1.2-dev | |||||
liblog4cpp5-dev | liblog4cpp5-dev | ||||
libqwt-qt5-dev | libqwt-qt5-dev | ||||
libqt5opengl5-dev | libqt5opengl5-dev | ||||
libcodec2-dev | |||||
libsndfile1-dev | |||||
pybind11-dev | |||||
gir1.2-gtk-3.0 | |||||
swig | |||||
python3-numpy | python3-numpy | ||||
python3-mako | python3-mako | ||||
@@ -32,3 +33,6 @@ python3-zmq | |||||
python3-scipy | python3-scipy | ||||
python3-pip | python3-pip | ||||
python3-gi-cairo | python3-gi-cairo | ||||
python3-matplotlib | |||||
python3-pygccxml | |||||
python3-pyqtgraph |
@@ -0,0 +1,19 @@ | |||||
#!/bin/bash -e | |||||
on_chroot << EOF | |||||
mkdir -p "/home/${FIRST_USER_NAME}/PiSDR/Software" | |||||
cd "/home/${FIRST_USER_NAME}/PiSDR/Software" | |||||
if [ ! -d "volk" ]; then | |||||
git clone --single-branch --branch v2.5.0 --depth 1 --recurse-submodules --shallow-submodules https://github.com/gnuradio/volk.git | |||||
fi | |||||
cd volk | |||||
mkdir -p build | |||||
cd build | |||||
cmake -GNinja -DCMAKE_BUILD_TYPE=Release .. | |||||
ninja install | |||||
ldconfig | |||||
cd .. | |||||
rm -fr build | |||||
EOF |
@@ -5,7 +5,7 @@ mkdir -p "/home/${FIRST_USER_NAME}/PiSDR/Software" | |||||
cd "/home/${FIRST_USER_NAME}/PiSDR/Software" | cd "/home/${FIRST_USER_NAME}/PiSDR/Software" | ||||
if [ ! -d "gnuradio" ]; then | if [ ! -d "gnuradio" ]; then | ||||
git clone --single-branch --branch maint-3.8 --depth 1 --recurse-submodules --shallow-submodules https://github.com/gnuradio/gnuradio.git | |||||
git clone --single-branch --branch maint-3.9 --depth 1 --recurse-submodules --shallow-submodules https://github.com/gnuradio/gnuradio.git | |||||
fi | fi | ||||
cd gnuradio | cd gnuradio | ||||
@@ -17,4 +17,4 @@ ninja install | |||||
ldconfig | ldconfig | ||||
cd .. | cd .. | ||||
rm -fr build | rm -fr build | ||||
EOF | |||||
EOF |
@@ -0,0 +1,19 @@ | |||||
#!/bin/bash -e | |||||
on_chroot << EOF | |||||
mkdir -p "/home/${FIRST_USER_NAME}/PiSDR/Software" | |||||
cd "/home/${FIRST_USER_NAME}/PiSDR/Software" | |||||
if [ ! -d "gr-limesdr" ]; then | |||||
git clone --single-branch --branch gr39 --depth 1 https://github.com/daniestevez/gr-limesdr.git | |||||
fi | |||||
cd gr-limesdr | |||||
mkdir -p build | |||||
cd build | |||||
cmake -GNinja -DCMAKE_CXX_FLAGS=-latomic .. | |||||
ninja install | |||||
ldconfig | |||||
cd .. | |||||
rm -fr build | |||||
EOF |
@@ -5,7 +5,7 @@ mkdir -p "/home/${FIRST_USER_NAME}/PiSDR/Software" | |||||
cd "/home/${FIRST_USER_NAME}/PiSDR/Software" | cd "/home/${FIRST_USER_NAME}/PiSDR/Software" | ||||
if [ ! -d "gr-osmosdr" ]; then | if [ ! -d "gr-osmosdr" ]; then | ||||
git clone --single-branch --branch gr3.8 --depth 1 git://git.osmocom.org/gr-osmosdr | |||||
git clone --single-branch --branch master --depth 1 git://git.osmocom.org/gr-osmosdr | |||||
fi | fi | ||||
cd gr-osmosdr | cd gr-osmosdr |
@@ -0,0 +1,19 @@ | |||||
#!/bin/bash -e | |||||
on_chroot << EOF | |||||
mkdir -p "/home/${FIRST_USER_NAME}/PiSDR/Software" | |||||
cd "/home/${FIRST_USER_NAME}/PiSDR/Software" | |||||
if [ ! -d "gr-sdrplay3" ]; then | |||||
git clone --single-branch --branch master --depth 1 https://github.com/fventuri/gr-sdrplay3.git | |||||
fi | |||||
cd gr-sdrplay3 | |||||
mkdir -p build | |||||
cd build | |||||
cmake -GNinja .. | |||||
ninja install | |||||
ldconfig | |||||
cd .. | |||||
rm -fr build | |||||
EOF |
@@ -4,7 +4,6 @@ libtool | |||||
libfftw3-dev | libfftw3-dev | ||||
libusb-1.0-0-dev | libusb-1.0-0-dev | ||||
libusb-dev | libusb-dev | ||||
qt5-default | |||||
qtbase5-dev | qtbase5-dev | ||||
qtchooser | qtchooser | ||||
libqt5multimedia5-plugins | libqt5multimedia5-plugins |
@@ -8,7 +8,6 @@ libtool | |||||
libfftw3-dev | libfftw3-dev | ||||
libusb-1.0-0-dev | libusb-1.0-0-dev | ||||
libusb-dev | libusb-dev | ||||
qt5-default | |||||
qtbase5-dev | qtbase5-dev | ||||
qtchooser | qtchooser | ||||
libqt5multimedia5-plugins | libqt5multimedia5-plugins |
@@ -0,0 +1,4 @@ | |||||
swig | |||||
python3-dev | |||||
libtool | |||||
autoconf |
@@ -12,5 +12,6 @@ cd Hamlib | |||||
./bootstrap | ./bootstrap | ||||
./configure --with-python-binding | ./configure --with-python-binding | ||||
make -j$(nproc) | make -j$(nproc) | ||||
make install | |||||
ldconfig | ldconfig | ||||
EOF | EOF |
@@ -10,6 +10,7 @@ fi | |||||
cd gpredict | cd gpredict | ||||
bash autogen.sh | bash autogen.sh | ||||
make -j$(nproc) install | |||||
make -j$(nproc) | |||||
make install | |||||
ldconfig | ldconfig | ||||
EOF | EOF |
@@ -11,6 +11,6 @@ libmagickcore-6.q16-6 | |||||
libmagickcore-6.q16-6-extra | libmagickcore-6.q16-6-extra | ||||
libmagickwand-6.q16-6 | libmagickwand-6.q16-6 | ||||
libnetpbm10 | libnetpbm10 | ||||
libpng12-0 | |||||
libpng-dev | |||||
libwmf0.2-7 | libwmf0.2-7 | ||||
netpbm | netpbm |
@@ -1,14 +1,9 @@ | |||||
python-wxgtk3.0 | |||||
python3-wxgtk4.0 | python3-wxgtk4.0 | ||||
libfftw3-dev | libfftw3-dev | ||||
libasound2-dev | libasound2-dev | ||||
portaudio19-dev | portaudio19-dev | ||||
libpulse-dev | libpulse-dev | ||||
libpython2.7-dev | |||||
libpython3-dev | libpython3-dev | ||||
python-usb | |||||
python3-usb | python3-usb | ||||
python-setuptools | |||||
python3-setuptools | python3-setuptools | ||||
python-pip | |||||
python3-pip | python3-pip |
@@ -1,6 +1,5 @@ | |||||
#!/bin/bash -e | #!/bin/bash -e | ||||
on_chroot << EOF | on_chroot << EOF | ||||
python2 -m pip install --upgrade quisk | |||||
python3 -m pip install --upgrade quisk | python3 -m pip install --upgrade quisk | ||||
EOF | EOF |
@@ -2,3 +2,5 @@ libmp3lame-dev | |||||
libshout3-dev | libshout3-dev | ||||
libconfig++-dev | libconfig++-dev | ||||
libraspberrypi-dev | libraspberrypi-dev | ||||
libpulse-dev | |||||
libfftw3-dev |
@@ -11,6 +11,11 @@ fi | |||||
cd RTLSDR-Airband | cd RTLSDR-Airband | ||||
export PLATFORM=armv7-generic | export PLATFORM=armv7-generic | ||||
export WITH_SOAPYSDR=1 | export WITH_SOAPYSDR=1 | ||||
make install | |||||
mkdir -p build | |||||
cd build | |||||
cmake -GNinja .. | |||||
ninja install | |||||
ldconfig | ldconfig | ||||
cd .. | |||||
rm -fr build | |||||
EOF | EOF |
@@ -0,0 +1 @@ | |||||
libusb-1.0-0-dev |