Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
help with emerging Xorg-server etc
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3, 4  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
Tony0945
Watchman
Watchman


Joined: 25 Jul 2006
Posts: 5127
Location: Illinois, USA

PostPosted: Mon Nov 24, 2014 10:26 pm    Post subject: Reply with quote

Besides specific versions such as your package.use, mine also has versionless entries such as:
Quote:
dev-db/mysql -perl
net-fs/samba readline cups pam
dev-java/sun-jre-bin nsplugin
dev-java/blackdown-jre nsplugin
media-video/realplayer nsplugin


In this way, new versions will keep the same use flags without intervention. I'd like Neddy's comments on the pros and cons of this strategy/


Last edited by Tony0945 on Tue Nov 25, 2014 2:38 pm; edited 1 time in total
Back to top
View user's profile Send private message
greyspoke
Apprentice
Apprentice


Joined: 08 Jan 2010
Posts: 171

PostPosted: Tue Nov 25, 2014 1:45 pm    Post subject: Reply with quote

Tony0945 wrote:
Besides specific versions such as your package.use, mine also has versionless entries such as:
Quote:
dev-db/mysql -perl
net-fs/samba readline cups pam
dev-java/sun-jre-bin nsplugin
dev-java/blackdown-jre nsplugin
media-video/realplayer nsplugin


In this was, new versions will keep the same use flags without intervention. I'd like Neddy's comments on the pros and cons of this strategy/

I have wondered about this as well. I have noticed that on my ~amd64 system, which doesn't change much in terms of what is installed, packages that have been there a while suddenly require something they didn't before. I guess that sometimes the reverse happens, they stop requiring something. If you have non-version specific use flags I guess over time you will accumulate ones you don't need. But there may be more to it than that.
Back to top
View user's profile Send private message
mikefot
l33t
l33t


Joined: 19 Nov 2014
Posts: 709

PostPosted: Wed Nov 26, 2014 1:48 pm    Post subject: Reply with quote

Hello again,

I have been looking at the web pages on kernel configuration a bit more.

Looking here:

http://wiki.gentoo.org/wiki/Kernel/Configuration#Build

It suggests that after manually optimising the configuration it has to be compiled again.

I assume I will need to do that here.

There is a cryptic bit at the end which seems to say that the symlink that points to current kernel executable I have will automatically sniff out the new kernel and point to it like a gun dog, without me having to do a whole lot once it is compiled....

I am a bit concerned that to make sure the compiler goes for the modified version of the source (or however the changes are added to it) and not the old configuration and just recompile that etc.

Comments appreciated.

Regards

Michael Fothergill
Back to top
View user's profile Send private message
Tony0945
Watchman
Watchman


Joined: 25 Jul 2006
Posts: 5127
Location: Illinois, USA

PostPosted: Wed Nov 26, 2014 2:25 pm    Post subject: Reply with quote

That's why I run
Quote:
genkernel --menuconfig --install --bootloader=grub all


Using the menuconfig command option gives you the configuration menu, --install makes sure that it is installed in /boot, no hunting and pointing. The bootloader command may be a relic from the days LILO was available. Try without it and see if your /boot/grub/menu.conf changes anyway. I already said above that i don't know if it works with grub2.

The default options are in /etc/genkernel.conf, the command line options override them. I used to set them in the configuration file but eveerytime a new version of genkernel came out, I'd have to merge the two files. it was easier to just use the command line options. The full script I use on all of my boxes is:
Quote:
#! /bin/bash

zcat /proc/config.gz >/root/config.now
cp /root/config.now /usr/src/linux/.config
cd /usr/src/linux
make oldconfig
cp .config /root/config.new
genkernel --menuconfig --install --kernel-config=/root/config.new --bootloader=grub all



For this to work the option " Enable access to .config through /proc/config.gz" has to be turned on in the running kernel. To do this, ensure you check "kernel .config source" and "enable access to .config through /proc/config.gz" on the "general setup" menu.
I do the two step so that i can do a diff on the existing kernel and the new options. The "make oldconfig" gives you the opportunity to set new flags that may be in your new kernel if it is a newer version. I usually just hit "enter" for the default.

If you are re-compiling the existing kernel version it's a good idea to also assign a subversion through the "local version - append to kernel release" check box which is also on "general setup". Otherwise, the new kernel files will overwrite the existing kernel files and if the new kernel doesn't boot you are up the creek (been there - done that). If you have emerged a newer version kernel the old files will stay until you delete them.


Some people on this forum will tell you that "real men don't use genkernel", but I say "if it's just mechanical repetition why not use a script? which is what genkernel is." And I've automated it even further with my script above.
Back to top
View user's profile Send private message
mikefot
l33t
l33t


Joined: 19 Nov 2014
Posts: 709

