
On Saturday 05 April 2014 09:47:02 Pavel Machek wrote:
Hi!
I'm trying to get custom preloader to work (on EBV Socrates)... I tried applying old patch from mail archives, but a) applying patch from mail archives is not fun and b) it did not seem to do the trick.
Just to make sure... right way to use the socfpga-signed-preloader.bin is
dd if=socfpga-signed-preloader.bin of=/dev/mmcblk0p1 bs=64k seek=0 dd if=u-boot.img of=/dev/mmcblk0p1 bs=64K seek=4
Almost right.
It must be partition 3, which must be of type A2.
dd .....of=/dev/mmcblk0p3 ...
I use the following script to set up an sd card with some useful partitions:
#!/bin/bash # Script to partition an SDCard for the SoCFPGA # /dev/sdx3 MUST be type A2. It is used for the bootloaders. # # We also make /dev/sdx1 - FAT, then the rest is ext2 #
#set -e -x
DEVICE=$1 THIS_DIR="$( cd "$( dirname "$0" )" && pwd )" BASE_DIR="${THIS_DIR}/.."
errmsg() { echo "Error: $@" 2>&1 }
errdie() { errmsg "$@" exit 1 }
log() { echo '----' echo "$@" echo '----' }
usage() { echo "Usage: $1 <sd/mmc device file>" }
if [ $# -ne 1 ]; then errmsg "incorrect usage" usage $0 exit 1 fi
DEVICE=$1
# precondition checks
if [ ! -b ${DEVICE} ]; then errdie "${DEVICE} is not an accessable block device" fi
# confirm
read -p "The ${DEVICE} device will be formatted. Continue? [y/n] " answer if [ "$answer" != "y" ]; then exit 0; fi
# umount if device partitions are mounted
for partition in `mount | grep ${DEVICE} | cut -d ' ' -f 1`; do echo "Umounting ${partition} ..." umount $partition if [ $? -ne 0 ]; then errdie "failed to umount ${partition}" fi done
# go
log 'Repartitioning...'
# # Set up 3 partitions, then set their type. # /dev/sdx3 is the bootloader partition and must be type A2 # We add a small FAT partition, as /dev/sdx1 then the rest is # an ext2 partition. # fdisk $DEVICE << EOF o n p 3 2048 +8M n p 1
+20M n p 2
t 1 4 t 2 83 t 3 a2 p w EOF
if [ $? -ne 0 ]; then errdie "repartitioning failed" fi
log 'Formatting...'
echo "Formatting FAT aprtition..."
mkfs.vfat ${DEVICE}1 if [ $? -ne 0 ]; then errdie "formatting failed" fi
echo "Formatting Linux partition ..."
mkfs.ext2 ${DEVICE}2 if [ $? -ne 0 ]; then errdie "formatting failed" fi
log 'Done'
exit 0 #end of script