Deprecated: Assigning the return value of new by reference is deprecated in /home/httpd/html/resources/projects/inc/parserutils.php on line 161

Deprecated: Assigning the return value of new by reference is deprecated in /home/httpd/html/resources/projects/inc/parserutils.php on line 164

Deprecated: Assigning the return value of new by reference is deprecated in /home/httpd/html/resources/projects/inc/parserutils.php on line 239

Deprecated: Function split() is deprecated in /home/httpd/html/resources/projects/inc/auth.php on line 96

Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/html/resources/projects/inc/parserutils.php:161) in /home/httpd/html/resources/projects/inc/auth.php on line 179

Deprecated: Function split() is deprecated in /home/httpd/html/resources/projects/inc/common.php on line 532

Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/html/resources/projects/inc/parserutils.php:161) in /home/httpd/html/resources/projects/inc/actions.php on line 71
awesomo-lfs [Progsoc Projects]
 

LFS on AWESOMO

Installing Linux From Scratch on AWESOMO.

Resources

Activity Log

2009-07-30

* TB: I’ve taken awesomo home. I declare this project officially over!

2009-07-16

* TB: JE came back after an incredibly long absence :) Aimee was there, too :)

2009-04-30

* TB: Now we venture ‘Beyond Linux from Scratch’ and start adding some more functionality to our so-called ‘ProgSoc Linux’!

* TB: First thing’s first, we will install the DHCP client daemon, dhcpcd-3.1.8, so that we can access the net through the ProgSoc network and fetch packages as required. Dammit, John, I refuse to waste precious CDs and use sneakernet anymore :P In this case, however, I had to download and put a whole bunch of networking packages onto CD at home - dhcpcd included - in order for us to get anywhere.

* TB: Installed dhcpcd, then took one of two of our longer cables from the hub under the bookshelf (Margaret’s using the other one) and hooked it up to awesomo’s and arrakis’ hub (arrakis being a machine physically identical to awesomo, except that it doesn’t have a hard disk, but it does have a 3.5” floppy drive) and pinged niflheim. Success! DHCP works!

* TB: Side note. For some reason, Slackware doesn’t recognise awesomo’s Ethernet card, yet our Linux does. Note that I did do a minimal installation of Slackware, so...

* TB: Also installed net-tools-1.60, wget-1.11.4 (for downloading), lynx-2.8.6 (for web browsing), openssh-5.1p1 (for SSHing).

* TB: Now I can install my precious ruby-1.9.1-p0 on awesomo. Linux is not Linux without Ruby!

2009-04-23

* TB: Long time no action on the LFS front! A lot’s been happening in the past few weeks, though, namely JE’s got a lot of issues to sort out (and I’ve helped with some of them ;) and Sangie has distracted me with his Euler problems, so no LFSing as a result.

* TB: Since JE has more pressing matters to attend to (and two new, better machines to LFS on - stay tuned!), I think I will “press on” as I promised three weeks ago but obviously didn’t :P

* TB: Set the clock to the local time.

* TB: Installed the /etc/inputrc file as per book. Might mess around with it later.

* TB: Wrote the en_AU locale to /etc/profile.

* TB: Wrote awesomo’s hostname (one guess :P) to /etc/sysconfig/network

* TB: Configured /etc/hosts: added localhost (127.0.0.1) and awesomo (127.0.1.1)

* TB: Stared blankly at the custom symlinks page. Don’t think it’ll be too much of an issue, from what I can gather...

* TB: Created /etc/sysconfig/network-devices.

* TB: Created /etc/fstab. Made the lfs (/dev/hda5) partition /, of course, then I made /dev/hda1 to mount on /mnt/slackware, /dev/hda6 to mount on /mnt/lfs2 and the rest as per original /etc/fstab in the slackware partition.

* TB: At long, FRRRRRRRRRRIGIN last! The moment we’ve all been waiting for. Months and months of prep-work. It’s TIME to install the KERNEL! I will deviate from the book and install version 2.6.28.7 (which was the latest kernel.org version when I first fetched all the source packages all that time ago, now it’s 2.6.29.1).

* TB: Looked through “menuconfig”. Left most options untouched for now (except for pointless stuff like ham radio support :P). We can experiment with kernel compiling options extensively later on.

* TB: Compiling of kernel and modules began at 1714 TT.

* TB: Compiling of kernel and modules finished at 1828 TT. Stats:

Real: 73m26.259s (5.8 SBU - pointless comparing ratios as I've used a different kernel)
User: 69m18.260s
Sys:  3m41.930s

* TB: Configuring grub, the bootloader. Gonna make our LFS bootable! (as well as the original Slackware).

* TB: Rebooting - fingers crossed!

* TB: Booted into LFS. Kernel panicked a couple of times. Apparently, the hard-disk devices according to the LFS system are /dev/sdaX not /dev/hdaX. Strange. Editing fstab to appease. Rebooting.

* TB: (ויאמר אלהים “יהי אור”. ויהי אור. (בראשית א:ג

Va’yomer Elohim “Yehi or”. Va’yehi or. (Bereshit 1:3)

And God said “Let there be light”. And there was light. (Genesis 1:3)

Installation of LFS is COMPLETE!

ProgSoc Linux version 0.01 is BORN!

And what a gestation period it was! I guess the next step is to add more stuff to the system, experiment a bit more or just do it all again on another machine! Can’t wait. It’s been great :) I’ve had fun, even during the tedious times (and there were plenty of those).

...*and* it boots up in 11 seconds. Well, that’s just...AWESOMO!

* TB: Hmm, hardly anyone came tonight (apart from Margaret and Chris who kept me company for a bit...and fixed niflheim :). No-one to share this joyous occasion with - not even JE, who originally wanted to do this whole LFS thing. Perhaps they were all at the Atomic magazine 100th issue shindig that took place downstairs...but I wasn’t invited. Hey, I just finished installing Linux from SCRATCH! I’m *way* more “Atomic” than any of you poseurs will ever be! No, wait. I’m *above* “Atomic”. I know I’m awesome, but at least I don’t write page after page in every issue proclaiming my awesomeness, which is why I stopped buying their crappy rag years ago. That, and most of what’s in the magazine can be read online, elsewhere.

...and their poster’s shit, too. Where are the back-issues of their magazine on CD, like they offered in #50 and #51? I didn’t buy #100 just so I could have a *poster* - geez!

-end rant-

2009-04-02

* TB: While I’m waiting for JE, who will hopefully be here tonight, I’ll just install the LFS-bootscripts and type up a few other scripts from the book (so, in a sense it *is* a distro, in that parts of the actual software was written by the LFS team, even if we had to go to the trouble of ‘sourcing’ our own source and compiling it ourselves). I don’t want to proceed any further until I’ve given him a complete run-down of what I’ve done (who knows if he’s even been reading this? Does he know of the avatar I’ve given him on the Executive page on the wiki? :P).

* TB: Wrote /etc/sysconfig/clock: set UTC=0 (not UTC time).

* TB: Random quote, directed to JE: “Hey Mr. President/Tell me the truth/Why are you stealing the future from our youth?/The climate is changing/I worry a lot/When it’s cold in Menorca/And Iceland is hot/So, hey Mr. President/What is the plot?” - Boyzvoice.

* TB: JE came back, dumped an Eee PC on me and buggered off faster than a...really fast thing...so I think I’ll press on.

2009-04-01

* TB: April fool? No, the only fool is me, who has devoted six weeks of his life to this thankless task. But, don’t fret, the end game is in sight!

* TB: Let’s have a go at compiling and configuring ‘shadow-4.1.2.1’, our secure password system. Bloody sed commands. I swear, if I have to type in another convoluted sed command, I’ll murder the next person that walks through our clubroom door! Sed can go and get fudged, I’ve had it up to here with it!

* TB: No, I’ll have to have a go at trying to figure out what’s the matter with ‘Man-DB’ before I can compile ‘shadow’.

* TB: Hmm, seems groff hasn’t been installed. Wonder how many *other* packages are ‘mysteriously’ uninstalled? Could be my “timesaving blitzkompiling” that’s at fault. Forgive me, o mighty Ra, I promise I won’t cut corners again, no matter how tedious the task! I’ll do a quick verification of each program at the end of all this compiling.

* TB: Installed groff (and verified its installation!). Trying Man-DB again. Man-DB compiled *and* installed :) Now, let’s try shadow, our last package to compile!

* TB: Shadow compiled/installed. Let’s configure:

Root password: same as awesomo host system.

Other configuration settings, we’ll leave for later.

* TB: Gone through and verified if I’ve installed each package. Installed a whole lot of packages I previously thought were installed :O

* TB: Let’s welcome back Ian Turpie for another bout of binary stripping!

* TB: Some more cleanup - deleting build directories, moving packages back to lfs2, moving our /tools folder over to lfs2, since it is no longer required.

* TB: Permanent installation of basic system software is now COMPLETE!. Squizzing at df’s output:

/dev/hda5   1937356 (1K-blocks)  388276 - 22% (Used)  1449080 (Available) /mnt/lfs

* TB: I will stop here and wait until JE is available. I really want him to be involved with the next important steps - configuring the bootscripts and installing the kernel!

2009-03-30

* TB: Only ended up compiling automake-1.10.1, autoconf-2.63, bash-3.2...then it stopped at bash, since it launched the newly compiled of bash when it finished, which seems to terminate running shell scripts in the process.

* TB: So, I’ll be blitzkompiling the following packages (with the new shell!):

Bzip2-1.0.5 - done.

Diffutils-2.8.1 -done.

File-4.26 - done.

Gawk-3.1.6 - done.

Findutils-4.4.0 - done.

Flex-2.5.35 - done.

GRUB-0.97 - done.

* TB: gettext-0.17 - compiled, installed. Stats:

Real: 65m15.447s (5.1 SBU (actual) - 2.2 SBU (predicted). Actual/predicted ratio: 2.3)
User: 48m9.111s
Sys:  14m43.358s

* TB: Blitzkompiled some more packages:

Grep-2.5.3

Groff-1.18.1.4

Gzip-1.3.12

Inetutils-1.5

IPRoute2-2.6.26-bz2

Kbd-1.14.1-gz

* TB: Singing a whole lot of Boyzvoice songs while playing devil’s advocate for our ‘life membership’ system.

* TB: 15 more teeny, little packages to go - let’s do this *today*! YEAH!

Less-418 - done.

Make-3.81 - done.

Module-Init-Tools-3.4.1 - done.

Patch-2.5.4 - done.

Psmisc-22.6 - done.

Sysklogd-1.5 - done.

Tar-1.20 - done.

Texinfo-4.13a - done.

Udev-130 - done.

Util-linux-ng-2.14.1 - done.

Vim-7.2-bz2 - vim during the testing phase is totally loco :P Done.

Sysvinit-2.86 - done.

Shadow-4.1.2.1 - Doing this next time.

Man-DB-2.5.2 - can’t compile for some reason...next time we’ll find out why.

2009-03-27

* TB: Good afternoon! This is Tom, your new CSO (read: punching bag, bitch, etc.), reporting for duty! Thank you all for your support :) (oh, and JE’s our president now...good on him :)

* TB: Random quote: “Boys, boys, boys/I’m looking for a good time/Boys, boys, boys/Get ready for my love” - Sabrina.

