Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
grub-static 0.97 after emerge -e world poorly fails
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Installing Gentoo
View previous topic :: View next topic  
Author Message
atatut
n00b
n00b


Joined: 27 Jun 2007
Posts: 49

PostPosted: Wed Jun 27, 2007 6:15 pm    Post subject: grub-static 0.97 after emerge -e world poorly fails Reply with quote

Hi everyone,

First the background:

HARDWARE:

CPU: Dual Intel Xeon(R) CPU X5355 @ 2.66GHz

Here's the output of cat /proc/cpuinfo (listed the last core to spare everyone some useless blabla, anyway, they're the same);

processor : 7
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU X5355 @ 2.66GHz
stepping : 7
cpu MHz : 2666.748
cache size : 4096 KB
physical id : 1
siblings : 4
core id : 3
cpu cores : 4
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr dca lahf_lm
bogomips : 5333.50
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

MEMORY: Kingston KVR667D2D8F5K2/2G

Here's the output of cat /proc/meminfo;

MemTotal: 8175460 kB
MemFree: 7507852 kB
Buffers: 261208 kB
Cached: 60536 kB
SwapCached: 0 kB
Active: 154900 kB
Inactive: 173532 kB
SwapTotal: 8008312 kB
SwapFree: 8008312 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 6668 kB
Mapped: 5348 kB
Slab: 309560 kB
SReclaimable: 294248 kB
SUnreclaim: 15312 kB
PageTables: 828 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 12096040 kB
Committed_AS: 17768 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 274228 kB
VmallocChunk: 34359463659 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
Hugepagesize: 2048 kB

