Help me clean up grub

I just updated from 12.2 to 12.3. I had a great deal of trouble with the nvidia driver and did several forced reboots via ctl-alt-del. I dual boot with Windows 7 which is on a separate hd. Now that I got nvidia sorted out, I have no trouble booting into either OS. But grub needs attention. I show 8 choices to boot to opensuse. The first says 12.2 with kernel 3.7. The second says 12.2 in recovery (failsafe) for kernel 3.7. These two are duplicated. The next option is 12.2 with kernel 3.4. That is followed by 12.2 recovery with kernel 3.4. Then, these two are duplicated.

I did not have a typo. It does not say 12.3 anywhere, including the opening screen that offers me 12.2 default, 12.2 advanced (which brings me to the options listed above) and Windows 7. There is no reference in function or appearance to 12.2 even though it says it in all these places. Please tell me how to clean this up.

Why not give us a look at your grub2 menu located at /boot/grub2/grub.cfg and post it into SUSE Paste, you can use my bash script grub2cmd to help if you wish: GNU Grub2 Command Listing Helper with --help & Input - Blogs - openSUSE Forums

One procedure to upgrade is found here: https://en.opensuse.org/SDB:System_upgrade and you can tell us how you really upgraded or if you followed this printed guide. In general, it does not sound like you are upgraded, but not sure. One thing is for sure, you get two entries for every kernel grub2 finds, and the recovery entry is not a duplicate.

Thank You,

https://bugzilla.novell.com/show_bug.cgi?id=810055

Open YaST2 bootloader module and change Distributor to you heart’s content. Or edit GRUB_DISDRIBUTOR in /etc/default/grub manually and run “update-bootloader --refresh”.

Although I didn’t do it yet, I saw where to change the text on grub from 12.2 to 12.3. Thanks.

Here is the grub file at susepaste:

paste.opensuse.org/80660919

I have no idea what I’m doing wrong with susepaste. I can’t get a link to appear in this message. I hope my version of the link gets you there.

So as far as I can see, you are still using openSUSE 12.2, not 12.3. As for arvidjaar’s short and less than enlightening suggestion, I am to suppose that by changing the distribution to read 12.3, all will be repaired. So, I suppose you can give that a try. You would open:

YaST / System / Boot Loader / Boot Loader Options / Distributor / openSUSE 12.2 change to openSUSE 12.3 and press OK and the OK again and see what happens.

As always, make sure your important data is backed up and be prepared to reinstall openSUSE if required.

Thank You,

On 2013-03-24 19:46, jdmcdaniel3 wrote:
> So as far as I can see, you are still using openSUSE 12.2, not 12.3.

I would have a look at the “/etc/SuSE-brand” and “SuSE-release” files,
to make sure. Another one to look is the output of


rpm -qi aaa_base

The version line should read 12.3. If there is a mixture of packages
after the dup upgrade, the way to check is reading carefully one of
these two lists:


rpm -q -a --queryformat "%{INSTALLTIME};%{INSTALLTIME:day}; \
%{BUILDTIME:day}; %{NAME};%{VERSION}-%-7{RELEASE};%{arch}; \
%{VENDOR};%{PACKAGER};%{DISTRIBUTION};%{DISTTAG}
" \
| sort | cut --fields="2-" --delimiter=\; \
| tee rpmlist.csv | less -S

or

rpm -q -a --queryformat "%{INSTALLTIME}	%{INSTALLTIME:day} \
%{BUILDTIME:day} %-30{NAME}	%15{VERSION}-%-7{RELEASE}	%{arch} \
%25{VENDOR}%25{PACKAGER} == %{DISTRIBUTION} %{DISTTAG}
" \

and then correct manually the incorrect packages.


Cheers / Saludos,

Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)

The first query (about aaa_base) tells me I am using version 12.3; release 14.3.1
The second query (at least the first 50 lines) shows every single package to be 12.2! It says it is from a 12.2 Live CD which I did use in the previous upgrade. This upgrade was from a Net Install disk that I burned. All my repos; the basic ones done automatically at install, packman, nVidia and libdvdcss, are all 12.3.

Running the third query is a different story. Almost all packages say the source is bugs.opensuse.org and indicate 12.3. There are a few exceptions: a couple kernel 3.4 packages refer to 12.2 as does the nvidia driver. Also something called kamerka (which I don’t remember using), libx264-129, libmp3lame0, a few more libraries (all from packman de) and a few kde 4.9 packages.

I don’t understand why there would be a discrepancy between the two queries, but I will try to fix the packages that showed up in the last one.

Almost forgot: SuSe-Brand and SuSe-Release both say 12.3.

On 2013-03-24 22:36, Prexy wrote:
>
> robin_listas;2540430 Wrote:

> The second query (at least the first 50 lines) shows every single
> package to be 12.2! It says it is from a 12.2 Live CD which I did use in
> the previous upgrade. This upgrade was from a Net Install disk that I
> burned. All my repos; the basic ones done automatically at install,
> packman, nVidia and libdvdcss, are all 12.3.
>
> Running the third query is a different story. Almost all packages say
> the source is bugs.opensuse.org and indicate 12.3. There are a few
> exceptions: a couple kernel 3.4 packages refer to 12.2 as does the
> nvidia driver. Also something called kamerka (which I don’t remember
> using), libx264-129, libmp3lame0, a few more libraries (all from packman
> de) and a few kde 4.9 packages.

Both queries are the same, it only changes the printing format. The
first one produces a .csv file that you can import in a spreadsheet. The
second one is for human eyes.

The list is sorted by installation date. In my case, the first entries
show packages I installed 10 years ago and have not been updated. It is
is admissible in some cases :slight_smile:

