Posted
over 12 years
ago
Hi All,
Actually this report is 2 days late, those who have already added my repository and updated it should have the sax3-touchpad module.
For others, you can get it here
http://download.opensuse.org/repositories/home:/manugupt1/
From now on, I
... [More]
will focus a lot on fixing issues and polishing the UI, specially the touchpad one and yes offcourse clean some code.
I have moved to code.google.com but the transition is not complete yet
[Less]
|
Posted
over 12 years
ago
Some time ago I wrote a blog post about osc in Gentoo. As I already stated there, we’ve got some pretty cool technologies in openSUSE and I would like to promote them everywhere. And as I’m also partially Gentoo user and I have many Gentoo friends
... [More]
, I’m trying to make some of the coolest openSUSE technologies available on Gentoo. One of the cool things we’ve got is libYUI.
What is libYUI?
As name suggests, libYUI is a library. It is yet another graphical toolkit you can write your application in. Why is it cool and not lame? Because it is actually abstraction over already existing toolkits. You can write application using libYUI, compile it and run it and depending on what you have installed. During runtime, it will select the best toolkit available. There are currently three different plugins for libYUI. Qt, GTK and ncurses. And depending on what you have installed, application can behave like native Qt application to fit nicely into your KDE environment or behave like GTK application to fit Gnome/Xfce. And it can even look like ncurses application, so you can run it on your server without X! Isn’t it awesome? All this just from one code.
This library was originally created for YaST, openSUSE configuration utility. But this summer, one of our GSoC project was to make it independent of YaST and openSUSE infrastructure. If you are interested in current progress of this GSoC project, you can read blog posts by N.B.Prashanth. He is not only making it openSUSE independent, but he is also fixing documentation and creating examples, so you can start using it much easier!
So now you all know, that libYUI is cool, right? And that it is no longer openSUSE specific technology and you can start using it for any project you like. Here comes my little contribution. From Monday, libYUI is part of Gentoo portage tree as x11-libs/libyui. Currently only available for ~amd64, but ebuilds are there, you can unmask it on other architectures and you’ll see. If it doesn’t work, file a bug report I tried it to run SaX3 on Gentoo and it works So if you are going to write an application that can make a use of both ncurses and graphical interface, check out libYUI, it can make you life easier [Less]
|
Posted
over 12 years
ago
Thanks to everyone who attended my talk during the
Desktop Summit!
I hope you enjoyed it as much as I did preparing it.
The slides are now online: Software
that has the Quality Without A Name (ODP).
... [More]
The presentation is heavy on pictures and light on text,
but there are rather extensive notes which you can read
by scrolling down each page.
The destruction of human space
The Pergamon Museum
in Berlin hosts extremely impressive things: the
Ishtar Gate from the city of Babylon, the Pergamon altar
to Telephus, the Market Gate of Miletus... all of them
major architectural works.
The building of the museum itself is a nice,
neo-classical building. This is what it used to look
like, courtesy of Wikipedia.
Looking at that central courtyard, you can see that the
museum has two wings plus a central building that
connects them. That central section has big letters
that tell you the name of the museum.
And then the modernists took over. This is the
monstrosity they are building now:
Apparently a 360-degree screen was enough justification
to destroy the nice space that the courtyard used to
provide. And you cannot see the museum's name anymore -
the big metal cylinder obstructs it.
[Less]
|
Posted
over 12 years
ago
Doing a live upgrade in openSUSE to the latest version has certain advantages:
You only download the packages that need to be upgraded, saving a lot of bandwidth.
During the upgrade you can still use your system (although this is not recommended);
... [More]
the only downtime will be the reboot after the upgrade.
You do not have to write an ISO image to a DVD. You could also boot from 1) the Internet; or 2) a USB key, and install the rest from the Internet
The disadvantages:
If, for any reason, the upgrade is interrupted (e.g., power outages, network disconnect) and the process can’t continue, you could be left with a broken system (that depends on where the process stopped, of course).
If you have multiple systems to upgrade, you consume bandwidth each time, which is less efficient than downloading an ISO image.
The upgrade can be done on the command line or via the YaST module Wagon (if you are on an OpenSUSE desktop). Since the Wagon method is less tested than the command line update, we will use the command line method here for both servers and desktops.
1. Install the latest updates
Before doing the distribution upgrade, install the latest updates for OpenSUSE 11.3. Open a terminal and run
$ sudo zypper repos --uri
to check what repositories are used and enabled on the system.
Make sure that the line that contains http://download.opensuse.org/update/11.3/ in the URI column reads “Yes” in the “Enabled” column:
# | Alias | Name | Enabled | Refresh | URI
---+-------------------------------------+-------------------------------------+---------+---------+--------------------------------------------------------------------------------------------
1 | Packman Repository | Packman Repository | Yes | Yes | http://ftp.uni-erlangen.de/pub/mirrors/packman/suse/openSUSE_11.3
2 | Updates for openSUSE 11.3 11.3-1.82 | Updates for openSUSE 11.3 11.3-1.82 | Yes | Yes | http://download.opensuse.org/update/11.3/
3 | devel_languages_ruby_extensions | Ruby Extensions (openSUSE_11.4) | Yes | No | http://download.opensuse.org/repositories/devel:/languages:/ruby:/extensions/openSUSE_11.4/
4 | google-chrome | google-chrome | Yes | Yes | http://dl.google.com/linux/chrome/rpm/stable/i386
5 | openSUSE-11.3 11.3-1.82 | openSUSE-11.3 11.3-1.82 | Yes | No | cd:///?devices=/dev/sr0
6 | openSUSE:Tools | openSUSE:Tools | Yes | Yes | http://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_11.3/
7 | openSUSE_Tools | openSUSE.org tools (openSUSE_11.3) | Yes | No | http://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_11.3/
8 | packman | Packman repository (openSUSE_11.3) | Yes | No | http://packman.inode.at/suse/openSUSE_11.3
9 | repo-debug | openSUSE-11.3-Debug | No | Yes | http://download.opensuse.org/debug/distribution/11.3/repo/oss/
10 | repo-non-oss | openSUSE-11.3-Non-Oss | Yes | Yes | http://download.opensuse.org/distribution/11.3/repo/non-oss/
11 | repo-oss | openSUSE-11.3-Oss | Yes | Yes | http://download.opensuse.org/distribution/11.3/repo/oss/
12 | repo-source | openSUSE-11.3-Source | No | Yes | http://download.opensuse.org/source/distribution/11.3/repo/oss/
13 | ruby-devel | ruby-devel | Yes | No | http://download.opensuse.org/repositories/devel:/languages:/ruby:/extensions/openSUSE_11.3/
14 | server-database-unstable | server-database-unstable | Yes | Yes | http://download.opensuse.org/repositories/server:/database:/UNSTABLE/openSUSE_11.3
If the line reads “No” in the “Enabled” column, enable the repository as follows:
$ sudo zypper modifyrepo --enable #Alias_name
If there’s no repository with the URI http://download.opensuse.org/update/11.3/, then add the repository:
$ sudo zypper addrepo --check --name 'openSUSE-11.3-Update' http://download.opensuse.org/update/11.3/ repo-update
Now, install the latest updates:
$ sudo zypper refresh
Repository 'Packman Repository' is up to date.Repository 'Updates for openSUSE 11.3 11.3-1.82' is up to date.Repository 'Ruby Extensions (openSUSE_11.4)' is up to date.Repository 'google-chrome' is up to date.Repository 'openSUSE:Tools' is up to date.Repository 'openSUSE.org tools (openSUSE_11.3)' is up to date.Repository 'Packman repository (openSUSE_11.3)' is up to date.Repository 'openSUSE-11.3-Non-Oss' is up to date.Repository 'openSUSE-11.3-Oss' is up to date.Repository 'ruby-devel' is up to date.Repository 'server-database-unstable' is up to date.All repositories have been refreshed.
And
$ sudo zypper update
Loading repository data...Reading installed packages...
The following package updates will NOT be installed:
gpg2 gstreamer-0_10 gstreamer-0_10-plugin-gnomevfs gstreamer-0_10-plugins-base k3b k3b-lang kaffeine libassuan0 libgstapp-0_10-0 libgstinterfaces-0_10-0 libgstreamer-0_10-0 libmariadbclient16 libmariadbclient_r16 libmysqlclient16 libsndfile libtag-extras1 libxine1 libxine1-gnome-vfs libxine1-pulse mjpegtools perl-Try-Tiny python-numpy rubygem-actionmailer-2_3 rubygem-actionpack-2_3 rubygem-activerecord-2_3 rubygem-activeresource-2_3 rubygem-activesupport-2_3 rubygem-daemons rubygem-delayed_job rubygem-exception_notification rubygem-libxml-ruby rubygem-rack rubygem-rails-2_3 rubygem-rails_xss rubygem-rake rubygem-sqlite3 taglib
The following NEW packages are going to be installed:
build-mkbaselibs build-mkdrpms libreoffice-languagetool-en obs-service-download_files obs-service-format_spec_file obs-service-source_validator perl-Package-Stash-XS rubygem-rbx-require-relative
The following package is going to be REMOVED:
OpenOffice_org-LanguageTool-en
The following packages are going to be upgraded:
broadcom-wl build chromium-ffmpeg cpanspec dbus-1 flash-player foomatic-filters gimp gimp-help-browser gimp-module-hal gimp-plugins-python glib2 google-chrome-stable icedtea-web inst-source-utils iproute2 kernel-default kernel-desktop libapr1 libapr-util1 libfreetype6 libsndfile libsoup-2_4-1 libxml2 obs-api obs-productconverter obs-server obs-service-extract_file obs-service-recompress obs-service-set_version obs-service-tar_scm obs-source_service obs-utils obs-worker osc osc-source_validator perl-BSSolv perl-Package-Stash perl-Params-Util perl-Parse-CPAN-Packages perl-YAML permissions preload-kmp-default preload-kmp-desktop pullin-msttf-fonts rubygem-columnize rubygem-gem_plugin rubygem-linecache rubygem-mongrel rubygem-ruby-debug rubygem-ruby-debug-base telnet udisks yast2-mail
54 packages to upgrade, 8 new, 1 to remove.Overall download size: 123.6 MiB.
After the operation, additional 11.8 MiB will be used.Continue? [y/n/?] (y): y
In order to install 'flash-player', you must agree to terms of the following license agreement:
Do you agree with the terms of the license? [yes/no] (no): yes
Then kick back, and let zypper retrieve and install / upgrade these packages.
There are some running programs that use files deleted by recent upgrade.
You may wish to restart some of them. Run 'zypper ps' to list these programs.
2. Run the distribution upgrade
Now that the latest updates are installed, disable all OpenSUSE 11.3 repositories:
$ sudo zypper modifyrepo --all --disable
Repository 'Packman Repository' has been successfully disabled.
Repository 'Updates for openSUSE 11.3 11.3-1.82' has been successfully disabled.
Repository 'devel_languages_ruby_extensions' has been successfully disabled.
Repository 'google-chrome' has been successfully disabled.
Repository 'openSUSE-11.3 11.3-1.82' has been successfully disabled.
Repository 'openSUSE:Tools' has been successfully disabled.
Repository 'openSUSE_Tools' has been successfully disabled.
Repository 'packman' has been successfully disabled.
Nothing to change for repository 'repo-debug'.
Repository 'repo-non-oss' has been successfully disabled.
Repository 'repo-oss' has been successfully disabled.
Nothing to change for repository 'repo-source'.
Repository 'ruby-devel' has been successfully disabled.
Repository 'server-database-unstable' has been successfully disabled.
And enable the OpenSUSE 11.4 repositories:
$ sudo zypper addrepo --name "openSUSE-11.4 OSS" http://download.opensuse.org/distribution/11.4/repo/oss/ repo-11.4-oss
Adding repository 'openSUSE-11.4 OSS' [done]
Repository 'openSUSE-11.4 OSS' successfully added
Enabled: Yes
Autorefresh: No
URI: http://download.opensuse.org/distribution/11.4/repo/oss/
$ sudo zypper addrepo --name "openSUSE-11.4 Non-OSS" http://download.opensuse.org/distribution/11.4/repo/non-oss/ repo-11.4-non-oss
Adding repository 'openSUSE-11.4 Non-OSS' [done]
Repository 'openSUSE-11.4 Non-OSS' successfully added
Enabled: Yes
Autorefresh: No
URI: http://download.opensuse.org/distribution/11.4/repo/non-oss/
$ sudo zypper addrepo --name "openSUSE-11.4 Updates" http://download.opensuse.org/update/11.4/ repo-11.4-update
Adding repository 'openSUSE-11.4 Updates' [done]
Repository 'openSUSE-11.4 Updates' successfully added
Enabled: Yes
Autorefresh: No
URI: http://download.opensuse.org/update/11.4/
Now, the repositories look like this:
$ sudo zypper repos --uri
# | Alias | Name | Enabled | Refresh | URI
---+-------------------------------------+-------------------------------------+---------+---------+--------------------------------------------------------------------------------------------
1 | Packman Repository | Packman Repository | No | Yes | http://ftp.uni-erlangen.de/pub/mirrors/packman/suse/openSUSE_11.3
2 | Updates for openSUSE 11.3 11.3-1.82 | Updates for openSUSE 11.3 11.3-1.82 | No | Yes | http://download.opensuse.org/update/11.3/
3 | devel_languages_ruby_extensions | Ruby Extensions (openSUSE_11.4) | No | No | http://download.opensuse.org/repositories/devel:/languages:/ruby:/extensions/openSUSE_11.4/
4 | google-chrome | google-chrome | No | Yes | http://dl.google.com/linux/chrome/rpm/stable/i386
5 | openSUSE-11.3 11.3-1.82 | openSUSE-11.3 11.3-1.82 | No | No | cd:///?devices=/dev/sr0
6 | openSUSE:Tools | openSUSE:Tools | No | Yes | http://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_11.3/
7 | openSUSE_Tools | openSUSE.org tools (openSUSE_11.3) | No | No | http://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_11.3/
8 | packman | Packman repository (openSUSE_11.3) | No | No | http://packman.inode.at/suse/openSUSE_11.3
9 | repo-11.4-non-oss | openSUSE-11.4 Non-OSS | Yes | No | http://download.opensuse.org/distribution/11.4/repo/non-oss/
10 | repo-11.4-oss | openSUSE-11.4 OSS | Yes | No | http://download.opensuse.org/distribution/11.4/repo/oss/
11 | repo-11.4-update | openSUSE-11.4 Updates | Yes | No | http://download.opensuse.org/update/11.4/
12 | repo-debug | openSUSE-11.3-Debug | No | Yes | http://download.opensuse.org/debug/distribution/11.3/repo/oss/
13 | repo-non-oss | openSUSE-11.3-Non-Oss | No | Yes | http://download.opensuse.org/distribution/11.3/repo/non-oss/
14 | repo-oss | openSUSE-11.3-Oss | No | Yes | http://download.opensuse.org/distribution/11.3/repo/oss/
15 | repo-source | openSUSE-11.3-Source | No | Yes | http://download.opensuse.org/source/distribution/11.3/repo/oss/
16 | ruby-devel | ruby-devel | No | No | http://download.opensuse.org/repositories/devel:/languages:/ruby:/extensions/openSUSE_11.3/
17 | server-database-unstable | server-database-unstable | No | Yes | http://download.opensuse.org/repositories/server:/database:/UNSTABLE/openSUSE_11.3
Search for updated openSUSE 11.4 compatible third-party repositories that you used before and add them.
$ sudo zypper addrepo --name <name> <url> <alias>
For example, if you used the VirtualBox repository in 11.3, you can enable the VirtualBox repository in 11.4 like this:
$ sudo zypper addrepo --name "VirtualBox for openSUSE 11.4" http://download.virtualbox.org/virtualbox/rpm/opensuse/11.4 virtualbox-11.4
(Use values for Name and Alias that are not in use yet.) Be aware that using third-party repositories could increase the chances that the upgrade will not complete correctly.
Now, run the full distribution upgrade:
$ sudo zypper ref
This retrieves the metadata for the 11.4 repositories (i.e., openSUSE-11.4 Non-OSS, openSUSE-11.4 OSS, and openSUSE-11.4 Updates), and builds up caches for those repositories.
Retrieving repository 'openSUSE-11.4 Non-OSS' metadata [done]
Building repository 'openSUSE-11.4 Non-OSS' cache [done]
Retrieving repository 'openSUSE-11.4 OSS' metadata [done]
Building repository 'openSUSE-11.4 OSS' cache [done]
Retrieving repository 'openSUSE-11.4 Updates' metadata [done]
Building repository 'openSUSE-11.4 Updates' cache [done]
All repositories have been refreshed.
Then, do
$ sudo zypper dup
This zypper command will download the required packages when it installs them. You may download all packages in advance:
$ zypper dup --download "in-advance"
The lengthy output goes like this:
The following product is going to be upgraded:
openSUSE 11.4
The following packages are going to be reinstalled:
bind-libs bind-utils flash-player icedtea-web java-1_6_0-sun java-1_6_0-sun-devel libmariadbclient16 libmariadbclient_r16 libreoffice-branding-openSUSE mozilla-js192 mozilla-xulrunner192
mozilla-xulrunner192-gnome perl-Algorithm-C3 perl-Class-C3 perl-Class-C3-XS perl-MRO-Compat perl-Scope-Guard timezone timezone-java
The following packages are going to change architecture:
ghostscript-fonts-other i586 -> noarch
ghostscript-fonts-std i586 -> noarch
perl-Archive-Zip i586 -> noarch
perl-Digest-HMAC i586 -> noarch
perl-Error i586 -> noarch
perl-IO-Socket-INET6 i586 -> noarch
perl-IO-Socket-SSL i586 -> noarch
perl-libwww-perl i586 -> noarch
perl-Net-Server i586 -> noarch
perl-Parse-RecDescent i586 -> noarch
perl-Pod-POM i586 -> noarch
perl-Text-Autoformat i586 -> noarch
perl-Text-Reform i586 -> noarch
perl-URI i586 -> noarch
perl-XML-Writer i586 -> noarch
python-iniparse i586 -> noarch
. . .
1125 packages to upgrade, 74 to downgrade, 165 new, 19 to reinstall, 99 to remove, 42 to change vendor, 16 to change arch.
Overall download size: 982.3 MiB. After the operation, 27.9 MiB will be freed.
Continue? [y/n/?] (y): y
. . .
Then, a bunch of license agreements come up. Press Enter to get to the bottom of the page and type “yes.”
In order to install 'openSUSE 11.4' (product), you must agree to terms of the following license agreement:
LICENSE AGREEMENT openSUSE® 11.4
. . .
In order to install 'fetchmsttfonts', you must agree to terms of the following license agreement:
END-USER LICENSE AGREEMENT FOR MICROSOFT SOFTWARE
. . .
In order to install 'java-1_6_0-sun-devel', you must agree to terms of the following license agreement:
Operating System Distributor License for Java version 1.1
. . .
In order to install 'java-1_6_0-sun', you must agree to terms of the following license agreement:
Operating System Distributor License for Java version 1.1
. . .
In order to install 'flash-player', you must agree to terms of the following license agreement:
ADOBE® SOFTWARE LICENSE AGREEMENTNOTICE TO USER
. . .
You can run zypper dup from time to time to ensure you have the latest available packages from the various repositories that you have enabled. YOU (Yast Online Update) only addresses security updates from the official repositories.
Lastly, reboot… and enjoy your new OpenSUSE 11.4 system!
- – - – - – -
You can also find this post on my other blog. [Less]
|
Posted
over 12 years
ago
Broadcom is a real nag. Buying a laptop with Broadcom wireless network card never bothered me until I installed several Linux distros and things started to go less smoothly… especially when you do not have wired ethernet nearby and wireless is all
... [More]
you get.
On the other hand, installing the Broadcom wireless driver for different Linux distros is a great learning experience.
Previously, I talked about how to activate the Broadcom STA wireless driver in Fedora 14. It turns out the activation is slightly different in openSUSE.
The following works on openSUSE 11.3, 11.4, Mint 10 Julia, Ubuntu 10.x, Kubuntu 10.x, and LMDE.
To make Wi-Fi work in openSUSE 11.4, first download the tarball containing Broadcom’s IEEE 802.11a/b/g/n hybrid Linux device driver from http://www.broadcom.com/support/802.11/linux_sta.php
The cards with the following PCI Device IDs are supported with this driver.
Both Broadcom and and Dell product names are described. Cards not listed here
may also work.
BRCM PCI PCI Dell
Product Name Vendor ID Device ID Product ID
------------- ---------- --------- -----------
4311 2.4 Ghz 0x14e4 0x4311 Dell 1390
4311 Dualband 0x14e4 0x4312 Dell 1490
4311 5 Ghz 0x14e4 0x4313
4312 2.4 Ghz 0x14e4 0x4315 Dell 1395
4313 2.4 Ghz 0x14e4 0x4727 Dell 1501
4321 Dualband 0x14e4 0x4328 Dell 1505
4321 Dualband 0x14e4 0x4328 Dell 1500
4321 2.4 Ghz 0x14e4 0x4329
4321 5 Ghz 0x14e4 0x432a
4322 Dualband 0x14e4 0x432b Dell 1510
4322 2.4 Ghz 0x14e4 0x432c
4322 5 Ghz 0x14e4 0x432d
43224 Dualband 0x14e4 0x4353 Dell 1520
43225 2.4 Ghz 0x14e4 0x4357
43227 2.4 Ghz 0x14e4 0x4358
43228 Dualband 0x14e4 0x4359 Dell 1530
To find the Device ID's of Broadcom cards on your machines do:
# lspci -n | grep 14e4
Untar the package:
$ tar -xvf hybrid-portsrc_x86_32-v5_100_82_38.tar.gz
And build this driver from source:
$ make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make: *** /lib/modules/2.6.37.6-0.7-desktop/build: No such file or directory. Stop.
make: *** [all] Error 2
Looks like you yet need to install the proper packages, which will create /lib/modules/”release”/build on your system. Take a quick check on what kernel packages you have:
$ rpm -qva | grep kernel
kernel-desktop-2.6.37.6-0.7.1.i586
kernel-default-2.6.37.6-0.7.1.i586
So, just install ‘kernel-devel’ (Development Package for building kernel modules to match the kernel):
$ sudo zypper install kernel-devel
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following NEW packages are going to be installed:
kernel-default-devel kernel-desktop-devel kernel-devel
3 new packages to install.
Overall download size: 20.9 MiB. After the operation, additional 50.0 MiB will be used.
Continue? [y/n/?] (y): y
Retrieving package kernel-devel-2.6.37.6-0.7.1.noarch (1/3), 7.2 MiB (35.2 MiB unpacked)
Retrieving: kernel-devel-2.6.37.6-0.7.1.noarch.rpm [done (66.3 KiB/s)]
Retrieving package kernel-desktop-devel-2.6.37.6-0.7.1.i586 (2/3), 7.1 MiB (7.8 MiB unpacked)
Retrieving: kernel-desktop-devel-2.6.37.6-0.7.1.i586.rpm [done (71.3 KiB/s)]
Retrieving package kernel-default-devel-2.6.37.6-0.7.1.i586 (3/3), 6.5 MiB (7.1 MiB unpacked)
Retrieving: kernel-default-devel-2.6.37.6-0.7.1.i586.rpm [done (49.2 KiB/s)]
Installing: kernel-devel-2.6.37.6-0.7.1 [done]
Installing: kernel-desktop-devel-2.6.37.6-0.7.1 [done]
Installing: kernel-default-devel-2.6.37.6-0.7.1 [done]
Also, install the GNU Compiler:
$ sudo zypper install gcc
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following NEW packages are going to be installed:
binutils-gold gcc gcc45
3 new packages to install.
Overall download size: 5.6 MiB. After the operation, additional 18.2 MiB will be used.
Continue? [y/n/?] (y): y
Retrieving package binutils-gold-2.21-13.1.i586 (1/3), 699.0 KiB (2.8 MiB unpacked)
Retrieving: binutils-gold-2.21-13.1.i586.rpm [done (36.0 KiB/s)]
Retrieving package gcc45-4.5.1_20101208-9.8.i586 (2/3), 5.0 MiB (15.4 MiB unpacked)
Retrieving: gcc45-4.5.1_20101208-9.8.i586.rpm [done (79.7 KiB/s)]
Retrieving package gcc-4.5-19.1.i586 (3/3), 4.0 KiB (0 B unpacked)
Retrieving: gcc-4.5-19.1.i586.rpm [done (0 B/s)]
Installing: binutils-gold-2.21-13.1 [done]
Installing: gcc45-4.5.1_20101208-9.8 [done]
Installing: gcc-4.5-19.1 [done]
Then, run make again:
$ make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory `/usr/src/linux-2.6.37.6-0.7-obj/i386/desktop'
make -C ../../../linux-2.6.37.6-0.7 O=/usr/src/linux-2.6.37.6-0.7-obj/i386/desktop/.
CC [M] /home/surfmonkey/broadcom-wl/src/shared/linux_osl.o
CC [M] /home/surfmonkey/broadcom-wl/src/wl/sys/wl_linux.o
/home/surfmonkey/broadcom-wl/src/wl/sys/wl_linux.c: In function ‘wl_attach’:
/home/surfmonkey/broadcom-wl/src/wl/sys/wl_linux.c:485:3: error: implicit declaration of function ‘init_MUTEX’
make[4]: *** [/home/surfmonkey/broadcom-wl/src/wl/sys/wl_linux.o] Error 1 make[3]: *** [_module_/home/surfmonkey/broadcom-wl] Error 2 make[2]: *** [sub-make] Error 2
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.37.6-0.7-obj/i386/desktop'
make: *** [all] Error 2
$ ls -l
total 1184
-rw-r--r-- 1 surfmonkey users 8 Aug 13 18:22 built-in.o
-rw-r--r-- 1 surfmonkey users 1195817 Aug 13 18:11 hybrid-portsrc_x86_32-v5_100_82_38.tar.gz
drwxr-xr-x 2 surfmonkey users 4096 Dec 14 2010 lib
-rw-r--r-- 1 surfmonkey users 1134 Dec 14 2010 Makefile
drwxr-xr-x 5 surfmonkey users 4096 Dec 14 2010 src
There is still an error building the driver. The expected wl.ko file wasn’t generated.
It turns out there is a compilation problem with kernel versions > 2.6.37. The kernel I have falls right into that range:
$ uname -a
Linux opensuse 2.6.37.6-0.7-desktop #1 SMP PREEMPT 2011-07-21 02:17:24 +0200 i686 i686 i386 GNU/Linux
We need to apply a patch to fix the ‘init_MUTEX’ compile problem on newer (> 2.6.37) kernels.
At the top level of the driver source folder (where ”ls” should show at least src, lib, Makefile), create a file which I named “patch.” Fill in the following lines:
--- src/wl/sys/wl_linux.c 2011-05-20 12:07:25.303356739 -0700
+++ src/wl/sys/wl_linux.c.new 2011-05-20 12:07:13.663356735 -0700
@@ -481,9 +481,9 @@
if (WL_ALL_PASSIVE_ENAB(wl)) {
#ifdef WL_ALL_PASSIVE
spin_lock_init(&wl->txq_lock);
#endif
- init_MUTEX(&wl->sem);
+ sema_init(&wl->sem, 1);
}
if (!(wl->wlc = wlc_attach((void *) wl, vendor, device, unit, wl->piomode,
osh, wl->regsva, wl->bcm_bustype, btparam, &err))) {
Save it, and go back to the command line:
$ patch -p0 < patch
patching file src/wl/sys/wl_linux.c
patch unexpectedly ends in middle of line
Hunk #1 succeeded at 481 with fuzz 1.
Try building the driver again:
$ make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory `/usr/src/linux-2.6.37.6-0.7-obj/i386/desktop'
make -C ../../../linux-2.6.37.6-0.7 O=/usr/src/linux-2.6.37.6-0.7-obj/i386/desktop/.
CC [M] /home/surfmonkey/broadcom-wl/src/wl/sys/wl_linux.o
CC [M] /home/surfmonkey/broadcom-wl/src/wl/sys/wl_iw.o
LD [M] /home/surfmonkey/broadcom-wl/wl.o
Building modules, stage 2.
MODPOST 1 modules
WARNING: modpost: missing MODULE_LICENSE() in /home/surfmonkey/broadcom-wl/wl.o
see include/linux/module.h for more information
CC /home/surfmonkey/broadcom-wl/wl.mod.o
LD [M] /home/surfmonkey/broadcom-wl/wl.ko
make[1]: Leaving directory `/usr/src/linux-2.6.37.6-0.7-obj/i386/desktop'
Do a quick “ls” to make sure the wl.ko file has been successfully created.
$ ls -l
total 8100
-rw-r--r-- 1 surfmonkey users 8 Aug 13 18:22 built-in.o
drwxr-xr-x 2 surfmonkey users 4096 Dec 14 2010 lib
-rw-r--r-- 1 surfmonkey users 1134 Dec 14 2010 Makefile
-rw-r--r-- 1 surfmonkey users 42 Aug 13 18:30 modules.order
-rw-r--r-- 1 surfmonkey users 0 Aug 13 18:30 Module.symvers
-rw-r--r-- 1 surfmonkey users 437 Aug 13 18:30 patch
drwxr-xr-x 5 surfmonkey users 4096 Dec 14 2010 src
-rw-r--r-- 1 surfmonkey users 3527159 Aug 13 18:30 wl.ko
-rw-r--r-- 1 surfmonkey users 4646 Aug 13 18:30 wl.mod.c
-rw-r--r-- 1 surfmonkey users 39660 Aug 13 18:30 wl.mod.o
-rw-r--r-- 1 surfmonkey users 3488826 Aug 13 18:30 wl.o
Now, let’s do a fresh install of the wl driver, since the system was just upgraded live to openSUSE 11.4 and no previous version of the wl driver has been running.
First, check if there’s any other driver for Broadcom wireless device on the system:
$ lsmod | grep "b43\|ssb\|wl"
$ [blank]
Looks good. If any of these are installed, remove them:
# rmmod b43
# rmmod ssb
# rmmod wl
And blacklist these drivers and prevent them from loading in the future:
# echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf
# echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf
At root,
# cp wl.ko /lib/modules/`uname -r’/kernel/net/wireless/
# insmod wl.ko
insmod: can't read 'wl.ko': No such file or directory
You could skip insmod wl.ko if it doesn’t work.
Make sure you’re root “su -“. Otherwise, you’d get this:
$ sudo insmod wl.ko
root's password:
sudo: insmod: command not found
Proceed to
# modprobe lib80211
# depmod -a
# modprobe wl
Now, check your Network Manager, and you should see wireless networks immediately.
In openSUSE, the module will be loaded on boot. In Mint/Ubuntu/Kubuntu/LMDE, users will need to add it manually in /etc/modules file.
- – – – – – – – – -
You can also find this post on my other blog. [Less]
|
Posted
over 12 years
ago
OpenSUSE 11.4 Review: http://cristalinux.blogspot.com/2011/03/opensuse-114-review.html
|
Posted
over 12 years
ago
I wanted to create a flowchart of the autoinstallation process since quite a while. Last week I visited a customer and the question “When do all the scripts actually run?” came up. So I decided that it’s really time now to go through the boring time
... [More]
consuming process of drawing a new chart. So here it is.
It only reflects the autoinstallation and even there some steps are missing (to keep the flowchart at a reasonable size) but I tried to cover everything that is important to know. I think 99% of the people should find every step they need to know about in the chart – at least that was my intention
If anything is missing, wrong or confusing – let me know please. Either in the comments, on the mailinglist or via email to me.
You can click on the image for the large version and you can find a PDF version here too.
I hope this is helpful but if you are new to AutoYaST and the chart scares you, I can tell you that you don’t have to know or understand every step. You can do a complete autoinstallation with almost no knowledge about what’s going on under the hood as you can see here.
P.S.: the flowchart was created with openSUSE 11.4 and SLES11-SP2 on my mind but it’s almost correct for older versions too. I’ll try to keep it uptodate in the future and the latest version can always be found on my SUSE homepage.
have fun – Uwe [Less]
|
Posted
over 12 years
ago
The 5 Ws of contributing to openSUSE
I'm going to be holding a Bof at the openSUSE Conference all about the 5 Ws of contributing to openSUSE. WTF is it about? Well I'm glad you asked (I don't care if you didn't ask, because I'm going
... [More]
to tell you anyway ;-) )My intention is to have as interactive a session possible, I will take on the role of compère and with audience participation I will try and highlight where we have issues both as a project and as a contributor and try and get to some form of resolution even if it is just a plan not an actual fix.So what on earth are the 5 Ws? Well they are Who (would contribute), Why (they would contribute), hoW (they can contribute), What (they would contribute), Where (they would contribute). I would also like to talk about the tools that are available for contribution and how they can be improved.The key factor to this BoF session is audience participation, with out you the community it will be pointless. I want to see old hands and new blood at the session, and be honest. If you have a grievence then air it, if you feel there is a blocker let us know. Conversly if you think something is done right let us know, we are too proud a project & community to give ourselves credit. Everyone needs a bit of a pat on the back once in a while ;-)So please come along and join in the discussion :-)
[Less]
|
Posted
over 12 years
ago
I'm back from the desktop summit, back from Berlin. It was an intense event, lots of great people, lots of great content. So I arrived at home tired, but inspired. Read on for my personal conclusion.The conference was excellent. All the presentations
... [More]
I saw were of high quality. It also turned out to be exactly the right thing to put everything into one program, independent of affiliation of speakers or targeted community. I enjoyed the opportunity to learn more about some projects I'm usually not following that much. It was also great to have presentations done jointly by people from different communities, like the one from Lydia and Seif, or the upstream/downstream discussion led by Vincent, or the intern show case lightning talks.One of the highlights of the conference was the panel discussion about copyright assignment. It's a complex topic, but the panelists brought up good arguments and lot of food for thought. Mark spoiled his argumentation a bit at the end by introducing his generosity concept. This certainly has its place when talking about motivation in a community, but in the context of legal agreements with companies it's very questionable, if generosity should be a dominant concept. My takeaway from the panel and some other discussions I had at the summit is that KDE e.V. is in a very good position here with the Fiduciary License Agreement, we optionally provide for KDE contributors. This provides a good balance of the different interests and adds safety for contributors and community.The other big thing at the desktop summit was the general assembly of KDE e.V. It was a very focused and organized session. Mirko led it in record time. Lydia was elected as new board member replacing Adriaan, and I was reelected for my third term. In the afternoon we had a good BoF session about KDE e.V. questions, and we had a very good discussion about how to involve more people in KDE e.V. work. There is a lot to do, which is very important to be able to sustain the support for the community, expanding the individual supporting membership program, managing relations to existing and new corporate partners, maintaining our trademarks, keeping up and improving our infrastructure for sprints, membership, and KDE e.V. work, the next Akademy, and much more. We will do a KDE e.V. sprint later this year to get some work done on these topics, and to involve more people beyond the members of the board.The last part of the desktop summit was the workshop week. It was packed. It felt more busy to me than at any previous event. There was a lot going on. The experiment with showing all KDE sprints of the last year in one hour worked well. We had 21 lightning talks and it was impressive to see, what happened there, how many people spend their passion and skills on these focused events. It can't be underestimated how much energy they put into the community, and how much things get done or triggered when you put a bunch of KDE people in the same room for a long weekend. For next year, I'll try to put this kind of session into the main conference program, as it really deserves to be shown to a big audience.Another nice trend from the sprints became more visible. Several people used Kanban as a method to organize, visualize, and track the work done at sprints. Kevin introduced it a while ago, and the feedback to that is very positive. It's a low tech method of managing the activities at a sprint by basically putting sticky notes on a wall. By providing some simple rules for the flow of these sticky notes through the different stages of work being done, and applying constraints to how much work is going on in parallel, it's possible to maintain some good flow. Things get done quicker and it's easier to adapt to new things coming up. I think Kanban works best for the longer sprints, where you have more than just two short days on a weekend, but it's certainly worth experimenting with it as it's designed to adapt to different needs by modifying the rules and constraints as needed.Finally I noticed two trends, which I really welcome. First is that there seems to be a growing interest in usability and design. We had design keynotes. It was said in many talks that people were looking for more involvement with designers. Technologies like QML provide new ways to involve designers and design thinking. There were usability BoFs and lots of discussion about how to better address users's needs. The second trend is that there seems to actually emerge a convincing story for KDE on devices beyond the desktop. Plasma Active is spearheading this, and many people are able to contribute there now with the ExoPCs Intel gave out for development. It could be called a mobile story, but it's more than that, because many of the concepts work on desktops as well, so it's rather about addressing the spectrum of devices we are talking about for quite a while now. This goes well with the first trend about focusing more on design, as we are exploring areas, where there don't exist many strict concepts about how to do things, and it could be seen as closer to the user as some of the other areas we are active in. Lot's of interesting stuff is happening here. I'm looking forward to what we will be able to come up with in the next future.Last but not least I was really impressed by the work of the volunteer team. They did an amazing job in making the event run very smoothly. This, together with a great venue and the support of the university, the city, and all the sponsors, provided the perfect environment for the community to have a productive and enjoyable time. The volunteer team also showed how much we can reach, when KDE and GNOME people are working together. It sets a high bar for future events. Thanks a lot to everybody involved. [Less]
|
Posted
over 12 years
ago
Recently I had to configure a serial over lan (SOL) console on a bigger Supermicro server (2042G-TRF for those who are interested) that should run Xen. This turned out to be not too easy and several issues had to be resolved.
The first thing I had to
... [More]
do was an upgrade of the BIOS. The original BIOS shared the IPMI IRQ with serial console0. This resulted in scrambled console output, regardless what I tried to do. Current BIOS versions put IPMI on IRQ 5. Before you try anything, make sure that you do not share IRQs between IPMI and a real serial console.
Then I tried to add COM3 to the console list of Xen. Unfortunately, there is no warning that Xen supports only two serial consoles, which are COM1 and COM2. The console just won’t work. Luckily, there is this nice manual to be found at:
/usr/share/doc/packackages/xen/pdf/user.pdf
In there, there are lots of parameters, and also a somewhat sparse description of how to setup the serial console. It turned out, that I had to reconfigure COM2 (likely COM1 would also have worked) to different IO and IRQ. To get the current values of IO-Port and IRQ, either look into the BIOS and write down the values there, or run a default kernel without Xen and run the following command:
dmesg | grep ttyS2
The result should look similar to this:
<6>[ 10.232117] 00:09: ttyS2 at I/O 0x3e8 (irq = 5) is a 16550A
This means, we need to set COM2 to IO-Port 0x3e8 and to IRQ 5. The only thing that is now missing is the serial line speed and mode of the serial connection. In my case, I chose a baud rate of 115200,8n1 for the connection.
Now lets put all of this together. First is the grub configuration. This is twofold. Part one is configuring grub in a way that it is also displayed in the serial console. Commonly, this is done in the global section at the beginning of /boot/grub/menu.lst :
serial --unit=2 --speed=115200
terminal --timeout=8 serial console
Unit 2 specifies the third (start counting at 0) serial console.
Part two of the grub configuration affects the Xen section. There, add the console parameters like this:
kernel (hd0,0)/xen.gz console=vga,com2 com2=115200,8n1,0x3e8,5
module (hd0,0)/vmlinuz-2.6.32.43-0.13-xen root=/dev/md1 console=tty0 console=xvc0,115200
In my case, we have root on a mirrored raid, you just have to add the console parameters and com2 parameter to the configuration file. Note that the last console that is in the module line is considered the system console by the kernel.
To make all of this permanent and survive the next kernel update, also add the parameters to /etc/sysconfig/bootloader:
XEN_KERNEL_APPEND="console=tty0 console=xvc0,115200"
XEN_APPEND="console=vga,com2 com2=115200,8n1,0x3e8,5"
Again, your options may vary.
The last configuration to be made is activating a getty for xvc0. This is accomplished in /etc/inittab. Search for a line starting with ‘#S0′. There add a line like the following:
S0:12345:respawn:/sbin/agetty -L 115200 xvc0 vt102
After doing all of this, you are ready to test your SOL console. For me, the following command works nicely:
ipmitool -I lanplus -H <IPMI-IP-Adress> -U <IPMI-User> sol activate
[Less]
|