PostPosted: Wed Nov 26, 2014 2:54 pm    Post subject: Reply with quote

Dear Tony,

Many thanks for the input again. I am a correct in interpeting what you say to mean that if you would choose to do a brand new installation on a new box, then you would start off with the kernel supplied on the installation CD (as I did ) and then when it comes to the part where you have to install your own kernel and compile it, you would use a config file that contained the elements needed to make e.g. xorg-server and your graphics cards work etc right then, and using your script you would get genkernel to produce a properly configured kernel the first time you used it and in practice you could install e.g. xorg-server and say gnome or xfce and they would work properly, and you would not need to recompile the kernel and reset all these options correctly again until Linus Torvalds sends us all a new kernel version and we could not do an emerge update properly without it......?

Regards

Michael Fothergill
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54237
Location: 56N 3W

PostPosted: Wed Nov 26, 2014 7:20 pm    Post subject: Reply with quote

Tony0945,

I like my emerge --info output to provide useful information and I find a lot of entries in package.use difficult to keep track of.
I use both, or all three even.

Any USE flag that I want to affect all my installed packages goes in make.conf - even if it applies only to a single package.
When I'm not sure, I test with
Code:
USE=<flag> emerge @world -uDNpv
Packages that will be rebuilt with a changed <flag> will have <flag> marked with a *
If I want that effect an all of the packages marked with <flag>* The flag goes in make.conf.
If not, its a bit trickier, since there are two ways of getting the desired result. The traditional, well documented package.use entry per package, where <flag> is required, to turn on
<flag> only for those packages.
You can also add <flag> no make.conf and have a package.use entry for -<flag> on the packages where <flag> is not required.

With everything set, one way or another, its time to do
Code:
emerge @world -uDNav
and only press y if you have it right.

I am not concerned about packages that I don't have installed As I always use the -av options and review what emerge is about to do before it actually does it.
As I run ~arch, emerge does give a surprise now and again and reviewing what it wants to do is part of the disipline of minimisisg the surprises.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Tony0945
Watchman
Watchman


Joined: 25 Jul 2006
Posts: 5127
Location: Illinois, USA

PostPosted: Thu Nov 27, 2014 12:18 am    Post subject: Reply with quote

Mike, you have the gist of it. One point, if you run genkernel without the --kernel-config= you will always start with either the default config flags or the flags from the last kernel you built, I forget which. In my method you always start with the config flags of the kernel currently running, i.e. one known to work, which may not be the one you last built. I try to sync the portage ebuilds at least once a week. I have one central machine for that. I have five computers total so I use one as a local server. That's sort of an advanced technique you can read about on the wiki. I use cron to run the sync a little after midnight on Monday morning as there tends to be a burst of activity on weekends. When a new kernel is found, I select it with eselect then run my script. In between, I often tinker with the kernel trying for more efficiency.
Right now, I'm having a slow boot so I tried taking out some more unneeded drivers. Didn't help. Now I'm rebuilding that kernel with SLUB instead of SLAB because I read on the internet that would help. As I suggested above, I added the local suffix SLUB to the kernel name with menuconfig. If the result is horrible or unbootable I can always reboot with my previous kernel. I'm running the ~amd64 kernel as I noticed that they are always marked as stable by Linus and that's good enough for me. Some time in the past there was a notice from Gentoo to stop using a particular kernel that had been marked as stable because a bug that could trash files was found. So now I keep the latest unstable and the latest stable kernels in /boot as a minimum. Every so often I clean house. Did so yesterday, I kept the three kernels that are still in the tree and unmerged and destroyed the source files from the others.

Besides the install CD another source is Pappy's seeds, http://kernel-seeds.org/, but it's a bit behind on versions. It's well worth reading, however, for the comments on individual config flags.

Don't know for sure how to advise you, because I love to tinker with my boxes, but I firmly maintain at least monthly updates. I once upgraded a four year old installation including going from 2 series kernel to 3 series kernel, a major gnome upgrade, and replacement of major obsolete packages. It would have been better to re-install. Even on my weekly updates, some snafu can mess you up. But in the next week, someone on the forum will have a fix. That's why I like to read the forum and thereby saw your post.

Gentoo is all about choices. Very little is carved in stone. Much different from RedHat or Ubuntu Welcome!
Back to top
View user's profile Send private message
Tony0945
Watchman
Watchman


Joined: 25 Jul 2006
Posts: 5127
Location: Illinois, USA

PostPosted: Thu Nov 27, 2014 12:43 am    Post subject: Reply with quote