* TB: OK, enough 80s Europop (that formed a backdrop to my trip to Yugoslavia back in ‘87/’88), let’s get on with the business of compiling the rest of these packages - a slow and laborious process. Umm...we’re up to ncurses-5.6 now - let’s finish that off.

* TB: procps-3.2.7 - compiled, installed.

* TB: libtool-2.2.6a - compiled, installed.

* TB: zlib-1.2.3 - compiled, installed.

* TB: readline-5.2 - compiled, installed.

* TB: perl-5.10.0 - compiled, installed. Stats:

Real: 73m44.030s (5.8 SBU (actual) - 2.5 SBU (predicted). Actual/predicted ratio: 2.3)
User: 52m7.776s
Sys:  3m4.646s

* TB: Blitzkompiling (i.e. shoved a whole lot of commands in a shell script and executing in one go) a whole lot of packages!

2009-03-26

* TB: The most important day on the ProgSoc calendar has finally arrived - AGM day! Would’ve loved to have had an embryonic version of “ProgSoc Linux” up and running in time for the AGM, but, y’know, colonic by-product happens :P Plus I have a degree (and JE his work) to worry about - that comes first...

* TB: Giving Berkeley-DB compilation another go. Creating a bash file with all the commands for compiling the programs listed in alphabetical order - those programs a) don’t need my supervision to compile b) can be compiled in any order and c) so simple, they’re not even worth mentioning.

* TB: Berkeley-DB compiled/installed. Stats:

Real: 26m4.269s (2.1 SBU (actual) - 1.9 SBU (predicted). Actual/predicted ratio: 1.1)
User: 24m3.069s
Sys:  1m51.991s

* TB: sed-4.1.5: unpacked, compiled, installed.

* TB: e2fsprogs-1.41.3: unpacked, compiled, installed.

* TB: coreutils-6.12: unpacked, compiled, installed.

* TB: iana-etc-2.30: unpacked, compiled, installed.

* TB: m4-1.4.12: unpacked, compiled, installed.

* TB: bison-2.3: unpacked, compiled, installed.

* TB: 1930 - Time for AGM!

2009-03-23

* TB: gcc-4.3.2 compilation gave up after a marathon EIGHT hours and five minutes. Mind you, it was put under a stress test, so it’s a bloody miracle it held out as long as it did. Trying ‘make && make -k test’ again to see what the problem is...everything seems to be “peachy keen” (passed most of the 40-odd thousand tests performed and failed the “expected failures”), so I’ll do a ‘make install’...done! Thankfully not quite the drama that it was last time :) Just have to do a few more checks to see if it’s all compiling correctly. The rest should be smooth sailing...

* TB: Berkeley DB-4.7.25 - unpacked, patched, compiling...then there was a power outage! Rebooted - everything seems fine - but I have to go now, as I have a class to attend. I’ll do a make clean and re-compile some other time.

2009-03-21

* TB: Further to my discussion on perfect number programs. I’ve discovered that the twirly I’ve implemented actually SLOWS the execution of my program (using Borland C++ 5.5 in Windows, anyhow), which of course is most undesirable. I’ll ask my tutor if I can therefore remove the twirly, since it *really is* useless for such a small range of numbers.

2009-03-20

* TB: Readjusted the toolchain (compiler, linker, etc. - remember?) so that it uses the newly compiled glibc and ld.

* TB: binutils-2.18 third pass: unpacked, patched, compiled and tested. Stats:

Real: 28m35.849s (2.2 SBU (actual) -  1.7 SBU (predicted). Actual/predicted ratio: 1.3 )
User: 24m4.821s
Sys:  4m12.431s

* TB: gmp-4.2.4 third pass (first two passes as part of previous gcc passes, this time built before gcc third pass): unpacked, compiled and tested. Stats:

Real: 20m43.425s (1.6 SBU (actual) - 1.5 SBU (predicted). Actual/predicted ratio: 1.1 )
User: 16m12.487s
Sys:  4m19.583s

Checked gmp-check-log. All tests passed :) Installed docs.

* TB: mpfr-2.3.2 third pass (first two passes as part of previous gcc passes, this time built before gcc third pass): unpacked, compiled and tested. Stats:

Real: 16m56.399s (1.3 SBU (actual) - 1.2 SBU (predicted). Actual/predicted ratio: 1.1 )
User: 13m24.720s
Sys:  3m16.511s

* TB: gcc-4.3.2 third pass *groan*. Unpacked, patched and compiling...check back during the Apocalypse, or when it crashes, whichever comes first (both have equal probability). Placed the build directory in the lfs2 partition this time, since we need (apparently) 1.1GB to build this bastard but, at the moment, we only have about 940MB on the main lfs partition.

* TB: Worked on my first assignment during compilation for Embedded C, a subject so easy I could teach it, however it’s a required part of my course (but I certainly won’t be complaining when I get my HD without barely breaking a sweat :) It’s due in three weeks, but I’m already finished, of course ;) Basically, I had to write a program that spat out the perfect numbers between 1 and 10000 and their factors. Easy peasy. I found the following requirement of the assignment to be rather amusing:

Use a "twirly" to indicate that your program is happily working away.  A "twirly" is the following characters 
printed over the top of each other in the following order: '|' '/' '-' '\'.  This has the effect of producing 
a spinning wheel - ie a "twirly".

Clearly, this assignment was originally set back in the day when UTS/NSWIT had nothing but 286s with dual 5 1/4 inch floppy drives (imagine building LFS on those), because on the Mac Minis and on my machine the output is instantaneous, thereby rendering the ‘twirlies’ obsolete.

2009-03-19

* TB: Today, after a few days’ rest, we commence building the actual LFS system!

