### UDPCAST Configuration File Example Source: http://udpcast.linux.lu/bootloader.html A sample UDPCAST configuration file demonstrating various parameters for automatic booting and network setup. Ensure all necessary parameters are present for unattended operation. ```ini auto=yes lang=US kbmap=US netmodule=pcnet32 netmodparm= dhcp=yes port=9000 disk=/dev/hda mode=0 udpcparam= ``` -------------------------------- ### Udpcast IP/Mac Association File Example Source: http://udpcast.linux.lu/mkimagedoc.html This file format is used with the `-d` parameter to specify IP-to-MAC address mappings for network booting without DHCP. Lines starting with '#' are comments. ```text # Udpcast IP/Mac association file 00:5B:56:4b:42:9a 10.0.0.176 00:50:56:40:42:97 10.0.0.177 00:50:56:40:42:98 10.0.0.178 ``` -------------------------------- ### Prepare USB Stick for Booting Source: http://udpcast.linux.lu/usb.html This script prepares a USB device for booting by mounting it and installing GRUB. It assumes the device is /dev/sdb and creates a mount point at /media/UsbBoot. This sequence only needs to be performed once. ```bash DEVICE=/dev/sdb DIR=/media/UsbBoot test -d ${DIR} || mkdir ${DIR} mount ${DEVICE}1 ${DIR} grub-install --no-floppy --root-directory=${DIR} ${DEVICE} ``` -------------------------------- ### Merging Files into Initrd Example Source: http://udpcast.linux.lu/mkimagedoc.html Use the `--merge` parameter to include specific files or directories into the initrd. Ensure all dynamically linked libraries for executables are also included. ```bash makeImage ... --merge /udpreceiver.post=my-udpreceiver.post ``` -------------------------------- ### Example Unidirectional Command Line Source: http://udpcast.linux.lu/cmd.html This command line demonstrates the typical usage of unidirectional options together. Ensure --async, --max-bitrate, and --fec are used in combination for correct operation. ```bash udp-sender --async --max-bitrate 10m --fec 8x8 ``` -------------------------------- ### Start sender with minimum receivers and wait times Source: http://udpcast.linux.lu/cmd.html Automatically starts the sender once a minimum number of receivers connect, with options to enforce minimum and maximum wait times after the first receiver connects. ```bash udp-sender -f zozo --min-receivers 5 --min-wait 20 --max-wait 80 ``` -------------------------------- ### Start Udpcast Sender Source: http://udpcast.linux.lu/cmdlinedoc.html Starts the sender program, which waits for receiver connections. Data transfer begins when a key is pressed on any sender or receiver. ```bash udp-sender -f _outfile_ ``` -------------------------------- ### Start Udpcast Receiver Source: http://udpcast.linux.lu/cmdlinedoc.html Starts the receiver program. It automatically discovers and connects to any sender on the local network via broadcast. ```bash udp-receiver -f _outfile_ ``` -------------------------------- ### Configure PXE Bootloader Source: http://udpcast.linux.lu/bootloader.html Place these files in the TFTP server's `/tftpboot/udpcast` directory. The `default` file configures PXE Linux, and its `append` line can include Udpcast parameters. ```bash Pxelinux.0, the first stage (you can also take it from your local syslinux installation) default, the PXE Linux configuration file. Store this into "/tftpboot/udpcast/pxelinux.cfg/default". This file may contain, in the kernel's `append` line, config parameters as described below. linux the kernel (6.1.55) initrd the ramdisk ``` -------------------------------- ### Save UDPcast Boot Disk Image Source: http://udpcast.linux.lu/bootdoc.html Use this command to create an image of the source disk. Insert the source disk before running. ```bash cat /dev/fd0 >image ``` -------------------------------- ### Compile Busybox with Udpcast Menu System Source: http://udpcast.linux.lu/compile.html Instructions to compile the busybox utility with the Udpcast menu system. This process involves downloading and configuring busybox, adding the Udpcast application, and compiling. Ensure the buildroot environment is set up if using uclibc. ```bash tar xfjv busybox-1.36.1.tar.bz2 cd busybox-1.36.1 tar xfzv ../udpcast-20250223.tar.gz (cd udpcast-20250223 && ./configure) tar xfzv ../udpbusybox-20230924.tar.gz ../addBbApp.pl udpcdialog udpcast-20250223 cp ../busybox-config-mini-1.36.1.txt .config make ``` -------------------------------- ### Copy UDPcast Configuration File (mcopy) Source: http://udpcast.linux.lu/bootdoc.html This command copies the UDPcast configuration file from the source disk (a:) to the current directory. Ensure the source disk is inserted. ```bash mcopy a:udpcfg.txt . ``` -------------------------------- ### Add Udpcast to GRUB Boot Menu Source: http://udpcast.linux.lu/usb.html This configuration adds an 'Udpcast' entry to the GRUB boot menu. It specifies the kernel and initrd files to load for Udpcast. Ensure the linux, initrd, and pxelinux.0 files are copied to the correct location on the USB stick. ```grub menuentry "Udpcast" { linux /boot/udpcast/linux -- initrd /boot/udpcast/initrd } ``` -------------------------------- ### Create UDPCAST ISO with Saved Configuration Source: http://udpcast.linux.lu/bootloader.html Command to create a UDPCAST ISO image that includes a saved configuration file. This uses the makeImage utility with specified kernel and configuration files. ```bash /usr/lib/udpcast/makeImage -k /usr/lib/udpcast/kernel/vmlinuz-6.1.55udpcast -c t.iso --savefile udpcfg.txt ``` -------------------------------- ### Copy UDPcast Configuration to Target Disk (mcopy) Source: http://udpcast.linux.lu/bootdoc.html This command copies the UDPcast configuration file to an unconfigured UDPcast boot disk (drive a:). Ensure the target disk is inserted. ```bash mcopy udpcfg.txt info a: ``` -------------------------------- ### DHCP Configuration for PXE Boot Source: http://udpcast.linux.lu/bootloader.html Add these lines to your DHCP server configuration to direct PXE clients to the Udpcast boot files. 'next-server' should be the IP address of your TFTP server. ```bash filename "udpcast/pxelinux.0"; next-server 10.0.0.1; ``` -------------------------------- ### Restore UDPcast Boot Disk Image Source: http://udpcast.linux.lu/bootdoc.html Use this command to write a previously saved image to the target disk. Insert the target disk before running. ```bash cat image >/dev/fd0 ``` -------------------------------- ### Compile Udpcast Server Source: http://udpcast.linux.lu/compile.html Steps to compile the standalone udp-sender and udp-receiver. Ensure you are in the source directory. ```bash tar xzvf udpcast-20250223.tar.gz ``` ```bash cd udpcast ``` ```bash make ``` ```bash make install ``` -------------------------------- ### Copy UDPCAST Config to USB Media Source: http://udpcast.linux.lu/bootloader.html Command to copy the UDPCAST configuration file to a USB drive using mcopy. This is useful for storing the configuration on bootable media. ```bash mcopy udpcfg.txt d:/boot/udpcast/ ``` -------------------------------- ### Write UDPcast ISO to CD-ROM Source: http://udpcast.linux.lu/bootmedia.html Use this command to write the UDPcast ISO image to a CD-ROM. Adjust the speed and device ID to match your system's configuration. ```bash cdrecord speed=4 dev=0,0,0 udpcd.iso ``` -------------------------------- ### Compile Kernel for Udpcast Source: http://udpcast.linux.lu/compile.html Steps to compile a custom Linux kernel optimized for Udpcast. This involves copying a pre-configured kernel .config file, running make commands, and then using the makeImage script to create a network module tarball. ```bash cd /usr/src/linux-6.1.55 cp /Downloads/udpc-config-6.1.55.txt .config make oldconfig make dep && make bzImage && make modules && make modules_install /usr/lib/udpcast/makeImage -t net-mod.tar.gz -k /usr/src/linux-6.1.55/arch/i386/boot/bzImage -f /dev/fd0 ``` -------------------------------- ### Rate Governor Configuration Source: http://udpcast.linux.lu/cmd.html Applies a dynamically loadable rate governor to control transmission rate based on various criteria, such as network congestion. The module name and its properties are specified. ```bash --rate-governor _module.so:key1=value1,key2=value2_ ``` -------------------------------- ### udp-sender command line options Source: http://udpcast.linux.lu/satellite.html Command-line options for the udp-sender when transmitting data asynchronously over satellite. ```APIDOC ## udp-sender command line options ### Description Configures the sender for asynchronous data transmission, suitable for high-latency, low-return-channel environments like satellite links. ### Command Example ``` udp-sender --async --fec 8x6/64 --max-bitrate 39m --mcast-rdv-addr 224.2.2.1 -mcast-data-addr 224.2.2.2 --interface eth1 -f example.bin ``` ### Options - `--async` Switches on asynchronous (acknowledgement-less) mode. - `--fec I x F / D` Configures forward error correction mode. For every D datablocks, F Fec blocks are included, using I interleave. This allows recovery of lost packets without acknowledgments. - `I`: Interleave factor, offering better protection against burst packet loss. - `F/D`: Ratio of redundant blocks to data blocks, affecting bandwidth needs. - `--max-bitrate br` Configures the maximum bitrate. This is mandatory with `--async` mode due to the absence of flow control. - `--mcast-rdv-addr
` Configures the multicast rendezvous address. Must be unique for simultaneous transfers. - `--mcast-data-addr ` Configures the multicast data address. Can be the same as the rendezvous address from version 20060320 onwards. - `--interface