Здравствуйте, коллеги!
С Наступающим Новым Годом!
Пытаюсь доделать скрипт, создающий загрузочные флешки, с последующим наполнением нужным софтом.
Идея следующая: флешка (допустим /dev/sdc) бьется на 2 раздела.
/dev/sdc1 = весь объем - 1,5Гб (ext4 или, впоследствии, NTFS),
/dev/sdc2 = 1,5Гб (fat32 EFI)
Интерес, в данный момент представляет /dev/sdc2.
Что же на этом разделе?
На /dev/sdc2 устанавливается grub.
https://pendrivelinux.com/boot-multiple-iso-from-usb-via-grub2-using-linux/
Так же, туда кладется squashfs образ + vmlinuz + initrd (собственного производства). grub.cfg настраивается на загрузку и, вроде, все пучком! Но не все…
Некоторые флешки, например моя Transcend ведет себя полностью предсказуемо и все прекрасно работает, но есть и другие «маргинальные» флеш накопители, на которых результат не прогнозируем!
Например, моя прекрасно «бутится» и работает, а вот «маргинальные» могут совсем не загружаться. Даже заставки grub не видно.
Потратил весь вчерашний день и вот что удалось выяснить: если флешку разбить, как указано выше, залить grub, то она пытается грузится. Вернее стартует grub и все. Т.к. больше ни чего на ней нет.
Дальше заливаю на /dev/sdc2 squashfs образ, размером 800мб и… И дальше все не прогназируемо.
Может все будет загружаться. Может не будет. Иногда, странная фигня начинает твориться с файлами. У некоторых искажаются названия, размеры и, вообще, твориться черти что. И все это происходит всего лишь после заливки файла в 800мб!
Т.е. ни чего больше не трогается. Только на /dev/sdc2 посредством cp копируется файл, но этого часто оказывается достаточно, что бы grub отказывался загружаться, на «маргинальных» флешках.
Пробовал сначала залить большие файлы, потом ставить grub.
Вотще!
Результат не прогнозируемый! Может она будет загружаться. Может нет. А может «побиться» squashfs.
При этом, если на маргинальные флешки поредством dd залить iso образ, то с вероятностью в 99% она будет загрузочной и рабочей.
Разумеется, можно пытаться бить флешку на 3 раздела: /dev/sdc1 по прежнему, /dev/sdc2 1G ext4, /dev/sdc3 - fat32 EFI. Но этого делать не хочется!
Почему такая фигня может происходить?
UPD После каждой операции вызываю sync. Т.е. не должно быть пропажи недописанных данных.
Нужно попробовать изменить на монтирование с sync…