неділю, 6 листопада 2011 р.

Зміна hostname в OpenSUSE

На віртуальній машині з встановленою операційною системою Linux OpenSUSE 11.4 необхідно змінити  hostname. Просте редагування конфігураційних файлів не принесло бажаних результатів та на допомогу прийшов YAST2.
(Є відповідні сторінки в інтернеті що дозволяють це зробити на OpenSUSE-desktop а от на сервері не знайшов або не там шукав, хоча налаштування  відрізняються тільки графічно. Наприклад тут http://www.liberiangeek.net/2010/06/how-to-change-computer-namehostname-in-opensuse-linux/  )
В терміналі під'єднаному до віртуальної машини за допомогою ssh запускаємо команду:

# yast2


У вікні що відкрилося вибираємо в Network Devices  з підменю із правої сорони  Network Settings.
У вікні що при цьому відкрилося вибераємо закладку Hostname/DNS. <Tab>-ом переміщаємося між віконечками і галочками відаовідних установок. Змінінюємо, у відповідних віконечках,  встановлені за умовчанням назву хоста і домену linux-eod3.site на потрібні для нашої локальної мережі ostrogradskiy.pka. Значення   ostrogradskiy.pka взято для прикладу у вас буде своє.
Що приємно вражає, як на мене, це те що при використанні недорогого маршрутизатора можна отримати налаштування мережі з допомогою DHCP і при цьому налаштувати доменне ім'я незалежно, що дуже добре для моєї локальної мережі.


Після введення всіх необхідних даних переходимо <Tab> -ом на кнопку [OK] в правому нижньому куті даного вікна і натискаємо <Enter>.
Після чого перевіряємо налаштування перезавантаживши віртуальну машину.
[r1@localhost]~% ssh x@192.168.92.104
Password:
Last login: Sun Nov  6 15:37:16 2011 from 192.168.92.101
Have a lot of fun...
x@ostrogradskiy:~> hostname
ostrogradskiy
x@ostrogradskiy:~> cat /etc/hosts
#
# hosts         This file describes a number of hostname-to-address
#               mappings for the TCP/IP subsystem.  It is mostly
#               used at boot time, when no name servers are running.
#               On small systems, this file can be used instead of a
#               "named" name server.
# Syntax:
#    
# IP-Address  Full-Qualified-Hostname  Short-Hostname
#

127.0.0.1       localhost

# special IPv6 addresses
::1             localhost ipv6-localhost ipv6-loopback

fe00::0         ipv6-localnet

ff00::0         ipv6-mcastprefix
ff02::1         ipv6-allnodes
ff02::2         ipv6-allrouters
ff02::3         ipv6-allhosts
127.0.0.2       ostrogradskiy.pka ostrogradskiy
x@ostrogradskiy:~> 


Такий результат і очікувався.
Всім салют :)

З нетерпінням чекаю коментарів.

пʼятницю, 9 вересня 2011 р.

Build kernel modules saa716x

