You are not logged in.

#1 2008-11-23 18:55:49

Basu
Member
From: Cornell University
Registered: 2006-12-15
Posts: 284
Website

Building an experimental Arch system

Thanksgiving break is coming up for most of next week and I'd like to build an experimental arch system to push some limits. Here are some things I'm looking at playing around with:
* Boot time: trying to get full boot (without X) to under 10 seconds.
* File system: looking at using a new filesystem, maybe XFS?
* Custom kernel: With basic hardware setup baked in to get rid of initrd.

Any recommendations for other things I could play with? I'd also like some pointers to resources for baking hardware config into the kernel. I'll be using an older stock Dell machine so that I can get a list of the specific hardware components.
Thanks guys.


The Bytebaker -- Computer science is not a science and it's not about computers
Check out my open source software at Github

Offline

#2 2008-11-23 20:20:07

haxit
Member
From: /home/haxit
Registered: 2008-03-04
Posts: 1,247
Website

Re: Building an experimental Arch system

1) Your link in your sig is incorrect.
2) Sounds awesome, be sure to report your results. Bare custom kernel should be awesome for boot time. If you need some help with the modules, this script will help you:

#!/bin/bash
for i in `find /sys/ -name modalias -exec cat {} \;`; do
    /sbin/modprobe --config /dev/null --show-depends $i ;
done | rev | cut -f 1 -d '/' | rev | sort -u

Aswell as the kernel in a nutshell book.


Archi686 User | Old Screenshots | Old .Configs
Vi veri universum vivus vici.

Offline

#3 2008-11-23 20:30:17

klixon
Member
From: Nederland
Registered: 2007-01-17
Posts: 525

Re: Building an experimental Arch system

You should try ext4 if you're making it expirimental... Works like a champ here.

keeping an eye on this thread   big_smile


Stand back, intruder, or i'll blast you out of space! I am Klixon and I don't want any dealings with you human lifeforms. I'm a cyborg!

Offline

#4 2008-11-23 21:34:26

Basu
Member
From: Cornell University
Registered: 2006-12-15
Posts: 284
Website

Re: Building an experimental Arch system

@haxit: thanks for the info. Looks like kernel in a nutshell will be a good way to spend my $50 thanksgiving bonus. Might even pick up writing GNU Emacs extensions with it.

@klixon: didn't think about ext4, thanks for the heads up.


The Bytebaker -- Computer science is not a science and it's not about computers
Check out my open source software at Github

Offline

#5 2008-11-24 00:25:18

mianka
Member
From: BE LEUVEN
Registered: 2006-05-30
Posts: 201

Re: Building an experimental Arch system

Basu, keep your money for something else: you can have LKIN for free on the authors website:http://www.kroah.com/lkn/

Offline

#6 2008-11-24 01:46:34

Basu
Member
From: Cornell University
Registered: 2006-12-15
Posts: 284
Website

Re: Building an experimental Arch system

@mianka: yeah I realized that after I posted. Nice name by the way.

My work laptop boots in 30 seconds, so hopefully what I learn from this will help bring that down

Last edited by Basu (2008-11-24 01:50:06)


The Bytebaker -- Computer science is not a science and it's not about computers
Check out my open source software at Github

Offline

#7 2008-11-24 19:20:32

Basu
Member
From: Cornell University
Registered: 2006-12-15
Posts: 284
Website

Re: Building an experimental Arch system

Some questions:
Does anyone know which filesystem would be the fastest to mount? Or are they all mostly the same?
If I build all hardware modules into the kernel, can I get rid of the initrd?
Is udev necessary to automount USB drives?

Last edited by Basu (2008-11-24 19:43:42)


The Bytebaker -- Computer science is not a science and it's not about computers
Check out my open source software at Github

Offline

#8 2008-11-24 20:03:49

Heller_Barde
Member
Registered: 2008-04-01
Posts: 245

Re: Building an experimental Arch system

Basu wrote:

Some questions:
Does anyone know which filesystem would be the fastest to mount? Or are they all mostly the same?

afaik the main difference is not really the mounting but the access time which in turn depend mostly on what hardware you're using. and different filesystems are suitable for different usecases (as in some are fast in dealing with lots of small files and others have their strength in dealing with really huge files)

Basu wrote:

If I build all hardware modules into the kernel, can I get rid of the initrd?

yes.

Basu wrote:

Is udev necessary to automount USB drives?

umm. i don't actually know about this one. has anyone else a clue?

Offline

#9 2008-11-24 21:05:44

klixon
Member
From: Nederland
Registered: 2007-01-17
Posts: 525

Re: Building an experimental Arch system