Neddy, thanks for the comments. I have WAY too many use flags in make.conf, 63 in fact. That's actually pared down by keeping only those flags that affect two or more packages. You are correct that -systemd isn't needed anymore. I think it was a relic of the time that I was switching from Gnome to Mate. I also have -gnome -kde -policykit and -consolekit although policykit is on the system because one package (udisks ?) requires it. Kaffeine also brought in large chunks of kde, but if I replace kaffeine, it will all go away. Someday, I have to sit down and look at which flags will have what effect by the method you suggest. I still have the fortran flag for gcc although I haven't written any fortran for more than thirty years and am unlikely to in the future although I do have some math routines on a CD somewhere. Probably best to dump the flag and quit building fortran support into gcc until I actually decide to write some fortran again.

Quote:
emerge @world -uDNav
I think that's equivalent to
Quote:
emerge -auvND world
or is there some subtle difference?
Back to top
View user's profile Send private message
Tony0945
Watchman
Watchman


Joined: 25 Jul 2006
Posts: 5127
Location: Illinois, USA

PostPosted: Thu Nov 27, 2014 12:51 am    Post subject: Reply with quote

Neddy, used your method and found out that, as suspected, the fortran flag only affects gcc. Moreover, "equery u gcc" shows that it is on by default. Only 62 flags now.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54237
Location: 56N 3W

PostPosted: Thu Nov 27, 2014 7:07 pm    Post subject: Reply with quote

Tony0945,

USE=fortran is on as some math libraries are written in fortran. They work well, are mature and debugged, so there is no point in rewrititng them.
If you don't use these libraries, you won't miss fortran support.

world and @world are equivelent.

Before sets were introduced in portage-2.2 there was only world. World is really a set - its all the packages you have explicitly installed.
To keep the set and package namespaces separate, sets are denoted with a @. hence @world.
For backwards compatibility, portage accepts world too. It only works as there is no package named world yet.

A set is any list of packages (like @world). If you want to write a set called fedora20 then
Code:
emerge @fedora20
could be made to work.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Thu Nov 27, 2014 7:23 pm    Post subject: Reply with quote

NeddySeagoon wrote:
Before sets were introduced in portage-2.2 there was only world.

..and 'system'.
Back to top
View user's profile Send private message
mikefot
l33t
l33t


Joined: 19 Nov 2014
Posts: 709

PostPosted: Mon Dec 01, 2014 7:41 pm    Post subject: Reply with quote

Dear All,

I tried to install xorg again. I first modified the make.conf file with the suggestions made by Tony and Selenia.

My make.conf file now looks like this:

Code:
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
CFLAGS="-O2 -pipe"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="x86_64-pc-linux-gnu"
# These are the USE flags that were used in addition to what is provided by the
# profile used for building.
USE="bindist mmx sse sse2"
PORTDIR="/usr/portage"
DISTDIR="${PORTDIR}/distfiles"
PKGDIR="${PORTDIR}/packages"

SYNC="rsync://rsync3.uk.gentoo.org/gentoo-portage"

SYNC="rsync://rsync.uk.gentoo.org/gentoo-portage"

MAKEOPTS="-j2"

LINGUAS="en_GB"

VIDEO_CARDS="nouveau"

INPUT_DEVICES="evdev keyboard mouse"


After this, I ran emerge –update –deep –newuse @world - it seemed to run OK.

The first half of the emergeinfo log file looks like this:

Code:
Portage 2.2.8-r2 (default/linux/amd64/13.0, [unavailable], glibc-2.19-r1, 3.14.14-gentoo x86_64)
=================================================================
System uname: Linux-3.14.14-gentoo-x86_64-AMD_A4-3400_APU_with_Radeon-tm-_HD_Graphics-with-gentoo-2.2
KiB Mem:     4051308 total,   3925116 free
KiB Swap:    5119996 total,   5119996 free
Timestamp of tree: Mon, 17 Nov 2014 12:15:01 +0000
ld GNU ld (Gentoo 2.24 p1.4) 2.24
app-shells/bash:          4.2_p53
dev-lang/perl:            5.18.2-r2
dev-lang/python:          2.7.7, 3.3.5-r1, 3.4.1
dev-util/pkgconfig:       0.28-r1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.69
sys-devel/automake:       1.13.4
sys-devel/binutils:       2.24-r3
sys-devel/gcc:            4.8.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2-r1
sys-devel/make:           4.0-r1
sys-kernel/linux-headers: 3.16 (virtual/os-headers)
sys-libs/glibc:           2.19-r1
Repositories: gentoo
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.uk.gentoo.org/gentoo-portage"
USE="acl amd64 berkdb bindist bzip2 cli cracklib crypt cxx dri fortran gdbm iconv ipv6 mmx modules multilib ncurses nls nptl openmp pam pcre readline session sse sse2 ssl tcpd unicode zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON


I also ran emerge –depclean and revdep-rebuild which also seemed to work.

