Eric D. Schabell: Fedora
Showing posts with label Fedora. Show all posts
Showing posts with label Fedora. Show all posts

Monday, January 6, 2025

Installing Fedora 41 on Macbook Pro 13 inch (late 2011)

This weekend I decided to update my old Macbook Pro 13 inch from late 2011, with 125GB SSD and 8GB RAM. 

It's a machine I've taken on trips around the world and back in the day ran many sessions, workshops, and demos sharing all that developer goodness.

Last time we checked, this was installed using Fedora 37, so how about an update to Fedora 41?

Below are the steps and adjustments needed to get Fedora 41 working on this laptops in no time.

Monday, January 2, 2023

Installing or Upgrading to Fedora 37 on Macbook Pro 13 inch (late 2011)

This weekend I decided to update my old Macbook Pro 13 inch from late 2011, with 125GB SSD and 8GB RAM. 

It's a machine I've taken on trips around the world and back in the day ran many a session, workshop, or demo on sharing all that developer goodness.

Last time we checked, this was installed using Fedora 36, so how about an update to Fedora 37?

Tuesday, December 27, 2022

Installing Fedora 36 on Macbook Pro 13 inch (late 2011)

This weekend I decided to update my old Macbook Pro 13 inch from late 2011, with 125GB SSD and 8GB RAM. 

It's a machine I've taken on trips around the world and back in the day ran many a session, workshop, or demo on sharing all that developer goodness.

Last time we checked, this was installed using Fedora 35, so how about an update to Fedora 36?

Monday, December 27, 2021

Installing Fedora 35 on Macbook Pro 13 inch (late 2011)

Fedora 35

This weekend I decided to update my old Macbook Pro 13 inch from late 2011, with 125GB SSD and 8GB RAM. It's a machine I've taken on trips around the world and back in the day ran many a session, workshop, or demo on sharing all that AppDev goodness you know from JBoss technologies.

Last time we checked, this was installed using Fedora 33, so how about an update to Fedora 35?

Tuesday, November 24, 2020

Installing Fedora 33 on Macbook Pro 13 inch (late 2011)

fedora 33This weekend I stumbled on an old Macbook Pro 13 inch from late 2014, with 125GB SSD and 8GB RAM. It's a machine I've taken on trips around the world and back in the day ran many a session, workshop, or demo on sharing all that AppDev goodness you know from JBoss technologies.

Well, after verifying that it's battery works, charging it up, reinstalling a new osX it turns out that the Safari browser version is limited to an old security specification that means you can't connect to a lot of HTTPS sites now. This renders that solution defunct.

What to do with this old thing?

It's been a few years since I was solely working on Linux workstations as a developer, specifically on Fedora so why not try and install the latest on this Macbook Pro?

Below the steps and adjustments needed to get Fedora 33 working on this laptops in just over an hour.

Wednesday, September 28, 2011

Fedora 15 - Chrome 14.x won't start for you?

I was having this problem after and update and first ran it from the console to find out what the problem was:





# running google-chrome from the command line.
#
$ google-chrome

/opt/google/chrome/chrome: error while loading shared libraries: cannot restore segment prot after reloc: Permission denied

# seems this is due to some permission errors, so you can run chrome 
# without the sandbox...
#
$ google-chrome --no-sandbox

# ...or you can fix the permission problem by turning it off.
#
$ sudo setenforce 0

Hope this helps you get back into your Chrome experience! ;-)

Saturday, September 3, 2011

Live PHP demo: The OpenShfit Babygame is available in the Cloud!

I wanted to run through how to push a simple PHP application that used a MySQL database into the new OpenShift Express environment. Follow along as we show you how to do it.

You can jump right to the OpenShift Babygame if you can't wait to see it live at: http://babygame-ishereon.rhcloud.com/babygame.php.

 We will assume you have registered a user at http://www.openshift.com.


Get Babygame code
First step is to pull a copy of the BabyGame from github.

Next you will want to setup your client tools for OpenShift access as outlined in their Quick Start. I am running Fedora 15 so just had to add the yum repo and install rhc. This brings us to the point of actually getting into setup of our applications new home.

Create your domain
# We need to create the domain for Express to start setting up
# our URL with the client tooling using 
# rhc-create-domain -n domainname -l rhlogin
#
$ rhc-create-domain --help

