Created attachment 14809 [details] Наименование протокола по результатам работы e4rat-collect После запуска e4rat-collect файл потоколола загрузки операционной системы, по умолчанию ожидающийся по пути /var/lib/e4rat/startup.log, не создается. Сам запуск e4rat-collect осуществляется, программа успешно работает после запуска операционной системы 2 минуты, как полагается по умолчанию. Протокол, в общем-то, тоже создается. Но!!! Создается он в корне, т.е. по пути "/", название протокола состоит из нечитаемых символов, т.е. не букв, а каки-то служебных символов таблицы кодировки. В результате, если файл переименовать, во что-либо читаемое - его можно использовать для инструмента e4rat-realloc из пакета e4rat, но нельзя использовать для следующего за e4rat-realloc инструментом e4rat-preload, т.к. при попытке его использования он не может прочесть файл протокола, т.к. ищется протокол непонятно где и непонятно, под каким именем. А именно под каким-то произвольным от запуска к запуску. Т.е. такое ощущение, что e4rat-collect и e4rat-preload имеют какую-то одну общую ошибку при чтении данных о наименовании файла-протокола загрузки операционной системы. Наименование этого файла и его расположение могут как быть заданными в конфигурационном файле /etc/e4rat.conf, так и использоваться значения по умолчанимю, если в этом конфигурационном файле ничего особого не задано. Указание любого наименования и пути на проявление ошибки не влияет - файл используется с рандобным именем как для e4rat-collect, так и для e4rat-preload. Используется e4rat версии 0.2.3-alt8:p10+294638.200.2.1@1644917838 из репозитория p10 альта. Запуск e4rat-collect осуществляется путем добавления "init=/usr/sbin/e4rat-collect" к параметрам ядра в строке GRUB. Запуск e4rat-preload - аналогично. На приложенном скриншоте показано наименование файла, который автоматически создался силами e4rat-collect. При попытке запуска e4rat-preload при загрузке на экране видны сообщения от e4rat-preload о том, что preload запускается, но не может найти какого-то подобного файла с похожим, но не таким же, а каждый раз разным, названием.
Created attachment 14838 [details] Архив с исправлением ошибки и описанием подробностей и особенностей
В общем, посмотрев реакцию на баг, а именно то, что на него особо никто не реагирует, решил разобраться самостоятельно. Скомпилировал коды под boost 1.7.6 из p10, нашел ошибку, весьма, кстати, странную, которая либо была привнесена в последних версиях e4rat, когда его еще кто-то писал, либо появилась в связи с изменениями в механизме управения памяти Linux с момента написания e4rat. Ошибка касется двух модулей: e4rat-collect и e4rat-preload и связана с чтением настройки startup_log_file. Собственно, ошибка в этих компонентах исправлена. Коды прилагаются. Размером несколько больше оригинала, т.к. специально не вычищал из них *.make и тому подобное из-за особенностей конфигурации в альте p10, которые выявились у меня. Кому не нужно - можно переконфигурировать заново. Коды и описание сделанного выложил в архив