I then decided to have a go at reconfiguring the kernel to work with the nouveau drivers etc., so that xorg could have a chance to work properly.

A general outline of how to do this is given in a wiki file (http://wiki.gentoo.org/wiki/Xorg/Configuration).

Here I tried to go with Tony’s suggestion of running genkernel –menuconfig – install and see if that would work here.

I tried running genkernel –menuconfig –install and found the command was rejected. On reading some documentation it seemed that genkernel –install --menuconfig would be a better idea.
Looking closer at the interactive output from genkernel suggested that it wanted genkernel –something –all in there.

More documentation seemed to say that the –install option was enabled by default. Thus it seemed that genkernel –menuconfig –all should do for me here.

So I ran this command.

When I did it I got a box window which had a whole load of options in it for modifying the kernel.

I then looked at the following wiki file:

http://wiki.gentoo.org/wiki/Kernel/Gentoo_Kernel_Configuration_Guide

It reminded me that I needed to turn on the x86 high memory support if I had not already done so in the kernel.

I moved to the sub menu named processor type and features and looked for the high memory option but I could not seem to find it. I concluded that it had either been merged and renamed as some other option or deleted.

So I abandoned that idea and moved on to the device driver settings ie the graphics drivers. The xorg wiki said I needed to go to the device drivers/graphics support/framebuffers support sub menu and disable all the drivers ie VGA, Intel, nVidia and ATI etc.

When I did that I found that the sub menu contained a whole load of weird options in there as well as what looked like recognisable driver options.

So I then did my best to disable anything that looked like a graphics driver to me- but it seemed that none of them was turned on anyway. Even though the brackets were blank next to the relevant driver entries I hit the “N” option in them to disable them even if they were already not enabled anyway.

The box window commands seemed a bit confusing to me. The select option was a capital “S”. That was not so bad in itself, but the command to save modified options was also capital “S” as well……
The xorg wiki then instructed you to select simple console driver support. This was not simple to find…. I found an option that looked as close to this as possible and selected it.
I did that by using the space bar.

If you hit it then a star (*) appears between the brackets in the box and you have chosen the option according to me. You also did it without using the “S” command and thus avoided any confusion with the save command from my point of view.

I then saved and exited and then re-entered the same sub menu to check that the option was still checked, ie the change really had been saved.

I then moved to the device drivers/graphics support/direct rendering manager sub menu and selected the nouveau driver option.

Something peculiar occurred. Instead of getting a star (*) appearing between the brackets, I got a capital “M” instead. This happened no matter whether I used the space bar keystroke or the select “S” option or using Y etc to check the entry. I got a comment that said that the “M” meant that the option chosen was part of some bigger collective module choice of some kind or something like that………

I then saved and exited and went back into the same sub menu to check that the change had really been saved again.

I then hit the return key and got a message from genkernel to say that the modified kernel was being compiled.

Some snippets from the genkernel.log file are given below:

The start shows that the new kernel 3.16.5 is being compiled -

Code:
* Gentoo Linux Genkernel; Version 3.4.49.2#[0m
* Running with options: --menuconfig all
* Using genkernel.conf from /etc/genkernel.conf
* Sourcing arch-specific config.sh from /usr/share/genkernel/arch/x86_64/config.sh ..
* Sourcing arch-specific modules_load from /usr/share/genkernel/arch/x86_64/modules_load ..

* Linux Kernel 3.16.5-gentoo#[0m for x86_64#[0m...
* .. with config file /usr/share/genkernel/arch/x86_64/kernel-config
* mount: /boot mounted successfully!
* kernel: Using config from /usr/share/genkernel/arch/x86_64/kernel-config
* kernel: >> Running mrproper...
COMMAND: make -j2 CC="gcc" LD="ld" AS="as" ARCH="x86" 
*         >> Running oldconfig...
COMMAND: make -j2 CC="gcc" LD="ld" AS="as" ARCH="x86" 
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/zconf.lex.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf --oldconfig Kconfig
.config:407:warning: symbol value 'm' invalid for ACPI_CONTAINER
.config:2863:warning: symbol value 'm' invalid for RTC_LIB


The end of the file shows that the compilation has worked:

Code:
DEPMOD  3.16.5-gentoo
*         >> Generating module dependency data...
* Copying config for successful build to /etc/kernels/kernel-config-x86_64-3.16.5-gentoo
* busybox: >> Using cache
* initramfs: >> Initializing...
*         >> Appending base_layout cpio data...
*         >> Appending auxilary cpio data...
*         >> Copying keymaps
*         >> Appending busybox cpio data...
*         >> Appending modules cpio data...
*         >> Appending blkid cpio data...
*         >> Appending modprobed cpio data...
*         >> Appending linker cpio data...
*         >> Finalizing cpio...
*         >> Compressing cpio data (.xz)...
*
* Kernel compiled successfully!
*
* Required Kernel Parameters:
*     root=/dev/$ROOT
*
*     Where $ROOT is the device node for your root partition as the
*     one specified in /etc/fstab
*
* If you require Genkernel's hardware detection features; you MUST
* tell your bootloader to use the provided INITRAMFS file.
* WARNING... WARNING... WARNING...
* Additional kernel cmdline arguments that *may* be required to boot properly...
* With support for several ext* filesystems available, it may be needed to
* add "rootfstype=ext3" or "rootfstype=ext4" to the list of boot parameters.
* Do NOT report kernel bugs as genkernel bugs unless your bug
* is about the default genkernel configuration...
*
* Make sure you have the latest ~arch genkernel before reporting bugs.


I assumed that using the command genkernel –menuconfig –all meant that when the compilation was performed it would automatically include the make module install and make install commands as well as the make (compilation) itself without me having to execute them with separate commands.

The xorg wiki also suggested that I needed to add a use flag to the package.use file. This was the flag x11-base/xorg-server udev

My existing package.use file looked like this:

Code:
=dev-libs/libxml2-2.9.1-r4 python
=x11-libs/libdrm-2.4.52 libkms
=media-libs/mesa-10.0.4 xa gbm


I noticed that the entries all began with the “=” sign, but the recommendation from the xorg wiki did not begin with it…

I then decided that to me at least, it ought to be there. So I edited the package.use file and added the extra flag with an “=” stuck in front of it.

Then I reasoned that maybe you need to run emerge –update –deep –newuse @world again in order to make sure that this new use flag would be seen by the OS.
So I ran it. It ran OK but complained that something was wrong with the new use flag. I wasn’t sure what it was. So I thought to remove the “=” character and see if that would improve things.
The complaint went away and it seemed to run happily.

At this point I ran emerge xorg-server.

It ran successfully. I then emerged x11-wm/twm and x11-terms/xterm successfully.
I then rebooted the system to see if the new kernel was recognised by grub and actually used by the OS.
The screen output on booting seemed to suggest that the old kernel was actually being used; ie 3.14.14 not the new one, 3.16.5…….
I also ran uname-release and it showed the old kernel number.
I then tried startx as both root and user.

This failed.

I retrieved the xorg log file. The start of the output shows that the old kernel was still being used:

Code:
[   280.642]
X.Org X Server 1.15.0
Release Date: 2013-12-27
[   280.642] X Protocol Version 11, Revision 0
[   280.642] Build Operating System: Linux 3.14.14-gentoo x86_64 Gentoo
[   280.642] Current Operating System: Linux haywire 3.14.14-gentoo #1 SMP Mon Oct 20 21:33:24 BST 2014 x86_64
[   280.642] Kernel command line: BOOT_IMAGE=/kernel-genkernel-x86_64-3.14.14-gentoo root=UUID=a68b9ae9-66a1-432a-872d-bff3919e0f0c ro
[   280.642] Build Date: 01 December 2014  01:37:49PM
[   280.643] 
[   280.643] Current version of pixman: 0.32.4
[   280.643]    Before reporting problems, check http://wiki.x.org
   to make sure that you have the latest version.
[   280.643] Markers: (--) probed, (**) from config file, (==) default setting,
   (++) from command line, (!!) notice, (II) informational,
   (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   280.644] (==) Log file: "/var/log/Xorg.0.log", Time: Mon Dec  1 13:53:05 2014
[   280.644] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[   280.644] (==) No Layout section.  Using the first Screen section.
[   280.644] (==) No screen section available. Using defaults.
[   280.644] (**) |-->Screen "Default Screen Section" (0)
[   280.644] (**) |   |-->Monitor "<default monitor>"
[   280.644] (==) No monitor specified for screen "Default Screen Section".
   Using a default monitor configuration.
[   280.644] (==) Automatically adding devices
[   280.644] (==) Automatically enabling devices
[   280.644] (==) Automatically adding GPU devices
[   280.644] (WW) The directory "/usr/share/fonts/TTF/" does not exist.
[   280.644]    Entry deleted from font path.
[   280.644] (WW) The directory "/usr/share/fonts/OTF/" does not exist.
[   280.644]    Entry deleted from font path.
[   280.644] (WW) The directory "/usr/share/fonts/Type1/" does not exist.
[   280.644]    Entry deleted from font path.
[   280.644] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/100dpi/".
[   280.644]    Entry deleted from font path.
[   280.644]    (Run 'mkfontdir' on "/usr/share/fonts/100dpi/").
[   280.644] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/75dpi/".
[   280.644]    Entry deleted from font path.
[   280.644]    (Run 'mkfontdir' on "/usr/share/fonts/75dpi/").


I think the errors toward the end occur because this is the wrong kernel which is not configured to allow the graphics drivers to work properly

Code:
280.649] Initializing built-in extension DRI2
[   280.649] (II) LoadModule: "glx"
[   280.649] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
[   280.650] (II) Module glx: vendor="X.Org Foundation"
[   280.650]    compiled for 1.15.0, module version = 1.0.0
[   280.650]    ABI class: X.Org Server Extension, version 8.0
[   280.650] (==) AIGLX enabled
[   280.650] Loading extension GLX
[   280.650] (==) Matched nouveau as autoconfigured driver 0
[   280.650] (==) Matched nv as autoconfigured driver 1
[   280.650] (==) Matched modesetting as autoconfigured driver 2
[   280.650] (==) Matched fbdev as autoconfigured driver 3
[   280.650] (==) Matched vesa as autoconfigured driver 4
[   280.650] (==) Assigned the driver to the xf86ConfigLayout
[   280.650] (II) LoadModule: "nouveau"
[   280.650] (II) Loading /usr/lib64/xorg/modules/drivers/nouveau_drv.so
[   280.650] (II) Module nouveau: vendor="X.Org Foundation"
[   280.650]    compiled for 1.15.0, module version = 1.0.10
[   280.650]    Module class: X.Org Video Driver
[   280.650]    ABI class: X.Org Video Driver, version 15.0
[   280.650] (II) LoadModule: "nv"
[   280.650] (WW) Warning, couldn't open module nv
[   280.650] (II) UnloadModule: "nv"
[   280.650] (II) Unloading nv
[   280.650] (EE) Failed to load module "nv" (module does not exist, 0)
[   280.650] (II) LoadModule: "modesetting"
[   280.651] (WW) Warning, couldn't open module modesetting
[   280.651] (II) UnloadModule: "modesetting"
[   280.651] (II) Unloading modesetting
[   280.651] (EE) Failed to load module "modesetting" (module does not exist, 0)
[   280.651] (II) LoadModule: "fbdev"
[   280.651] (WW) Warning, couldn't open module fbdev
[   280.651] (II) UnloadModule: "fbdev"
[   280.651] (II) Unloading fbdev
[   280.651] (EE) Failed to load module "fbdev" (module does not exist, 0)
[   280.651] (II) LoadModule: "vesa"
[   280.651] (WW) Warning, couldn't open module vesa
[   280.651] (II) UnloadModule: "vesa"
[   280.651] (II) Unloading vesa
[   280.651] (EE) Failed to load module "vesa" (module does not exist, 0)
[   280.651] (II) NOUVEAU driver
[   280.651] (II) NOUVEAU driver for NVIDIA chipset families :
[   280.651]    RIVA TNT        (NV04)
[   280.651]    RIVA TNT2       (NV05)
[   280.651]    GeForce 256     (NV10)
[   280.651]    GeForce 2       (NV11, NV15)
[   280.651]    GeForce 4MX     (NV17, NV18)
[   280.651]    GeForce 3       (NV20)
[   280.651]    GeForce 4Ti     (NV25, NV28)
[   280.651]    GeForce FX      (NV3x)
[   280.651]    GeForce 6       (NV4x)
[   280.651]    GeForce 7       (G7x)
[   280.651]    GeForce 8       (G8x)
[   280.651]    GeForce GTX 200 (NVA0)
[   280.651]    GeForce GTX 400 (NVC0)
[   280.651] (--) using VT number 7