Usage: /usr/bin/rhc-create-domain
Bind a registered rhcloud user to a domain in rhcloud.

  NOTE: to change ssh key, please alter your ~/.ssh/libra_id_rsa and
        ~/.ssh/libra_id_rsa.pub key, then re-run with --alter

  -n|--namespace   namespace   Namespace for your application(s) (alphanumeric - max 16 chars) (required)
  -l|--rhlogin     rhlogin     Red Hat login (RHN or OpenShift login with OpenShift Express access) (required)
  -p|--password    password    RHLogin password (optional, will prompt)
  -a|--alter                   Alter namespace (will change urls) and/or ssh key
  -d|--debug                   Print Debug info
  -h|--help                    Show Usage info

# So we setup one for the Babygame. Note that I already have setup my ssh keys for OpenShift,
# if you have not yet done that, then it will walk you through it.
#
$ rhc-create-domain -n ishereon -l [registered-user] -p [your-password]

OpenShift Express key found at /home/[homedir]/.ssh/libra_id_rsa.  Reusing...
Contacting https://openshift.redhat.com
Creation successful

You may now create an application.  Please make note of your local config file
in /home/[homedir]/.openshift/express.conf which has been created and populated for you.


Create your application
Next we want to create our application, which means we want to tell the OpenShift Express which stack we need. This is done with the rhc-create-app client tool.

# Let's take a look at the options available before we setup a php stack for
# our babygame app.
#
$ rhc-create-app --help
Contacting https://openshift.redhat.com to obtain list of cartridges...
 (please excuse the delay)

Usage: /usr/bin/rhc-create-app
Create an OpenShift Express app.

  -a|--app   application     Application name  (alphanumeric - max 16 chars) (required)
  -t|--type  type            Type of app to create (perl-5.10, jbossas-7.0, wsgi-3.2, rack-1.1, php-5.3) (required)
  -l|--rhlogin  rhlogin      Red Hat login (RHN or OpenShift login with OpenShift Express access) (Default: xxxxxxxxx)
  -p|--password  password    RHLogin password  (optional, will prompt)
  -r|--repo  path            Git Repo path (defaults to ./$app_name)
  -n|--nogit                 Only create remote space, don't pull it locally
  -d|--debug                 Print Debug info
  -h|--help                  Show Usage info

# It seems we can choose between several but we want the php-5.3 
# stack (called a cartridge). I provide a user, password and location 
# for the git repo to be created called 'babygame-express', see the 
# documentation for the defaults. Let's watch the magic happen!
#
$ rhc-create-app -a babygame -t php-5.3 -l [registered-user] -p [password] -r /home/[homedir]/git-projects/babygame-express

Found a bug? Post to the forum and we'll get right on it.
    IRC: #openshift on freenode
    Forums: https://www.redhat.com/openshift/forums

Attempting to create remote application space: babygame
Contacting https://openshift.redhat.com
API version:    1.1.1
Broker version: 1.1.1

RESULT:
Successfully created application: babygame

Checking ~/.ssh/config
Contacting https://openshift.redhat.com
Found rhcloud.com in ~/.ssh/config... No need to adjust
Now your new domain name is being propagated worldwide (this might take a minute)...
  retry # 1 - Waiting for DNS: babygame-ishereon.rhcloud.com
  retry # 2 - Waiting for DNS: babygame-ishereon.rhcloud.com
  retry # 3 - Waiting for DNS: babygame-ishereon.rhcloud.com
  retry # 4 - Waiting for DNS: babygame-ishereon.rhcloud.com
Pulling new repo down
Warning: Permanently added 'babygame-ishereon.rhcloud.com,174.129.64.40' (RSA) to the list of known hosts.
Confirming application babygame is available
  Attempt # 1

Success!  Your application is now published here:

      http://babygame-ishereon.rhcloud.com/

The remote repository is located here:

    ssh://14b02b5262ce41daba2a70ad4b01657b@babygame-ishereon.rhcloud.com/~/git/babygame.git/

To make changes to your application, commit to /home/[homedir]/git-projects/babygame-express/.
Then run 'git push' to update your OpenShift Express space

