Hi LFS-support list, I have had 32-bit LFS systems for years, and finally decided to give 64-bit a shot. (Hardware all around is a Dell PC, Intel chip, pretty common consumer desktop stuff.) The way I did it turned out to be far more painful than I anticipated - I started to build a CLFS system (using my 32-bit LFS as a base), sysvinit version, and followed the "If you are going to boot" branch. However, I didn't complete it - once I had the minimal CLFS system booted, I instead ran some shell scripts I have to build an LFS 7.5 system automatically (or nearly so). During this whole process, the 7.6 LFS book came out, and, unless I'm looking in the wrong place, the 7.5 book disappeared (the "museum" only seems to go to 7.0), which added a whole additional element of complexity to the process. Some additional packages (perl, m4, and bison) had to be added to the base CLFS system to get my scripts to run, and some hard-coded links had to be changed (mostly things that are normally in /usr/bin on the host system, were actually in /tools, but also one hard-coded reference to /tools, which I changed to /toolx for the LFS system, since my partially-built CLFS already had a /tools directory).
But, I got through it, and now have a completely built LFS system, created under my crippled, half-built, 64-bit CLFS. But, it doesn't boot. The message which shows up on the console screen before the kernel panic is, it can find /sbin/init, but can't execute it. I think what is going on is, my scripts followed the LFS book as written, which copies a kernel image from the arch/x86/boot directory of the kernel build directory. Since I'm trying to build a 64-bit system, I suppose it should have been arch/x86_64/boot, but I didn't catch this. So I think I have a kernel built for a 32-bit system, trying to run a 64-bit "init" program. Does that seem consistent with the symptoms? Now the fun part. I don't have enough partitions. The working 32-bit LFS is on one partition, and the half-built 64-bit CLFS is on the other. I don't have any others. So I booted in the 32-bit LFS, tarred up the CLFS, and put my new 64-bit LFS where the CLFS used to be. I meant to keep the tarred-up CLFS, but due to a combination of fast typing and carelessness, I don't have it anymore. (I do have the scripts I used to build the partial CLFS, but a fair amount of manual intervention was required.) So my problem is, can I build a 64-bit kernel under a 32-bit LFS, following the standard LFS instructions? Can I just compile the kernel in my 32-bit system, take the image from the arch/x86_64/boot directory, and stick it into my non-functioning 64-bit LFS? Or do I need to do a cross-compile, as in the CLFS book? Thanks for any advice. РК
-- http://lists.linuxfromscratch.org/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page Do not top post on this list. A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? http://en.wikipedia.org/wiki/Posting_style