[   280.662] (EE) [drm] KMS not enabled
[   280.662] (EE) No devices detected.
[   280.662] (EE)
Fatal server error:
[   280.662] (EE) no screens found(EE)
[   280.662] (EE)
Please consult the The X.Org Foundation support
    at http://wiki.x.org
 for help.
[   280.662] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[   280.662] (EE)

Looking at the xorg wiki I can also see that I forgot some things. In particular, I forgot to configure the kernel to enable support for evdev. I was meant to go to the sub menu device drivers/input device support and check the event interface option with a (*) to turn it on.
I also don’t remember if I have emerged evdev yet. Furthermore, I forgot to run env-update and source/etc/profile after emerging xorg-server.
I also did not run nvidia-xconfig or eselect opengl set nvidia either.

I think I need to go back to genkernel and redo the configuration and compilation with the evdev support turned on.

But I think that I have made other errors and omissions that I am hoping that you can see and point out to me before I try again with it.
Comments are appreciated on the above. Thank you for tolerating my noobiness here.

Regards
Michael Fothergill
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54237
Location: 56N 3W

PostPosted: Mon Dec 01, 2014 7:53 pm    Post subject: Reply with quote

mikefot,

You are correct about the kernel
Code:
[   280.662] (EE) [drm] KMS not enabled
That will stop nouveau from working.

