Hi,

i wrote:
> > Do you see the .mo~ in the output of
> >    xorriso -lsx /tmp/grub.pNWWGC/boot/grub/locale --

Adam Purkrt wrote:
> no, they are not there.
>
> Secondly: if I do the last step in the verbose log manually, I get correct
> iso, also without *.mo~ files, so there seems to be no problem with xorriso
> itself.

(Sigh of relief)


> -b boot/grub/i386-pc/eltorito.img
> --efi-boot efi.img

So your GRUB is configured for x86 with both, legacy BIOS and UEFI.


In the initial post of this thread you wrote:
> > > Added to ISO image: directory '/'='/tmp/grub.GoPPTa'
> > > xorriso : UPDATE :     982 files added in 1 seconds
and in the most recent post:
> Added to ISO image: directory '/'='/tmp/grub.hAhUTa'
> xorriso : UPDATE :     939 files added in 1 seconds

43 files difference. Exactly the number of .mo files in the most recent
post and the number of .mo~ files in your initial post.

Just to be sure: Was there any difference in the arguments of your
grub-mkrescue run in your initial post and the grub-mkrescue run
which produced /tmp/grub.hAhUTa, except the -o paths ?


If there was no significant difference in the arguments then the
creation of the .mo~ files would have to happen while xorriso is
already running. Quite unlikely ... normally.

Back to source code studying.
I see that grub_install_copy_files() is called multiple times if more
than one of GRUB_INSTALL_PLATFORM_I386_PC,
GRUB_INSTALL_PLATFORM_I386_EFI, or GRUB_INSTALL_PLATFORM_X86_64_EFI
is configured.

So can it be that your /tmp filesystem has the habit to keep backup
copies when files are overwritten ?
(But why would that not have happened with the interrupted run ?)

I'm not sure whether cp would do what grub_install_copy_file()
does. So why not try everything together:

  echo "Initial content" >/tmp/grub.hAhUTa/overwrite_test
  echo "Overwritten content" >/tmp/grub.hAhUTa/overwrite_test
  ls -a /tmp/grub.hAhUTa/overwrite_test~
  echo "cp content" >/tmp/grub.hAhUTa/overwrite_test_cp_source
  cp /tmp/grub.hAhUTa/overwrite_test_cp_source /tmp/grub.hAhUTa/overwrite_test
  ls -a /tmp/grub.hAhUTa/overwrite_test~


Have a nice day :)

Thomas


Reply via email to