STORAGE: I spare you the 64 other drives inside the system (there's no relation with the current problem)

SYS HDD1: SATA WD800JD-00MS
SYS HDD2: SATA WD800JD-00LS

SOFTWARE:

OS: 2.6.20-gentoo-r8
PROFILE: [4] default-linux/amd64/2006.1/no-multilib * (output from eselect profile list)

PURPOSE OF SYSTEM: XEN, XEN AND XEN (it rules)
SYSTEM SETUP BACKGROUND:

1. LiveCD
2. http://gentoo-wiki.com/HOWTO_Gentoo_Install_on_Software_RAID_mirror_and_LVM2_on_top_of_RAID
3. UP TO HERE, EVERYTHING WENT FINE, Played a bit with the recovery procedure as well
4. /etc/make.conf:


# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example
CFLAGS="-march=nocona -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"

################### STANDARD MAKEOPTS FOR MOST PACKAGES ############################################################
MAKEOPTS="-j256"
################### STANDARD MAKEOPTS FOR MOST PACKAGES ############################################################

################### SPECIAL MAKEOPTS FOR GNOME-PANEL AMD64 THAT FAILS WITH NORMAL MAKEOPTS #########################
# MAKEOPTS="-j1"
################### SPECIAL MAKEOPTS FOR GNOME-PANEL AMD64 THAT FAILS WITH NORMAL MAKEOPTS #########################

################### SPECIAL MAKEOPTS FOR GRUB-STATIC AMD64 THAT FAILS WITH NORMAL MAKEOPTS #########################
#MAKEOPTS="-j1"
################### SPECIAL MAKEOPTS FOR GRUB-STATIC AMD64 THAT FAILS WITH NORMAL MAKEOPTS #########################


GENTOO_MIRRORS="http://mirror.switch.ch/ftp/mirror/gentoo/ ftp://mirror.switch.ch/mirror/gentoo/ ftp://ftp.solnet.ch/mirror/Gentoo http://gentoo.mirror.solnet.ch "
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

USE="X acl acpi -arts automount avahi bzip2 cdr clamav cups dbus dvd dvdr firefox ftp gd gif gnome gpm gtk hal jpeg kerberos ldap ldapsam memlimit mmx mtrr nptl nptlonly opengl pam pae pdf radius rdesktop samba sse2 ssl symlink swat threads truetzpe unicode usb win32codecs winbind xosd xscreensaver zlib"

INPUT_DEVICES="keyboard mouse"
VIDEO_CARDS="vesa vga"

5. /etc/mdadm.conf:

ARRAY /dev/md3 level=raid1 num-devices=2 UUID=d6c39a99:f93e0003:ac1c4097:3480b304
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=b6714d50:ddef8c0e:beeb5458:21484854
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=b11bc23a:6869615e:e8ac97a8:92c05edc
DEVICE /dev/sda* (REFERS TO THE: SATA WD800JD-00MS)
DEVICE /dev/sdb* (REFERS TO THE: SATA WD800JD-00LS)

6. emerge the standard packages of any good system: dbus hal acpid hotplugd ifplugd hdparm (emerged non system essential packages such as vixie-cron, not listed here)
7. make menuconfig
8. successful kernel at the first try (as always)
9. emerge grub-static
10. reboot: ALL UP AND RUNNING
11. emerge --update --deep world
12. reboot: ALL UP AND RUNNING
13. emerge -e world (had to play a bit with MAKEOPTS, see /etc/make.conf above for commented MAKEOPTS)
14. type grub: -bash: /sbin/grub: cannot execute binary file
15. type file /sbin/grub: /sbin/grub: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, statically linked, stripped. AND HERE I HAVE A DOUBT, shouldn't I have something like for the: file /bin/ls: /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped
16. Checked in my /dev and my sda and sdb are now referred as sdr and sds BUT MY SYSTEM BOOTS?????!!!!!!
17. restarted the mdadm after altering the /etc/mdadm.conf to reflect the arbitrary change of my /dev/sda /dev/sdb
18. reboot: ALL UP AND RUNNING
19. type: grub: -bash: /sbin/grub: cannot execute binary file
20. emerged grub-static a dozen times playing with the MAKEOPTS variable but no hope to have it emerged correctly anymore, here's the emerge output:

localhost ~ # emerge grub-static
Calculating dependencies... done!
>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) sys-boot/grub-static-0.97 to /
* grub-static-0.97.tar.bz2 RMD160 ;-) ... [ ok ]
* grub-static-0.97.tar.bz2 SHA1 ;-) ... [ ok ]
* grub-static-0.97.tar.bz2 SHA256 ;-) ... [ ok ]
* grub-static-0.97.tar.bz2 size ;-) ... [ ok ]
* checking ebuild checksums ;-) ... [ ok ]
* checking auxfile checksums ;-) ... [ ok ]
* checking miscfile checksums ;-) ... [ ok ]
* checking grub-static-0.97.tar.bz2 ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking grub-static-0.97.tar.bz2 to /var/tmp/portage/sys-boot/grub-static-0.97/work

bzip2: /var/tmp/portage/sys-boot/grub-static-0.97/distdir/grub-static-0.97.tar.bz2: trailing garbage after EOF ignored
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/sys-boot/grub-static-0.97 ...
>>> Source compiled.
>>> Test phase [not enabled]: sys-boot/grub-static-0.97

>>> Install grub-static-0.97 into /var/tmp/portage/sys-boot/grub-static-0.97/image/ category sys-boot
>>> Completed installing grub-static-0.97 into /var/tmp/portage/sys-boot/grub-static-0.97/image/

ecompressdir: bzip2 -9 usr/share/man
ecompressdir: bzip2 -9 /usr/share/info


