Анекдот о том, как я GRUB2.0 в BURG превращал или Самогон можно гнать даже из табурета

в 22:59, , рубрики: grub2, linux, костыль, самопал, метки: , ,

Это действительно анекдот. Выкладываю ради смеха. :)
… Искренне прошу, смейтесь надо мной, если это вам поможет… (Царство ему небесное, Горшку, хотя еще черт знает, какое б он выбрал)

Введение какое-то, что ли

Какое-то время назад я долго заглядывался на BURG. В меню загрузки у меня стоял православный «консольный» GRUB 1.99 с рсх-ным (если не вру) самолетиком на фоне. Но как только я увидел гладкое, многопиксельное графическое меню BURG, я сразу его захотел. На том все и кончилось: для того конкретного дистрибутива Linux, которым я тогда пользовался, сборки не было, а попытка собрать из исходников несколько раз упала из-за все новых и новых неразрешенных зависимостей. Мне стало грустно и лень.

Но вот совсем скоро вышел GRUB 2.0. Радости были полные штаны, ведь там тоже уже было красивое меню «скартинками», без всяких насадок в виде BURG. Как горный козел, я поскакал ставить обновку и «вышивать в ней перед зеркалом», предав идеи брутальных консольных мачо, смотрящих фильмы из нее, из родимой (да-с, было дело-с...). Но тут внезапно меня ждало огорчение. Почему-то я с самого начала прикипел душой к горизонтальным меню! Вот как на тех картинках из интернетов, где в рядок стояли какие-то убунты, макось и виндось. А новый блестящий граб предлагал только вертикальные, хоть и всех цветов и оттенков.

На носу была какая-то там по счету сессия, времени особо не было. Тогда я стал пытаться городить костыли. Делал и так и этак, пытаясь обойтись только извращенством с настройками. Но не тут-то было, и в какой-то момент все-таки я скачал исходники grub2.0. Откровенного желания вот так с места бросаться вникать в и модить только что выпущенный граб, исходники которого для меня на тот момент представляли лес средней дремучести, у меня не было.

Собственно процесс

Что может сделать гигант студенческой мысли в условиях ограниченного времени и неприкрытой лени? Я модифицировал один символ в исходниках grub2.0, что привело к желаемому результату.

1. Изначально гигант студенческой мысли соорудил несколько картинок вот такого вида:

Скрытый текст

image
image
image
image

2. Пытаясь расположить их в вертикальном меню, без сопровождения текстом. Но меню имело ограничение: минимум три иконки показываются одновременно, остальные можно «прокрутить».

3. Тогда он пошел в /home/Downloads/grub-2.00/grub-core/gfxmenu и открыл там файл gui_list.c. В оном файле была функция list_get_minimal_size, в каковой на девятой строке содержалась переменная int num_items = 3;

Ну, и...

В которой цифра 3 была заменена на 1.

4. Profit!

image

PS Будет время — хочу все-таки полазить поподробнее… :)

Автор: janekprostojanek

Источник

Поделиться

* - обязательные к заполнению поля