If we take a look at my given path to the repo we find a git-projects/babygame-express git repository! Note that if you decide to alter your domain name you will have to adjust the git repository config file to reflect where the remote repository is, see above the line with 'ssh:.....'. Also the page is already live at http://babygame-ishereon.rhcloud.com/, how about that!

It is just a splash screen to get you started, so now we move on to getting the babygame running.

First lets look at the provided README in our babygame-express project which gives some insight to the repository layout.

Repo layout
===========
php/ - Externally exposed php code goes here
libs/ - Additional libraries
misc/ - For not-externally exposed php code
../data - For persistent data (full path in environment 
             var: OPENSHIFT_DATA_DIR)
deplist.txt - list of pears to install
.openshift/action_hooks/build - Script that gets run 
               every push, just prior to starting your app

The babygame app also comes with a README file that states we need to just add the babygame.php, const.inc.php, introtext.php, and *.jpg files to a webserver, so we will place these in the git repository that was created into the php directory.

# placing our application into our express git repo.
#
$ cp babygame/babygame.php git-projects/babygame-express/php/
$ cp babygame/const.inc.php git-projects/babygame-express/php/
$ cp babygame/introtext.php git-projects/babygame-express/php/
$ cp *.jpg git-projects/babygame-express/php/

# lets see what is going on in our project, for git commands please refer to git online help.
#
$ git st

# On branch master
# Untracked files:
#   (use "git add ..." to include in what will be committed)
#
#	php/babyblue.jpg
#	php/babygame.php
#	php/babypink.jpg
nothing added to commit but untracked files present (use "git add" to track)

