Taller Colinux

1,241 views
1,187 views

Published on

Taller Colinux TLP

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,241
On SlideShare
0
From Embeds
0
Number of Embeds
24
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Taller Colinux

  1. 1. Taller de Colinux 1 Continguts 1. Introducció a Colinux 2. Instal.lació. 1. Requeriments. 2. Instal.lació bàsica. 3. Ús del fitxer de configuració 4. Interfícies de xarxa. 3. X (gràfics) i So. 4. Distribucions de colinux. Annex: Colinux en USB. Apartat 1. Introducció a Colinux Colínux és un kernel de linux que s'executa dins l'entorn Windows , ja sigui en una consola, o com un servei de sistema. D'aquesta manera, ens permet executar aplicacions linux sense necessitat de reiniciar l'ordinador, utilitzar una màquina virtual o recompilar l'aplicació. Està compost d'un executable principal colinux-daemon.exe , un driver de sistema linux.sys , fitxers adicionals per al sistema linux vmlinux i vmlinux-modules.tar.gz i els diferents serveis que aporten xarxa i connexió serie. colinux-*-net-daemon.exe i colinux-serial-daemon.exe L'ús més habitual de colinux és el de desenvolupament de programes. Permet tenir un entorn linux complert, fàcilment actualitzable i amb uns requeriments mínims. Tot i això, els seus usos van des de servidor de fitxers, fins a escriptori complert, passant per tallafoc o servidor web. Nota: Aquest document és per a les versions 0.7.1 i superiors. Les versions 0.6.4 i anteriors utilitzen una sintaxi diferent a la configuració.
  2. 2. Taller de Colinux 2 Apartat 2. Instal.lació 2.1 Requeriments Hi ha dos aspectes de colinux a tenir en compte, l'ús de RAM, i l'ús de disc dur. Tal i com passa quan executem una màquina virtual, aquesta ens reserva una quantitat important de memòria per a ella, i el fitxer del sistema operatiu acostuma a tenir una mida important. Amb colinux, podem jugar amb tots dos paràmetres i adaptar-lo a les nostres necessitats. Entre 32 i 64MB de RAM serien recomanables per a un linux que no necessités executar les X, i valors entre 128 i 256 serien més apropiats per a escriptoris linux. Recordeu que aquesta memòria quedaria no disponible per a Windows! Pel que fa a tamany de disc, es pot jugar amb múltiples possibilitats. Colinux permet fer anar fitxers com si fossin particions, o bé utilitzar particions físiques del disc. La mida habituals de les imatges varia entre 1GB i 4GB, tot i que podríem perfectament posar un línux en 128MB o menys. Pel que fa a requeriments de màquina, colinux no és un emulador, pel que les aplicacions s'executaran pràcticament a la mateixa velocitat que si haguéssim arrencat un linux instal.lat. Pel que fa al rendiment via xarxa, aquest es redueix parcialment, degut a que o bé s'ha d'executar un procés de NAT ( tap driver) , o bé captura i filtratge de paquets a nivell de driver. ( pcap driver) 2.2 Instal.lació bàsica La instal.lació de Colinux és un procés ràpid i que en la majoria de casos no hauria de comportar complicacions. L'instal.lador ens demana quins elements volem instal.lar (incloent descarregar-se una imatge des d'Internet), on ubicar els fitxers, i ens configura la instal.lació per poder-la executar. Un cop acabat el procés, podem executar aquesta línia per verificar que funciona (des del directori on l'hem instal.lat): colinux-daemon kernel=vmlinux initrd=initrd.gz root=/dev/ram0 Això ens obrirà un petit shell (busybox) amb unes poques comandes. Si aquesta línia no funciona, es possible que sigui degut a que el driver de sistema no s'ha instal.lat be. Això es pot verificar amb: colinux-daemon –status-driver Aquesta ordre ens retornarà si el driver està instal.lat, i quina versió és. Si haguessim de reinstal.lar-lo, es fa mitjançant l'ordre colinux-daemon –install-driver Un cop funciona, podríem executar la següent ordre per arrencar la imatge que ens hem baixat: colinux-daemon kernel=vmlinux initrd=initrd.gz mem=64 cobd0=”Adreça completa cap a la imatge” root=/dev/cobd0 Amb la qual acabaríem al prompt del terminal. Si no funciona, l'error més habitual és haver-se equivocat a l'escriure l'adreça.
  3. 3. Taller de Colinux 3 2.3 Ús del fitxer de configuració Colinux es pot utilitzar mitjançant línia de comandes, tot i que el més habitual és utilitzar un fitxer de configuració. La instal.lació copia un arxiu d'exemple ( C:Archivos de Programacolinuxexample.conf ), que podem fer servir de plantilla. Aquests son els passos més habituals a l'hora de personalitzar-lo: Canviar el paràmetre cobd0=quot;c:coLinuxroot_fsquot;. • Li indiquem on es troba en nostre linux. Es pot tractar d'un arxiu en el nostre sistema, o d'una partició física del nostre disc. Per a imatges en disc, el paràmetre hauria d'indicar la ruta exacta cap a la imatge que volem executar. Si és una partició, aleshores s'utilitza la sintaxi: cobd0=DeviceHarddisk0Partition5 . Avís, l'index de particions no és exactament el mateix que en linux. Es pot fer anar l'aplicació dd for windows (mirar Referències) amb la sintaxi dd --list, per tal d'esbrinar els valors correctes de la partició. Podem afegir més d'una imatge/partició a muntar (fins a 32), enumerades des de cobd0 a cobd31. És habitual tenir la següent sintaxi: cobd0=”c:colinuxbase.fs” cobd1=”c:colinuxswapfs” Un cop a linux, les muntaríem amb el mount, o al /etc/fstab segons aquesta sintaxi: mount -t ext3 /dev/cobd2 /mnt/linux /dev/cobd3 /mnt/sources ext3 defaults 0 0 Finalment, per a les particions de windows, no podem utilitzar-les via cobd0, ja que windows ja les utilitza. La solució és fer anar la sintaxi cofs: cofs0=c: cofs1=d: cofs2=a: Això, a més a més de permetre'ns veure els arxius de windows, ens permetrà escriure- hi, sense haver de tenir en compte si son particions FAT32 o NTFS. A linux, es montarien amb el mount o al /etc/fstab segons aquesta sintaxi: mount -t cofs /dev/cofs0 /mnt/windows 1 /media/cdrom cofs defaults 0 0 Comentar/esborrar aquestes línies (Si no ho féssim, el sistema es muntaria de només • lectura): # Additional kernel parameters (ro = rootfs mount read only) ro Canviar la quantitat de memòria requerida: • # Maximal memory for linux guest mem=64 Habilitar una tarja de xarxa. Slirp és la que podrem tenir funcionant en menys temps: • eth0=slirp Arribats aquí, guardem, i provem si tot ha anat bé executant colinux de la següent manera: colinux-daemon -t nt @nom_del_fitxer.conf (la @ es necessària)
  4. 4. Taller de Colinux 4 2.4 Interfícies de xarxa Colinux disposa de tres mecanismes per connectar a la xarxa ethernet (i per extensió, a internet). Slirp: • Slirp és la opció més recent, i la més senzilla de posar en marxa. Per contra, requereix que enrutis els ports que vols oberts a colinux, i en general és lenta, no sent recomanable per a trafic ethernet, només per a internet. La sintaxi pel fitxer de configuració és aquesta: ethX=slirp,<MAC>,<redirections> slirp és la paraula clau que identifica que es tracta d'una connexió slirp. El paràmetre MAC no s'utilitza actualment (es pot deixar en blanc). Les redireccions s'escriuen de la forma: protocol:portwindows:portlinux , o bé protocol:portiniciwindows:portinicilinux:quantitat. Múltiples redireccions es separen amb “/” Exemples: eth0=slirp,, eth1=slirp,,tcp:81:80/tcp:22:22 eth2=slirp,,tcp:4000:5000:9 Dins a linux, podem configurar la xarxa amb dhcp, o si no, posar manualment la IP 10.0.2.15/24, i la passarel.la 10.0.2.2 . 10.0.2.3 actua com a DNS Exemple debian, fitxer /etc/network/interfaces : iface eth0 inet dhcp Tap Win-32: • El driver TAP crea una xarxa virtual dins de windows. És la opció que dóna més rendiment (menor retard, major transmissió de dades) de les tres. Està pensada per a la comunicació entre la màquina windows i colinux. Quan s'instal.la (ho fa per defecte l'instal.lador), crea una nova interfície de xarxa a windows la qual haurem de configurar com a una nova subxarxa, per exemple, 192.168.24.10/24.
  5. 5. Taller de Colinux 5 La sintaxi al fitxer de configuració és: ethX=tuntap,<network connection name>,<MAC> tuntap identifica que volem una connexió de tipus tap. Network connection name serveix identificar quina interficie utilitzar en el cas de que tinguessim múltiples interficies Tap Win32 instal.lades. Si s'omet, agafa sempre la primera. MAC serveix per a forçar una MAC per a la interfície (a l'interfície linux). Si s'omet, colinux en genera una d'aleatoria a cada arranc. Exemples: eth0=tuntap eth0=tuntap,quot;colinuxquot; Avís: Versions anteriors de colinux tenien problemes si el nom contenia accents (com és el cas de “Conexión de Área local”. Reanomenar la connexió és un bon suggeriment. A la banda linux hem de configurar la IP manualment, a no ser que tinguem un servidor DHCP a la mateixa màquina windows, cas en el qual podria donar adreces al colinux. Exemple debian, fitxer /etc/network/interfaces: iface eth1 inet static address 192.168.24.40 netmask 255.255.255.0 WinPCap: • L'opció de pcap-bridge ens permet utilitzar la targeta física de l'ordinador, com si fos dues targetes en una. Utilitza el mateix driver que el el capturador de paquets Wireshark (antic ethereal). D'aquesta manera, pot capturar els paquets que arriben, i redireccionar-los cap a colinux si s'escau. La sintaxi és la següent: ethX=pcap-bridge,<network connection name>,<MAC>,<promisc> pcap-bridge especifica el típus de connexió. Network connection name es un paràmetre necessari, i especifica el nom de la targeta de la qual capturar els paquets. MAC serveix per a forçar una MAC per a la interfície (a l'interfície linux). Si s'omet, colinux en genera una d'aleatòria a cada arranc. Exemples: eth0=pcap-bridge,”ethernet” eth0=pcap-bridge,quot;Local Area Networkquot;,11:22:33:44:55:66,nopromisc Avís: Versions anteriors de colinux tenien problemes si el nom contenia accents (com és el cas de “Conexión de Área local”. Reanomenar la connexió és un bon suggeriment. A la banda de linux, podem configurar la IP amb dhcp o manualment, depenent de si a la nostra xarxa local disposem d'un servidor DHCP o no. Cal remarcar que aquest típus de connexió està en el mateix rang que l'adreça existent. És a dir, que pertany a la mateixa subxarxa. Exemple debian, fitxer /etc/network/interfaces: iface eth1 inet static address 192.168.1.40 netmask 255.255.255.0 gateway 192.168.1.1
  6. 6. Taller de Colinux 6 Apartat 3. X (gràfics) i So Una de les conseqüències de que colinux sigui un driver de windows, és que windows s'està executant, i per extensió, que els drivers de windows son els que tenen accés al hardware. Per això, ni ALSA, ni servidor X, ni USB ni altres dispositius poden funcionar directament. En el cas de les X i el so, aprofitarem el fet de què estan dissenyats per funcionar en xarxa. És a dir: utilitzarem un servidor X i un de so a windows, i li direm al colinux que els utilitzi. Nota: És molt recomanable utilitzar la connexió tuntap per a aquests típus de connexions. Servidor X : • La forma més comuna de comunicació amb colinux es utilitzar una connexió SSH amb “X11 forwarding”. Això automàticament redireccionarà tot el trànsit X cap al servidor X local. Les altres dues opcions son utilitzar una connexió XDMCP, o bé redireccionar el trànsit X cap al nostre servidor X. Aquestes opcions no son tan recomanades, ja que la primera necessita un gestor d'escriptori instal.lat ( xdm, gdm ) que permetés connexions externes, i amb la segona ens podem trobar amb problemes de connexió, haver d'utilitzar xauth, xhost i demés. Veiem-ho amb un exemple, amb el servidor GPL Xming: Xming disposa d'un assistent per crear connexions anomenat Xlaunch, que ens generarà un fitxer de configuració que podrem utilitzar les següents vegades que vulguem connectar. - La primera pàgina ens demana com volem que es comporti el servidor X: La opció de multiples finestres farà que les aplicacions X s'obrin com si fossin aplicacions Windows, i ens apareixeran a la barra de tasques de windows. És una de les opcions més habituals, si estem més interessats en fer anar aplicacions concretes, i no tot un entorn d'escriptori. Les altres tres opcions son, de fet, la mateixa, però canvia com ho veiem a windows. Totes obren el servidor X com s'obriria en linux i és la opció adequada si volem utilitzar un entorn d'escriptori, o un gestor de finestres en concret. Fullscreen ens ho mostrarà a pantalla complerta. One window mostrarà una finestra amb les X a dins i One window without titlebar és, com el nom indica, una finestra, sense el títol de finestra. La opció Display number és un índex que ens permet tenir diferents servidors X i mostrar en cada un coses diferents. - La segona pàgina ens pregunta què ha de fer el servidor X al executar-se. La primera opció no faria res. Representa la 3a opció de les anomenades més amunt. Hauríem de dir-li a linux qui és el servidor X i dir-li al servidor X que deixi connectar a colinux, o bé utilitzar altres mecanismes d'autenticar la connexió. La segona opció ens permetrà crear una connexió a colinux via SSH, i opcionalment executarà una ordre, normalment una aplicació X. És la opció recomanada. Finalment, la tercera opció ens permetria connectar a un servidor XDMCP remòt. Continuem amb la opció “Start a Program”. Si fem següent, ens preguntarà quina ordre executar ( per provar, podem deixar la que ens recomana, xterm ). També ens pregunta si és una ordre local, o remota. Hem de sel.lecionar remota i escriure l'adreça de la màquina colinux i l'usuari amb el qual ens volem connectar. Fixeu-vos que ens demana també quin programa utilitzar per connectar-se: “Putty” o “ssh”. És possible que no tinguem cap dels dos. La “Suite” Putty es pot baixar des d'internet, i és molt útil per connectar-se a màquines remotes linux i unix. El fitxer que necessitem per a Xming és el “plink.exe”. L'altra opció hagués estat baixar-se un client ssh de windows, o bé instal.lar cygwin, cosa que no necessitem.
  7. 7. Taller de Colinux 7 - La tercera pàgina ens permet especificar paràmetres avançats de connexió. La opció clipboard permet copiar text entre windows i linux (cosa que voldrem fer més d'un cop). Remote font server permet utilitzar un servidor de fonts per a X. Normalment no ho necessitem així que ho podem deixar buit. Additional parameters for xming son paràmetres extra per al servidor X. Un paràmetre important és el -dpi . Depenent de la mida de la nostra pantalla, i la resolució que tenim, es possible que veiem la lletra de linux massa petita. Per exemple, en un monitor de 19'' a 1280x1024, hauriem de posar -dpi 85 , en un de 17'' a 1280x768 -dpi 81, i així successivament (calcular: tamany de la pantalla en horitzontal, convertir-ho a pixels, i dividir resolució horitzontal/tamany) -Per acabar, ens dóna la opció de guardar-ho en un fitxer (ens interessa) i executar-lo. Servidor de so: • Hi han diferents servidors de so per xarxa, NAS, esound, pulseaudio,... Per al nostre cas recomanem pulseaudio, doncs ens donarà menys feina, i bons resultats. El primer a fer, doncs, és baixar els executables de pulseaudio. Un cop baixats, hem de crear dos fitxers de texte (configuració) al mateix directori on ho hem instal.lat: daemon.conf :Fitxer de configuració del servidor. Especifica com s'executarà, així com els camins cap als fitxers. Aqui teniu un exemple funcional. Podeu consultar els paràmetres a la web de pulseaudio. (Nota: Canviar els camins cap allí on ho haguem instal.lat) system-instance=0 daemonize=1 fail=1 high-priority=1 disallow-module-loading=0 exit-idle-time=-1 module-idle-time=20 scache-idle-time=20 log-level=notice log-target=auto dl-search-path=quot;C:Archivos de programaSistemaPulseaudioquot; resample-method=src-sinc-medium-quality
  8. 8. Taller de Colinux 8 use-pid-file=0 no-cpu-limit=0 disable-shm=1 default-script-file = C:Archivos de programaSistemaPulseaudiodefault.pa default.pa: Fitxer de configuració de les funcions del servidor. Ens permet dir quins protocols utilitzarà, i de quina manera es connectaran els clients. Aquí teniu la configuració habitual en windows. load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/16 load-module module-esound-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/16 load-module module-detect Un cop tenim aquets fitxers preparats, podem executar el servei “pulseaudio.exe”. Està configurat per a que es quedi resident en memòria. A la banda de linux, haurem de fer alguns retocs. El primer d'ells, és dir-li on està el servidor de so. Això ho fem amb la següent sintaxi al prompt: Nota: Canviar la IP per la IP de la màquina windows export ESPEAKER=192.168.24.10 Per tal de que aquest canvi no es perdi al reiniciar colinux, s'hauria de posar en un fitxer d'arrencada, com per exemple /etc/profile Amb això les aplicacions que utilitzen esound, i les que utilitzen pulseaudio ja haurien de funcionar directament. Per a que les aplicacions ALSA funcionin, ja hem de fer unes modificacions més: Afegir al fitxer /etc/asound.conf pcm.pulse { type pulse } ctl.pulse { type pulse } pcm.!default { type pulse } ctl.!default { type pulse } Si les línies pcm.!default i ctl.!default ja hi son, eliminar les antigues, doncs no funcionarien. Finalment, li haurem d'indicar que el servidor de pulseaudio no és al linux sino al windows. Això ho fem mitjançant la següent instrucció: export PULSE_SERVER=192.168.24.10 Igual que amb ESPEAKER, per tal de que aquest canvi no es perdi al reiniciar colinux, s'hauria de posar en un fitxer d'arrencada, com per exemple /etc/profile Nota: Això només funcionarà a partir de ALSA 1.0.12, i si tenim els plugins d'ALSA instal.lats (a debian és el paquet libasound2-plugins )
  9. 9. Taller de Colinux 9 Apartat 4. Distribucions de Colinux Colinux és un sistema relativament recent. (Els primers binaris a sourceforge son del febrer de 2004). Tot i això, el fet de poder executar un sistema linux complert sobre windows ha obert moltes possibilitats, i han aparegut distribucions que han volgut aprofitar-ho. AndLinux: • AndLinux és una distribució recent. Originàriament estava basada en Debian etch, però la darrera versió està basada en Ubuntu 6.10. Va sortir com a eina de desenvolupament, lligada al projecte gp2x, la consola portàtil que funciona amb linux. D'aquesta manera es pot treballar en windows i generar els executables en linux per a la màquina. Actualment, la distribució té molts més usos, i no inclou els fitxers de programació (que es poden instal.lar via apt /synaptic o altres eines similars) i utilitza l'escriptori xfce4. En arrencar obre un panel amb els botons més habituals. Inclou Xming i esound ja preconfigurat. TopologiLinux: • TopologiLinux és una distribució de linux basada en Slackware 10, que te com a objectiu poder utilitzar linux en una màquina on ja hi ha windows, sense haver de fer particions al disc ni passar per complicades opcions d'instal.lació. Per aconseguir això, tota la distribució es troba en un fitxer que s'emmagatzema en una unitat de windows, i l'instal.lador modifica l'script d'arrencada de windows per tal d'oferir la opció d'arrencar el linux de dins el fitxer. A partir de la versió 5.0, a més a més incorpora la opció d'utilitzar colinux, sense haver d'instal.lar res més. Preconfigura el sistema i arrenca la imatge via colinux dins de windows. Tumbling Dice colinux: (comercial) • Tumbling Dice és una distribució basada en Fedora 6. Segons la informació de la seva pàgina web, és fàcil d'instal.lar i inclou els programes necessaris per tal de funcionar des del primer moment. Inclou un manual de configuració entre altres coses. Utilitza VNC en comptes de X, tot i que també inclou un servidor X. I per suposat, recordar que colinux ja té una serie d'imatges preconfigurades disponibles a • la seva pàgina web, de Debian, Fedora i Ubuntu entre d'altres.
  10. 10. Taller de Colinux 10 Annex. Colinux en USB A la wiki de colinux podem trobar una entrada on ens explica pas a pas com posar una Debian en un USB per utilitzar-la allà on ho necessitem. Es tracta del següent enllaç: http://colinux.wikia.com/wiki/RunDebianOnUSBStick El tutorial mostra un script que podem executar per tal de descarregar la imatge Debian, reduir-ne la mida, instal.lar temporalment el driver colinux, i finalment executar la imatge. Per suposat, el pas de descarregar la imatge i reduir-ne la mida només es necessari un cop. És una bona base de sortida per crear la nostra pròpia imatge per a USB, així que anem a remarcar els punts importants: Quins fitxers son necessaris: • El fet d'executar colinux en un USB es sinònim de dir que volem un colinux “portable”. Això serà possible només si agafem els fitxers necessaris, i els utilitzem d'una forma concreta. Necessitem com a mínim: colinux-daemon.exe, vmlinux i linux.sys. Si volem xarxa, necessitarem els dimonis adequats de xarxa. (En aquest cas, volem el colinux-slirp-net- daemon.exe). Opcionalment, una de les dues consoles (colinux-console-nt.exe o colinux- console-fltk.exe), i en cas de que el féssim anar, el driver per a port serie (colinux-serial- daemon.exe) Per l'altra banda, necessitarem, clar està, la imatge linux, així com el fitxer swap, si és el cas. Instal.lar el driver linux.sys: • Per tal de que colinux funcioni, és necessari que el driver que interactúa amb windows estigui carregat. Això colinux ho permet fer amb la ordre colinux-daemon –install-driver. És important que el driver sigui el corresponent a la versió de colinux que executarem. És per això que l'script primer intenta desinstal.lar qualsevol versió anterior que hi hagi en la màquina. Una solució més correcta seria verificar si el driver correspon a la versió de colinux, i si realment s'ha de desinstal.lar, assegurar-se de deixar-lo instal.lat de nou. Una nota que cal tenir en compte és que precisament perquè s'està instal.lant un driver de sistema, necessitarem permisos d'administrador per tal de dur-ho a terme. Xarxa, Slirp és la solució: • Si volem xarxa, la millor opció “portàtil” és slirp. Els motius son els següents: És l'únic que no necessita instal.lació, la configuració de IP no varia (amb pcap depèn de la màquina, i amb tap s'ha de configurar. AndLinux mostra una manera de fer-ho des de línia de comandes amb el seu script netdriver/andlinux.cmd ) i tindrem accès al windows i a Internet (amb tap només aconseguim una xarxa interna, si no creem, a més, un pont de xarxa) Així doncs, copiant els fitxers necessaris en una carpeta de l'USB, i creant un script que instal.li el driver i executi el daemon passant els paràmetres per comanda, ja disposaríem d'un colinux per fer-lo servir allà on ens trobéssim. Es podria complementar això amb un servidor X i un servidor de so, anàlogament a com ho fa la distribució andLinux. Per a més informació, baixar la distribució de mostra.
  11. 11. Taller de Colinux 11 Referències. Cooperative Linux/Colinux : http://www.colinux.org , http://colinux.wikia.com Xming : http://www.straightrunning.com/XmingNotes/ , http://sourceforge.net/projects/xming PulseAudio : http://www.pulseaudio.org/ Putty : http://www.chiark.greenend.org.uk/~sgtatham/putty/ TopologiLinux : http://www.topologilinux.com/ andLinux : http://www.andlinux.org/ , http://wiki.gp2x.org/wiki/AndLinux Debian : http://www.debian.org dd for window : http://www.chrysocome.net/dd

×