Slaine Meego 1.2 Wifi

Meego es un sistema operativo tan poco conocido que cuando sacan algún producto con este sistema (Nokia N9) mucha gente lo tacha de un baratero sistema operativo, sin embargo la verdad es que es un linux y por lo tanto ya tiene un abanico de recursos ya hechos, la interfaz que propone es realmente distinta y se siente fresca a comparación de otras distribuciones de linux. El sistema esta pensando para las nuevas computadoras (Tablets, Smartphones, Netbooks, Smart TV, etc.), pues es claro que no es necesario un nuevo sistema operativo para computadoras de escritorios, es un sistema formado por Intel y Nokia. Más información  en wikipedia.

Quiero enfocarme al que he usado, Meego 1.2 para netbooks, el sistema en este caso esta pensado para personas que no tienen un conocimiento profundo de linux (cosa que pretende pero no ha logrado aún) y tiene una iterfaz llamativa, sencilla y que aprovecha de buena manera el poco espacio que ofrecen las pantallas de netbooks, se siente hecho para netbooks (a comparación de otras distribuciones). Sin embargo le hace falta un largo estrecho para tener compatibilidad con todas las netbooks, y esta en su contra el hecho de que las tablets son las nuevas netbooks.

En particular Meego no es compatible con las tarjetas inalambricas Broadcom, es decir, instalas Meego y no tienes internet inalambrico, la verdad no es bonito, y para poder instalarlo necesitas internet (por cable). Slaine ha hecho un buen aporte haciendo una guía para instalar (y compilar de paso) los controladores de esta tarjeta, es muy buena, sin embargo depende directamente de la dirección en internet de los controladores, es decir, cuando los controladores se actualizan borran el archivo antiguo y ponen el nuevo con un nuevo nombre y en ese momento el método de Slaine falla, el archivo .src.rpm que se encarga de bajar los controladores, compilarlos y empaquetarlos en .rpm. Eso significa que hay que actualizar de manera periodica este archivo que provee slaine.

Como yo lo tuve que hacer, pues distribuyo de manera libre mi archivo modificado y actualizado que espero sirva a alguien por un tiempo no tan corto, y por ahi digo como hacer tu propia versión en caso de necesitarlo, no olvides que no debes quitar a las personas que han hecho esto posible, el principal slaine y darle su credito.

Archivo para bajar y compilar los controladores: wl-kmod-5.100.82.112-1.src.rpm

Archivo con el controlador compilado (posiblemente no sirva en tu maquina, ya que depende de la versión del kernel que tenga tu maquina, por eso se recomienda seguir los pasos de la guía de slaine, salvo que debes usar el archivo de arriba en lugar del distribuido por slaine):  wl-kmod-5.100.82.112-1.i586.rpm

¿Y bueno si mis archivos ya no sirven porque se actualizo el controlador?

Pues entonces deben crear un archivo con el nombre wl-kmod.spec con el siguiente contenido, salvo que donde dice

%define source32_url

deben poner la dirección actual del controlador, (que es el archivo .tar.gz para 32 bits que provee broadcom).

————————————————————————————————————————————–

# Based on the RPMFusion spec file from Fedora 11 repositories

%define source32_url http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_32-v5_100_82_112.tar.gz
Name:		wl-kmod
Version:	5.100.82.112
Release:	1%{?dist}
Summary:	Kernel module for broadcom wireless devices
Group:		System Environment/Kernel
License:	Redistributable, no modification permitted
URL:		http://www.broadcom.com/support/802.11/linux_sta.php
Patch0:		mutexSema.patch
Patch1:		semaphore.patch
Patch2:		license.patch
BuildRequires:  kernel-devel
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Packager:       Glen Gray , Avis Phoenix 

#Don't think moblin has any tools to detect the kernel version in a spec file
%define krelease `uname -r`

# needed for plague to make sure it builds for i586 and i686
ExclusiveArch:  i586
# ppc disabled because broadcom only provides x86 and x86_64 bits

%description
These packages contain Broadcom's IEEE 802.11a/b/g/n hybrid Linux device
driver for use with Broadcom's BCM4311-, BCM4312-, BCM4321-, and BCM4322
based hardware.

