Skip to content

Commit a4b3f93

Browse files
authored
Reduced PYNQ.remote base SD card image size (#1527)
1 parent 1b0fd67 commit a4b3f93

File tree

2 files changed

+25
-14
lines changed

2 files changed

+25
-14
lines changed

sdbuild/Makefile

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -181,30 +181,34 @@ $$(PL_PROJ_$1): $$(BSP_TARGET_$1)
181181

182182
petalinux-config --silentconfig -p $$(PL_PROJ_$1)
183183

184+
# Base packages
184185
echo 'CONFIG_xrt' >> $$(PL_USER_ROOTFS_CONFIG_$1)
185-
echo 'CONFIG_xrt-dev' >> $$(PL_USER_ROOTFS_CONFIG_$1)
186-
echo 'CONFIG_zocl' >> $$(PL_USER_ROOTFS_CONFIG_$1)
187-
echo 'CONFIG_opencl-headers-dev' >> $$(PL_USER_ROOTFS_CONFIG_$1)
188-
echo 'CONFIG_opencl-clhpp-dev' >> $$(PL_USER_ROOTFS_CONFIG_$1)
189-
190186
echo 'CONFIG_xrt=y' >> $$(PL_ROOTFS_CONFIG_$1)
191-
echo 'CONFIG_xrt-dev=y' >> $$(PL_ROOTFS_CONFIG_$1)
187+
echo 'CONFIG_zocl' >> $$(PL_USER_ROOTFS_CONFIG_$1)
192188
echo 'CONFIG_zocl=y' >> $$(PL_ROOTFS_CONFIG_$1)
193-
echo 'CONFIG_opencl-headers-dev=y' >> $$(PL_ROOTFS_CONFIG_$1)
194-
echo 'CONFIG_opencl-clhpp-dev=y' >> $$(PL_ROOTFS_CONFIG_$1)
195189

196-
# TODO: make this a configurable Makefile var: echo 'CONFIG_TMP_DIR_LOCATION="'/scratch/plnxscratch'"' >> $$(PL_CONFIG_$1)
190+
# Classic PYNQ packages
191+
if [ -z $(PYNQREMOTE) ]; then \
192+
echo 'CONFIG_xrt-dev' >> $$(PL_USER_ROOTFS_CONFIG_$1) ;\
193+
echo 'CONFIG_opencl-headers-dev' >> $$(PL_USER_ROOTFS_CONFIG_$1) ;\
194+
echo 'CONFIG_opencl-clhpp-dev' >> $$(PL_USER_ROOTFS_CONFIG_$1) ;\
195+
echo 'CONFIG_xrt-dev=y' >> $$(PL_ROOTFS_CONFIG_$1) ;\
196+
echo 'CONFIG_opencl-headers-dev=y' >> $$(PL_ROOTFS_CONFIG_$1) ;\
197+
echo 'CONFIG_opencl-clhpp-dev=y' >> $$(PL_ROOTFS_CONFIG_$1) ;\
198+
fi
197199

200+
# PYNQ.remote packages
198201
if [ $(PYNQREMOTE) = 1 ]; then \
199202
echo 'CONFIG_grpc' >> $$(PL_USER_ROOTFS_CONFIG_$1) ;\
200203
echo 'CONFIG_pynq-cpp' >> $$(PL_USER_ROOTFS_CONFIG_$1) ;\
201204
echo 'CONFIG_grpc=y' >> $$(PL_ROOTFS_CONFIG_$1) ;\
202205
echo 'CONFIG_pynq-cpp=y' >> $$(PL_ROOTFS_CONFIG_$1) ;\
203-
fi
204-
205-
if [ $(PYNQREMOTE) = 1 ]; then \
206+
echo 'CONFIG_nfs-utils=n' >> $$(PL_ROOTFS_CONFIG_$1) ;\
207+
echo 'CONFIG_tcf-agent=n' >> $$(PL_ROOTFS_CONFIG_$1) ;\
208+
echo 'CONFIG_imagefeature-ssh-server-openssh=n' >> $$(PL_ROOTFS_CONFIG_$1) ;\
209+
echo 'CONFIG_imagefeature-ssh-server-dropbear=y' >> $$(PL_ROOTFS_CONFIG_$1) ;\
206210
petalinux-config -c rootfs --silentconfig -p $$(PL_PROJ_$1) ;\
207-
fi
211+
fi
208212

209213
$$(BOOT_ROOT_$1)/BOOT.BIN : $$(BOOT_DEPENDS_$1) $$(BOOT_BITSTREAM_$1) | $$(BOOT_ROOT_$1)
210214
cd $$(BOOT_ROOT_$1) && petalinux-package --boot --fpga $$(BITSTREAM_ABS_$1) --u-boot -p $$(PL_PROJ_$1) --force
@@ -318,7 +322,9 @@ $$(REMOTE_IMAGE_$1) : $$(PL_PROJ_$1) $$(REMOTE_ROOT_$1) $$(BOOT_FILES_$1)
318322
rm -rf $$(STAGING_$1)
319323
mkdir $$(STAGING_$1)
320324
cp $$(BOOT_FILES_$1) $$(STAGING_$1)
321-
(cd $$(PL_PROJ_$1) && petalinux-package wic --images-dir "$$(STAGING_$1)" --bootfiles "$$(notdir $$(BOOT_FILES_$1))" -c $$(REMOTE_ROOT_$1) --outdir $$(IMAGE_ROOT) --extra-bootfiles "$$(EXTRA_BOOT_$1)/*:.") && mv $$(IMAGE_ROOT)/petalinux-sdimage.wic $$@
325+
cp $$(CURDIR)/boot/remote-image.wks $$(PL_PROJ_$1)/build/rootfs.wks
326+
-cd $$(PL_PROJ_$1) && petalinux-package wic --images-dir "$$(STAGING_$1)" --bootfiles "$$(notdir $$(BOOT_FILES_$1))" -c $$(REMOTE_ROOT_$1) --outdir $$(IMAGE_ROOT) --wks $$(CURDIR)/boot/remote-image.wks --extra-bootfiles "$$(EXTRA_BOOT_$1)/*:."
327+
mv $$(PL_PROJ_$1)/build/wic/wic-tmp/remote-image-*.direct $$@
322328

323329
pynqremote_$1: $$(REMOTE_IMAGE_$1)
324330
echo "Done building remote image for board $1"

sdbuild/boot/remote-image.wks

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Description: Creates a partitioned SD card image optimized for PYNQ.Remote
2+
# Boot files are located in the first vfat partition. Rootfs will be in second ext4 partition.
3+
4+
part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label PYNQ --active --align 4 --size 100 --overhead-factor=1
5+
part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label root --align 1024 --fixed-size 512

0 commit comments

Comments
 (0)