* QA Notice: Pre-stripped files found:
* /var/tmp/portage/sys-boot/grub-static-0.97/image/bin/mbchk
/var/tmp/portage/sys-boot/grub-static-0.97/image/sbin/grub
>>> Merging sys-boot/grub-static-0.97 to /
*
* To avoid automounting and autoinstalling with /boot,
* just export the DONT_MOUNT_BOOT variable.
*
*
* Your boot partition was not mounted as /boot, but portage
* was able to mount it without additional intervention.
* Files will be installed there for grub-static to function correctly.
*
--- /bin/
>>> /bin/mbchk
--- /lib/
--- /lib/grub/
--- /lib/grub/i386-pc/
>>> /lib/grub/i386-pc/e2fs_stage1_5
>>> /lib/grub/i386-pc/stage2_eltorito
>>> /lib/grub/i386-pc/ufs2_stage1_5
>>> /lib/grub/i386-pc/iso9660_stage1_5
>>> /lib/grub/i386-pc/jfs_stage1_5
>>> /lib/grub/i386-pc/xfs_stage1_5
>>> /lib/grub/i386-pc/minix_stage1_5
>>> /lib/grub/i386-pc/fat_stage1_5
>>> /lib/grub/i386-pc/vstafs_stage1_5
>>> /lib/grub/i386-pc/stage1
>>> /lib/grub/i386-pc/stage2
>>> /lib/grub/i386-pc/reiserfs_stage1_5
>>> /lib/grub/i386-pc/ffs_stage1_5
--- /usr/
--- /usr/share/
--- /usr/share/doc/
--- /usr/share/doc/grub-0.97-r3/
>>> /usr/share/doc/grub-0.97-r3/grub.conf.sample.gz
>>> /usr/share/doc/grub-0.97-r3/README.gz
>>> /usr/share/doc/grub-0.97-r3/THANKS.gz
>>> /usr/share/doc/grub-0.97-r3/TODO.gz
>>> /usr/share/doc/grub-0.97-r3/NEWS.gz
>>> /usr/share/doc/grub-0.97-r3/AUTHORS.gz
>>> /usr/share/doc/grub-0.97-r3/BUGS.gz
>>> /usr/share/doc/grub-0.97-r3/ChangeLog.gz
--- /usr/share/man/
--- /usr/share/man/man1/
>>> /usr/share/man/man1/mbchk.1.bz2
--- /usr/share/man/man8/
>>> /usr/share/man/man8/grub.8.bz2
>>> /usr/share/man/man8/grub-install.8.bz2
>>> /usr/share/man/man8/grub-terminfo.8.bz2
>>> /usr/share/man/man8/grub-md5-crypt.8.bz2
--- /usr/share/info/
>>> /usr/share/info/multiboot.info.bz2
>>> /usr/share/info/grub.info.bz2
--- /boot/
--- /boot/grub/
>>> /boot/grub/splash.xpm.gz
>>> /boot/grub/grub.conf.sample
--- /sbin/
>>> /sbin/grub
>>> /sbin/grub-md5-crypt
>>> /sbin/grub-terminfo
>>> /sbin/grub-install
>>> /sbin/grub-set-default
>>> Safely unmerging already-installed instance...
--- !mtime obj /usr/share/man/man8/grub.8.bz2
--- !mtime obj /usr/share/man/man8/grub-terminfo.8.bz2
--- !mtime obj /usr/share/man/man8/grub-md5-crypt.8.bz2
--- !mtime obj /usr/share/man/man8/grub-install.8.bz2
--- !mtime obj /usr/share/man/man1/mbchk.1.bz2
--- !mtime obj /usr/share/info/multiboot.info.bz2
--- !mtime obj /usr/share/info/grub.info.bz2
--- !mtime obj /usr/share/doc/grub-0.97-r3/grub.conf.sample.gz
--- !mtime obj /usr/share/doc/grub-0.97-r3/TODO.gz
--- !mtime obj /usr/share/doc/grub-0.97-r3/THANKS.gz
--- !mtime obj /usr/share/doc/grub-0.97-r3/README.gz
--- !mtime obj /usr/share/doc/grub-0.97-r3/NEWS.gz
--- !mtime obj /usr/share/doc/grub-0.97-r3/ChangeLog.gz
--- !mtime obj /usr/share/doc/grub-0.97-r3/BUGS.gz
--- !mtime obj /usr/share/doc/grub-0.97-r3/AUTHORS.gz
--- !mtime obj /sbin/grub-terminfo
--- !mtime obj /sbin/grub-set-default
--- !mtime obj /sbin/grub-md5-crypt
--- !mtime obj /sbin/grub-install
--- !mtime obj /sbin/grub
--- !mtime obj /lib/grub/i386-pc/xfs_stage1_5
--- !mtime obj /lib/grub/i386-pc/vstafs_stage1_5
--- !mtime obj /lib/grub/i386-pc/ufs2_stage1_5
--- !mtime obj /lib/grub/i386-pc/stage2_eltorito
--- !mtime obj /lib/grub/i386-pc/stage2
--- !mtime obj /lib/grub/i386-pc/stage1
--- !mtime obj /lib/grub/i386-pc/reiserfs_stage1_5
--- !mtime obj /lib/grub/i386-pc/minix_stage1_5
--- !mtime obj /lib/grub/i386-pc/jfs_stage1_5
--- !mtime obj /lib/grub/i386-pc/iso9660_stage1_5
--- !mtime obj /lib/grub/i386-pc/ffs_stage1_5
--- !mtime obj /lib/grub/i386-pc/fat_stage1_5
--- !mtime obj /lib/grub/i386-pc/e2fs_stage1_5
--- !mtime obj /boot/grub/splash.xpm.gz
--- !mtime obj /boot/grub/grub.conf.sample
--- !mtime obj /bin/mbchk
--- !empty dir /usr/share/man/man8
--- !empty dir /usr/share/man/man1
--- !empty dir /usr/share/man
--- !empty dir /usr/share/info
--- !empty dir /usr/share/doc/grub-0.97-r3
--- !empty dir /usr/share/doc
--- !empty dir /usr/share
--- !empty dir /usr
--- !empty dir /sbin
--- !empty dir /lib/grub/i386-pc
--- !empty dir /lib/grub
--- !empty dir /lib
--- !empty dir /boot/grub
--- !empty dir /boot
--- !empty dir /bin
>>> Original instance of package unmerged safely.
* Copying files from /lib/grub and /usr/lib/grub to /boot
/usr/portage/sys-boot/grub-static/grub-static-0.97.ebuild: line 57: /sbin/grub: cannot execute binary file
* To install grub files to another device (like a usb stick), just run:
* emerge --config =grub-static-0.97
>>> sys-boot/grub-static-0.97 merged.

