Anybody know why I am getting the message touse the "fullblock" flag?
- dd: (coreutils) 8.32
COMMAND: dd if=UbuntuXubuntu__26.04_LTS__2025-12-25__resolute-desktop-amd64.iso bs=4M iflag=direct,fullblock | pv -s 5092M | dd of=/dev/sdc bs=4M conv=fdatasync oflag=direct,dsync ...
dd: warning: partial read (65536 bytes); suggest iflag=fullblock
4.39GiB 0:13:45 [6.05MiB/s] [==================================================================================> ] 88% ETA 0:01:48
(EDIT 2: Just an update. I tried xubuntu. Not enough fine control on the Panel App for my taste. That in itself is a definite no-go! Beyond that, I prefer the interractivity of the Brisk Menu. xubuntu's interractivity is just to non-intuitive for me. Lastly, Caja has a definite superior feel to it, altough Thunar seems to have more options for date display in the listings. So ... xubuntu is not the soft-landing alternative I thought it could be, given that it is GTK3-based.)
My script [USER__ISO__BurnImageOnStick.sh] :
(EDIT 1: updated with fix; added "iflag=fullblock" to definition of "optionsO")
#!/bin/sh
rootDisk=$(df / | grep '^/dev' | awk '{ print $1 }' | cut -f3 -d/ | cut -c1-3)
USB_eject=0
usepv=0
while [ $# -gt 0 ]
do
case "${1}" in
--file )
#ISO_file="/DB001_F3/Distros__Local/UbuntuMATE__26.04_LTS__2025-11-19__resolute-desktop-amd64.iso"
ISO_file="${2}"
shift ; shift
;;
--dev )
#USB_device="/dev/sdc"
USB_device="${2}"
shift ; shift
;;
"--usepv" )
usepv=1
shift
;;
"--eject" )
USB_eject=1
shift
;;
* )
echo "\n\t Invalid option specified. Only valid options: [ --file {fullpath_filename} ] [ --dev {device_file} ] \n" ; exit 1
;;
esac
done
if [ -z "${USB_device}" ]
then
echo "\n\t Need to specify the target device file for the USB stick, using '--dev {device_file}'\n" ; exit 1
fi
if [ ! -b "${USB_device}" ]
then
echo "\n\t The specified target device file for the USB stick is not recognized by the OS.\n" ; exit 1
fi
choices=$(ls -l /dev/disk/by-id/usb* | awk '{ print $NF }' | cut -f3 -d/ | grep -v "${rootDisk}" )
usbStick=$(lsblk -l -p -o NAME,SIZE ${USB_device} |
awk '{
if( $2 ~ /G/ ){
gsub(/G/, "", $2 ) ;
# print $2 ;
if( $2/64.0 <= 1.0 ){
print $1 ;
} ;
} ;
}' )
if [ -z "${usbStick}" ]
then
echo "\n\t Unable to use '${USB_device}' since it is not identified as a USB stick. Abandonning process.\n" ; exit 1
fi
if [ -z "${ISO_file}" ]
then
echo "\n\t Need to specify the full pathname to the file containing the ISO image that is to be used, using '--file {fullpath_filename}'\n" ; exit 1
fi
if [ ! -s "${ISO_file}" ]
then
echo "\n\t The specified file is empty and contains no ISO image.\n" ; exit 1
fi
testor=$(file "${ISO_file}" | grep 'ISO 9660 CD-ROM filesystem data' )
if [ -z "${testor}" ]
then
echo "\n\t The specified file is not recognized as an ISO 9660 CD-ROM filesystem and is not usable.\n" ; exit 1
fi
# Testing to ensure the specified device is not accidentally selecting
# one of the local hard disk partitions per mountpoints using
# a custom local partition naming convention.
# Those who want to customize, could come up with checking against
# a stored list, if you don't use a naming pattern convention.
testor=$(df | grep "${USB_device}" | grep 'DB00[0-9]_F[0-9]' )
if [ "${testor}" ]
then
echo "\n\t Wrong device file specified. Bye!\n" ; exit 1
fi
# Method using PipeView for displaying progress bar
# dd if=<path to input file> | pv -s <size e.g. 1377M> | dd of=<path to target device>
ISO_location=$(dirname ${ISO_file} )
ISO_basename=$(basename ${ISO_file} )
cd "${ISO_location}"
if [ $? -ne 0 ]
then
echo "\n\t Unable to set '${ISO_location}' as work directory where ISO file is located. Bye!\n" ; exit 1
fi
ISO_image="if=${ISO_basename}"
ISO_target="of=${USB_device}"
if [ ${usepv} -eq 1 ]
then
optionsI="bs=4M iflag=direct,fullblock"
optionsO="bs=4M iflag=fullblock conv=fdatasync oflag=direct,dsync"
ISO_size=$(du -BM ${ISO_basename} | awk '{ print $1 }' )
echo "\n COMMAND: dd ${ISO_image} ${optionsI} | pv -s ${ISO_size} | dd ${ISO_target} ${optionsO} ...\n"
dd ${ISO_image} ${optionsI} | pv -s ${ISO_size} | dd ${ISO_target} ${optionsO}
else
options="bs=4M status=progress conv=fdatasync iflag=direct oflag=direct"
echo "\n COMMAND: dd ${ISO_image} ${ISO_target} ${options} ...\n"
dd ${ISO_image} ${ISO_target} ${options}
fi
if [ ${USB_eject} -eq 1 ]
then
echo "\n Issuing 'EJECT' command to unmount bootable USB stick ..."
eject ${USB_device}
else
echo ""
lsblk -P -p -o NAME,FSTYPE,PARTLABEL,UUID,SIZE,MOUNTPOINT,SUBSYSTEMS | awk -v dev="${USB_device}" '$1 ~ dev { print $0 }'
echo ""
blkid | awk -v dev="${USB_device}" '$1 ~ dev { print $0 }'
fi