Apart from having to gunzip them first, you can use either of those. Differences being the permutations of ext4 vs squashfs and BIOS vs UEFI (which 'should' also boot on BIOS/ legacy CSM systems). If in doubt, openwrt-x86-64-generic-squashfs-combined-efi.img.gz would be my advice (unless you have reasons for one of the other).
I like to use the "openwrt-x86-64-generic-squashfs-combined*.gz" for headless x86 machines like ThinClient and VirtualMachine, because:
upgrading them is just as easy as upgrading an AP/Router with OpenWRT through CLI-command sysupgrade or the GUI approach via LuCI
They can be powered off anytime without fearing corrupting the filesystem
The default size of the rootfs is sufficient for a typical setup. If I want to utilize the capacity of the storage medium I build the images with ImageBuilder.
Here is an example for a ThinClient, which included upgrading it and reinstall the most recent restic package version from head:
#!/bin/bash
#Documentation: https://openwrt.org/docs/guide-user/additional-software/imagebuilder
HOST="mydevice.lan"
OUTPUT="$(pwd)/images"
BUILDER="https://downloads.openwrt.org/releases/22.03.2/targets/x86/64/openwrt-imagebuilder-22.03.2-x86-64.Linux-x86_64.tar.xz"
KERNEL_PARTSIZE=$((2*1024)) #Kernel-Partitionsize in MB
ROOTFS_PARTSIZE=$((5*1024)) #Rootfs-Partitionsize in MB
# download image builder
if [ ! -f "${BUILDER##*/}" ]; then
wget "$BUILDER" || exit 1
tar xJvf "${BUILDER##*/}" || exit 1
fi
mkdir "$OUTPUT"
cd openwrt-*/ || exit 1
# list all targets for this image builder, consider 'make help' as well
#make info; exit 0
# clean previous images
make clean || exit 1
#adjust partition sizes
sed -i "s/CONFIG_TARGET_KERNEL_PARTSIZE=.*/CONFIG_TARGET_KERNEL_PARTSIZE=$KERNEL_PARTSIZE/g" .config || exit 1
sed -i "s/CONFIG_TARGET_ROOTFS_PARTSIZE=.*/CONFIG_TARGET_ROOTFS_PARTSIZE=$ROOTFS_PARTSIZE/g" .config || exit 1
# Packages are added if no prefix is given, '-packagename' does not integrate/removes a package
# not needed: qemu-img qemu-x86_64-softmmu kmod-kvm-x86 qemu-bridge-helper kmod-tun
make image PROFILE="generic" \
PACKAGES="luci-base luci-ssl luci-mod-admin-full luci-theme-bootstrap \
collectd-mod-ping luci-app-statistics collectd-mod-uptime collectd-mod-disk collectd-mod-df collectd-mod-sensors collectd-mod-cpufreq \
fdisk block-mount lsblk htop \
kmod-usb-storage e2fsprogs fdisk resize2fs \
debootstrap debian-archive-keyring gpgv2 \
openssh-sftp-server sshfs bash screen haproxy \
restic-rest-server ccrypt screen tar" \
BIN_DIR="$OUTPUT" || exit 1
#rescue the previous config
ssh root@$HOST "sysupgrade -v --create-backup /tmp/$HOST.backup.tar.gz" || exit 1
scp root@$HOST:/tmp/$HOST.backup.tar.gz "$OUTPUT/" || exit 1
#rescue /root-folder
ssh root@$HOST 'tar -c -z -p -v --numeric-owner -f - /root' > "$OUTPUT/$HOST.rootfolder.tgz" || exit 1
#perform the update
scp "$OUTPUT"/openwrt-*-x86-64-generic-squashfs-combined-efi.img.gz root@$HOST:/tmp/ || exit 1
ssh root@$HOST 'sysupgrade -v -c -u /tmp/openwrt*img.gz && exit'
#wait for device to reappear on the network
echo "Please wait"
sleep 90
while true; do
echo -n .
ping -c 1 $HOST > /dev/null && break
sleep 1
done
#put root-Folder back in place
scp "$OUTPUT/$HOST.rootfolder.tgz" root@$HOST:/root/ || exit 1
ssh root@$HOST "cd /root && tar -xvpzf $HOST.rootfolder.tgz -C / --numeric-owner" || exit 1
#restore restic
ssh root@$HOST "wget https://downloads.openwrt.org/snapshots/packages/x86_64/packages/restic-rest-server_0.11.0-1_x86_64.ipk -O /tmp/restic-rest-server_0.11.0-1_x86_64.ipk" || exit 1
ssh root@$HOST "opkg install /tmp/restic-rest-server_0.11.0-1_x86_64.ipk" || exit 1
ssh root@$HOST "wget https://downloads.openwrt.org/snapshots/packages/x86_64/packages/restic_0.14.0-1_x86_64.ipk -O /tmp/restic_0.14.0-1_x86_64.ipk" || exit 1
ssh root@$HOST "opkg install /tmp/restic_0.14.0-1_x86_64.ipk" || exit 1
ssh root@$HOST "/etc/init.d/restic-rest-server restart" || exit 1
exit 0
What full command have you used?
Correct version of command is: dd if=openwrt-22.03.2-x86-64-generic-ext4-combined.img bs=1M of=/dev/sdX
Make sure, you are writing *.img file, not *.gz
If so, they would have to make more partitions, configure GRUB for their other OSes, etc. That's all unrelated to OpenWrt, though.
I suggest running GParted on the offline drive after you successfully moved the OpenWrt image to disk for setup/sizing of the other partitions
I would advise nesting GRUB into the boot of a distro's GRUB instance, and having that distro do boot loading for all the other OSes - then you only have to alter the OpenWrt's GRUB once, and OpenWrt should [be configured to] boot on failure of rolling to the other GRUB for OSes
If it's not clear, I wouldn't advise using sysupgrade after you've completed the setup you desire
Doesn't matter, both are ext4; and the disk processes proceeding are unrelated to OpenWrt (i.e. no matter which, the OP must properly address the other partitions in the subsequent GRUB).