Pull to refresh

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

Reading time2 min
Views8.9K
Это маленькая ерунда, которая в студенческое время помогла мне избежать сборки и подтягивания зависимостей BURG для хомячковой бубунты, получив горизонтальное графическое меню выбора системы.
Никаких крутых тем тогда не было и меню выбора даже в графическом варианте было только вертикальное.

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

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

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

На носу была какая-то там по счету сессия, времени особо не было. Тогда я стал пытаться городить костыли. Делал и так и этак, пытаясь обойтись только извращенством с настройками. Но не тут-то было, и в какой-то момент все-таки я скачал исходники 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 Будет время — хочу все-таки полазить поподробнее… :)
Tags:
Hubs:
+3
Comments7

Articles

Change theme settings