# now we need to add, commit and push them to the master repo.
#
$ git add php/*.jpg php/*.php
$ git st

# On branch master
# Changes to be committed:
#   (use "git reset HEAD ..." to unstage)
#
#	new file:   php/babyblue.jpg
#	new file:   php/babygame.php
#	new file:   php/babypink.jpg
#	new file:   php/introtext.php
#	new file:   php/const.inc.php
#

$ git commit -m "Added babygame and images."

[master 8b73d1a] Added babygame and images.
 3 files changed, 364 insertions(+), 0 deletions(-)
 create mode 100644 php/babyblue.jpg
 create mode 100644 php/babygame.php
 create mode 100644 php/babypink.jpg

$ git push origin
Counting objects: 8, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 10.48 KiB, done.
Total 6 (delta 1), reused 0 (delta 0)
remote: Stopping application...
remote: Waiting for stop to finish
remote: Done
remote: Running .openshift/action_hooks/build
remote: Starting application...
To ssh://14b02b5262ce41daba2a70ad4b01657b@babygame-ishereon.rhcloud.com/~/git/babygame.git/
   ff8218d..8b73d1a  master -> master

Now we should be able to find our application online at http://babygame-ishereon.rhcloud.com/babygame.php.


Some cleanup
# clean out the default files.
#
$ git rm php/index.php

rm 'php/index.php'

$ git rm php/health_check.php

rm 'php/health_check.php'

$ git st

# On branch master
# Changes to be committed:
#   (use "git reset HEAD ..." to unstage)
#
#	deleted:    php/health_check.php
#	deleted:    php/index.php
#

$ git commit -m "Removed default files."

[master 820db4f] Removed default files.
 0 files changed, 0 insertions(+), 2 deletions(-)
 delete mode 100644 php/health_check.php
 delete mode 100644 php/index.php  (100%)

$ git push origin
Counting objects: 5, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 384 bytes, done.
Total 2 (delta 1), reused 0 (delta 0)
remote: Stopping application...
remote: Waiting for stop to finish
remote: Done
remote: Running .openshift/action_hooks/build
remote: Starting application...
To ssh://14b02b5262ce41daba2a70ad4b01657b@babygame-ishereon.rhcloud.com/~/git/babygame.git/
   8b73d1a..820db4f  master -> master
Babygame without a database

Setup mySQL database on OpenShift
So for now we have our project on line, but the MySQL database needs to be setup. The babygame without a database is just a bunch of garbled layout and empty tables. We can't have that now can we?

Let's get our mySQL database setup on OpenShift.

# First we need to add the mysql database instance to our Express instance,
# by making use of the rhc-ctl-app client tool.
#
$ rhc-ctl-app --help

Usage: /usr/bin/rhc-ctl-app
Control an OpenShift express app

  -a|--app   application   Application name  (alphanumeric) (required)
  -l|--rhlogin rhlogin     Red Hat login (RHN or OpenShift login with OpenShift Express access) (Default: xxxxxx)
  -p|--password password   RHLogin password  (optional, will prompt)
  -c|--command command     (start|stop|restart|reload|status|destroy)
  -L|--embedded-list       List supported embedded cartridges
  -e|--embed               (add-$cartridge|remove-$cartridge) eg: add-mysql-5.1
  -b|--bypass              Bypass warnings
  -d|--debug               Print Debug info
  -h|--help                Show Usage info

# now lets add the mysql-5.1 embedded cartridge.
#
$ rhc-ctl-app -a babygame -l [registered-user] -p [password] -e add-mysql-5.1

Contacting https://openshift.redhat.com
Contacting https://openshift.redhat.com
API version:    1.1.1
Broker version: 1.1.1

RESULT:

Mysql 5.1 database added.  Please make note of these credentials:

   Root User: admin
   Root Password: XXXXXXXXX
   Database Name: babygame

Connection URL: mysql://XXX.X.X.X:3306/

Now we need to add the const.inc.php file and adjust to reflect the proper db variables. So we adjust this and push the file to our repo.

# edit our const.inc.php file to add mysql database info and set the initial birth dates.
#
$ cat const.inc.php

[skip boring parts]
// Database settings.
//
define( "DB_SERVER",    $_ENV['OPENSHIFT_DB_HOST'] );
define( "DB_USER",      $_ENV['OPENSHIFT_DB_USERNAME'] );	
define( "DB_PASSWORD",  $_ENV['OPENSHIFT_DB_PASSWORD'] );	
define( "DB_DATABASE",  "babygame" );	


# Add the config file, push to repo.
#
$ git add php/const.inc.php; git commit -m "Added mysql config file."; git push origin

[master b7f9973] Added mysql config file.
 1 files changed, 31 insertions(+), 0 deletions(-)
 create mode 100644 php/const.inc.php
Counting objects: 6, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 778 bytes, done.
Total 4 (delta 2), reused 0 (delta 0)
remote: Stopping application...
remote: Waiting for stop to finish
remote: Done
remote: Running .openshift/action_hooks/build
remote: Starting application...
To ssh://14b02b5262ce41daba2a70ad4b01657b@babygame-ishereon.rhcloud.com/~/git/babygame.git/
   820db4f..b7f9973  master -> master


Managing your mySQL database
One problem I had was that the database was created, but not the table 'guesses' that I needed. To achieve this I had to put some configuration changes into the build script that runs on each push to the repo (causing a fresh deploy of your application).

# addded this to my .openshift/action_hooks/build file in 
# the babygame project.
#
set -e

if [ -z $OPENSHIFT_DB_HOST ]
then
    echo 1>&2
    echo "Could not find mysql database.  Please run:" 1>&2
    echo "rhc-ctl-app -a $OPENSHIFT_APP_NAME -e add-mysql-5.1" 1>&2
    echo "then make a sample commit (add whitespace somewhere) and re-push" 1>&2
    echo 1>&2
    exit 5
fi

# check for database.
if ! /usr/bin/mysql -u "$OPENSHIFT_DB_USERNAME" --password="$OPENSHIFT_DB_PASSWORD" -h "$OPENSHIFT_DB_HOST" -e "show tables;" $OPENSHIFT_APP_NAME > /dev/null
then
    echo 1>&2
    echo "Could not find mysql database. " 1>&2
    echo "Creating database for application named: $OPENSHIFT_APP_NAME." 1 >&2
    /usr/bin/mysqladmin -u "$OPENSHIFT_DB_USERNAME" --password="$OPENSHIFT_DB_PASSWORD" -h "$OPENSHIFT_DB_HOST" create "$OPENSHIFT_APP_NAME"
fi

# Confirm database exists, if not create it
if ! /usr/bin/mysql -u "$OPENSHIFT_DB_USERNAME" --password="$OPENSHIFT_DB_PASSWORD" -h "$OPENSHIFT_DB_HOST" -e "select * from guesses;;" "$OPENSHIFT_APP_NAME" > /dev/null
then
    echo
    echo "Schema not found!  Importing schema from .openshift/action_hooks/baby.sql"
    echo
    /usr/bin/mysql -u "$OPENSHIFT_DB_USERNAME" --password="$OPENSHIFT_DB_PASSWORD" -h "$OPENSHIFT_DB_HOST" "$OPENSHIFT_APP_NAME" < "$OPENSHIFT_REPO_DIR/.openshift/action_hooks/baby.sql"
    echo
    echo "done."
else
    echo "Database found, skipping import."
fi

Fully configured babygame!
If you look closely you will see that I also added the baby.sql file in the same directory so that the 'guesses' table is created if needed. Now we fire up the application and add a guess!

This completes the migration of the original PHP Babygame application from a local installation to the cloud with OpenShift Express!

I will be pushing this project soon to github at https://github.com/eschabell.

Happy guessing! :-)

Thursday, July 21, 2011

Fedora 15 - howto set default application for open document formats to LibreOffice

My new installation of Fedora 15 seems to have a problem finding the right application to start for all the OpenOffice or open document formatted files. She needs to be using Libreoffice, but starts Calibre app on my machine. The standard assignment of default applications via System Settings is only for a small set of applications, so you need to dive into the configuration files like this:


# Fix system wide in /usr/share/applications/defaults.list

# by changing all 'openoffice.org' entries into 'libreoffice'

# with for example in VIM this cmd:

#

:%s:openoffice.org:libreoffice:g



# Fix in local user settings with ~/.local/share/applications/mimeapps.list

# but you will most likely need to copy the above entries into

# your local settings.

Wednesday, July 6, 2011

Fedora 15 - how to get 8GB of RAM recognised in 32 bit installation

When adding to the original 4GB of RAM my laptop had I wanted to max it out to 8GB. Off to the shop, purchased and installed 2x 4GB cards and booted it up. The Bios recognises 8GB out of the box, but Fedora 15 does not with the default 32bit kernel. You need to install the following packages:

# install PAE kernel.
#
$ sudo yum install kernel-PAE kernel-PAE-devel

Once I did this, rebooted and you can see the memory is recognised:

# memory shown for 8GB after PAE kernel installed.
#
$ free
             total       used       free
Mem:       8154348    5368672    2785676


$ grep MemTotal /proc/meminfo
MemTotal:        8154348 kB

Now my Java efforts are rocket fast on this machine!

Friday, June 17, 2011

Fedora 15 Gnome 3 power user tips

I know you can find all of these out there on the Internet, but I don't want to have to search for all of them again so my collection of power user tips are collected here. Note that these are not 'extensions' but just basic tooling or configuration adjustments that are pretty well hidden from you by default:

# I want to see the date on my desktop clock.
#
$ gsettings set org.gnome.shell.clock show-date true


# If you want to modify your menu and create launchers
# just install Alacare. For example, you can use this
# to create Power Off and Reboot buttons in your menu.
#
$ sudo yum install alacarte


# I want the right-hand top of app buttons back. Install
# the 'gnome-tweak-tool' and you'll find the app under 
# 'Accessories > Tweak Advanced Settings.'
#
$ sudo yum install gnome-tweak-tool


# Click on Shell, then select "Arrangement of buttons on 
# title bar" - All. Log out and on login your buttons are
# back.
#

# Use the gnome-tweak-tool to get your Desktop icons back.
# Click on 'File Manager' and turn on "have file manager 
# handle the desktop". Now the usual icons are back, plus 
# anything you want to add to Desktop.
#

# Alternative to the Power off button.
#
$ sudo yum install gnome-shell-extensions-alternative-status-menu


# An alternative window manager Avant. Once installed try 
# opening a terminal and launch it: "avant-window-navigator"
# Get it into the start-up: Click on the avant-window-navigator
# icon and play with the many options. Down at the bottom, 
# under General, there's "start Awn automatically". Reboot
# and test.
#
$ yum install avant-window-navigator awn-extras-applets


# Add theme functionality to your Gnome Shell.
#
$ sudo yum install gnome-shell-extensions-user-theme

Saturday, May 28, 2011

Fedora 15 screen casting with Gnome 3

GNOME 3 has embedded software that allows you to record your desktop. This makes it very easy to create a screencast in GNOME 3.

Start/stop recording your GNOME 3 Desktop by pressing the Ctrl+Shift+Alt+R key combination.

The first time when you press this key combination, GNOME 3 will start recording your Desktop. A red circle is displayed in the bottom right corner of the screen when the recording is in progress. Pressing the same key combination a second time will stop the recording.

After the recording is finished, a file named 'shell-%d%u-%c.webm' is saved in the home directory. In the filename, %d is the date, %u is a string that makes the filename unique, and %c is a counter that is incremented each time a recording is made within a single gnome-shell session. The recording is saved in the WebM format.

Now we can do our Red Hat JBoss screencasts without much trouble, but next step is to get audio track included. ;-)


Friday, May 27, 2011

Upgrade Fedora 14 to Fedora 15 howto

This upgrade when smoother than any so far, did not lose any Network settings for example! This is all you need to do:

# As root you would like to have a clean start to the
# upgrade, so get an update out of the way.
#
$ yum update rpm

$ yum -y update

$ yum clean all

# Should a new kernel install/update require it,
# reboot before continuing with the rest.
#
# Then install the preupgrade package.
#
$ yum install preupgrade

# For console upgrade, use:
#
$ preupgrade-cli "Fedora 15 (Lovelock)"

# If you like gui's to upgrade, use this.
#
$ preupgrade

That was it, just watch the action, drink some coffee/beer and reboot when asked to. Presto change-o you now have a Fedora 15 installation!

Monday, February 21, 2011

JBoss Operations Network (JON) 4.2.1 - Fedora 14 setup tips

I was installing the newest JBoss ON on my Fedora 14 laptop and ran into the following when trying to configure postgresql.conf to provide a larger memory segment:

FATAL: could not create shared memory segment: Invalid argument
DETAIL: Failed system call was shmget(key=5432001, size=88358912, 03600).
HINT: This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter. You can either reduce the request size or reconfigure the kernel with larger SHMMAX.

Turns out you can adjust your kernels shared memory allocation size by using the following command (I upped mine from standard size to the numbers below):

# enter in a console as root the following to up the 
# allowed shared memory.
#
$ echo 88358912 > /proc/sys/kernel/shmmax


# now we can start postgresql.
#
$ service postgresql start

# to allow postgresql service to start automatically
# on boot, you need to put this in the file 
# /etc/syscntl.conf
#
kernel.shmmax = 88358912

The following problem I had with the default configuration was that the gui pgAdminIII interface for postgres would not connect due to 'ident' authentication setup. The hint is to modify the authentication mechanism to md5 as follows:

# in your database directory, mine being /var/lib/pgsql/data,
# you will find a file called pg_hba.conf. This needs to be 
# modified to use 'md5.'
#

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
local   all         all                               md5
# IPv4 local connections:
host    all         all         127.0.0.1/32          md5

The rest of the online documentation will work just fine.

Friday, November 5, 2010

Upgrade Fedora 13 to Fedora 14 howto

A few simple steps to upgrade:

# As root you would like to have a clean start to the
# upgrade, so get an update out of the way.
#
$ yum update rpm

$ yum -y update

$ yum clean all

# Should a new kernel install/update require it,
# reboot before continuing with the rest.
#
# Then install the preupgrade package.
#
$ yum install preupgrade

# For console upgrade, use:
#
$ preupgrade-cli "Fedora 14 (Laughlin)"

# If you like gui's to upgrade, use this.
#
$ preupgrade

This is exactly the same process as I previously described with Fedora 12 to Fedora 13 upgrade.

=============== Update ===================
There was a hitch on my laptop, due to my boot partition is smaller than the Fedora 14 required 250 MB. I have been upgrading since Fedora 10 so have a 200 MB boot partition. First ensure you are using a cabled connection (no wifi) and then try this:

# run preupgrade as normal, when it complains about not enough space just 
# continue, it will install the stage2 installer after the first reboot.
# When it asks to reboot, do that. It should continue to finish the installation
# when it restarts.

Sunday, August 29, 2010

Fedora 13 - udevd SYSFS{} and BUS warnings on boot (fix included)

During boot of my Fedora 13 I only happened to notice these warnings when I hit the ESC key during boot to remove the graphical front (you can find them in the /var/log/boot.log):
Starting udev: udevd[525]: BUS= will be removed in a future udev version, please use SUBSYSTEM= to match the event device, or SUBSYSTEMS= to match a parent device, in /etc/udev/rules.d/48-UMTS.rules:1
udevd[525]: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/48-UMTS.rules:1
udevd[525]: BUS= will be removed in a future udev version, please use SUBSYSTEM= to match the event device, or SUBSYSTEMS= to match a parent device, in /etc/udev/rules.d/48-UMTS.rules:2
udevd[525]: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/48-UMTS.rules:2
udevd[525]: NAME="%k" is superfluous and breaks kernel supplied names, please remove it from /etc/udev/rules.d/60-kqemu.rules:1
udevd[525]: BUS= will be removed in a future udev version, please use SUBSYSTEM= to match the event device, or SUBSYSTEMS= to match a parent device, in /etc/udev/rules.d/85-pcscd_egate.rules:3
udevd[525]: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/85-pcscd_egate.rules:3
udevd[525]: BUS= will be removed in a future udev version, please use SUBSYSTEM= to match the event device, or SUBSYSTEMS= to match a parent device, in /etc/udev/rules.d/85-pcscd_egate.rules:5
udevd[525]: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/99-huawei-e220.rules:2
udevd[525]: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/99-novatel-ovation.rules:2
udevd[525]: SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/99-option-icon.rules:2
These are just warnings but if you want to clean them up just edit the offending files and replace the text as described (I used ATTRS{} and SUBSYSTEMS{} for all my changes) in the warning messages. It is not often that the solutions are provided right in the logs, eh! ;-)

Sunday, May 30, 2010

Upgrade Fedora 12 to Fedora 13 howto

A few simple steps to upgrade:

# As root you would like to have a clean start to the
# upgrade, so get an update out of the way.
#
$ yum update rpm

$ yum -y update

$ yum clean all

# Should a new kernel install/update require it,
# reboot before continuing with the rest.
#
# Then install the preupgrade package.
#
$ yum install preupgrade

# For console upgrade, use:
#
$ preupgrade-cli "Fedora 13 (Goddard)"

# If you like gui's to upgrade, use this.
#
$ preupgrade

This is exactly the same process as I previously described with Fedora 11 to Fedora 12 upgrade.

=============== Update ===================
There was a hitch on my laptop, some friends have asked about how to install when your boot partition is smaller than the Fedora 13 required 250 MB. I have been upgrading since Fedora 10 so have like 200 MB boot partition. Just try this:


# run preupgrade as normal, when it complains about not enough space just 
# continue, it will install the stage2 installer after the first reboot.
# When it asks to reboot, do that. It should continue to finish the installation
# when it restarts.

This solution is also to be found on the Fedora Project Wiki.

Thursday, April 8, 2010

Fedora 12 Eclipse Subversion plugins missing javahl

I tend not to use the integrated Fedora 12 Eclipse packages as I want more control over my Eclipse or JBoss Developer Studio (JBDS) and Java versions. I have many Java JDK's installed and can use them easily with the alternatives setup from Fedora 12.

What I keep running into is that the local subversion packages provide Java HL in the /usr/lib64/* location and the Eclipse or JBDS Subclipse plugins are looking for them in /usr/lib/*, so how to correct this?

// adding the pointer to my javahl libs in eclipse.ini file 
// as follows to make use of the Fedora 12 native rpm javahl
// package installed libs:
//
-Djava.library.path=/usr/lib64

Now my subversion tooling in Eclipse / JBDS works without complaining...

Monday, March 8, 2010

Fedora 12 NetworkManager update breaking GSM connection

My latest Fedora 12 update broke my Mobile Broadband GSM connection. I kept seeing this in my message log:


6516 Mar  8 12:22:49 localhost NetworkManager:   (hso0): device state change: 3 -> 4 (reason 0)
6517 Mar  8 12:22:49 localhost NetworkManager:   Activation (hso0) Stage 1 of 5 (Device Prepare) scheduled...
6518 Mar  8 12:22:49 localhost NetworkManager:   Activation (hso0) Stage 1 of 5 (Device Prepare) started...
6519 Mar  8 12:22:49 localhost NetworkManager:   (hso0): device state change: 4 -> 6 (reason 0)
6520 Mar  8 12:22:49 localhost NetworkManager:   Activation (hso0) Stage 1 of 5 (Device Prepare) complete.
6521 Mar  8 12:22:49 localhost NetworkManager:   Activation (hso0) Stage 1 of 5 (Device Prepare) scheduled...
6522 Mar  8 12:22:49 localhost NetworkManager:   Activation (hso0) Stage 1 of 5 (Device Prepare) started...
6523 Mar  8 12:22:49 localhost NetworkManager:   (hso0): device state change: 6 -> 4 (reason 0)
6524 Mar  8 12:22:49 localhost NetworkManager:   Activation (hso0) Stage 1 of 5 (Device Prepare) complete.
6525 Mar  8 12:22:49 localhost modem-manager: (ttyHS2) opening serial device...
6526 Mar  8 12:22:49 localhost modem-manager: Modem /org/freedesktop/ModemManager/Modems/0: state changed (disabled -> enabling)
6527 Mar  8 12:22:50 localhost modem-manager: Modem /org/freedesktop/ModemManager/Modems/0: state changed (enabling -> enabled)
6528 Mar  8 12:22:50 localhost modem-manager: Modem /org/freedesktop/ModemManager/Modems/0: state changed (enabled -> disabled)
6529 Mar  8 12:22:50 localhost NetworkManager:   (hso0): device state change: 4 -> 3 (reason 0)
6530 Mar  8 12:22:50 localhost NetworkManager:   (hso0): deactivating device (reason: 0).
6531 Mar  8 12:22:50 localhost NetworkManager:   stage1_enable_done(): GSM modem enable failed: (32) SIM PIN required
6532 Mar  8 12:22:50 localhost NetworkManager:   (hso0): device state change: 3 -> 9 (reason 0)
6533 Mar  8 12:22:50 localhost NetworkManager:   Activation (hso0) failed.
6534 Mar  8 12:22:50 localhost NetworkManager:   (hso0): device state change: 9 -> 3 (reason 0)
6535 Mar  8 12:22:50 localhost NetworkManager:   (hso0): deactivating device (reason: 0).

The key here was the line:
  stage1_enable_done(): GSM modem enable failed: (32) SIM PIN required

Some looking around and it appears that the last update to NetworkManager broke it:

Name : NetworkManager
Arch : x86_64
Epoch : 1
Version : 0.7.998
Release : 2.git20100106.fc12

A simple downgrade will fix this to back you up to the previous version, here is mine:

Name : NetworkManager
Arch : x86_64
Epoch : 1
Version : 0.7.996
Release : 6.git20091021.fc12

To do this you use the following command:

$ sudo yum downgrade NetworkManager

Restarted and the GSM card worked as advertised!

============== UPDATE 02 April 2010 =========================
See Bugzilla on this for solution of upgrading the NetworkManager and ModemManager packages
to the versions found in the test repo:

https://bugzilla.redhat.com/show_bug.cgi?id=560742
http://download.fedora.redhat.com/pub/fedora/linux/updates/testing/12/

Thursday, February 4, 2010

Upgrade Fedora 11 to Fedora 12 howto

A few simple steps to upgrade:

# As root you would like to have a clean start to the
# upgrade, so get an update out of the way.
#
$ yum update rpm

$ yum -y update

$ yum clean all

# Should a new kernel install/update require it,
# reboot before continuing with the rest.
#
# Then install the preupgrade package.
#
$ yum install preupgrade

# For console upgrade, use:
#
$ preupgrade-cli "Fedora 12 (Constantine)"

# If you like gui's to upgrade, use this.
#
$ preupgrade

This is exactly the same process as I previously described with Fedora 10 to Fedora 11 upgrade.

Tuesday, February 2, 2010

Update Fedora 12 to Firefox 3.6 howto

I got tired of waiting for the main Fedora 12 repositories to provide Firefox 3.6. I dug around a bit and the following will get you a Firefox 3.6 version installed on your Fedora 12, so what are you waiting for?







$ sudo yum --enablerepo=rawhide update firefox