пʼятницю, 13 лютого 2009 р.

Linux kernel tweaking/optimizing

Hardware:
Dell Inspiron 1300 notebook
Celeron processor
Built in Intel videocard
512M memory
80Hddd

OS:
Archlinux

Requirements:
1. Boot without initrd
2. Have CPU specific compiled kernel with gcc optimizations
3. Get rid of unnecessary code
4. Compile in neccessary components
5. Not to be too far away from mainstream (Archlinux) kernel

Steps:
1. Get mainstream kernel config as starting point and tweak it step-by-step
zcat /proc/config.gz > ~/config
2. There are two requirements to satisfy in order to boot w/o initrd:
2.1. Compile in neccessary HDD drivers
2.2. Compile in neccessary filesystem support for boot partition (mine is separate ext2 in /boot, so other FS types may be modular, or not)
.
.
.
...to be continued

четвер, 5 лютого 2009 р.

Making use of HAL

Монтирование USB flash drive на vfat'е

Для изменения опций нужно редактировать fdi файлы, как правило:
/usr/share/hal/fdi//policy/10osvendor/10-storage-policy.fdi
Так же можно создать свой файл настроек в:
/etc/hal/fdi/policy/
Внимание ветки:
volume.policy.*
storage.policy.* Устарели!!!

Итак для настройки нужно:
1)разрешить опции в монитрования в ветках volume.mount.valid_options
2)потом в volume.mount.* ветке их прописать (для Gnome не работает, см.дальше)
На этой странице в разделе "Adding allowed mount options" хорошо расписано, как это нужно делать (там же и про Gnome сказано).

Похоже, что Gnome игнорирует опции монтирования по умолчанию, и дабы их задать нужно выполнить команду типа:
gconftool-2 --type list --list-type=string \
--set /system/storage/default_options/vfat/mount_options \
"[shortname=mixed,uid=,usefree,iocharset=koi8-r,codepage=866]"

Так же существует патч, который все же заставляет gnome принимать во внимание и настройки от HAL

Разрешение опций через policy:
<policy user="какой надо уид">
  <append key="volume.mount.valid_options" type="strlist">umask=</append>
  <append key="volume.mount.valid_options" type="strlist">dmask=</append>
  <append key="volume.mount.valid_options" type="strlist">fmask=</append>
  <append key="volume.mount.valid_options" type="strlist">uid=</append>
  <append key="volume.mount.valid_options" type="strlist">flush</append>
</policy>

В принципе можно заменить policy user на policy group и назначить группу в которую накидать всех юзеров. Вроде так делалось. (взято на forum.linux.lg.ua)
Можно через match key="volume.fstype" string="some-fs-type"
Но в большинстве дистрибутивов такие разрешения уже прописаны