NOTE: You must read the LICENSE.txt file in the docs directory before using
this software.

%prep
cd %{_sourcedir}
#Attempt to download the source files if they're not on the source dir
file1=`basename %{source32_url}`
if [ ! -f "$file1" ]; then
  wget --timeout=5 %{source32_url}
fi

%setup -q -c -T
source_arch32=`basename %{source32_url}`
mkdir %{name}-%{version}-src
pushd %{name}-%{version}-src
tar xzf %{_sourcedir}/$source_arch32
#%patch0 -p2 -b .mutexSema
#%patch1 -p2 -b .semaphore
%patch2 -p2 -b .license
popd

%build
pushd %{name}-%{version}-src
/usr/bin/make -C /lib/modules/%{krelease}/build M=`pwd` modules
popd

%install
instdir="%buildroot/lib/modules/%{krelease}"
pushd %{name}-%{version}-src
mkdir -p "$instdir"
install -m 644 *.ko "$instdir"
popd

chmod 0755 "$instdir"

%clean
rm -rf $RPM_BUILD_ROOT

%post
depmod -a "%{krelease}"

%files
%defattr (-, root, root)
/lib/modules

%changelog
* Sun Jan 15 2011 Avis Phoenix  - 5.100.82.112
-Update release

* Wed Jan 5  2011 Glen Gray  - 5.100.82.38-1
- Updated release

* Tue Nov 16 2010 Glen Gray  - 5.60.246.6-1
- Updated release

* Thu Oct 21 2010 Glen Gray  - 5.60.246.2-1
- Updated to latest release

* Fri Feb 19 2010 Glen Gray  - 5.60.48.36-1
- Updated to latest driver.

* Fri Sep 18 2009 Glen Gray  - 5.10.91.9.3-1
- Broadcom bumped the driver version slightly and now no longer needs
- the extra patches to compile on the 2.6.30 kernel.

* Wed Jul 15 2009 Glen Gray  - 5.10.91.9-3
- rebased off the rpmfusion source rpm
- patch to compile against 2.6.30.1 (requires kernel to be compiled with )
- Don't include the Broadcom source code, download it from their servers at
  build time.

* Wed May 20 2009 Glen Gray  - 5.10.79.10-2
- Ported the RPMFusion package to MoblinV2

* Sat Mar 28 2009 Chris Nolan  - 5.10.79.10-2
- repatched to load lib80211_crypt_tkip module - bug #466

* Wed Mar 25 2009 Thorsten Leemhuis  - 5.10.79.10-1.1
- rebuild for new kernels

* Sun Mar 08 2009 Chris Nolan  - 5.10.79.10-1
- update version to 5.10.79.10

* Tue Feb 24 2009 Thorsten Leemhuis  - 5.10.27.14-2.1
- rebuild for latest Fedora kernel;

* Mon Feb 23 2009 Chris Nolan  - 5.10.27.14-2
- added patch for building against 2.6.29 kernel

* Fri Feb 13 2009 Thorsten Leemhuis  - 5.10.27.14-1.2
- rebuild for latest Fedora kernel;

* Tue Feb 03 2009 Thorsten Leemhuis  - 5.10.27.14-1.1
- rebuilt

* Sun Feb 01 2009 Chris Nolan  - 5.10.27.14-1
- update version to 5.10.27.14

* Sat Jan 24 2009 Thorsten Leemhuis  - 5.10.27.12-1.1
- rebuild for latest Fedora kernel;

* Sun Jan 04 2009 Chris Nolan  - 5.10.27.12-1
- Update version to 5.10.27.12
- Remove vlanmode and build patches

* Wed Dec 31 2008 Chris Nolan  5.10.27.11-1
- Update version to 5.10.27.11

* Sat Dec 20 2008 Thorsten Leemhuis  - 5.10.27.6-5.8
- rebuild for latest Fedora kernel;

* Sat Dec 06 2008 Thorsten Leemhuis  - 5.10.27.6-5.7
- rebuild for latest Fedora kernel;