>>> No packages selected for removal by clean
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.
* Regenerating GNU info directory index...
* Processed 165 info files; 1 errors.

To summarize; it tells me it couldn't found the /boot, so let's have a look at the output of: df -Th

localhost ~ # df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/md/3 reiserfs 67G 3.0G 64G 5% /
udev tmpfs 3.9G 3.1M 3.9G 1% /dev
shm tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/md/1 reiserfs 251M 36M 216M 15% /boot

and at the /boot/grub/grub.conf (that is accessible with no problems)

default 0
timeout 10
title=Kernel001
root (hd0,0)
kernel /kernel001 root=/dev/md3

PROBLEM:

I should be happy to still have an up and running Linux but if I can't execute grub how will I be able to alter its configuration? And moreover, what happened with the emerge -e world to change all my /dev/* devices with something else. Is there a way to revert to my old device mapper list as obviously me and grub want it back to normal? Reinstall is not an answer as the problem will occur once again when executing the emerge -e world.

Don't hesitate to teach me as I consider myself as a advanced noob with linux.
Back to top
View user's profile Send private message
didymos
Advocate
Advocate


Joined: 10 Oct 2005
Posts: 4798
Location: California

PostPosted: Wed Jun 27, 2007 6:35 pm    Post subject: Re: grub-static 0.97 after emerge -e world poorly fails Reply with quote

atatut wrote:

