Программа для перевода (sys/iso)linux.cfg в lst-файлы
Программа для перевода (sys/iso)linux.cfg в lst-файлы
В одной теме меня спросили, как я "перевожу" конфигурационные файлы syslinux'а в lst-файлы. Я описал алгоритм и подумал, что он достаточно прост, чтобы его можно было автоматизировать. AutoIt3 - язык достаточно простой, поэтому уже через час программа была готова. Её можно скачать в уже скомпилированном виде, вот здесь: http://narod.ru/disk/7398902000/menulst.exe.html. Некоторые антивирусы ругаются на AutoIt-програмы (он запаковывает их UPX'ом, которого антивирусы почему-то боятся), поэтому, чтобы Вы не волновались, можете скомпилировать самостоятельно, скачав компилятор здесь. Вот исходный код программы:
Code
; программа для перевода (sys/iso)linux.cfg в .lst файлы от grub4dos ; написана 5 апреля 2009 года ; допускаются любые виды распространения и использования #NoTrayIcon $file = FileOpenDialog("Выберите конфигурационный файл sys/isolinux", @WorkingDir, "Syslinux(syslinux.cfg)|Isolinux(isolinux.cfg)|Все файлы(*.*)") If @error Then Exit $hndl = FileOpen($file, 0) If $hndl = -1 Then MsgBox(16, "Ошибка", "Не удалось открыть файл!") Exit EndIf $l = 1 Dim $data[1024] Dim $ndata[1024] $kernel = InputBox("Введите путь к ядру","Введите полный путь к файлу kernel относительно корня флешки, например, /slax/boot/kernel") If @error Then Exit $initrd = InputBox("Введите путь к initrd","Введите полный путь к файлу initrd отностельно корня флешки, например, /slax/boot/initrd.gz") If @error Then Exit
; сообщить о чтании данных SplashTextOn("","Чтение даных из файла...","300","20","-1","-1",1,"","","")
While 1 $data[$l] = FileReadLine($hndl,$l) If @error = -1 Then ExitLoop $l = $l + 1 WEnd
; сообщить об обработке данных SplashTextOn("","Обработка данных...","200","20","-1","-1",3,"","","")
For $i = 1 To $l Select Case StringInStr($data[$i],"#") > 0 $ndata[$i] = $data[$i] Case StringInStr($data[$i],"label") > 0 $ndata[$i] = Label($data[$i],$i) Case StringInStr($data[$i],"kernel") > 0 $ndata[$i] = Kernel($data[$i],$i) Case StringInStr($data[$i],"append") > 0 $ndata[$i] = Append($data[$i],$i) Case Else $ndata[$i] = "#"&$data[$i] EndSelect Next
Честно сказать я не вижу смысла в этой программе. Понять как переводить с (sys/iso)linux.cfg в lst-файлы очень просто. И если б люди не ленились, то за полчаса можно разобраться. Лучше скажите мне как можно узнать всевозможные параметры того. или иного ядра? Ну т.е. часто вижу как в lst в параметрах загрузки ядра, люди добавляют что-то от себя. Вот как можно узнать какие вообще параметры можно добавлять? А ещё лучше и описание этих параметров, что какие дают и зачем их использовать.