casync icon indicating copy to clipboard operation
casync copied to clipboard

CASync Image Sync in initramfs

Open michaelbaecker opened this issue 7 years ago • 2 comments

Hello, this is a more complicated Issue. Let me explain, what we want to do:

  • We have a number of clients, that should work as a kiosk system
  • There is a kernel, initrd and squashfs
  • The kernel and initrd are downloaded on every boot via (i)PXE
  • The squashfs should be "ca'sync'd" to the client by the initrd
  • The caidx or caibx are on a webserver and can be downloaded

Now we want to include the binary casync to the initrd, but this doesn't seem to work. We copied the binary casync, the needed libraries (as stated from ldd casync) to the initrd. Also we copied the directory /usr/lib/casync/protocols

When executing casync we get an error:

casync -v  extract http://webserver/ubuntu/index.caidx /tmp/
Failed to run synchronizer: No such file or directory

"wget"ing the file works.

Can you help us? Thanks in advance.

Michael

michaelbaecker avatar Feb 20 '18 12:02 michaelbaecker

I think that you should create a '/var/tmp' directory, preferably on a disk. The error could be more clear, though

aetchevarne avatar Feb 20 '18 21:02 aetchevarne

I'm doing this from a dracut initrd, and it's working fine:

casync extract http://192.168.76.2:8765/boot_fs/dev/boot_fs.caibx /dev/disk/by-partlabel/boot

Like aetchevarne said, the error might be saying that the directory you are trying to extract to, /tmp/, might not exist.

On most systems, /tmp/ is only mounted by the real init, and not in the initrd. If you want to extract to /tmp/, you will need to mount a tmpfs to there your self in the initrd, but I would guess that is not what you really want to do as that will use up your ram. I'm guessing you want to write it to a disk instead.

garyvdm avatar Feb 27 '20 07:02 garyvdm