################### STANDARD MAKEOPTS FOR MOST PACKAGES ############################################################
MAKEOPTS="-j256"


?!?! Are you serious? You have what, two cores? At the very most, I'd say -j5. -j3 is probably better.
_________________
Thomas S. Howard
Back to top
View user's profile Send private message
didymos
Advocate
Advocate


Joined: 10 Oct 2005
Posts: 4798
Location: California

PostPosted: Wed Jun 27, 2007 6:41 pm    Post subject: Reply with quote

Oh, and just emerge normal grub. It'll probably work fine.

[edit] Wait, is this a no-multilib profile?
[edit][edit] OK, yes. Didn't see that in there. If that's the case, why set win32codecs?
_________________
Thomas S. Howard
Back to top
View user's profile Send private message
atatut
n00b
n00b


Joined: 27 Jun 2007
Posts: 49

PostPosted: Wed Jun 27, 2007 11:27 pm    Post subject: Reply with quote

YES MAKEOPTS="-j256", I have 8 cores and their sleeping most of the time even with this makeopts, it compiles as fast as hell, I tell you.

Well, I think the win32codecs aren't related with the problem anyway.
Back to top
View user's profile Send private message
didymos
Advocate
Advocate


Joined: 10 Oct 2005
Posts: 4798
Location: California

PostPosted: Thu Jun 28, 2007 1:09 am    Post subject: Reply with quote

Ah, OK, Dual Xeon quads. I didn't connect the model number to quad. Still, 256 is a bit much. How many packages would even be able to utilize all those processes?
_________________
Thomas S. Howard
Back to top
View user's profile Send private message
cyrillic
Watchman
Watchman


Joined: 19 Feb 2003
Posts: 7313
Location: Groton, Massachusetts USA

PostPosted: Thu Jun 28, 2007 1:23 am    Post subject: Reply with quote

grub-static is a 32bit precompiled GRUB. You need this because you can only compile 64bit stuff with a no-multilib compiler toolchain.

If your kernel lacks 32bit emulation support, then trying to run the GRUB shell won't work either.


One way to work around this would be to boot a Knoppix CD (32bit), and run the GRUB shell from there.
Back to top
View user's profile Send private message
atatut
n00b
n00b


Joined: 27 Jun 2007
Posts: 49

PostPosted: Thu Jun 28, 2007 1:51 am    Post subject: Reply with quote

Well this baby is gonna be the heart of the company holding Xen and lots of domainUs on it and some other services.

About the problem, I'm not sure it's related with some 32bit against 64bit war yet, I'm more convinced the problem may come from my software RAID1 drives brutally chaging from /dev/sda* /dev/sdb* to /dev/sdr* /dev/sds* after the emerge -e world.

If only I knew how to manually revert the /dev maps to the old one, the one before the emerge -e world.

Right now I'm gona try umount the /dev/md1 = /boot, then shutdown the md1 and fix the /sdr1 and /sds1 that are the members of the /dev/md1 array. For me, the device map changed after the emerge -e world, probably because of the emerge of udev (pure speculation), this caused havoc in the device map grub used to know and since then its just not recognizing the devices anymore. But before too much blabla, I'll first make sure the filesystem is ok, if required I'll crush my /dev/sdr1 and /dev/sds1 partitions and recreate the whole /boot uderlayer and finish with an emerge grub-static and we'll see. If this doesn't correct the problem then we'll know it's 32bit 64bit related and I'll need to change my profile, basically restarting a fresh install.
_________________
“When I left you, I was but the learner, now I am the master.”
Back to top
View user's profile Send private message
atatut
n00b
n00b


Joined: 27 Jun 2007
Posts: 49

PostPosted: Thu Jun 28, 2007 2:05 am    Post subject: Reply with quote

Hhhmm, well after quickly checking the filesystem and partition health it's now time to give the 32bit vs 64bit theory its chance. This could be the solution acctualy, although the proofs are rare the file /sbin/grub output gives credit to it. Let's change the profile.
_________________
“When I left you, I was but the learner, now I am the master.”
Back to top
View user's profile Send private message
atatut
n00b
n00b


