Translate

четверг, 21 марта 2013 г.

Slackware: переход на generic-ядро

"О плюсах и минусах generic-ядер" вы можете почитать много где в интернете, здесь же я покажу тебе, о мой дорогой читатель, как перейти на использование generic-ядра вместо ядра huge, которое идёт в ОС Slackware по умолчанию.

Вообще, при полной установке Slackware, пользователь получает оба типа ядра -- как huge, так и generic, но по умолчанию загружается huge, т.к. для generic требуется некоторая настройка. Итак...

Нам нужен скрипт /usr/share/mkinitrd/mkinitrd_command_generator.sh, который предоставляется пакетом mkinitrd, на момент написания данной статьи в Slackware 14.0 этот пакет имеет версию mkinitrd-1.4.7-x86_64-6.

Вообще говоря, перед запуском скрипта должны быть установлены модули ядра, которое мы хотим обработать. Например, это 3.4.37 [LTS] (на данный момент оно самое свежее из поддерживаемых, за исключением 3.8.4).

Делаем:
 
# /usr/share/mkinitrd/mkinitrd_command_generator.sh -k 3.4.37

В результате мы получаем вывод наподобие этого:

root@Innovindil:/usr/src/linux# /usr/share/mkinitrd/mkinitrd_command_generator.sh -k 3.4.37
#
# mkinitrd_command_generator.sh revision 1.45
#
# This script will now make a recommendation about the command to use
# in case you require an initrd image to boot a kernel that does not
# have support for your storage or root filesystem built in
# (such as the Slackware 'generic' kernels').
# A suitable 'mkinitrd' command will be:

mkinitrd -c -k 3.4.37 -f ext4 -r /dev/sdb5 -m usbhid:ehci-hcd:mbcache:jbd2:ext4 -u -o /boot/initrd.gz
root@Innovindil:/usr/src/linux#



Думаю, понятно, что нужно сделать:

root@Innovindil:/boot# mkinitrd -c -k 3.4.37 -f ext4 -r /dev/sdb5 -m usbhid:ehci-hcd:mbcache:jbd2:ext4 -u -o /boot/initrd.gz
OK: /lib/modules/3.4.37/kernel/drivers/hid/hid.ko added.
OK: /lib/modules/3.4.37/kernel/drivers/hid/usbhid/usbhid.ko added.
OK: /lib/modules/3.4.37/kernel/drivers/usb/host/ehci-hcd.ko added.
OK: /lib/modules/3.4.37/kernel/fs/mbcache.ko added.
OK: /lib/modules/3.4.37/kernel/fs/jbd2/jbd2.ko added.
OK: /lib/modules/3.4.37/kernel/fs/mbcache.ko added.
OK: /lib/modules/3.4.37/kernel/fs/jbd2/jbd2.ko added.
OK: /lib/modules/3.4.37/kernel/fs/ext4/ext4.ko added.
25271 блоков
/boot/initrd.gz created.
Be sure to run lilo again if you use it.
root@Innovindil:/boot#


initrd.gz создан. Хорошо. Теперь, если у нас уже есть файл /boot/vmlinuz-generic-3.4.37, (создать можно с помощью соответствующего слакбилда или простым копированием)или аналогичный ему по функционалу, то делаем:

root@Innovindil:/boot# /usr/share/mkinitrd/mkinitrd_command_generator.sh -l /boot/vmlinuz-generic-3.4.37
# Linux bootable partition config begins
# initrd created with 'mkinitrd -c -k 3.4.37 -f ext4 -r /dev/sdb5 -m usbhid:ehci-hcd:mbcache:jbd2:ext4 -u -o /boot/initrd.gz'
image = /boot/vmlinuz-generic-3.4.37
  initrd = /boot/initrd.gz
  root = /dev/sdb5
  label = 3.4.37
  read-only
# Linux bootable partition config ends
root@Innovindil:/boot#


Этот "выхлоп" следует скопировать в /etc/lilo.conf  и выполнить команду lilo:

root@Innovindil:/boot# lilo
Warning: LBA32 addressing assumed
Warning: The boot sector and map file are on different disks.
Added 3.4.37  +  *
Added Linux
2 warnings were issued.
root@Innovindil:/boot#


На предупреждения реагируем как обычно, и, как обычно, загружаемся в новое ядро. Удачи ;)

суббота, 9 марта 2013 г.

Slackware 14.0: экстремальное удаление ненужных шрифтов и установка .NET

Ну вы поняли, ага.

Чтобы установить .NET, сначала нужно установить Wine, а как установить Wine, вы можете узнать вот тута. Хоть версия и старовата, но работает как надо, но, разумеется, если вам нужна версия поновее, качайте с sourceforge.net, там даже бинарник для Slacware есть.

Wine установлен. Что дальше? A дальше нам нужен cabextract для установки всякого некрософтовского шлака. Разумеется, это чудо из чудес можно найти приблизительно там же.

Установили, хорошо. Как работать с winetricks, вы уже знаете. Но вот незадача -- winetricks просит нас удалить шрифты Oriya/Samyak, чтобы избавиться от каких-то там крэшей в .NET приложениях.

Как удалить? удаляем пакет ttf-indic-fonts, дабы задобрить этот сраный .NET.

# slackpkg remove ttf-indic-fonts

Шрифты удалены,а проблема осталась. Ну ладно, копаем глубже.

# nano /usr/share/fonts/TTF/fonts.dir

Находим строчку с ругательным словом Samyak и удаляем её и сохраняем файл. Если милсдарь не нашёл эту строчку или ему просто лень её искать, то:


# cd /usr/share/fonts
#  grep -nr samy . | sed 's@\(Samyak\)@@'
#  grep -nr oriy . | sed 's@\(Oriya\)@@'

 Релог, ребут, переустановка ОС -- проблема решена, можно ставить .NET, а как установить NeverWinter Nights 2, я уже писал %)



Решение проблемы взято отсюдова