Ok, the solution is display in yast package manager (qt flavour) all
installed packages, display the version tab, and then click to select a
current version. The packages should be visible in blue in the list,
otherwise use search to find them.

If there is no current version, then those packages are not from the
main repos, but from one that you do not have a 12.3 repo activated yet.


Cheers / Saludos,

Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)

I’ll get to work on cleaning up versions. But, what about the multiple entries on the Advanced boot screen? I still have 8 entries, 4 for each kernel when there should be 2 for each kernel.

On 2013-03-25 05:26, Prexy wrote:
>
> I’ll get to work on cleaning up versions. But, what about the multiple
> entries on the Advanced boot screen? I still have 8 entries, 4 for each
> kernel when there should be 2 for each kernel.

On that I can not help. Grub2 is still unknown to me.


Cheers / Saludos,

Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)

OK, first off, as mentioned in my previous message, you need to change your Distributor name to openSUSE 12.3. Did you change? Yes or NO as suggested? In your setup you have loaded two kernels, desktop and default. You have openSUSE 12.2 and 12.3 installed, but they all say 12.2. You get two entries per kernel found, a rescue and normal. So, just for kernels, not Windows or memtest, you have:

(2) openSUSE versions TIMES (2) two kernel types for default and desktop TIMES (2) entries per kernel found for normal and rescue. So, 222 is eight, exactly what you have. Get rid of kernel-default in YaST and rename your distribution back to 12.3 and run the menu update. This problem, if it is, is caused by the way you did your system upgrade in my opinion.

Thank You,

I had previously changed Distributor name, as per recommendations. I just used yast to remove kernel-default and some related files for vmware and vbox. Doing so caused yast to install kernel-default-base. Upon reboot, all my choices for booting are labeled 12.3. However, I still have an entry for kernel-default 3.4 and recovery. Also I have 2 entries each for kernel-desktop and recovery; all 4 of which are kernel 3.7; for a total of 6 choices. Also, my menu entry to boot to Windows 7 disappeared.

I went back into yast and checked the box “probe foreign os” and that brought back Windows 7. Looking at installed software, I have no kernel 3.4 or kernel-default except for kernel-default-base, which appears to be needed in all cases. Re-reading the top of this post, I realized I didn’t run a menu update. I will re-read this thread and find out how to do that next.

I ran update-bootloader – refresh and here is what I have now:

opensuse 12.3 with Linux 3.7 -desktop
opensuse 12.3 with Linux 3.7 -desktop-recovery
opensuse 12.3 with Linux 3.7 -default
opensuse 12.3 with Linux 3.7 -default-recovery
opensuse 12.3 with Linux 3.4 -desktop
opensuse 12.3 with Linux 3.4 -desktop-recovery

I thought this was a trivial problem with a trivial answer.

Well two things are for sure, if both openSUSE 12.2 and 12.3 are loaded, you get all of their kernels in your menu. I would wonder if you wish to keep both OS versions installed? Kernel 3.4 may only be removed if you no longer expect to run openSUSE 12.2. As far as openSUSE 12.3 is concerned, if kernel 3.4 is not shown in YaST, you can manually delete these files from /boot, update grub and they will be gone. Grub is able to determine openSUSE 12.3 from 12.2 only if they do not share the same boot folder. When I install more than one version of openSUSE, I keep then entirely separate. Grub 2 is smart enough to see separate openSUSE versions and present them as separate advanced menus. Grub 2 is not able to handle openSUSE 12.2 and 12.3 installed into the same /boot folder. I would not have installed openSUSE 12.3 this way. At this point, you could manually remove openSUSE 12.2 or just reinstall openSUSE 12.3 and in any case if you think openSUSE should handle this setup, you are obligated to file a bug report on the situation. I really don’t know if its a supported method or not, but it obviously does not work.

Thank You,

I never INTENDED to install 12.3 beside 12.2. I downloaded the Net Install, burned a CD, popped the CD into the drive and rebooted. When the choice came, I picked upgrade instead of install. This has been my procedure for many updates. As far as I can tell, I have no remnants of 12.2 left on my system. Looking in boot folder I find a number of files related to 3.4:
config
initrd
symtypes
symvers
sysctl.conf
System.map
vmlinux
vmlinuz

Each of these has a corresponding file for both 3.7 desktop and default. Is it your recommendation that these are the files (3.4 only of course) to be deleted?

Why not give us a look at the files you have in boot? Here is what I have in a new installation where I added in kernel 3.8.4:

http://paste.opensuse.org/view/download/32731627

Thank You,

Online update left all kernels from 12.2 for me. I won’t be surprised if update from DVD does the same. (It is actually a good thing to have kernel that is known to boot). Just remove them manually.

grub2 does not know whether these kernels are left from 12.2, 12.1 or whatever else. It simply assumes that everything that is in /boot belongs to current version. At the end, you do boot into 12.3 even though you select kernel from 12.2, so title “opensuse 12.3 with Linux 3.4 -desktop” is pretty much correct.

As requested!
hmmm… I don’t have the juice to post an image. However, in boot, I have 3 versions of each of the files I listed earlier. One each for kernel-default 3.7, kernel-desktop 3.7 and kernel default 3.4.

see if it shows up here: (I can’t get the url to paste)

paste.opensuse.org/79471781

Post images here: SUSE Paste, select the image option on top right and make sure to set Delete After to never. Use author and name as you like. Reduce image file size to 512 mb or less using Gwenview when required. As for kernel versions, open up YaST and search on kernel. Go to the version tap for kernel-desktop and uncheck any version below 3.7.10 if there. If the kernel version is not there, such as 3.4, you can just remove all files that specifically mention 3.4 in the /boot folder.

Thank You,

Thank you. Got rid of the old kernel through versions in yast.

I may open another thread to find out why I can’t copy & paste the url from paste.opensuse.org into my replies.