Hal is used for automounting and it loads udev automagically


Stand back, intruder, or i'll blast you out of space! I am Klixon and I don't want any dealings with you human lifeforms. I'm a cyborg!

Offline

#10 2008-11-24 21:42:27

dsr
Member
Registered: 2008-05-31
Posts: 187

Re: Building an experimental Arch system

Basu wrote:

Does anyone know which filesystem would be the fastest to mount? Or are they all mostly the same?

ReiserFS mounts slowly. JFS, XFS, ext3, and ext4 should mount quickly. If mount time really affects your overall boot time, there's probably a way to mount filesystems in the background (although that could fail if one depends upon another, e.g. mounting /home in parallel with /).

Offline

#11 2008-11-24 22:22:07

haxit
Member
From: /home/haxit
Registered: 2008-03-04
Posts: 1,247
Website

Re: Building an experimental Arch system

Just a note: Don't forget to put daemons in the background and get rid of unneeded modules in mkinicpio.conf


Archi686 User | Old Screenshots | Old .Configs
Vi veri universum vivus vici.

Offline

#12 2008-11-24 22:43:14

elmer_42
Member
From: /na/usa/ca
Registered: 2008-10-11
Posts: 427

Re: Building an experimental Arch system

I'll definitely be watching this topic. Once you're done with this project, I'd love to read a well-written article about it. I'm sure I could implement some of your optimizations on my system.


[ lamy + pilot ] [ arch64 | wmii ] [ ati + amd ]

Offline

#13 2008-11-24 23:31:45

shazeal
Member
From: New Zealand
Registered: 2007-06-05
Posts: 339

Re: Building an experimental Arch system

Ext4 is not really experimental anymore since its mainline, and its much faster than any other fs I have used (jfs, xfs, reiser, ext3). As for getting your boot time down, just use a 2.6.28 kernel and watch it fly, you can get the whole kernel init process down to 0.5s or so with the new Async option, and ext4 makes everything else fly.