I have linux OpenSUSE 11.4, kernel 2.6.37 and PCIe carte SkyStar 2 eXpress HD.
Audio video capture bridge -  saa7160ET (http://www.tridentmicro.com/producttree/tv/pc-tv/saa/saa7160/)
frontend
satellite tuner - stv6110a (http://www.st.com/internet/imag_video/product/216983.jsp)

stv0903b - Multi-standard advanced demodulator
for satellite digital TV and data services set-top boxes


lspci -v
03:00.0 Multimedia controller: Philips Semiconductors SAA7160 (rev 03)
    Subsystem: Device 1ae4:0700
    Flags: bus master, fast devsel, latency 0, IRQ 11
    Memory at fea00000 (64-bit, non-prefetchable) [size=1M]
    Capabilities: [40] MSI: Enable- Count=1/32 Maskable- 64bit+
    Capabilities: [50] Express Endpoint, MSI 00
    Capabilities: [74] Power Management version 2
    Capabilities: [80] Vendor Specific Information: Len=50 <?>
    Capabilities: [100] Vendor Specific Information: ID=0000 Rev=0 Len=088 <?>
 


Kernel modules for it, I found none.

I want  to build the kernel module saa716x .  Used tree Manu Abraham from project Linuxtv. http://jusst.de/hg/saa716x/shortlog/1d4e1f927992

http://linuxtv.org/wiki/index.php/NXP_SAA716x#Driver_Development

I also used a source of the tree Igor Liplianin. 


download  source stable dvb kernel-modules

$ git clone git://linuxtv.org/liplianin/media_tree.git

Download source for saa716x

$ hg clone  http://jusst.de/hg/saa716x/

copy source support for Remote Controllers on Linux

$ cd liplianin/media_tree
$ cp -a /usr/src/linux-2.6.37.6-0.7/drivers/media/IR drivers/media/
$ cp -a /usr/src/linux-2.6.37.6-0.7/include/media/ir-common.h include/media/
$ cp -a /usr/src/linux-2.6.37.6-0.7/include/media/ir-core.h include/media/
$ cp -a /usr/src/linux-2.6.37.6-0.7/include/media/ir-kbd-i2c.h include/media/


copy source saa716x
$ cp -a ../../saa716x/linux/drivers/media/common/saa716x drivers/media/common/

create link headers file
$ cd drivers/media/common/saa716x/
$ for i in `ls  ../../dvb/frontends/ | grep h$ | tr "\012" " "`; do ln -s ../../dvb/frontends/$i $i; done

edit the file drivers/media/common/saa716x/saa716x_i2c.c
remove the line containing I2C_CLASSCLASS_TV_DIGITAL

edit the file drivers/media/common/Makefile
add the line
obj-$(CONFIG_SAA716X_CORE) += saa716x/

change file osd.h (The headers file includes an ad structure osd_raw_data_t)
$ rm -f  include/linux/dvb/osd.h
$ cp -a ../../saa716x/linux/include/linux/dvb/osd.h include/linux/dvb/


$ cd media_tree
$ cp -a  /boot/config-2.6.37.6-0.7-desktop ./.config
$ make menuconfig
Configure
Device Drivers -> Multimedia Suport -> Support for SAA716x family from NXP Philips
<M> <M> <M> <M>

$ make

modules saa716x_hybrid.ko saa716x_core.ko saa716x_budget.ko assembled

$ find /lib/modules/ | grep saa716x
/lib/modules/2.6.37.6-0.7-desktop/kernel/drivers/media/common/saa716x/saa716x_hybrid.ko
/lib/modules/2.6.37.6-0.7-desktop/kernel/drivers/media/common/saa716x/saa716x_core.ko
/lib/modules/2.6.37.6-0.7-desktop/kernel/drivers/media/common/saa716x/saa716x_budget.ko

But saa716x_ff.ko module is not created.

Message compiler:
  LD [M]  drivers/media/common/saa716x/saa716x_core.o
  CC [M]  drivers/media/common/saa716x/saa716x_budget.o
  CC [M]  drivers/media/common/saa716x/saa716x_hybrid.o
  CC [M]  drivers/media/common/saa716x/saa716x_ff.o
drivers/media/common/saa716x/saa716x_ff.c:480:2: error: unknown field ‘ioctl’ specified in initializer
drivers/media/common/saa716x/saa716x_ff.c:480:2: warning: initialization from incompatible pointer type
drivers/media/common/saa716x/saa716x_ff.c:490:2: warning: initialization from incompatible pointer type
drivers/media/common/saa716x/saa716x_ff.c:538:2: error: unknown field ‘ioctl’ specified in initializer
drivers/media/common/saa716x/saa716x_ff.c:538:2: warning: initialization from incompatible pointer type
drivers/media/common/saa716x/saa716x_ff.c:548:2: warning: initialization from incompatible pointer type
drivers/media/common/saa716x/saa716x_ff.c:686:2: error: unknown field ‘ioctl’ specified in initializer
drivers/media/common/saa716x/saa716x_ff.c:686:2: warning: initialization from incompatible pointer type
drivers/media/common/saa716x/saa716x_ff.c:697:2: warning: initialization from incompatible pointer type

It happens here in this:


 static struct file_operations dvb_osd_fops = {
        .owner          = THIS_MODULE,
        .ioctl          = dvb_generic_ioctl,
        .open           = dvb_generic_open,
        .release        = dvb_generic_release,
};

четвер, 11 серпня 2011 р.

Запис резервної копії на двошарових DVD-дисках (double layer DVD 8.5 GB)

Вийшов новий реліз CentOS, поскільки пряме оновлення системи не рекомендують, то перше, що необхідно зробити так це, зберегти образи віртуальних машин. Тут я наступив на камінь, образи 6GB, стискати формат COW2 на мою думку не доцільно, на DVD-болванку, теоретично, вміщається тільки 4.7GB, тому вибрав для створення резервних копій двошарові (double layer) DVD-диски 8,5GB, по 5грн за штуку ;)))