* TB: Created and mounted the virtual file systems - /dev, for a list of hardware devices, /proc, for a list of processes and system info, /dev/shm, our swapspace and /sys - and the special devices /dev/null (the “data sink” - character device, major number 1, minor number 3) and /dev/console (the display - character device, major number 5, minor number 1) - I believe this is the old-school method of mapping devices to files, supplanted for the most part by devfs, then udev, then...who knows? Nevertheless, I’d imagine the more fundamental devices use the major/minor numbering system. Chapter 3 of the second edition of “Linux Device Drivers” discusses char devices in detail. We’re also mounting the host system’s /dev, /proc, etc. folders before we chroot into our temp system, since we have yet to create these devices on the temp system, and of course, we need them to build our system.

* TB: We’ll devise our ‘package management system’ later on....

* TB: Chrooted and allowed our temp system to take over the computer - vaya con Dios, Señor Slackware! Ohh...how sad. Our computer is no longer ‘awesomo’ - the bash prompt says “I have no name!” (editing /etc/passwd should fix that).

* TB: Time to give our LFS system a ‘skeleton’ - at the moment, it’s just a mound of ‘compiled flesh’ that doesn’t really do all too much. We do this by creating the standard set of directories in the Filesystem Hierarchy, y’know, /bin, /boot, /etc, /home, /media, /mnt, /lib, /local, /opt, /sbin, /srv, /var...them lot...

* TB: Creating essential files/symlinks as described here. Also created /etc/fstab so that I can mount our lfs2 partition, where our package files are stored.

* TB: Unpacked kernel source. Installed header files.

* TB: Installed man pages. “More, need I say?” - Yoda.

* TB: glibc-2.8.20080929 second pass - this time, we will run the testsuite, in addition to compiling our packages. Unpacked and patched the code. Compile and test code started at 1649 hours TT. Created /etc/nsswitch.conf. Created /etc/ld.so.conf. Compilation finished at 1951 hours TT. Compile stats:

Real: 181m50.111s (14.3 SBU (actual) - 17.7 SBU (predicted). Actual/predicted ratio: 0.8 - YES! An improvement!)
User: 145m14.960s
Sys:  30m7.247s

Testing error report from ‘glibc-check-log’:

All tests passed, except -

stdio-common/bug22.out
wcsmbs/wcastcliff.out
posix/annexc.out
crypt/sha512c-test.out

* TB: Added all the locales listed using localedef here, as well for Australia (en_AU) and Croatia (hr_HR) (govorim i razumim hrvatski. A vi? ;) Set awesomo’s geographic location.

2009-03-16

* TB: ProgSoc is twenty years young today :D Here’s to the next twenty!

* TB: The Hoegaarden was erg goed, the mussels in white wine, très bon :)

* TB: gettext-0.17 msgfmt. Greeted with a “spurious 8259A interrupt: IRQ7” message, instead of a compiled package. Perhaps awesomo was growing weary of all this compiling. Well, my dear, you’ve had your weekend rest. Time to get cracking again! We are going to finish the temporary LFS today! Compiled and installed without a hitch, as expected.

* TB: grep-2.5.3 - done.

* TB: gzip-1.3.12 - done.

* TB: m4-1.4.12 - done.

* TB: make-3.81 - done.

* TB: patch-2.5.4 - done.

* TB: sed-4.1.5 - done.

* TB: tar-1.20 - done.

* TB: texinfo-4.13a - done.

* TB: util-linux-ng-2.14-1 - done.

* TB: perl-5.10.0 - uses its own non-standard configure and make scripts...Compiled and installed just the pod2man utility and core perl libraries.

* TB: Got out Linux’ answer to turps - strip (not Ian Turpie, although his moustache is kind of abrasive...JE won’t get the reference since he purportedly “doesn’t watch television” :P) - and stripped off all the unnecessary debugging symbols from all the binaries in /tools.

Before strip:

/mnt/lfs - 385948kB (22%) used, 1451408kB (78%) free.

After strip:

/mnt/lfs - 250880kB (14%) used, 1586476kB (86%) free.

* TB: Construction of LFS temporary system is now COMPLETE!...and it only took us a mere three weeks to get to this stage!

2009-03-13

* TB: Friday the 13th. Vendredi Noir. Let’s hope luck is on our side today!

* TB: gcc-4.3.2 second pass - make cleaned BUILD_DIR/gcc/i686-pc-linux-gnu/libgcc again and restarted compile using

time { make && make install; } > out.txt 2>&1 # 2 = stderr, redirected into 1 = stdout

to examine the problem with a fine tooth comb.

* TB: Found some *more* references to ‘/usr’ instead of ‘/tools’ in BUILD_DIR/gcc/Makefile! Changed them, made clean BUILD_DIR/gcc/i686-pc-linux-gnu/libgcc and BUILD_DIR/gcc, restarted compilation at 1436 hours TT. Stopped at 1538 hours TT.

* TB: Changed all references to /tools/bin/ginstall back to /usr/bin/ginstall (rather not pollute the ‘toolspace’ with gcc3 tools). Strange - ginstall was not built for the first pass, probably for some ‘good’, unexplained reason. Wait - I think ‘ginstall’ is part of coreutils, which we’re compiling soon. Restarted compile at 1612 hours TT.

* TB: Compilation COMPLETED at 1636 hours TT! Woooooooooooooooooooohooooo! Joy and rapture! *coughs*. Anyways, I won’t be providing the usual compilation time report, due to the fractured nature of the compile, needless to say, it took about a week - on and off. I would estimate that, throughout the week, the compiler spent just over five hours compiling gcc4...which is an improvement of about 90 minutes over the first pass! It’s also worth noting that, in addition to the C compiler (gcc), the C++ compiler (g++) was also built this time. So - in summary - when the compiler’s doing its job, it does it rather well. When it doesn’t, however, it’s a major pain in the arse. Hope any of you neophytes doing BScIT that might be reading this (if you can read) have come to realise this, and therefore may not want to join our club, or even continue to pursue your degree.

