Overview | makebootp | netboot | unpack | display | evo_eeprom |
I wanted a simple tool to build the bootp.bin files I needed during development of the kernels for the various bits of Wyse and HP hardware in my possession. Whilst it would be possible to wrap a script around the individual programs in bundle-tools to achieve my aims there were differences between the Wyse and Compaq setups e.g. the .ce and .bin files had different names. I was after something that built easily from my basic file set and where there was minimal chance of using the wrong files. Out of this requirement makebootp was born. It's also been an educational exercise in putting everything together.
NOTE: This will only work with firmware bundles which hold a list of individual files. It will not work with a bundle which holds a file system image (filesys0 etc).
makebootp [-f firmwarefile] [-b poweron.bmp] [-r ramdisk] [-c cmdline | -C "command line"] [-k kernel] [-L | -l file] [-o outfile] [-v]
where:
-f file specifies the standard NETXFER image file to use. You need to specify this if you are building something that you want programmed into the thin client's flash memory. If it is omitted the file will be built to just execute in RAM once it has been downloaded. -b file This is only relevant if the -f option is being used. This allows you to include a custom bit-map splash screen for your thin client. If it is omitted then the splash screen (poweron.bmp) from the standard firmware package will be used. -k file specifies the file holding the linux kernel to use. The default is bzImage -r file specifies the initrd file. If it isn't specified then no ram disk is included in the build. -l file The program has two inbuilt "loader" programs - one to deal with the case where the main payload is loaded from flash, the other where it has been loaded by NetXfer. The program picks the right one depending on whether the -f option has been specified. If you need to use a different loader then you can include it by using this option. -L file This option allows you to specify a build based on a single file. i.e. The specified "loader" has no payload associated with it. The program does not include any kernel or ram disk, but a bitmap file can still be specified. (Essentially this option is used when packaging a netboot file for flashing into the thin client's memory. -c file gives the name of a text file containing a list of command line options. -C "..." As an alternative to the above the boot options can be specified directly. -o file specifies the name of an output file. (default bootp.bin) -v for verbose mode. Use twice to get a running commentary. Use it three times to get a list of all the files in the bundle.
makebootp basically packages up a loader, a kernel and a ramdisk.
If the -f option has been used it performs the following actions:
If the -f option is not used, makebootp just wraps up the loader, kernel and ramdisk in right format for a NetXfer download.
In building a version of Linux for a Wyse WT3125SE I have the following files sitting around in my working directory:
To build a test version that will be downloaded and execute in RAM without being flashed into the thin client:
makebootp -r newcore.gz -c cmdline -o ~/ftp/
..to get a bootp.bin file sitting in my ftp directory ready to be downloaded by NetXfer or the netboot code that's previously been flashed into the WT3125SE.
When you're happy everything is working as it should and you want to flash the result into the WT3125SE:
makebootp -f F576_Wye74.bin -r newcore.gz -c cmdline -o ~/ftp/
..creates the bootp.bin file ready for the standard NetXfer to download and run. At that point the Wyse firmware will write it into the onboard flash.