The = in
Code:
=media-libs/mesa-10.0.4 xa gbm
means apply to this version only.
You probably want
Code:
media-libs/mesa xa gbm
so the flags apply to all versions, or you will need more entries at every upgrade.
Code:
>=media-libs/mesa-10.0.4 xa gbm
might work too thats all versions from 10.0.4 and higher.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
mikefot
l33t
l33t


Joined: 19 Nov 2014
Posts: 709

PostPosted: Mon Dec 01, 2014 9:05 pm    Post subject: Reply with quote

Many thanks for the prompt response.

I realise that I forgot to add something here...

When I said I had a package.use file that looked like this:

Code:
=dev-libs/libxml2-2.9.1-r4 python
=x11-libs/libdrm-2.4.52 libkms
=media-libs/mesa-10.0.4 xa gbm


I meant that was how it looked before I added the extra use flag recommended by the xorg wiki.

So the package.use file I ended up with was this:

Code:
=dev-libs/libxml2-2.9.1-r4 python
=x11-libs/libdrm-2.4.52 libkms
=media-libs/mesa-10.0.4 xa gbm
x11-base/xorg-server udev


The extra use flag to be added was x11-base/xorg-server udev.

As I said I ended up adding it without the "=" character in front of it.


Regards

Michael Fothergill
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54237
Location: 56N 3W