* TB: gcc-4.3.2 second pass - deleted source and build folders.

OK, from here on in, until the end of Chapter 5, it *should* be smooth sailing...

* TB: binutils-2.18 second pass - unpacked/patched contents. Created build directory ‘binutils_build’. Compiled it. Stats:

Real: 15m4.089s (1.2 SBU (actual) - 1 SBU (predicted). Actual/predicted ratio: 1.2. *Was* expecting an improvement...)
User: 12m33.460s
Sys:  2m8.794s

Prepared linker for readjustment.

* TB: ncurses-5.6. Unpacked it. Compiled it. Stats:

Real: 8m35.928s  (0.7 SBU (actual) - 0.7 SBU (predicted). Actual/predicted ratio: 1.0)
User: 7m5.8433s
Sys:  1m12.246s

* TB: bash-3.2 - Unpacked it. Patched it. Compiled it. Stats:

Real: 6m15.823s (0.5 SBU (actual) - 0.4 SBU (predicted). Actual/predicted ratio: 1.25)
User: 5m17.298s
Sys:  0m51.138s

* TB: bzip2-1.0.5 - Unpacked it. Compiled it. Stats:

Real:  0m49.252s (0.1 SBU (actual) - 0.1 SBU (predicted). Actual/predicted ratio: 0.1)
User:  0m47.525s
Sys:   0m1.400s

* TB: coreutils-6.12 - Unpacked it. Patched it. Compiled it. Stats:

Real: 9m36.054s (0.8 SBU (actual) - 0.7 SBU (predicted). Actual/predicted ratio: 1.1)
User: 8m3.794s
Sys: 1m30.692s

* TB: diffutils-2.8.1 - Unpacked it. Compiled it. Stats:

Real: 1m28.541s (0.1 SBU (actual) - 0.1 SBU (predicted). Actual/predicted ratio: 1.0)
User: 1m8.692s
Sys: 0m18.256s 

* TB: e2fsprogs-1.41.3 - Unpacked it. Compiled it. Stats:

Real:  5m4.223s (0.4 SBU (actual) 0.4 SBU (predicted). Actual/predicted ratio: 1.0 )
User: 4m26.167s
Sys: 0m35.833s 

* TB: findutils-4.4.0 - Unpacked it. Compiled it. Stats:

Real: 3m22.773s (0.4 SBU (actual) - 0.4 SBU (predicted). Actual/predicted ratio: 1.0)
User: 2m36.951s
Sys: 0m42.055s 

* TB: gawk-3.1.6 - Unpacked it. Compiled it. Stats:

Real: 2m5.058s (0.3 SBU (actual) - 0.3 SBU (predicted). Actual/predicted ratio: 1.0)
User: 2m30.693s
Sys:  0m18.386s

Think it’s overkill to be reporting compile times for these rather small packages...so I’ll just list the packages as they’re compiled.

* TB: gettext-0.17 msgfmt. Compiling...off to drink some Belgian beer...see you next week!

2009-03-12

* TB: gcc-4.3.2 second pass - Guess what? It threw in the towel *again*, this time after a mere 22 minutes! *grrrrrrrr*. Think I know what the problem is, though. Gledajte ovdje! (’look here’ in Croatian):

On http://www.linuxfromscratch.org/lfs/view/stable/chapter05/gcc-pass2.html we are asked to suppress the execution of the ‘fixincludes’ script, using the following ‘sed’ command:

cp -v gcc/Makefile.in{,.orig}
sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig > gcc/Makefile.in

As you can see, the code will suppress the execution of the (for me, anyways) non-existent ‘fixinc.sh’, *not* ‘fixincludes’. I think we have a genuine, bona fide fragment of code for the “errata” section! A quick filesize check between Makefile.in and Makefile.in.orig before and after correction has confirmed a difference.

It *pays* to give close attention to what you are typing in...or at least, we shall see, hopefully in a few hours time. I’ve done a make clean, deleted the folder, repeated the steps (with the *correct* reference), then started the compile again. Compilation start: 1444 hours TT. See you tonight.

* TB: I’m back. Compilation stopped at 1506 TT. Guess my little ‘correction’ didn’t do bupkis :(. Starting from scratch - deleted gcc source and build folders, unpacking, recompiling. This time, I will manually edit each of the required files, rather than rely on ‘sed’. Compilation started at 1554 hours TT.

* TB: 23 minutes later, still compiling...seems promising :)

* TB: Stopped at 1720 hours TT. Now it’s some missing README file that’s caused a hiccup. Commented out the reference in the Makefile. Compile continued at 1742 hours TT. Compile stopped at 1752 hours TT. Believe it’s some references to ‘/usr’ that should be ‘/tools’ that’s giving us grief.

* TB: JE back from sojourn. Taking break to explain everything I’ve done, to JE.

* TB: Made the necessary changes to makefiles. Make cleaned BUILD_DIR/gcc/i686-pc-linux-gnu/libgcc. Compilation restarted at 1950 hours TT. Compilation stopped at 1956 hours TT. The battle of man vs. machine goes on...as the jack to the lumbertree said “I’m stumped”! Went for dinner at Broadway, came back, called it a night.

2009-03-11

* TB: Didn’t end up checking out awesomo’s progress yesterday, or today for that matter. JE’s “done a Mundine after he left the Dragons” (he’ll probably be back tomorrow, fit and fighting), so he couldn’t open the door for me. Bothered sanguinev enough this week. Most definitely will check tomorrow, catastrophic calamity notwithstanding...

* TB: Some ideas for Sun’s marketing name for version 6 of their operating system: Coronis (regular version), Umbris (secure version), Photonis (embedded version)...

2009-03-09