Joined: 27 Jun 2007
Posts: 49

PostPosted: Thu Jun 28, 2007 2:18 am    Post subject: Reply with quote

In order to do that let's use the eselect command:

eselect profile list

and let's choose the standard amd64 2006.1 profile by typing

eselect profile set 1 (in this case)

now a bit of quick kernel compilation

cd /usr/src/linux

make menuconfig

add 32 emulation as built in and

make && make modules_install

if it's library related we'll see after the reboot with the new kernel.

Hope this will work, it will spare me a few hours of package download and compilation.
_________________
“When I left you, I was but the learner, now I am the master.”
Back to top
View user's profile Send private message
atatut
n00b
n00b


Joined: 27 Jun 2007
Posts: 49

PostPosted: Thu Jun 28, 2007 2:38 am    Post subject: Reply with quote

Yep, this was pure library related, the output of

file /sbin/grub

/sbin/grub: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, statically linked, stripped

was the small indication I should have followed

For the lazy people like me you can skip the make menuconfig by quickly:

nano -w /usr/src/linux/.config

BUT BEFORE: here make sure your .config file contains your latest kernel config, otherwise do:

my kernel .config file is /usr/src/linux/kernel001.config

cp /usr/src/linux/kernel001.config /usr/src/linux/kernel002.config

then

nano -w /usr/src/linux/kernel002.config

and press CTRL+W and search for one of the following lines and set them as showed below
---------------------------------------------------------------------------------------------------------
#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_IA32_EMULATION=y
CONFIG_IA32_AOUT=y
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y
---------------------------------------------------------------------------------------------------------

save and exit

then

cp /usr/src/linux/kernel002.config /usr/src/linux/.config

and finish with a

make && make modules_install

then do as always; copy your kernel to the /boot, alter the /boot/grub/grub.conf file to add the new kernel

and reboot

and it WORKS!!!
_________________
“When I left you, I was but the learner, now I am the master.”
Back to top
View user's profile Send private message
didymos
Advocate
Advocate


Joined: 10 Oct 2005
Posts: 4798
Location: California

PostPosted: Thu Jun 28, 2007 7:18 am    Post subject: Reply with quote

You can stick with the no-multilib profile if you want. All you needed was for the kernel to have 32-bit emulation. However, the multilib stuff really doesn't eat much space, and if you have an app which isn't practical as a statically-linked executable or something which is difficult to build statically, it's a lot more convenient to go multilib. Now if certain companies (cough*ADOBE*cough) would get hip to 64-bit, multilib could pretty much go away. It still might be nice to be able to transparently switch back and forth and be able to build 32-bit libraries as they were needed, "true" multilib, but I can't fault the devs on this. It would be a serious pain in the ass to implement.
_________________
Thomas S. Howard
Back to top
View user's profile Send private message
atatut
n00b
n00b


Joined: 27 Jun 2007
Posts: 49

PostPosted: Thu Jun 28, 2007 3:37 pm    Post subject: Reply with quote

I must admit you got a point. I mean, I've just lost about 8 hours because of beeing to restrictive in my environment setup. That's exactly the kind of stuff that will make me waste another 8 hours looking why my xen won't compile. But what do you want when you're stubborn you stay so.
_________________
“When I left you, I was but the learner, now I am the master.”
Back to top
View user's profile Send private message
cyrillic
Watchman
Watchman


Joined: 19 Feb 2003
Posts: 7313
Location: Groton, Massachusetts USA

PostPosted: Thu Jun 28, 2007 4:05 pm    Post subject: Reply with quote

didymos wrote:
Now if certain companies (cough*ADOBE*cough) would get hip to 64-bit, multilib could pretty much go away.

