Hi,
Here is a brief summery of the process that I used to create a USB boot drive, based on the excellent GNU Radio live environment, to run op25 (scope.py, etc...). The whole process should take less than 15 minutes, resulting in a bootable GNU Radio environment that is pretested, integrated, and has 25 additional GNU Radio-based applications and block libraries pre-installed.
This summary assumes the following:
- the GNU Radio v3.7.9.2 live image is used
- you have a cursory familiarity with the Ubuntu operating system that the GNU Radio live image is based on, including the ability to edit files and setup networking
- you know how to boot from a USB drive with your current computer system
Follow these steps:
1. Format a USB drive to FAT32. Insure that the maximum size of the stick is 32GB (or the first bootable partition on a larger USB drive is 32GB or smaller).
2. Download the GNU Radio ISO image from:
GNU Radio live DVD
3. On Windows, download the unetbootin utility from:
UNetbootin
(If you are running Linux, you should be able to do something like 'sudo apt-get install unetbootin').
4. Use unetbootin to create the bootable USB stick:
* Click on 'Diskimage', insure that the dropdown menu is set to 'ISO', and select the GNU Radio ISO file downloaded previously.
* Set a value for 'Space used to preserve files across reboots' (I use 2000 to enable 2GB of persistent storage).
* Insure 'Type' is set to 'USB Drive', and 'Drive' points to your USB drive.
* Click 'OK'
5. When finished, eject and then re-insert the USB drive (do not boot from it yet).
6. Two boot files need to be edited to add 'persistence' (this enables saving any changes to the GNU Radio environment across boots). The GNU Radio live system boots with syslinux.cfg when doing a 'legacy boot', and with grub.cfg when booted via the newer EFI system approach.
Edit file /boot/grub/grub.cfg on the USB drive (if running Windows, don't use Notepad, use Notepad++ [excellent and free] or another editor that preserves the original unix file format). I remove other entries from the boot menu as well, so my grub.cfg file ends up looking like this:
Now edit file /syslinux.cfg on the USB drive. Mine looks like this:
7. Now boot the USB drive. Setup networking, and set the correct timezone, date, and time (click on the 'gear' icon on the top, right side of the screen to access 'System Settings').
8. On occasion, you may wish to use Ubuntu's 'apt-get' utility to update and/or install new apps. This is completely optional, but if you wish to do so, open a shell terminal and enter the following commands to eliminate potential errors when using apt-get:
* sudo apt-get remove cryptsetup
* sudo dpkg --configure -a
Now execute:
* sudo apt-get update
You can now use apt-get to install and/or upgrade standard packages if you wish.
9. Next, from a shell terminal, change to directory '/usr/local/src/pybombs_legacy' and do the following:
* Edit file 'config.dat' to change line:
gotoptions = --reference=/root/live/gitcache
to
gotoptions =
* Now you can execute 'sudo ./pybombs install gr-op25' to intsall op25.
* Assuming the prior command executed without error, execute 'sudo ldconfig'
**** General Notes ****
- If you choose to use Ubuntu's 'apt-get' utility, insure that you never update the OS kernel (for example, by executing 'sudo apt-get dist-upgrade')... the USB drive will no longer boot if you do!
- After installing, the working directory for op25 (where scope.py resides) is:
/usr/local/src/pybombs_legacy/src/gr-op25/op25/gr-op25_repeater/apps
- For assistance with setting up op25, watch this video:
OP25 Video
and read these:
Welcome to OP25
Signal Scope
- For additionnal detail on the GNU Radio live environment, read this:
GNU Radio Live SDR Image persistence/versions/etc.
Regards,
JS
Here is a brief summery of the process that I used to create a USB boot drive, based on the excellent GNU Radio live environment, to run op25 (scope.py, etc...). The whole process should take less than 15 minutes, resulting in a bootable GNU Radio environment that is pretested, integrated, and has 25 additional GNU Radio-based applications and block libraries pre-installed.
This summary assumes the following:
- the GNU Radio v3.7.9.2 live image is used
- you have a cursory familiarity with the Ubuntu operating system that the GNU Radio live image is based on, including the ability to edit files and setup networking
- you know how to boot from a USB drive with your current computer system
Follow these steps:
1. Format a USB drive to FAT32. Insure that the maximum size of the stick is 32GB (or the first bootable partition on a larger USB drive is 32GB or smaller).
2. Download the GNU Radio ISO image from:
GNU Radio live DVD
3. On Windows, download the unetbootin utility from:
UNetbootin
(If you are running Linux, you should be able to do something like 'sudo apt-get install unetbootin').
4. Use unetbootin to create the bootable USB stick:
* Click on 'Diskimage', insure that the dropdown menu is set to 'ISO', and select the GNU Radio ISO file downloaded previously.
* Set a value for 'Space used to preserve files across reboots' (I use 2000 to enable 2GB of persistent storage).
* Insure 'Type' is set to 'USB Drive', and 'Drive' points to your USB drive.
* Click 'OK'
5. When finished, eject and then re-insert the USB drive (do not boot from it yet).
6. Two boot files need to be edited to add 'persistence' (this enables saving any changes to the GNU Radio environment across boots). The GNU Radio live system boots with syslinux.cfg when doing a 'legacy boot', and with grub.cfg when booted via the newer EFI system approach.
Edit file /boot/grub/grub.cfg on the USB drive (if running Windows, don't use Notepad, use Notepad++ [excellent and free] or another editor that preserves the original unix file format). I remove other entries from the boot menu as well, so my grub.cfg file ends up looking like this:
Code:
if loadfont /boot/grub/font.pf2 ; then
set gfxmode=auto
insmod efi_gop
insmod efi_uga
insmod gfxterm
terminal_output gfxterm
fi
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
menuentry "Boot Ubuntu (persistent)" {
set gfxpayload=keep
linux /casper/vmlinuz.efi file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash -- persistent
initrd /casper/initrd.lz
}
Now edit file /syslinux.cfg on the USB drive. Mine looks like this:
Code:
default menu.c32
prompt 0
menu title GNU Radio Live SDR Environment
timeout 100
label unetbootindefault
menu label Default
kernel /ubnkern
append initrd=/ubninit file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash -- persistent
label ubnentry1
menu label ^Boot Ubuntu (persistent)
kernel /casper/vmlinuz.efi
append initrd=/casper/initrd.lz file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash -- persistent
7. Now boot the USB drive. Setup networking, and set the correct timezone, date, and time (click on the 'gear' icon on the top, right side of the screen to access 'System Settings').
8. On occasion, you may wish to use Ubuntu's 'apt-get' utility to update and/or install new apps. This is completely optional, but if you wish to do so, open a shell terminal and enter the following commands to eliminate potential errors when using apt-get:
* sudo apt-get remove cryptsetup
* sudo dpkg --configure -a
Now execute:
* sudo apt-get update
You can now use apt-get to install and/or upgrade standard packages if you wish.
9. Next, from a shell terminal, change to directory '/usr/local/src/pybombs_legacy' and do the following:
* Edit file 'config.dat' to change line:
gotoptions = --reference=/root/live/gitcache
to
gotoptions =
* Now you can execute 'sudo ./pybombs install gr-op25' to intsall op25.
* Assuming the prior command executed without error, execute 'sudo ldconfig'
**** General Notes ****
- If you choose to use Ubuntu's 'apt-get' utility, insure that you never update the OS kernel (for example, by executing 'sudo apt-get dist-upgrade')... the USB drive will no longer boot if you do!
- After installing, the working directory for op25 (where scope.py resides) is:
/usr/local/src/pybombs_legacy/src/gr-op25/op25/gr-op25_repeater/apps
- For assistance with setting up op25, watch this video:
OP25 Video
and read these:
Welcome to OP25
Signal Scope
- For additionnal detail on the GNU Radio live environment, read this:
GNU Radio Live SDR Image persistence/versions/etc.
Regards,
JS