The only experimental thing I can recommend is BFQ I/O scheduler (http://feanor.sssup.it/~fabio/linux/bfq/patches/) for a desktop it stomps all over CFQ, I have been using it for ages without issue.

Grub2 is worth a look also if your feeling brave, its alot better than grub 1, and can boot from pretty much anything you want to throw at it.

Offline

#14 2008-11-25 00:07:23

haxit
Member
From: /home/haxit
Registered: 2008-03-04
Posts: 1,247
Website

Re: Building an experimental Arch system

shazeal wrote:

Ext4 is not really experimental anymore since its mainline, and its much faster than any other fs I have used (jfs, xfs, reiser, ext3). As for getting your boot time down, just use a 2.6.28 kernel and watch it fly, you can get the whole kernel init process down to 0.5s or so with the new Async option, and ext4 makes everything else fly.

The only experimental thing I can recommend is BFQ I/O scheduler (http://feanor.sssup.it/~fabio/linux/bfq/patches/) for a desktop it stomps all over CFQ, I have been using it for ages without issue.

Grub2 is worth a look also if your feeling brave, its alot better than grub 1, and can boot from pretty much anything you want to throw at it.

Do you have a PKGBUILD for the 2.6.28 kernel?


Archi686 User | Old Screenshots | Old .Configs
Vi veri universum vivus vici.

Offline

#15 2008-11-25 04:06:04

shazeal
Member
From: New Zealand
Registered: 2007-06-05
Posts: 339

Re: Building an experimental Arch system

No I just build it manually without any initrd, I dont even have mkinitcpio installed on this machine. I gave up on PKGBUILDs for the kernel when I had issues with ext4, far easier to just stick the source in /usr/src and do it the old fashioned way.

Offline

#16 2008-11-25 09:45:36

andr3as
Member
Registered: 2008-10-06
Posts: 51

Re: Building an experimental Arch system

shazeal wrote:

As for getting your boot time down, just use a 2.6.28 kernel and watch it fly, you can get the whole kernel init process down to 0.5s or so with the new Async option, and ext4 makes everything else fly.

Could you give me a hint on where i can find some information on the "Async option"? I'm happy about anything that makes my system boot faster and the only google results seem to be about the fastboot-branch...
Thanks in advance :-)

Offline

#17 2008-11-25 10:35:52

shazeal
Member
From: New Zealand
Registered: 2007-06-05
Posts: 339

Re: Building an experimental Arch system

Yep the fastboot branch was merged into 2.6.28. CONFIG_SCSI_SCAN_ASYNC, is the new kernel option. I think there may be some others but I have not really investigated.

The RC1 notes contain all the changes, there is also a type of bootchart for the kernel built in to the debug stuff.
http://www.kernel.org/pub/linux/kernel/ … 2.6.28-rc1

Offline

#18 2008-11-25 15:08:25

broch
Banned
From: L.A. California
Registered: 2006-11-13
Posts: 975

Re: Building an experimental Arch system

none of the official benchmarks show ext4 speed advantage over other ext3/jfs/xfs each will shine in some tests and lag in other.

Async option was introduced in 2.6.20 (official patch in 2.6.26 or 2.6.27, don't remember), not in 2.6.28.
When enabled allows asynchronous/paralell scan for SCSI devices during boot shortening devices are recognized. However, this has no effect if you strip down kernel from unsused devices.

I would suggest to take look at zen kernels. some patches may have certain impact on boot time.  Also strip kernel from unused devices even if you have hardware indtalled. For example PCMCIA slows down boot time "tremendously" for example (udev time).

Offline

#19 2008-11-25 15:39:49

nuttygamergeek
Member
Registered: 2008-11-24
Posts: 15

Re: Building an experimental Arch system

K.mandla posted a couple of links with fs benchmarks:
http://www.debian-administration.org/articles/388
http://fsbench.netnation.com/

XFS comes out well, Reiser4 looks awesome but I don't know if its development is being continued.

K.Mandla has done a lot of work trying to get boot times down, check out his blog:
http://kmandla.wordpress.com/

Offline

#20 2008-11-25 16:47:50

Basu
Member
From: Cornell University
Registered: 2006-12-15
Posts: 284
Website

Re: Building an experimental Arch system

I currently have a 64-bit dual core but by setup is 32-bit (I wanted Flash).If I drop in a 64-bit problem to run all the other 32bit apps, will that be a problem?


The Bytebaker -- Computer science is not a science and it's not about computers
Check out my open source software at Github

Offline

#21 2008-11-25 20:21:41

shazeal
Member
From: New Zealand
Registered: 2007-06-05
Posts: 339

Re: Building an experimental Arch system

none of the official benchmarks show ext4 speed advantage over other ext3/jfs/xfs each will shine in some tests and lag in other.

I dont want to turn this into a FS war thread, but I will say this, none of the benchmarks I have seen are anywhere near up to date.

I currently have a 64-bit dual core but by setup is 32-bit (I wanted Flash).If I drop in a 64-bit problem to run all the other 32bit apps, will that be a problem?

Umm Im not really sure what your trying to say... maybe search the wiki for 64 bit?

Offline

#22 2008-11-25 20:44:15

broch
Banned
From: L.A. California
Registered: 2006-11-13
Posts: 975

Re: Building an experimental Arch system

I dont want to turn this into a FS war thread, but I will say this, none of the benchmarks I have seen are anywhere near up to date.

naah, I don't believe in someone's a gut feeling or using pacman as benchmarking tool.


There is alpha version of 64-bit flash for linux.
As long as you have lib32 subsystem (default for most sane 64-bit distros) you are just fine. You may need to install some less popular 32-bit libs in some cases.
Only real limitation are drivers, particularly for less popular hardware.

Offline

#23 2008-11-25 21:22:30

Dieter@be
Forum Fellow
From: Belgium
Registered: 2006-11-05
Posts: 1,946
Website

Re: Building an experimental Arch system

+1 for compiling custom kernel, dropping initrd (Gentoo style <3)
+1 for choosing specific filesystems

personally I don't really like the idea of dropping daemons like hal,udev etc.  Even if you can do without them, they add some usefullness to a system.  I think it's cooler to see how fast you can make a 'usable' system boot then a system that has everything stripped down and hardwired together.  But that's just me of course..


< Daenyth> and he works prolifically
4 8 15 16 23 42

Offline

#24 2008-11-25 22:28:37

Basu
Member
From: Cornell University
Registered: 2006-12-15
Posts: 284
Website

Re: Building an experimental Arch system

Basu wrote:

I currently have a 64-bit dual core but by setup is 32-bit (I wanted Flash).If I drop in a 64-bit problem to run all the other 32bit apps, will that be a problem?

Sorry, I meant to ask whether it would be a problem if I put in a 64-bit kernel and then ran 32 bit programs.


The Bytebaker -- Computer science is not a science and it's not about computers
Check out my open source software at Github

Offline

#25 2008-11-25 23:31:34

broch
Banned
From: L.A. California
Registered: 2006-11-13
Posts: 975

Re: Building an experimental Arch system

Sorry, I meant to ask whether it would be a problem if I put in a 64-bit kernel and then ran 32 bit programs.

no

Offline

Board footer

Powered by FluxBB