Actually, if certain companies (cough*ADOBE*cough) would get hip to open source, then a lot of other problems would go away too. :wink:
Back to top
View user's profile Send private message
atatut
n00b
n00b


Joined: 27 Jun 2007
Posts: 49

PostPosted: Thu Jun 28, 2007 5:13 pm    Post subject: Reply with quote

Don't worry; even hugely funded dinosaurs are beginning to be hardly attacked on their own territory by the Open Source, despite the attempt of some to stop the unstoppable flow like the Red Hat example, bought by Novel I think, in a desperate attempt to not miss the next turn. Open Source projects will always appear and disappear, be bought by mammoths believing they’ll get the hand on the market, or adopted by the whole industry before some B.Gates gets his hand on them. You can be as big as you want, buy everyone on the market and still find yourself with as many concurrent as you bought just the next day. Of course the Open Source idea seems fragile and easily destructible, but in reality it’s just like a monster or a phoenix that re spawns from ashes in seconds where a company would need years. The balance is slightly beginning to change in favour of the Open Source, just have a look at the Xen project where even the big fat companies had to take part of the project or see their own concurrent products be crushed (VMWare is badly crying I tell you).

"There's no stoppin' what can't be stopped, no killin' what can't be killed" King Willie, Predator 2
_________________
“When I left you, I was but the learner, now I am the master.”
Back to top
View user's profile Send private message
atatut
n00b
n00b


Joined: 27 Jun 2007
Posts: 49

PostPosted: Sat Jun 30, 2007 4:47 pm    Post subject: Reply with quote

Let's come back to the problem:

Well it works for the grub-static BUT:

"Downgrading" from pure 64bit to 32bit seems not to work anyway even if you switch profile back to a multi-lib one. You can emerge -e world as many times as you want, it won't do anything.

Problem occurs once again when emerging xen-tools, at this point compilation fails because it needs a 32bit library.

Searching a bit inside some Gentoo documentation and how to's has shown that it's impossible to revert to a multilib environment, those who wrote the documentation added that:

"Be sure when you choose your profile because you won't be able to revert back to multilib, so choose your profile carefully". Well I didn't because of my lack of pure 64bit environments knowledge.

So for those who don't want to recompile their whole 64bit environment, be sure you check the following:

- Are you sure there's no 32bit package you will need to use in your 64bit environement? If you can't honestly answer to this question then the answer is NO and you MUST stay in a multilib environement. Only seasoned system engineers with a really good knowledge of the 64bit Gentoo portage can answer "yes" here. Don't forget that even if you know all the applications you want to emerge in your 64bit environment do exist, there're certainly some dependencies that will still need some 32bit applications so going multilib is the most logical choice. Go multi-lib in all cases is the good choice 99% of the users should do.
_________________
“When I left you, I was but the learner, now I am the master.”
Back to top
View user's profile Send private message
atatut
n00b
n00b


Joined: 27 Jun 2007
Posts: 49

PostPosted: Sun Jul 01, 2007 3:27 pm    Post subject: Reply with quote

Yes, after recompiling the whole system with a less restrictive profile I had fewer problems than ever to compile the system straight from the beginning (this is quite rare moments when all packages compile without a single non-planified “etc-update”). So the quick steps for the x86_64 prepared for Xen and graphical interface for admins with no linux knowledge:

1. Prepare your RAIDx if any using the LiveCD
2. Directly prepare your /etc/make.conf with the optimized CFLAGS (look for gentoo safe cflags and then modifiy your make.conf depending on your cpu).
3. Read carefully all the documentation for the applications you intend to install. For example, for gnome search in google for: gentoo gnome, this is usually a sufficient searching argument to find the good simple “how to” that will work. Write down on a paper the USE flags the “how to” recommends to add in your make.conf for the specific package you want to install, and on another paper what dependency packages will be required when you’ll emerge your application.
4. Don’t forget to apply the point 3 to all the packages you know you’ll need to achieve the perfect system you want to build. And believe me, this is the toughest part of the job. This point will probably make you insert the LiveCD for a clean install more than once, except if you’re already aware of all the applications and services you want on your system.
5. Here we’re still on our LiveCD, but just chrooted on your yet empty gentoo. Once you have finished altering your make.conf with the optimized CFLAGS and USE FLAGS, you may start emerging the gentoo-sources and the other standard packages listed in the documentation but before you reboot emerge the following as well, theses packages are considered the minimal requirements on any modern OS:

- emerge dbus hal acpid hotplug hdparm ifplugd gentoolkit eselect pciutils

!!!!!!!! DON’T FORGET to “etc-update” after every emerge you do AND READ carefully which file has been altered, don’t let the system destroy all your changes (especially “mdadm” if you’re using RAID software), BUT if you’re unsure of what to do with the update, write down the lines you modified, leave the system overwrite all your work and alter the configuration files when you finished with the “etc-update”. DO THAT FOR EACH PACKAGE YOU EMERGE, OR YOU’LL HAVE BAD SURPRISES AT SOME POINT.

HERE PAY ATTENTION: if you’re a real geek, you may:

- emerge eselect even before the emerge gentoo-sources

So that you can set your profile from the very beginning issuing the following command:

- eselect profile list

I STRONGLY recommend you don’t choose any 2007 profiles as they’re considered not yet ready for production. For me, the default choice was the good one from the beginning; 2006.1 amd64.

YOU MAY ALSO alter your /etc/make.conf with the:

MAKEOPTS=”-j256” (I know it sounds crazy, but for those who have a brand new Intel or AMD with lot of cores it won’t sound so crazy; if you don’t count the time you waste for downloading the packages, you’ll compile your entire system from the LiveCD to xend up and running in 12 hours (human time to alter and type commands included).

6. At this point, you may end the minimal Install CD documentation as usual, BUT for those who are using software RAID like I do, don’t forget to do:

- emerge mdadm and lvm2

BE ALSO SURE you followed the “Linux System on top of Software RAID” how to, to be sure you’ll have a bootable system after your first reboot.

7. If you followed all the how to’s strictly with no “Windows user” attitude; next, next, next without reading what is written. You should find yourself with a system having the minimal packages correctly emerged and already using your USE flags and a KERNEL without useless support (kernel configuration requires a good knowledge of your hardware and usually it’s the point of failure if you didn’t built the system yourself. Be sure of every chipset you have in your computer). Moreover, XEN will require, you alter your KERNEL so don’t forget to do it immediately, but if you’re already having a perfect base kernel just for the Linux to boot it’s fine too (it will just require you compile a new kernel, but it can be fine too as having more than one kernel, will help you boot your system in case a change in your currently working kernel makes it unbootable).

8. If all the basics are fine, then:

- emerge --update --deep --newuse world –vp (last time to check your USE flags)
- then: emerge --update --deep --newuse world

Everything should go straight without problems, and the, none essential packages, on your system should be up to date.

9. BUT WE WANT ALSO to have the “core system” packages up to date, so after updating the “normal” packages, let’s be sure we have the latest version for every single package on the system, issue the following:

- emerge –e world

The above command should leave you with a now up to date minimal system. Finish your install by emerging your APPLICATIONS packages such as gnome, or xen, etc… For me it just went straight, with no requirement for any revdep-rebuild or something like this.

BE SURE TO FINISH with a “etc-update”. NEVER LEAVE a config file altered by the system without having the knowledge of what has been modified, this is often the answer when trying to solve crazy non-sense error messages when emerging or when booting your system.

AND AT THE END YOU SHOULD BE THE HAPPY OWNER OF A MONSTER THAT NO WINDOWS OR PRE-COMPILED BINARY LINUX WILL EVER MATCH.
_________________
“When I left you, I was but the learner, now I am the master.”
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Installing Gentoo All times are GMT
Page 1 of 1

 
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