Мої записи це просто щоденник того, що було зроблено, шлях може не завжди правильний, тому завжди цікаво чути сторонні рекомендації.

Я спробував використати k3b, використав формат RockRidge+UDF, на що отримав повідомлення про помилку – файл більший за 4GB. Довго не думаючи, я за допомогою split порізав його на куски по 2GB. Слідуючи за рекомендаціями знайденими інтернеті, дещо, змінив в налаштуваннях k3b відносно growisofs. Ніби все пішло, але за секунд 20 все обірвалося з повідомленням на якусь незворотню помилку.

Образ створений k3b я записав на 2-ій болванці. Правда, перед цим оновив прошивку свого записуючого пристрою і виконав запис з командного рядка викликавши напряму growisofs.

$ growisofs -use-the-force-luke=dao -use-the-force-luke=break:1913760 -dvd-compat -speed=8 -Z /dev/sr0=k3b_image.iso

вівторок, 3 травня 2011 р.

Встановив чотири гостьові системи

Як це зробив надіюся опишу щоб самому не забути. Надіюся що це мій чорнови,
                                                                                     алілуя

       Замінив  в CentOS 5.6 Xen на 3.4.3 з репозитарію GITCO. В принципі влаштовував і штаний пакет і був навідь більш зрозумілий в управлінні. Не влаштовувало те, що наприклад для Дебіана приходилося витягувати з образу xvda  ядро і  завантажувальний образ initrd, бо Питон-скрипти не вміли встановити grub на xvda . Ну в принципі я не про це...

       Далі рецепт приготування
1. Уважно прочитати Readmy
2.
$ su -
# cd /etc/yum.repos.d/
# wget http://www.gitco.de/repo/GITCO-XEN3.4.3_x86_64.repo
# rpm -e --nodeps libvirt-client # yum update 
# yum groupremove Virtualization
# yum groupinstall Virtualization

        Поставив чотири гостьові системи з мережі, з відповідних репозитаріїв. все стало красиво. Зокрема було встановлено Scientific Linux release 6.0 (Carbon), openSUSE 11.4 (Celadon), Fedora release 14 (Laughlin) і Debian GNU/Linux 6.0 (squeeze)
3.
# virt-install --paravirt --name reindeer \
--os-type="linux" --os-variant="debiansqueeze" \
--ram 512 --disk path=/var/lib/libvirt/images/reindeer.img,size=6\
--location http://ftp.ua.debian.org/debian/dists/squeeze/main/installer-amd64/
так ставимо Debian нв паравіртульну машину з назвою reindeеr (північний олень:), що має 512MB ОЗП і дисковий простір 6GB. А так ореnSUSE

# virt-install --paravirt --name sikorskiy \
--os-type="linux" --os-variant="sles11" \
--ram 512 \
--disk path=/var/lib/libvirt/images/sikorskiy.img,size=6\
--location http://ftp.linux.kiev.ua/pub/Linux/SuSE/distribution/11.4/repo/oss/


Ну і подібно ставимо інші дистрибутиви, більш дктально про це можназнайти в ман-сторінках
$ man virt-install

        Не зміг встановити Mandriva. Наскільки я зрозумів то по мережі з допомогою virt-install Ubuntu теж не ставиться. Хоча я за ними взагалі  і не дуже плачу. І ще один дрібний недолік у Fedora-ри :) не було встановлено засобів dhcp і відповідно не має мережі, але це скоріше , десь, моя помилка і поправима. Думаю, що можна буде їй завалити статичну адресу. Але, я, щоб не паритися, поки що, її відкинув.
     Здублював дві робочі гостоьві системи і тепер на всьому цьому хазяйстві хочу розвернути поокремо такі сервіси як DNS,WEB,Mail,SQL DB і LDAP. Покищо 5-ть VM бігають весело і не завантажують один Sempron Le140 і 4 GB оперативки (всі гостьові системи використовують паравіртуалізацію).В майбутньому планується перекинути їх на Зен-хмару.

Всі налаштування, як я зрозумів, терер виконуються в форматі XML.  І все це правиться з графічного інтерфейсу, але може я помиляюся.