PostPosted: Mon Dec 01, 2014 10:28 pm    Post subject: Reply with quote

mikefot,

Code:
[   280.662] (EE) [drm] KMS not enabled
probably means that nouveau is not enabled in your kernel, or you are not using the kernel you think you are.

Check your kernel configuration and run
Code:
$ uname -a
Linux NeddySeagoon_Static 3.16.1-gentoo #2 SMP PREEMPT Tue Sep 2 18:13:29 BST 2014 x86_64 AMD Phenom(tm) II X6 1090T Processor AuthenticAMD GNU/Linux

The Tue Sep 2 18:13:29 BST is the kernel build time. Does that match your memory of your last kernel build?
The #2 means this is the second time I have built this kernel version.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
mikefot
l33t
l33t


Joined: 19 Nov 2014
Posts: 709

PostPosted: Tue Dec 02, 2014 12:55 pm    Post subject: Reply with quote

Hello again,

I have pasted the entire genkernel log file here:

http://pastebin.com/rrr0Bw7u

I also ran the uname -a command:

The output was :

Linux haywire 3.14.14-gentoo #1 SMP Mon Oct 20 21:33:24 BST 2014 x86_64 AMD A4-3400 APU with Radeon(tm) HD Graphics AuthenticAMD GNU/Linux

Seems I am still using the old kernel.

I will see if I can find a config.gz file or whatever it is that lists the old and new kernel configurations.

Regards

Michael Fothergill
Back to top
View user's profile Send private message
Tony0945
Watchman
Watchman


Joined: 25 Jul 2006
Posts: 5127
Location: Illinois, USA

PostPosted: Tue Dec 02, 2014 1:20 pm    Post subject: Reply with quote

Are you using a separate \boot partition? If you are and it's not mounted when you run genkernel, it will put the generated kernel files in \boot on your main partition not your (unmounted) boot partition.

Run
Quote:
mount | grep boot
as root. If the result is a blank then run:
Quote:
mount /boot
mount |grep boot
If you get a partition the second time and not the first, then you have a separate \boot partition and it wasn't mounted.

You seem unfamiliar with menuconfig. Are you new to Linux as well as new to Gentoo?
Back to top
View user's profile Send private message
Tony0945
Watchman
Watchman


Joined: 25 Jul 2006
Posts: 5127
Location: Illinois, USA

PostPosted: Tue Dec 02, 2014 1:23 pm    Post subject: Reply with quote

I forgot another possible error, post the result of
Quote:
eselect kernel list


EDIT: Never mind, I see from the log that it's building 3.16.5 not 3.14.4
Back to top
View user's profile Send private message
mikefot
l33t
l33t


Joined: 19 Nov 2014
Posts: 709

PostPosted: Tue Dec 02, 2014 2:08 pm    Post subject: Reply with quote

Dear Tony,

I did mount | grep boot as you suggested and sure enough - there was nothing there.....

So then I did mount /boot followed by mount | grep boot again as you advised, and the output was
Code:
 /dev/sda2 on /boot type ext2 (rw, noatime)
.

I think you are right. I did not mount the /boot partition and so it has stuck the kernel somewhere in the main primary partition - perhaps in /root or somewhere....

I guess I will have to log in again and look around in the directories and see if I can find it.

Perhaps you might be able to guess which directory it has most likely ended up in............

Presumably, once I have found it then I would use e.g. the mv command to put it into the /boot partition.

Suggestions on this are most welcome.

If I move it to the correct directory in /boot will that ensure that the old kernel is ignored, ie it will take priority?

On the menuconfig front, I have used e.g. the debian installer which comes at you with dialog box type windows where you select e.g. a desktop installation or a server install etc and other choices, but I have never run menuconfig to modify a kernel before.

I have always used cooked kernels in binary distributions.

Once in debian I used the proprietary nvidia driver a while ago and you did need to modify the kernel to do that but I think they had a sanitised routine to do that which I think did not use menuconfig - mind you that was a long time ago so I don't remember too well......

Regards

Michael Fothergill
Back to top
View user's profile Send private message
mikefot
l33t
l33t


Joined: 19 Nov 2014
Posts: 709

PostPosted: Tue Dec 02, 2014 5:28 pm    Post subject: Reply with quote

Hello once again,

I have just realised that the processor I have in my box here, the amd a4-3400 is in fact a dual core type...........

Thus I think the makeopts parameter should have been -j3 not -j2...........

It is actually an APU and has onboard Radeon graphics.

I bought a separate asus engt 430 nvidia graphics card and installed it alongside it.

So now I think the kernel needs to be recompiled to add both the evdev support and the correct makeopts setting; I suspect some other things will be found that need fixing as well.

Regards

Michael Fothergill
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Tue Dec 02, 2014 6:05 pm    Post subject: Reply with quote

mikefot wrote:
Thus I think the makeopts parameter should have been -j3 not -j2...........

So now I think the kernel needs to be recompiled to add both the evdev support and the correct makeopts setting; I suspect some other things will be found that need fixing as well.

The make -j setting does not mean a recompile is needed. The other stuff will.

It only affects the make process in terms of how many jobs it will launch in parallel, and has nothing to do with the end-product (or something is badly wrong: occasionally an ebuild will restrict itself to -j1 but that is rare, and nothing to do with kernel, nor us.)

It's fairly common to have to iterate over kernel builds to get everything right, especially when you're new. So don't worry. :-)
Back to top
View user's profile Send private message
Tony0945
Watchman
Watchman


Joined: 25 Jul 2006
Posts: 5127
Location: Illinois, USA

PostPosted: Tue Dec 02, 2014 6:46 pm    Post subject: Reply with quote

I think this will work

Quote:
umount /boot
mkdir /mnt/temp
mount /dev/sda2 /mnt/temp

[ now look in /boot, there is probably one created by genkernel. Copy what you want to /mnt/temp]
Quote:
umount /mnt/temp
mount /boot



Second partition? What's on the first partition, Windows?
The traditional reason for a separate boot partition was the limitations of LILO and the BIOS calls it relied on. I still use one, but just out of habit.
Another reason is to protect it from accidental user damage, but permissions should do that.

Don't feel bad. I made this mistake last year and I have far less justification.
Back to top
View user's profile Send private message
mikefot
l33t
l33t


Joined: 19 Nov 2014
Posts: 709

PostPosted: Tue Dec 02, 2014 7:05 pm    Post subject: Reply with quote

Hi, thanks to you both.....

I have two hard drives on my machine.

The first one has Gentoo (installed first) in around 250 GB (following the Gentoo handbook instructions using parted) and around 70GB was left free. After installing Gentoo to the reboot I then installed Ubuntu in the remaining free space.

The second drive has Windows 7 on it (around 60GB) and Debian Jessie next to it (140GB or so).

The monitor resolution is 2560 x 1080@ 60Hz refresh rate. I need to adjust xrandr in Debian and Ubuntu creating a new mode - the highest available one is currently is 1200 x 1080 I think.

If I resurrect the new kernel, I can test it and see what it does.

Since the evdev support is not turned on in then it will have to be superseded with a new better kernel, but it might show that some of the changes I made actually worked which is a help at this stage...

If I want to check the configuration of it (and the old kernel) as Ned of Wales suggested, do I have to find some config.gz file and get the settings I used from there?

Regards

Michael Fothergill
Back to top
View user's profile Send private message
mikefot
l33t
l33t


Joined: 19 Nov 2014
Posts: 709

PostPosted: Tue Dec 02, 2014 7:09 pm    Post subject: Reply with quote

PS

Why would Iwant to copy anything to the mnt/temp directory here?

Regards

Michael Fothergill
Back to top
View user's profile Send private message
mikefot
l33t
l33t


Joined: 19 Nov 2014
Posts: 709

PostPosted: Tue Dec 02, 2014 7:15 pm    Post subject: Reply with quote

PS

Why would Iwant to copy anything to the mnt/temp directory here?

Regards

Michael Fothergill
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page Previous  1, 2, 3, 4  Next
Page 2 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum