It
has been 8 years now that I have been using Linux. Got my first
computer in the beginning of 2005 and of course, the first thing
I installed was Windows XP. Then in August I tried out with a CD
image of SUSE
9.1 which
came with one of the tech magazines I used to buy then; and
that was the first Linux that touched my P4 system. Ever since, I
have been a hardcore fan of Linux, especially OpenSUSE (as
it is called now). My humble suggestion is that you do not ask an
OpenSUSE fan his reasons for being one, unless you are eager and
ready to listen the word awesome a
few hundred times. Oh, and by the way, if you want to know what you
are gonna get after upgrading to OpenSUSE 12.3, here is the OpenSUSE
12.3 (Dartmouth) review.
OpenSUSE
12.3 is
a recent release and packs with itself the regular goodies – new
kernel, some performance improvements and latest packages all packed
in a neat, clean and green package. The OpenSUSE distribution does
not support automated over-the-network distro upgrade (for good
reasons) even if it is possible. I call it good because I have used
Ubuntu for about an year and a half and I hated how distribution
upgrades slowed down my computer each time I ran them. I had to
eventually remove it and come back to OpenSUSE.
Now,
the way you run distribution upgrades in OpenSUSE is by popping in
the DVD of the new release into the tray (I prefer USB drives) and
run the installer. After accepting the license (which no one cares
enough about, obviously) you are presented the option to
upgrade. Though it might looks real easy, it can be a little
difficult. I have been lucky to face quite a number of them and this
post tells you how I went through the upgrade. In this post, I would
tell how to deal with problems and what you can do to avoid them in
the first place (and have better experience than me)!
It
has been 8 years now that I have been using Linux. Got my first
computer in the beginning of 2005 and of course, the first thing
I installed was Windows XP. Then in August I tried out with a CD
image of SUSE
9.1 which
came with one of the tech magazines I used to buy then; and
that was the first Linux that touched my P4 system. Ever since, I
have been a hardcore fan of Linux, especially OpenSUSE (as
it is called now). My humble suggestion is that you do not ask an
OpenSUSE fan his reasons for being one, unless you are eager and
ready to listen the word awesome a
few hundred times. Oh, and by the way, if you want to know what you
are gonna get after upgrading to OpenSUSE 12.3, here is the OpenSUSE
12.3 (Dartmouth) review.
OpenSUSE
12.3 is
a recent release and packs with itself the regular goodies – new
kernel, some performance improvements and latest packages all packed
in a neat, clean and green package. The OpenSUSE distribution does
not support automated over-the-network distro upgrade (for good
reasons) even if it is possible. I call it good because I have used
Ubuntu for about an year and a half and I hated how distribution
upgrades slowed down my computer each time I ran them. I had to
eventually remove it and come back to OpenSUSE.
Now,
the way you run distribution upgrades in OpenSUSE is by popping in
the DVD of the new release into the tray (I prefer USB drives) and
run the installer. After accepting the license (which no one cares
enough about, obviously) you are presented the option to
upgrade. Though it might looks real easy, it can be a little
difficult. I have been lucky to face quite a number of them and this
post tells you how I went through the upgrade. In this post, I would
tell how to deal with problems and what you can do to avoid them in
the first place (and have better experience than me)!
Run the installer
When
My ISO got downloaded, I ran the MD5 check twice to ensure that the
package was clean. Once confirmed, I just transferred the image to
USB and prepared for the boot. Up came the boot menu, then the
license and then the option to choose from new
installation and upgrade.
I guess you know what I selected.
The
wizard detected the installations and
asked me to choose the installation to upgrade. There was only one
and so I had to decide on nothing. Next it detected
the partitions and
warned me that my current installation was mounting some partitions
using kernel
device names and
asked me to correct that. I was too enthusiastic to ignore that and
continued, only to realize later that it was a mistake (I have
covered that later). The installer then showed me a screen to let me
keep my old software repositories if I wished; the installer removes
all of them by default. Since the only 2 extra repositories I have
are those of VLC
media player and Google
Chrome,
I chose to remove all in the list (both these have updated the repos
for the new version of OpenSUSE).
An
overview came next and there was almost nothing needed to be changed.
Anyways, I proceeded. About 30 long minutes later, the installation
was over and I was ready to feast my eyes.
When
My ISO got downloaded, I ran the MD5 check twice to ensure that the
package was clean. Once confirmed, I just transferred the image to
USB and prepared for the boot. Up came the boot menu, then the
license and then the option to choose from new
installation and upgrade.
I guess you know what I selected.
The
wizard detected the installations and
asked me to choose the installation to upgrade. There was only one
and so I had to decide on nothing. Next it detected
the partitions and
warned me that my current installation was mounting some partitions
using kernel
device names and
asked me to correct that. I was too enthusiastic to ignore that and
continued, only to realize later that it was a mistake (I have
covered that later). The installer then showed me a screen to let me
keep my old software repositories if I wished; the installer removes
all of them by default. Since the only 2 extra repositories I have
are those of VLC
media player and Google
Chrome,
I chose to remove all in the list (both these have updated the repos
for the new version of OpenSUSE).
An
overview came next and there was almost nothing needed to be changed.
Anyways, I proceeded. About 30 long minutes later, the installation
was over and I was ready to feast my eyes.
Who said names don't matter?
The
first boot is the most decisive one. For an enthusiast like me who
has a lot of data on disk and one single mistake by the installer
could have destroyed my entire collections, it was more like 7
minutes of terror of
the rover touchdown on mars than like an OS upgrade. Regardless, the
first boot failed.
I
was greeted by the emergency
prompt.
This was strange because the installer had not run into any problem.
And then I remembered that warning about the device naming
in /etc/fstab
file.
However, that one was unlikely to cause any problem because the root
(/), home (/home) and swap partitions were all on the same disk and
that disk was mounted by device ID name. The only thing that should
have failed was the mounting of other partitions on the second drive.
Anyways, I went to /etc/fstab
and
(painstakingly) changed the kernel device names to device ID names
and rebooted. Voila! I was no more getting the emergency prompt.
The
reason it happened was that when I had installed the OS the first
time, there was only one disk attached to the system. I had later
added a secondary disk and used the kernel device named
(like /dev/sdb1
and /dev/sdb2
)
for mounting the partitions. Since I upgraded using a USB drive, the
kernel shuffled the device names around and that broke the mounting
process. Anyways, I corrected that and it worked. If you have a
secondary disk which is getting mounted via kernel device name,
change it and use the /dev/disk/by-id/
style
device names for mounting them. There are two ways for that. The
first is to use YaST's Partitioner module
and the second is to edit the file by hand. The way is to start the
module and select the desired partition and right click it and select
'Edit'. YaST would present the options for the partition. Under the
'Mounting Options' section, click on the 'Fstab options'. A new
window will open. Click on the 'Device ID' option and save the
settings. You need to repeat this for all the volumnes which are
mounted using kernel device names!
Since
I had already run the upgrade, the only option left with me was that
of editing the file manually. Here is a sample of how a line for
mounting devices by ID would look in /etc/fstab:
/dev/disk/by-id/ata-WDC_WD3200BEVT-75ZCT2_WD-WXE1A9033884-part3 /home ext4
defaults 1 2
Unfortunately,
the only way to know what the ‘by-id’ device names would be, is
to go to /dev/disk/by-id directory (as root) and run the ls
command. However,
if you have not added or removed disks since the last installation,
this should not trouble you at all!
The
first boot is the most decisive one. For an enthusiast like me who
has a lot of data on disk and one single mistake by the installer
could have destroyed my entire collections, it was more like 7
minutes of terror of
the rover touchdown on mars than like an OS upgrade. Regardless, the
first boot failed.
I
was greeted by the emergency
prompt.
This was strange because the installer had not run into any problem.
And then I remembered that warning about the device naming
in
/etc/fstab
file.
However, that one was unlikely to cause any problem because the root
(/), home (/home) and swap partitions were all on the same disk and
that disk was mounted by device ID name. The only thing that should
have failed was the mounting of other partitions on the second drive.
Anyways, I went to /etc/fstab
and
(painstakingly) changed the kernel device names to device ID names
and rebooted. Voila! I was no more getting the emergency prompt.
The
reason it happened was that when I had installed the OS the first
time, there was only one disk attached to the system. I had later
added a secondary disk and used the kernel device named
(like
/dev/sdb1
and /dev/sdb2
)
for mounting the partitions. Since I upgraded using a USB drive, the
kernel shuffled the device names around and that broke the mounting
process. Anyways, I corrected that and it worked. If you have a
secondary disk which is getting mounted via kernel device name,
change it and use the /dev/disk/by-id/
style
device names for mounting them. There are two ways for that. The
first is to use YaST's Partitioner module
and the second is to edit the file by hand. The way is to start the
module and select the desired partition and right click it and select
'Edit'. YaST would present the options for the partition. Under the
'Mounting Options' section, click on the 'Fstab options'. A new
window will open. Click on the 'Device ID' option and save the
settings. You need to repeat this for all the volumnes which are
mounted using kernel device names!
Since
I had already run the upgrade, the only option left with me was that
of editing the file manually. Here is a sample of how a line for
mounting devices by ID would look in /etc/fstab:
Unfortunately,
the only way to know what the ‘by-id’ device names would be, is
to go to /dev/disk/by-id directory (as root) and run the ls
command. However,
if you have not added or removed disks since the last installation,
this should not trouble you at all!
X failed to start
Strange
enough, all I got was a green Plymouth screen. I kept waiting and
waiting and waiting and wondering. Nothing happened. In the end, I
pressed the [Esc] key to see what the problem was and there was no
error. The only thing that I saw had failed was the loading of
VirtualBox module but that was unlikely to cause trouble (but
I was not so sure this time because my last prediction was wrong).
The system seemed to halt after printing a line like (I don’t
remember it completely): “Reached Graphical User Interface
checkpoint”.
It
gave me a gut feeling that X11 server was failing. But I had no way
to know. Thankfully, I was no longer in the single user mode. So I
ran ‘startx’ and it gave me an output and failed and all could do
was curse it! I got desperate and pressed various function keys with
Alt+Ctrl pressed and then I accidentally pressed Alt+Ctrl+F10.
Strange enough, it had a lot of logs. From whatever was displayed on
screen, it looked like KDM was getting confused about which theme to
use. The file was /usr/share/kde4/config/kdm/kdmrc. I opened it and
found no such thing. Whatever it was, I was sure that it was
somewhere the problem of X. Pressed Alt+Ctrl+Del to reboot and
re-analyze the logs.
This
time I found in the logs that the problem was occurring
while inserting the
nvidia module to
the kernel. Sure as hell I had forgot that I was using NVidia’s
closed source drivers. One phrase that came to mind (thanks to Mr.
Linus Torvalds): Fuck you, NVidia! Anywas, I remembered that I had
the old driver installation file on disk. I tried to execute it and
it said that it needed to uninstall the old installation. I asked the
wizard to proceed and it just failed (!) with an awkward message
which indicated that I did not have kernel sources installed, which I
was sure were installed. Now, that was frustrating because I did not
have enough experience of configuring X and I did not know how to
prioritize nouveau drivers over nvidia. And then I thought – what
if I just tried to download and install a newer version of driver?
But how? All I had was command line and links was
not the best browser and people do not create webpages keeping
the links browser
in mind.
Luckily
enough, the NVidia driver installer file comes with a handy
option --update
which
automatically connects to the internet, downloads the latest version
of the driver and runs it! Since I had my router connected to the
internet and the PC connected to router via Ethernet, I used the same
options and this time, luck was on my side - installation went
perfect and I rebooted and reached the graphical login screen! I
wonder how bad it would have been if I were on a laptop and a
wireless connection – connecting to a Wi-Fi network over command
line is no easy job!
Points
to be noted:
-
Download
and store the latest version of your graphics card drivers; you
might need them.
-
Best
to be using Ethernet with DHCP when upgrading (for the
‘just-in-case’ times).
-
Just
because a log entry says that KDM has gone berserk, it does not mean
that it has. KDE is usually less faulty than closed source drivers.
-
Alt+Ctrl+F10
would open a non-interactive terminal which is a good place to see
some detailed logs which can indicate what failed the booting
procedure.
-
The
driver version that the NVidia’s installer downloaded was 310.40.
You can keep it handy because I could not locate it later. It might
have gone to /tmp or somewhere I don’t care enough to peek.
NOTE:
Since writing this post, I have updated 3 other systems from OpenSUSE
12.2 (Mantis) to OpenSUSE 12.3 (Dartmouth) and the one thing which I
found was: if you do not have the NVidia propriety drivers installed,
the X11 subsystem does not misbehave (not at all).
Strange
enough, all I got was a green Plymouth screen. I kept waiting and
waiting and waiting and wondering. Nothing happened. In the end, I
pressed the [Esc] key to see what the problem was and there was no
error. The only thing that I saw had failed was the loading of
VirtualBox module but that was unlikely to cause trouble (but
I was not so sure this time because my last prediction was wrong).
The system seemed to halt after printing a line like (I don’t
remember it completely): “Reached Graphical User Interface
checkpoint”.
It
gave me a gut feeling that X11 server was failing. But I had no way
to know. Thankfully, I was no longer in the single user mode. So I
ran ‘startx’ and it gave me an output and failed and all could do
was curse it! I got desperate and pressed various function keys with
Alt+Ctrl pressed and then I accidentally pressed Alt+Ctrl+F10.
Strange enough, it had a lot of logs. From whatever was displayed on
screen, it looked like KDM was getting confused about which theme to
use. The file was /usr/share/kde4/config/kdm/kdmrc. I opened it and
found no such thing. Whatever it was, I was sure that it was
somewhere the problem of X. Pressed Alt+Ctrl+Del to reboot and
re-analyze the logs.
This
time I found in the logs that the problem was occurring
while inserting the
nvidia module to
the kernel. Sure as hell I had forgot that I was using NVidia’s
closed source drivers. One phrase that came to mind (thanks to Mr.
Linus Torvalds): Fuck you, NVidia! Anywas, I remembered that I had
the old driver installation file on disk. I tried to execute it and
it said that it needed to uninstall the old installation. I asked the
wizard to proceed and it just failed (!) with an awkward message
which indicated that I did not have kernel sources installed, which I
was sure were installed. Now, that was frustrating because I did not
have enough experience of configuring X and I did not know how to
prioritize nouveau drivers over nvidia. And then I thought – what
if I just tried to download and install a newer version of driver?
But how? All I had was command line and links was
not the best browser and people do not create webpages keeping
the links browser
in mind.
Luckily
enough, the NVidia driver installer file comes with a handy
option
--update
which
automatically connects to the internet, downloads the latest version
of the driver and runs it! Since I had my router connected to the
internet and the PC connected to router via Ethernet, I used the same
options and this time, luck was on my side - installation went
perfect and I rebooted and reached the graphical login screen! I
wonder how bad it would have been if I were on a laptop and a
wireless connection – connecting to a Wi-Fi network over command
line is no easy job!
Points
to be noted:
Download
and store the latest version of your graphics card drivers; you
might need them.
Best
to be using Ethernet with DHCP when upgrading (for the
‘just-in-case’ times).
Just
because a log entry says that KDM has gone berserk, it does not mean
that it has. KDE is usually less faulty than closed source drivers.
Alt+Ctrl+F10
would open a non-interactive terminal which is a good place to see
some detailed logs which can indicate what failed the booting
procedure.
The
driver version that the NVidia’s installer downloaded was 310.40.
You can keep it handy because I could not locate it later. It might
have gone to /tmp or somewhere I don’t care enough to peek.
NOTE:
Since writing this post, I have updated 3 other systems from OpenSUSE
12.2 (Mantis) to OpenSUSE 12.3 (Dartmouth) and the one thing which I
found was: if you do not have the NVidia propriety drivers installed,
the X11 subsystem does not misbehave (not at all).
Where the hell is my furniture anyway?
Though
Windows is a brilliant OS and has got some good uses, capabilities
and software that make it useful enough for people who like hell, I
fondly like to call it a ‘furniture’ when I compare Linux to it.
Whatever be the case, I needed the Windows installation to be there
because of a few apps and games. Strange enough, it was now that I
realized that the Windows was missing from the boot menu. However,
since the partition was there, I was sure; grub had missed to detect
it.
It
took a little bit of searching and I found out the way to get it
back. You need to login as root (just do a ‘su’) and issue the
command grub2-mkconfig. This will output the configuration on screen.
Of the cryptic looking output, there would be a menu entry for
Windows too. It would look something like this:
menuentry 'Windows 7 (loader) (on /dev/sdb1)' --class windows --class os
$menuentry_id_option
'osprober-chain-028A4DFA8A4DEAAD' {
insmod part_msdos
insmod ntfs
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=
hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,
msdos1 028A4DFA8A4DEAAD
else
search --no-floppy --fs-uuid --set=root
028A4DFA8A4DEAAD
fi
drivemap -s (hd0) ${root}
chainloader +1
}
All
you need to do is to copy that part and paste it in
/boot/grub2/grub.cfg file. Better still you can just run these
commands:
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.old
grub2-mkconfig > /boot/grub2/grub.cfg
This
will backup your old grub.cfg file in the /boot/grub2/ directory with
the name grub.cfg.old and update the actual file with new
configuration which would contain the Windows menu entry as well.
Though
Windows is a brilliant OS and has got some good uses, capabilities
and software that make it useful enough for people who like hell, I
fondly like to call it a ‘furniture’ when I compare Linux to it.
Whatever be the case, I needed the Windows installation to be there
because of a few apps and games. Strange enough, it was now that I
realized that the Windows was missing from the boot menu. However,
since the partition was there, I was sure; grub had missed to detect
it.
It
took a little bit of searching and I found out the way to get it
back. You need to login as root (just do a ‘su’) and issue the
command grub2-mkconfig. This will output the configuration on screen.
Of the cryptic looking output, there would be a menu entry for
Windows too. It would look something like this:
insmod part_msdos
insmod ntfs
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=
msdos1 028A4DFA8A4DEAAD
else
search --no-floppy --fs-uuid --set=root
028A4DFA8A4DEAAD
fi
drivemap -s (hd0) ${root}
chainloader +1
}
All
you need to do is to copy that part and paste it in
/boot/grub2/grub.cfg file. Better still you can just run these
commands:
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.old
grub2-mkconfig > /boot/grub2/grub.cfg
This
will backup your old grub.cfg file in the /boot/grub2/ directory with
the name grub.cfg.old and update the actual file with new
configuration which would contain the Windows menu entry as well.
Post Drama, Post Trauma
After
a good couple of hours my heartbeat came back to normal, sweating
stopped and it was time to fix things which were not broken. I
installed Google Chrome and VLC media player once again and rebooted
to Windows to make sure that things were working the way I expected
them to! All was well! A review of the beautiful looking new OpenSUSE
12.3 is in process and you can come back a couple of days later to
read about it!
After
a good couple of hours my heartbeat came back to normal, sweating
stopped and it was time to fix things which were not broken. I
installed Google Chrome and VLC media player once again and rebooted
to Windows to make sure that things were working the way I expected
them to! All was well! A review of the beautiful looking new OpenSUSE
12.3 is in process and you can come back a couple of days later to
read about it!
No comments:
Post a Comment