* Tue Dec 02 2008 Thorsten Leemhuis  - 5.10.27.6-5.6
- rebuild for latest Fedora kernel;

* Sat Nov 22 2008 Thorsten Leemhuis  - 5.10.27.6-5.5
- rebuild for latest Fedora kernel;

* Wed Nov 19 2008 Thorsten Leemhuis  - 5.10.27.6-5.4
- rebuild for latest Fedora kernel;

* Tue Nov 18 2008 Thorsten Leemhuis  - 5.10.27.6-5.3
- rebuild for latest Fedora kernel;

* Fri Nov 14 2008 Thorsten Leemhuis  - 5.10.27.6-5.2
- rebuild for latest Fedora kernel;

* Sun Nov 09 2008 Thorsten Leemhuis  - 5.10.27.6-5.1
- rebuild for latest Fedora kernel;

* Sat Nov 08 2008 Chris Nolan  5.10.27.6-5
- Fixed incorrect use of /usr/src/kernels/${kernel_version%%___*}

* Sun Nov 02 2008 Chris Nolan  5.10.27.6-4
- Just a spec file tidy up, nothing new

* Thu Oct 30 2008 Chris Nolan  5.10.27.6-3
- Moved userland package broadcom-wl into separate package

* Mon Oct 27 2008 Chris Nolan  5.10.27.6-2
- Patch to fix vlanmode issue which prevents SSH connections when the driver is used.
- Changed kmod name to wl-kmod as per convention
- Added userland package broadcom-wl which provides kmod-wl-common which contains the required license doc

* Sat Oct 25 2008 Jarod Wilson  5.10.27.6-1
- Initial build.

————————————————————————————————————————————–

Después deben crear el archivo .src.rpm  con el siguiente comando (para esto deben de haber bajado todos los paquetes que indica Slaine en su guía):

rpmbuild -bs wl-kmod.spec

Esto te crea archivos en el directorio rpmbuild/SRPM/
Finalmente siguen los pasos de la guía pero con su nuevo archivo, es decir ejecutan:

rpmbuild --rebuild --target=i586 wl-kmod-5.100.82.112-1.src.rpm

e instalan:

sudo rpm -ivh ~/rpmbuild/RPMS/i586/wl-kmod-5.100.82.38-1.i586.rpm

PostData: en caso de tener problemas la verdad mejor preguntenle a Slaine el fue el que creo el script del .spec y el sabe como funciona todo, mi conocimiento sólo alcanza para resolver como actualizar la dirección del paquete fuente. Suerte y espero que le sirva a alguien.

Git Sourceforge

Actualmente estoy empezando un proyecto dentro del sourceforge y para mi fue una pesadilla usar el git, busqué por internet y si encontré tutoriales básicos bastante buenos ( http://www.boliviaonrails.com/2009/03/03/como-usar-git/), pero me fue muy dificil asociarlo con el espacio que me dan en sourceforge …

Después de leer varios articulos de internet, y fletarme un poco de la refencia de Git, encontré algo descente que  funcionó , primero lean el tutorial que menciono arriba, para entender las instrucciones que voy a poner:

#git  init
#git add .gitignore
#git add .
#git commit -m "Hello World"
#git log
>commit b973ede4b66fa6628e459e3193cfdd507f195329
>Author: Yo Mero <mi@mail.com>
>Date:   Tue Jan 17 21:20:15 2012 -0600
>
>    Hello World
#git checkout -b actual b973ede4b66fa6628e459e3193cfdd507f195329
#git merge actual

Esta es la parte nueva realmente del tutorial anterior, lo que hace es agregarle una ubicación en la web, la dirección la da el proyecto en la sección de code, generalmente dice : git clone ssh://user@git.code.sf.net/p/project/code, y después (push) sube a internet lo que haya en la rama «master» (en este caso, parece que puedes especificar que rama actualizar), realmente es facil de usar, solo que no hay mucha ayuda ni en sourceforge ni en internet, por lo menos no en español

git remote add origin ssh://user@git.code.sf.net/p/project/code
git push origin master