* TB: gcc-4.3.2 second pass. Came back - found that it stopped ‘dancing’ after about 85 minutes with a ‘file not found’ error. Strange - I had no trouble building gcc last time. I think I’ve might’ve forgotten to chdir to ‘gcc-build’ before starting the ‘dance’ *groan*. So I’ve started her up again, and I’ll come back tomorrow (maybe) and I’ll tell you how she went.

Remember folks, we’re *still* at the ‘building a temporary system’ stage. We haven’t even reached the stage where we chroot into our temp system and build the system proper. Long way to go!

2009-03-06

* TB: muspell down but back up again thanks to good old powercycling and sanguinev.

* TB: gcc-4.3.2 first pass http://www.linuxfromscratch.org/lfs/view/stable/chapter05/gcc-pass1.html

1. Compilation completed last night, probably towards the end of the 21:20 screening of Watchmen at Hoyts Broadway. I didn’t go (had dinner with the guys, then went home), but sanguinev gave it 8/10.

Have a Captain at *these* statistics:

Real: 382m30.461s (30.09 SBU (actual) - 22 SBU (predicted). Actual/predicted ratio: 1.4. The RAM was of great help - according to 'top', 
                  the swapspace wasn't used at all (at least when I checked), although I reckon if awesomo had a gig of RAM, it might've 
                  completed the dance in just over five hours)
User: 356m14.522s
Sys:  22m6.211s

2. symlinks to libgcc.a and gcc to appease the compiler when we’re building glibc

3. deleted build and source directories - freed up 880MB :O

* TB: Quote of the day: “Memory *is* RAM!” — Moss, The IT Crowd (wrong on sooo many levels...)

* TB: Kernel 2.6.28.7

1. unbz2ed/untarred kernel source (no patch required)

2. installed API headers (not worth timing)

3. deleted source directory

* TB: glibc-2.8-20080929

1. unbz2ed/untarred source (no patch for now)

2. compilation started at 1426 hours “Tommy Time” (i.e. the time that’s displayed on my phone, which is within 2-3 minutes, give or take, of Australian Eastern Daylight Savings Time). ETA: 1630 hours TT.

Doing some research with regards to finding myself an engineering internship this year and conducting an interview with an engineer in the workplace, plus I’m reading P. Hammond’s classic tome “Electromagnetism for Engineers” (2nd edition) as a means of studying for Fundamentals of Electrical Engineering - good read - picked it up for free in front of the Student Association’s second hand bookshop in Building 1, Level 3 during the summer holidays (see, this is why you should do summer session!). Love the ProgSoc room - great place to study - nice and quiet...don’t love the webcam, though - a constant battle between the hat covering the ‘cam to give me a little privacy and the anonymous user trying (and sometimes succeeding) to shake the hat off the ‘cam.

3. compilation completed at 1632 hours TT (excellent prediction!). Stats:

Real: 125m48.295s (9.9 SBU (actual) - 7.6 SBU (predicted). Actual/predicted ratio: 1.3. Slight improvement in compilation...then again, I'd imagine a compiler 
collection to be a more complex piece of software overall (in 'relative terms') than a C library. Anyways, we're using our shiny, newly-compiled compiler 
right now, so there would be an appreciable improvement in performance :) Just wait until we've recompiled gcc-4.3.2 *with* gcc-4.3.2. *Then* you'll be 
pissing yourself once we're compiling the rest of the system :D)
User: 96m36.388s
Sys:  27m46.169s

4. deleted source and build folders

TB: adjusted the toolchain - renaming linkers, etc.

TB: performed the following sanity test to see if toolchain is configured correctly (i.e. will executables request the correct copy of ld-linux.so.2?)

echo 'main(){}' > dummy.c
cc dummy.c
readelf -l a.out | grep ': /tools'

readelf sayeth: [Requesting program interpreter: /tools/lib/ld-linux.so.2]

Qapla!

TB: TCL8.5.5 (used as part of the testsuite)

1. ungziped/untarred source

2. Compiled it. Stats:

Real: 7m37.123s (0.6 SBU (actual) - 0.5 SBU (predicted). Actual/predicted ratio: 1.2)
User: 6m40.335s
Sys:  0m54.406s

3. Deleted source dir.

TB: Expect-5.43 (also part of the testsuite...quite prosaic, so not much commentary here)

1. ungziped/untarred/patched source

2. Compiled it. Stats:

Real: 0m41.565s (0.1 SBU (actual) - 0.1 SBU (predicted). Actual/predicted ratio: 1.0)
User: 0m29.959s
Sys:  0m11.137s

3. Deleted source dir.

TB: DejaGNU-1.4.4 (also part of the testsuite...simple stuff here)

1. ungziped/untarred source

2. Compiled it. Stats:

Real: 0m16.425s (less than 0.1 SBU (actual) - less than 0.1 SBU (predicted). Actual/predicted ratio: 1.0)
User: 0m7.798s
Sys:  0m5.178s

3. Deleted source dir.

TB: GCC-4.3.2 second pass!

1. unpacked gcc, mpfr and gmp bz2s

2. leaving it to compile over the weekend...I’m outta here! The bells of Notre Dame (or is it USyd?) on a Friday evening are driving me crazy, the fact that I can’t leave the room unattended if I want to go to the toilet since I don’t have a key (yet! ;) to the room is driving me crazy, the fact that I’ve been here seven straight hours is driving me crazy, the solitude...not so much. Tell you on Monday (maybe) how it all went!

2009-03-05

  • TB: Binutils-2.18 first pass

1. unbz2ed/untarred/patched package to /mnt/lfs/sources/packages/binutils-2.18

