View previous topic :: View next topic |
Author |
Message |
Tony0945 Watchman
Joined: 25 Jul 2006 Posts: 5127 Location: Illinois, USA
|
Posted: Mon Nov 24, 2014 10:26 pm Post subject: |
|
|
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 |
|
|
greyspoke Apprentice
Joined: 08 Jan 2010 Posts: 171
|
Posted: Tue Nov 25, 2014 1:45 pm Post subject: |
|
|
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 |
|
|
mikefot l33t
Joined: 19 Nov 2014 Posts: 709
|
Posted: Wed Nov 26, 2014 1:48 pm Post subject: |
|
|
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 |
|
|
Tony0945 Watchman
Joined: 25 Jul 2006 Posts: 5127 Location: Illinois, USA
|
Posted: Wed Nov 26, 2014 2:25 pm Post subject: |
|
|
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 |
|
|
mikefot l33t
Joined: 19 Nov 2014 Posts: 709
|
Posted: Wed Nov 26, 2014 2:54 pm Post subject: |
|
|
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 |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54237 Location: 56N 3W
|
Posted: Wed Nov 26, 2014 7:20 pm Post subject: |
|
|
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 |
|
|
Tony0945 Watchman
Joined: 25 Jul 2006 Posts: 5127 Location: Illinois, USA
|
Posted: Thu Nov 27, 2014 12:18 am Post subject: |
|
|
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 |
|
|
Tony0945 Watchman
Joined: 25 Jul 2006 Posts: 5127 Location: Illinois, USA
|
Posted: Thu Nov 27, 2014 12:43 am Post subject: |
|
|
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 |
|
|
Tony0945 Watchman
Joined: 25 Jul 2006 Posts: 5127 Location: Illinois, USA
|
Posted: Thu Nov 27, 2014 12:51 am Post subject: |
|
|
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 |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54237 Location: 56N 3W
|
Posted: Thu Nov 27, 2014 7:07 pm Post subject: |
|
|
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 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 |
|
|
steveL Watchman
Joined: 13 Sep 2006 Posts: 5153 Location: The Peanut Gallery
|
Posted: Thu Nov 27, 2014 7:23 pm Post subject: |
|
|
NeddySeagoon wrote: | Before sets were introduced in portage-2.2 there was only world. |
..and 'system'. |
|
Back to top |
|
|
mikefot l33t
Joined: 19 Nov 2014 Posts: 709
|
Posted: Mon Dec 01, 2014 7:41 pm Post subject: |
|
|
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 |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54237 Location: 56N 3W
|
Posted: Mon Dec 01, 2014 7:53 pm Post subject: |
|
|
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 |
|
|
mikefot l33t
Joined: 19 Nov 2014 Posts: 709
|
Posted: Mon Dec 01, 2014 9:05 pm Post subject: |
|
|
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 |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54237 Location: 56N 3W
|
Posted: Mon Dec 01, 2014 10:28 pm Post subject: |
|
|
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 |
|
|
mikefot l33t
Joined: 19 Nov 2014 Posts: 709
|
Posted: Tue Dec 02, 2014 12:55 pm Post subject: |
|
|
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 |
|
|
Tony0945 Watchman
Joined: 25 Jul 2006 Posts: 5127 Location: Illinois, USA
|
Posted: Tue Dec 02, 2014 1:20 pm Post subject: |
|
|
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 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 |
|
|
Tony0945 Watchman
Joined: 25 Jul 2006 Posts: 5127 Location: Illinois, USA
|
Posted: Tue Dec 02, 2014 1:23 pm Post subject: |
|
|
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 |
|
|
mikefot l33t
Joined: 19 Nov 2014 Posts: 709
|
Posted: Tue Dec 02, 2014 2:08 pm Post subject: |
|
|
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 |
|
|
mikefot l33t
Joined: 19 Nov 2014 Posts: 709
|
Posted: Tue Dec 02, 2014 5:28 pm Post subject: |
|
|
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 |
|
|
steveL Watchman
Joined: 13 Sep 2006 Posts: 5153 Location: The Peanut Gallery
|
Posted: Tue Dec 02, 2014 6:05 pm Post subject: |
|
|
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 |
|
|
Tony0945 Watchman
Joined: 25 Jul 2006 Posts: 5127 Location: Illinois, USA
|
Posted: Tue Dec 02, 2014 6:46 pm Post subject: |
|
|
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 |
|
|
mikefot l33t
Joined: 19 Nov 2014 Posts: 709
|
Posted: Tue Dec 02, 2014 7:05 pm Post subject: |
|
|
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 |
|
|
mikefot l33t
Joined: 19 Nov 2014 Posts: 709
|
Posted: Tue Dec 02, 2014 7:09 pm Post subject: |
|
|
PS
Why would Iwant to copy anything to the mnt/temp directory here?
Regards
Michael Fothergill |
|
Back to top |
|
|
mikefot l33t
Joined: 19 Nov 2014 Posts: 709
|
Posted: Tue Dec 02, 2014 7:15 pm Post subject: |
|
|
PS
Why would Iwant to copy anything to the mnt/temp directory here?
Regards
Michael Fothergill |
|
Back to top |
|
|
|
|
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
|
|