#! /bin/sh # # Script for pc386 BSP to convert ELF files to GRUB bootable images # if [ "X${RTEMS_MAKEFILE_PATH}" = "X" ] ; then echo RTEMS_MAKEFILE_PATH is not set exit 1 fi BSPINC=${RTEMS_MAKEFILE_PATH}/Makefile.inc if [ ! -r ${BSPINC} ] ; then echo "${BSPINC} does not exist." echo "Is your BSP installed?" exit 1 fi OBJCOPY=`grep ^OBJCOPY_FOR_TARGET ${BSPINC} | cut -d'=' -f2` set -x if [ $# -ne 2 ] ; then echo "Usage: $0 elf_file boot_file" exit 1 fi if [ ! -r ${BSPINC} ] ; then echo "${BSPINC} does not exist." echo "Is your BSP installed?" exit 1 fi echo ${OBJCOPY} elf=${1} bt=${2} tmpbin=${elf}.bin tmpbin=${elf}.bin exit 0 # Constants for relocating HEADERADDR=0x00097E00 START16FILE=$(RTEMS_MAKEFILE_PATH)/lib/start16.bin START16ADDR=0x00097C00 RELOCADDR=0x00100000 # Tool helpers ${OBJCOPY} -O elf32-i386 \ --remove-section=.rodata \ --remove-section=.comment \ --remove-section=.note \ --strip-unneeded ${MAIN}.obj $@ ${OBJCOPY} -O binary ${MAIN}.obj ${MAIN}.bin ${RTEMS_MAKEFILE_PATH}/build-tools/bin2boot -v \ ${MAIN}.bt ${HEADERADDR} \ ${START16FILE} ${START16ADDR} 0 ${MAIN}.bin ${RELOCADDR} 0 exit 0