2. did the “three-step compilation dance” i.e. ./configure, make, make install. Why are so many people so scared of installing from source, I wonder? After all, much of the hard work is already done for you. Yeah, I know, resolving dependencies can be a bastard and not for the faint-of-heart...but at least ‘configure’ tells you what you need...one step at a time...

3. timed the “dance” using ‘time { ./configure && make && make install; }’:

real	12m42.774s (our definition of 1 SBU - Standard Build Unit, meaning that GCC first pass, with an SBU of 22, will take awesomo 
                    close to all of eternity to complete, or about four-and-a-half hours, whichever comes first)
user	10m34.678s (userspace)
sys	1m57.208s  (kernelspace)

4. prepared ld for the toolchain adjustment step

  • TB: gcc-4.3.2 first pass
    1. unbz2ed/untarred/patched package to /mnt/lfs/sources/packages/gcc-4.3.2
    2. deleted the binutils source and build folders, moved rest of packages to /mnt/lfs2 to make room for gcc compilation...hmm, maybe a 2GB partition wasn’t such a good idea after all...
    3. compiling - check back here next century. Plenty of time to learn exactly what I’m doing...

2009-03-02

  • TB: Determined some more basic attributes of awesomo, using cat /proc/cpuinfo and cat /proc/meminfo:
  Brand: Dell PowerEdge 1300
  Processor: Pentium III 450 MHz (cpuinfo says 447.718 MHz) with FPU - 512KB cache
  Memory (total): 581880KB RAM, 6.4GB WDC AC26400R ATA HDD (removable mode)
  • TB: created ‘sources’ folder and temporary ‘tools’ folder on /mnt/lfs
  • TB: copied sources from CD-R into /mnt/lfs/sources
  • TB: set up ‘working environment’ (i.e. edited ~/.bashrc and ~/.bash_profile) as shown, although I’ve skipped the whole ‘create user lfs’ business (sod it...let’s be reckless and be root all the time :P After all, it’s only an experimental setup, so if anything serious happens, it’s not a big deal)
  • TB: ready to build temporary system!

2009-02-28

  • TB: Downloaded and MD5-checked the following core source packages and patchfiles:
gcc-4.3.2.tar.bz2 => OK
linux-2.6.28.7.tar.bz2 (md5: 72d7d509c1f997e6d043bc9c683d89f1)=> OK
  • TB: Burnt essential files onto CD-R (JE insists upon sneakernet, rather than configuring the box to access our network here), then re-performed MD5 check between CD and hard-disk files to verify file integrity using the following insanely simple scrap of Ruby code ($ ruby md5-compare.rb):
LOCAL_FOLDER = "."
DISC_FOLDER = "/media/cdrom" # change where required

def traverse_dir(dir, remote_dir)
    Dir.new(dir).each{|file|
        if file != "." && file != ".." && file.reverse[0,3] != "br."
           if File.directory?(file)
              traverse_dir("#{dir}/#{file}", "#{remote_dir}/#{file}")
           else
              tmp1 = []
              tmp2 = []

              system("md5sum #{dir}/#{file} > tmp1")
              system("md5sum #{remote_dir}/#{file} > tmp2") 
              File.open("tmp1", "r"){|f| tmp1 = f.gets.split(" ")}
              File.open("tmp2", "r"){|f| tmp2 = f.gets.split(" ")} 

              puts "#{tmp1[1]} <-> #{tmp2[1]}: #{(tmp1[0] == tmp2[0]) ? "Alright! Giggidy-giggidy!" : "No! It's not alright!"}"

              File.delete("tmp1")
              File.delete("tmp2")
           end
        end
    }
end

traverse_dir(LOCAL_FOLDER, DISC_FOLDER)

2009-02-27

  • TB: Downloaded and MD5-checked the following core source packages and patchfiles, as per Chapter 3:
  $ md5sum packages/*.tar.gz
  $ md5sum packages/*.tar.bz2
  $ md5sum patches/*.patch
  autoconf-2.63.tar.bz2 => OK
  automake-1.10.1.tar.bz2 => OK
  bash-3.2.tar.gz => OK
  bash-doc-3.2.tar.gz => OK
  db-4.7.25.tar.gz => OK
  binutils-2.18.tar.bz2 => OK
  bison-2.3.tar.bz2 => OK
  bzip2-1.0.5.tar.gz => OK
  coreutils-6.12.tar.gz => OK
  dejagnu-1.4.4.tar.gz => OK
  diffutils-2.8.1.tar.gz => OK
  e2fsprogs-1.41.3.tar.gz => OK
  expect-5.43.0.tar.gz => OK
  file-4.26.tar.gz => OK
  findutils-4.4.0.tar.gz => OK
  flex-2.5.35.tar.bz2 => OK
  gawk-3.1.6.tar.bz2 => OK
  gettext-0.17.tar.gz => OK
  glibc-2.8-20080929.tar.bz2 => OK
  gmp-4.2.4.tar.bz2 => OK
  grep-2.5.3.tar.bz2 => OK
  groff-1.18.1.4.tar.gz => OK
  grub-0.97.tar.gz => OK
  gzip-1.3.12.tar.gz => OK
  iana-etc-2.30.tar.bz2 => OK
  inetutils-1.5.tar.gz => OK
  iproute2-2.6.26.tar.bz2 => OK
  kbd-1.14.1.tar.gz => OK
  less-418.tar.gz => OK
  lfs-bootscripts-20081031.tar.bz2 => OK
  libtool-2.2.6a.tar.gz => OK
  m4-1.4.12.tar.bz2 => OK
  make-3.81.tar.bz2 => OK
  man-db-2.5.2.tar.gz => OK
  man-pages-3.11.tar.bz2 => OK
  module-init-tools-3.4.1.tar.bz2 => OK
  mpfr-2.3.2.tar.bz2 => OK
  ncurses-5.6.tar.gz => OK
  patch-2.5.4.tar.gz => OK
  perl-5.10.0.tar.gz => OK
  procps-3.2.7.tar.gz => OK
  psmisc-22.6.tar.gz => OK
  readline-5.2.tar.gz => OK
  sed-4.1.5.tar.gz => OK
  shadow-4.1.2.1.tar.bz2 => OK
  sysklogd-1.5.tar.gz => OK
  sysvinit-2.86.tar.gz => OK
  tar-1.20.tar.bz2 => OK
  tcl8.5.5-src.tar.gz => OK
  texinfo-4.13a.tar.gz => OK
  udev-130.tar.bz2 => OK
  udev-config-20081015.tar.bz2 => OK
  util-linux-ng-2.14.1.tar.bz2 => OK
  vim-7.2.tar.bz2 => OK
  vim-7.2-lang.tar.gz => OK
  zlib-1.2.3.tar.bz2 => OK
  automake-1.10.1-test_fix-1.patch => OK
  bash-3.2-fixes-8.patch => OK
  binutils-2.18-configure-1.patch => OK
  binutils-2.18-GCC43-1.patch => OK
  bzip2-1.0.5-install_docs-1.patch => OK
  coreutils-6.12-i18n-2.patch => OK
  coreutils-6.12-old_build_kernel-1.patch => OK
  coreutils-6.12-uname-1.patch => OK
  db-4.7.25-upstream_fixes-1.patch => OK
  diffutils-2.8.1-i18n-1.patch => OK
  expect-5.43.0-spawn-1.patch => OK
  expect-5.43.0-tcl_8.5.5_fix-1.patch => OK
  glibc-2.8-20080929-iconv_tests-1.patch => OK
  glibc-2.8-20080929-ildoubl_test-1.patch => OK
  grep-2.5.3-debian_fixes-1.patch => OK
  grep-2.5.3-upstream_fixes-1.patch => OK
  groff-1.18.1.4-debian_fixes-1.patch => OK
  grub-0.97-256byte_inode-1.patch => OK
  grub-0.97-disk_geometry-1.patch => OK
  inetutils-1.5-no_server_man_pages-2.patch => OK
  kbd-1.14.1-backspace-1.patch => OK
  module-init-tools-3.4.1-manpages-1.patch => OK
  ncurses-5.6-coverity_fixes-1.patch => OK
  perl-5.10.0-consolidated-1.patch => OK
  procps-3.2.7-watch_unicode-1.patch => OK
  readline-5.2-fixes-5.patch => OK
  vim-7.2-fixes-3.patch => OK
  Still need to fetch:
  gcc-4.3.2.tar.bz2
  linux-2.6.28.7.tar.bz2

2009-02-26

  • TB: Ditched Debian - someone booted out of the system before the ISO finished downloading. Ditched Ubuntu - frankly, I find their ‘no root account’ policy a tad too restrictive for our needs.
  • TB: Repartitioned drives (using cfdisk) as follows:
    • hda1 - 2.0GB - ext3 primary /
    • hda5 - 2.0GB - ext3 logical /mnt/lfs
    • hda6 - 2.0GB - ext3 logical /mnt/lfs2
    • hda7 - 400MB - swap
  • TB: Installed Slackware 10.0. minimal installation (kernel 2.4.26...should be OK for our purposes...not!)

* TB: checked and updated host system requirements as per host requirements page (run ~/version-check.sh on awesomo to check):

  • bash-2.05b > bash-2.05a ⇒ OK
  • binutils-2.15 > binutils-2.12 ⇒ OK
  • bison-1.875d > bison-1.875 ⇒ OK
  • bzip2-1.0.2 == bzip2-1.0.2 ⇒ OK
  • coreutils-5.2.1 > coreutils-5.0 ⇒ OK
  • diffutils-2.8.1 > diffutils-2.8.0 ⇒ OK
  • findutils-4.2.28 > findutils-4.1.20 ⇒ OK
  • gawk-3.1.3 > gawk-3.0 ⇒ OK
  • gcc-3.3.4 > gcc-3.0.1 ⇒ OK
  • glibc-2.3.2 > glibc-2.2.5 ⇒ OK
  • grep-2.5 == grep-2.5 ⇒ OK
  • gzip-1.3.3 > gzip-1.2.4 ⇒ OK
  • kernel-2.6.7 (gcc-3.3.4) > kernel-2.6.x (gcc-3.0.x) ⇒ OK (select Linux267 at bootup)
  • m4-1.4.1 > m4-1.4 ⇒ OK
  • make-3.80 > make-3.79.1 ⇒ OK
  • patch-2.5.4 == patch-2.5.4 ⇒ OK
  • perl-5.8.4 > perl-5.6.0 ⇒ OK
  • sed-4.0.9 > sed-3.0.2 ⇒ OK
  • tar-1.14 == tar-1.14 ⇒ OK
  • texinfo-4.8 == texinfo-4.8 ⇒ OK

2009-02-23

  • JE: Started wiki documentation.
  • TB: Reinstalled Ubuntu 4.10 (why!?), with:
    • #1 primary 1 GB /
    • #2 primary 5 GB /mnt/lfs
    • #3 primary 0.4 GB swap
  • JE: downloading Debian... takes forever.
  • TB: installing Ubuntu... takes forever.
  • JE: reading about The Internet. Random (what does that mean, anyway?) quote for the day: “Electronic texts have some peculiar features, which depend both on their support and on the communication setting in which they are produced” – Cantoni and Tardini, Internet
  • TB: finished Ubuntu minimal installation.

2009-02-19

TB: Installed Ubuntu 4.10 on AWESOMO on a 1GB partition, and allocated space for the LFS system.

 
awesomo-lfs.txt · Last modified: 2010/07/16 04:48 by 119.111.124.194
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki