>Jaunty does boot fast, but how about worse case?

>There are other posts about regular boot times, so how about the worst case, file system checks. That's that check that runs every 30 boots or so just because we are paranoid about making sure the file system is sane.

Boot Intrepid (est) Jaunty with ext4
Normal 30 – 45 seconds 18 – 22 seconds
File System Check 5 – 10 minutes 43 seconds

Of course a lot of this is due to the use of the new ext4 file system (ext3 will be the default in Jaunty again because we are paranoid). At 43 seconds I don't mind the file system check nearly as much. Progress. :)

>Public Software and Technology Policy


Late last year I ran with the Cherry Hill Linux User Group a Health Care IT Community Discussion at our local library and we created a report and submitted it to the Obama Administration (they asked for it) with the hope that they will implement some of our ideas.

Summary: This evening we focused on Health Care IT, referred to in many debates as the magic bullet that will make health care affordable again. We agree that IT can and must play a major role in Health Care Reform, but could be a major hindrance if we make the wrong choices. The Federal Government through the Department of Health and Human Services (DHHS) should: • Maintain a fully free and open source electronic medical record (EMR) system. • Mandate the EMR be taught in all medical and nursing schools. • Mandate an open and freely implementable EMR communication standard. • Mandate a national medical identification number and prohibit the use of, and storage of, Social Security Numbers in any health care system.

It has gotten me thinking about other ways the Federal government can help other local systems such as schools, townships, maybe even police and fire stations. I'm going to use Education as the best other example:

  1. Federal goverment funds development of free linux distribution for schools. Requires use of GPL for everything it pays for to ensure school software remains free. This is designed to be the end-all for schools, (maybe Moodle is at the core and all systems authenticate to it?). Basically they pay to add features to make these GPL-licensed systems do everything a school needs.
  2. Federal government launches grant program to implement free linux distribution in 5 schools (made up number) in every state with the condition that the schools will allow other schools technology departments in to look around and help train them.
  3. Profit, err less profit as every school no longer needs to pay for any licenses for software. It also encourages a local software ecosystem as schools can pay locally to fix a bug or add a feature.
Perhaps these should both be added to the stimulus package? I'd say this would get a great ROI compared to some of the other stuff on there.

Why GPL? Because I want the federally funded systems for education and health care and any modifications made to them to always be free to hospitals and schools. They are public institutions and as a matter of good public policy we should not pay for the same work over and over and over again, especially if the federal government already paid for it.

  • ScottK says:

    >Actually works of the US federal government are public domain. So as long as any contracts are written correctly so that data rights are purchased as part of the efforts, it would be public domain.

  • dsas says:

    >In Britain we are implementing a nationwide medical IT system. So far it’s a catastrophe, as far as I know no savings have materialised, just costs. I think all of your points except the second have been part of our system.

    Our system is the NHS Care Records Service, I haven’t read your report yet so I don’t know if you’ve looked into it.

    P.S. Schools pay near zero for OS and office licences from microsoft, there may be substantial savings to be made in other areas though.

    @ScottK There’s a difference between works of and works for the government as far as I know.

  • gQuigs says:

    >@ScottK I agree with the distinction dsas made.

    @dsas We did discuss at the meeting both the British system (which has been a disaster) and the Canadian (which has been a success).

    My local school district pays 300 to 400K a year for MS Software Assurance. (There total budget is in the 150 million range)

Bad Memory HowTo

So.. Memtest tells you have bad ram! Here are your easy options:

  1. Buy new ram
  2. Turn off everything after the bad memory (mem=###M option)
  3. Turn off just the memory around the bad memory (memmap=#M$###M option)
*May require moving RAM around in the computer for best results.

Testing The Memory Tool 1: Memtest There is the classic Memtest which is on every Ubuntu LiveCD and most other Free operating system CDs. It tests memory and gives you back fun technical numbers and also what sectors are bad in the easier form of 797M or 84M. It's the easier number we want. So try to write down the range (if applicable) of bad results.

Tool 2: Memtester Memtester (click here to install) is like memtest only it runs from a command line once Ubuntu has loaded. It can't test your whole ram so you should make sure that it would be testing the area that memtest has detected being bad. You absolutely need to run it with sudo/root.

WARNING: Don' try to test your whole RAM, just say 100M over where the error is. Doing really close to your actual total ram will make your computer unresponsive (unless you are following this with nothing but a shell, then you might be fine).

Ex. Let's say you have 150M taken up by your OS, the badram is at 797M (from memtest) and you have 1024M total memory.

This command would work:

sudo memtester 750M
Option 1 - Buy New Ram

Simple. Easy. Safest. Might be cheap if your computer supports new ram. Wastes hardware that we could likely get to work. Some people say that once RAM starts to go, it will just keep getting worse, I personally don't believe them. I will not be liable for you losing data by using bad RAM. Use YOUR own judgment.

Option 2 - Turn off everything after the bad memory (mem=###M option) This is simple take the lowest number from memtest, subtract let's say 3 from it for a bit of safety. Then add it to your kernel command line for bootup. Ex. So for bad memory at 797M we would add to the default kernel options:

Option 3 - Turn off just the memory around the bad memory (memmap=#M$###M option) WARNING: This is much less tested than Option 2. There may be bugs lurking about. This isn't much more difficult. Instead of just stopping at 795M, we are going to stop at 795M but then only ignore the next 10M. If there are multiple places try to make a range that includes them both.

Ex. So for bad memory at 804M and 806M we could use:

But for this option I will fell better if you use memtester afterwards to make sure you actually got the right memory spot. (And maybe do it before too, too make sure you actually were testing the right spots in the test)

HowTo Kernel Default Options Edit the file /boot/grub/menu.lst with sudo/root (ex. sudo nano /boot/grub/menu.lst)\

Navigate to here

## ## Start Default Options ##

default kernel options

default kernel options for automagic boot options

If you want special options for specific kernels use kopt_x_y_z

where x.y.z is kernel version. Minor versions can be omitted.

e.g. kopt=root=/dev/hda1 ro

kopt_2_6_8=root=/dev/hdc1 ro

kopt_2_6_8_2_686=root=/dev/hdc2 ro

kopt=root=UUID=f0906667-bcde-4b64-86bc-5a47320d5517 ro

Edit the line (DO NOT GET RID OF THE #):

# kopt=root=UUID=f0906667-bcde-4b64-86bc-5a47320d5517 ro (add mem stuff here)
Then run:
sudo update-grub
Then reboot.

Thanks for following my HowTo. Many happy PCs and memory modules saved from landfills.


  • LeDopore says:

    >Hey gQuig,

    Thanks for the help! You have a well-written tutorial that's a beacon of hope for people with sick computers.

    I have a quick question. When I try to work around my bad RAM, it looks like top still sees just as much RAM as before. Does that mean that my kernel isn't avoiding the bad ram?

    My menu.lst file had the following line in it:

    kopt=root=UUID=a9f39ac2-c67f-418e-93ce-967bdda5e3a4 ro memmap=100M$1800M

    and I did remember to sudo update-grub.

    Thanks for your help!


  • gQuigs says:

    >@LeDopore: tell me more about your setup. Anything odd? It should definitely report a different amount.

    Try looking at: cat /proc/meminfo

    When you are booting up, stop at grub, by pressing escape and try to edit the lines to see what is actually being used. Remove it and double check that it didn't change the amount of ram.

  • LeDopore says:

    >Thanks, gQuigs. I hadn't known about editing the boot options with grub.

    I added the memmap=100M$1800M to grub right at boot and my memory available dropped by 100 megs, so I guess the trouble was that my grub wasn't listening to my /boot/grub/menu.lst file. I'll look into this; thanks a million for the help!



  • LeDopore says:

    >Here's the permanent fix:

    I have Ubuntu 9.04 running, but I've upgraded a few times so there might be some funny cobwebs in my installation.

    In any case, I found that adding memmap=100M$1800M under # defoptions (see below) propagates the memory reduction when you run update-grub, even though adding it earlier didn't.

    additional options to use with the default boot option, but not with the


    e.g. defoptions=vga=791 resume=/dev/hda5

    defoptions=quiet splash memmap=100M$1800M

    Thanks again for the help!


  • Bogdan C. says:

    >You can map multiple intervals of your ram. Lets say that you want to "ban"

    20 MB from 550 to 570 and 35 MB from 800 to 835

    You can write at the end of the line mentioned in the post above "memmap=…" multiple times. Like this:

    kopt=root=UUID=a9f39ac2-c67f-418e-93ce-967bdda5e3a4 ro memmap=20M$550M memmap=35M$800M

  • prh says:

    >thanks for this really helpful blog – just a question: when, after adding this (multiple) memmap, I start from grub the windows2000 installation I also have on my hard disk, is then the bad memory also blocked for windows?


  • Bogdan C. says:

    >Hm… i don't know if this has any effect on Windows.

    But you can test this easily: just block, for example, 50 MB of ram. IF Windows shows you (yourAmountOfRam-50) MB then you are one lucky guy 😛

  • Deftronic says:


    i'm trying to apply this tutorial but i got ubuntu 9.10 karmic (first installation) so that i don't got this menu.lst file

    i can find a /boot/grub/grub.cfg but there's no kopt=root … in the while content

    any help ?

    the grub.cfg file content =>


    It is automatically generated by /usr/sbin/grub-mkconfig using templates

    from /etc/grub.d and settings from /etc/default/grub

    BEGIN /etc/grub.d/00_header

    if [ -s /boot/grub/grubenv ]; then have_grubenv=true load_env fi set default="0" if [ ${prev_saved_entry} ]; then saved_entry=${prev_saved_entry} save_env saved_entry prev_saved_entry= save_env prev_saved_entry fi insmod ext2 set root=(hd0,6) search –no-floppy –fs-uuid –set 0fac7a3d-ec9c-4cd2-899e-a78a899c973b if loadfont /usr/share/grub/unicode.pf2 ; then set gfxmode=640×480 insmod gfxterm insmod vbe if terminal_output gfxterm ; then true ; else

    For backward compatibility with versions of terminal.mod that don't

    understand terminal_output

    terminal gfxterm fi fi if [ ${recordfail} = 1 ]; then set timeout=-1 else set timeout=10 fi

    END /etc/grub.d/00_header

    BEGIN /etc/grub.d/05_debian_theme

    set menu_color_normal=white/black set menu_color_highlight=black/white

    END /etc/grub.d/05_debian_theme

    BEGIN /etc/grub.d/10_linux

    menuentry "Ubuntu, Linux 2.6.31-16-generic" { recordfail=1 if [ -n ${have_grubenv} ]; then save_env recordfail; fi set quiet=1 insmod ext2 set root=(hd0,1) search –no-floppy –fs-uuid –set f017e4b3-7a62-48d7-a2fe-d3842503a7e3 linux /vmlinuz-2.6.31-16-generic root=UUID=0fac7a3d-ec9c-4cd2-899e-a78a899c973b ro quiet splash initrd /initrd.img-2.6.31-16-generic } menuentry "Ubuntu, Linux 2.6.31-16-generic (recovery mode)" { recordfail=1 if [ -n ${have_grubenv} ]; then save_env recordfail; fi insmod ext2 set root=(hd0,1) search –no-floppy –fs-uuid –set f017e4b3-7a62-48d7-a2fe-d3842503a7e3 linux /vmlinuz-2.6.31-16-generic root=UUID=0fac7a3d-ec9c-4cd2-899e-a78a899c973b ro single initrd /initrd.img-2.6.31-16-generic } menuentry "Ubuntu, Linux 2.6.31-14-generic" { recordfail=1 if [ -n ${have_grubenv} ]; then save_env recordfail; fi set quiet=1 insmod ext2 set root=(hd0,1) search –no-floppy –fs-uuid –set f017e4b3-7a62-48d7-a2fe-d3842503a7e3 linux /vmlinuz-2.6.31-14-generic root=UUID=0fac7a3d-ec9c-4cd2-899e-a78a899c973b ro quiet splash initrd /initrd.img-2.6.31-14-generic } menuentry "Ubuntu, Linux 2.6.31-14-generic (recovery mode)" { recordfail=1 if [ -n ${have_grubenv} ]; then save_env recordfail; fi insmod ext2 set root=(hd0,1) search –no-floppy –fs-uuid –set f017e4b3-7a62-48d7-a2fe-d3842503a7e3 linux /vmlinuz-2.6.31-14-generic root=UUID=0fac7a3d-ec9c-4cd2-899e-a78a899c973b ro single initrd /initrd.img-2.6.31-14-generic }

    END /etc/grub.d/10_linux

    BEGIN /etc/grub.d/20_memtest86+

    menuentry "Memory test (memtest86+)" { linux16 /memtest86+.bin } menuentry "Memory test (memtest86+, serial console 115200)" { linux16 /memtest86+.bin console=ttyS0,115200n8 }

    END /etc/grub.d/20_memtest86+

    BEGIN /etc/grub.d/30_os-prober

    if [ ${timeout} != -1 ]; then if keystatus; then if keystatus –shift; then set timeout=-1 else set timeout=0 fi else if sleep –interruptible 3 ; then set timeout=0 fi fi fi

    END /etc/grub.d/30_os-prober

    BEGIN /etc/grub.d/40_custom

    This file provides an easy way to add custom menu entries. Simply type the

    menu entries you want to add after this comment. Be careful not to change

    the 'exec tail' line above.

    END /etc/grub.d/40_custom

  • jordanwb says:

    >Thanks. I got a 1 Gigabyte stick with one bad address and I don't want to throw it out. I'll try this.

  • Bogdan C. says:

    >Deftronic … i had this problem too.

    Now (in Ubuntu 9.10) the boot loader is upgraded and the menu.lst file doesn't exist. Stop searching it.

    The solution is… different now.

    You have to edit the /etc/default/grub file (or grub.cfg; i don't know exactly… i don't have my computer with linux near me). Of course… you have to have admin rights, so edit this file with sudo.

    Now… you will se something like this: # If you change this file, run 'update-grub' afterwards to update


    GRUB_DEFAULT=0 GRUB_HIDDEN_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT_QUIET=false GRUB_TIMEOUT="10" GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian GRUB_CMDLINE_LINUX_DEFAULT="quiet splash memmap=54M\\$970M" GRUB_CMDLINE_LINUX="" save the file and run sudo update-grub

    Those backslashes are important so don't forget them. And 3 of those are now necessary, as you can see in the code posted above. Of course, you can map, as before, more than one part of your memory. In this case the above line will look something like this: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash memmap=14M\\$170M memmap=54M\\$340M memmap=34M\\$670M"

    Anyway… hope this helped you a little 🙂

    Gimmy says:

    hi all,

    Thank you for all the info. I am experiencing problems with my RAM, so I decided to use Memtest86+ to locate the errors and Memtester to double check them. I tried then to use Memtester as you suggest here, but I am not sure about the description you gave. I downloaded the last version and from the web I understood that:

    sudo memtester 750M

    is just going to lock (malloc) a block of 750MB in size and test it without consideration of WHERE this block is. If the aim is to test a specific area, it is necessary to give memtester a physical address and then the amount of MB from there onwards. e.g.: for testing 100MB after a certain address 0xfffblabla

    sudo memtester -p 0xffffblabla 100M

    Does anybody know how I can get the physical address of the defecting memory? Thanks!

    1. Bryan says:

      Yup, you understand why memtester isn’t as useful as far as I’ve found. I do believe memtester will allocate contiguous memory though, so if you know where it is from memtest86+ you should be able to get it to allocate to cover the bad spot.

      1. Gimmy says:

        Yes, but I am not sure how to read the memtest86+ output… The list of errors is not very clear to me.

        I tried to isolate some areas using grub. I’m waiting to see as it goes. fingers crossed.

  • Myron Shank, M.D., Ph.D. says:

    I had similar problems, but found the available instructions incomplete and confusing, so I wrote these instructions to assume as little background as possible.

    1. Run Memtest86+ in “badram” output (preferably from a bootable external medium). When it starts, type “c” (“configuration”), then “4” (“Error Report Mode”), then “3” (“Bad RAM Patterns”), then “0” (“Continue”).
    2. Copy the output that follows any lines beginning with “badram=”.
    3. Open a terminal (command line).
    4. Change to the directory where the “grub” file is located. For example, “cd /etc/default”.
    5. With “root” privileges, use a text editor to open the “grub” file (If you are not signed in as “root,” use “sudo.” You will be asked for the “root” password. In Linux and other Unix derivatives, “root” is equivalent to Windows’ “Administrator.”). For example, type “sudo nano grub” (This temporarily changes the user to “root” and opens the file “grub” with the “nano” text editor.)
    6. Find the section describing memtest. Uncomment the last line (Delete the special character at the beginning of the line, such as “#,” “>,” or “!”). This makes it active (for example, “#GRUB_BADRAM=” becomes “GRUB_BADRAM=”). Replace the example addresses (following “GRUB_BADRAM=”), with the “badram=” output that you copied from Memtest86+ (for example, “0x98f548a0,0xfffffffc”). Save (or “write out”) your changes.
    7. In the terminal (command line), update the “grub.cfg” file, by typing “sudo update-grub”.
    8. Reboot.

    1. James R says:

      Myron, I found your comment to be quite instructive, thank you.


>System Administrator Philosophy and job search

>One of the system administration jobs I interviewed at told me their philosophy of being in the IT business, and I've been meaning to blog about mine for some time now.

My philosophy is that as a system administrator my job is to make technology work for my users. And to do that I need to be aware of their problems, be aware of how they currently use the system, and be in able to change the software to meet their needs. That last part is key and is why I have basically made it a requirement that my next job is, or will let me transition it to becoming, a Free Software shop.

In my perfect system administrator philosophy this is how things would go when a problem comes up:

  1. User has a problem
  2. System Administrator implements a solution

    If problem is reoccurring:

  3. Discuss with upstream about problem and implement a solution for the next release

Ubuntu with a 6 month release cycle and welcoming attitude is well suited for this philosophy.

But it doesn't end there, many users end up doing a lot of extra work when the task could be automated by the computer. In my system administrator philosophy, it's my job to make sure that the users can identify when a task could be automated, and also my job to help them automate it.

I have also noticed that many people consider doing desktop administration to be just a stepping stone in the IT world. I'm willing to bet that the desktop still has a lot of innovation in it, and is going to surprise a lot of people.

Still Searching

I really wish job sites would support OpenID

I'm still looking for a job, so if you know of anything that you think would match my philosophy please don't hesitate to get in contact. (It doesn't have to be system administrator)

>Memory Usage on Intrepid

>Just on Boot (livecds), Comparing to Previous Releases

7.10 8.04.1 8.10 9/30
32 bit 146 154.1 162.5
64 bit 212.9 237.6 238.4

Top 4 Applications on boot and their memory usage 32 vs 64 bit (8.10 9/30)
Top 4 (Initial Boot) 32 64
nautilus 17.7 22.9
Gnome-system-monitor 7.7 10.9
Gnome-panel 7.2 10.1
python 5.5 9

Some Common Applications and their memory usage 32 vs 64 bit (8.10 9/30)

32 64
Firefox 22.7 34.7
Gimp 18.3 27.1
OOWriter (.bin) 17.6 24.1
Totem 12.6 15.6
Rhythmbox 15.6 23.8
Total (of those apps) 118.8 189.3

All numbers from gnome-system-monitor. Is there any project to track Ubuntu (and it's applications) memory usage/performace over releases? Any interest in creating one?

>Slippery Slopes

>The 700 billion dollar bailout is on one of the "slipperiest slopes" I have seen since well.. The Iraqi War buildup.

It's basically on this premise: The Economy will fail if we don't do this.
We have seen that with every bailout in recent history. And somehow we are still buying it

I would like to counter it with this: The Country will fail if we do this.

  1. Seemingly no matter where we get the money (except from taxes), it's going to increase inflation, which means prices on food and gas are going to go up, which means harder economic times for everyone but the rich.
  2. From there the path is set for the classic Rome empire failure. Economic and political troubles within and an unmanageable and overextended military situation abroad.
Oh, I guess I forgot the part where it doesn't actually solve the problem it was made for. It misses it completely, we use the credit system too much in the US. It has us expanding it, when the market wants to cut it back.

My Crazy Idea: Let the people who have the mortgages refinance, with the 10-30 cents on the dollar that the goverment would get in the 700 billion dollar plan.
What does this do?
  • Helps the people owe 1/10 to 3/10 less in mortgages than they do now.
  • Let's the "bottom" form in the housing crisis

>Poem and Okcupid

>Here is an excerpt from my recently updated Okcupid profile:

The six things I could never do without

space without : can not exist
time without : can not age
freedom without : can not choose
dreams without : can not hope
hope without : can not love
love without : can not live

OkCupid is a match making site that does things a little differently than the norm (they built their own open source web server, they only use word of mouth for advertising). More complete list: http://www.okcupid.com/faq/#1.7

If you want to join, use this link to be my friend.

Memory Usage 64 bit vs 32 bit on Ubuntu 8.04.1

*Corrected mistake, thanks Martin.

I have previously posted about memory usage on 7.10.

All tests were done with an Ubuntu LiveCD on the same machine for both 7.10 and 8.04.1. A network card may have changed between 7.10 and 8.04.1. Applications used were Firefox, OpenOffice.org Writer, Rhythmbox, Totem and Gimp. All values copied out of Gnome System Monitor.

Comparing Ubuntu 8.04.1 64 to 32

32 bit 64 bit Difference
Initial Boot 154.1 237.6 83.5
With Apps Open 262.7 395.7 133
I used the Phoronix Test Suite to attempt to get an idea of how ram access is changed from 32 bit to 64 bit. I was hoping to find a benefit for using 64 bit. I performed a very small test and did not find the benefit (in fact 64 bit was slighly slower). Results below: http://global.phoronix-test-suite.com/?k=profile&u=quigs-32083-11560-32025 Note: This was a very very small test.

Comparing 7.10 to 8.04.1, Initial Boot Only

7.10 8.04.1 Difference
32 bit 146.0 154.1 +8.1
64 bit 212.9 237.6 +24.7

>Participatory Freedom (Rough Draft)

>How the Free versus Proprietary Software conflict frames our culture and ultimately government.

This is the first large political science paper I've written (20 Pages). I do plan on releasing the final copy under CC licensing, or maybe make it a wiki page.

It is currently available as HTML, PDF, and ODT if you would like to try to read it.

Please criticize, suggest, comment, etc. I am looking for feedback. Thanks.

32 vs 64 Bit - Memory

I usually would recommend using the 64-bit version of Ubuntu (if you have a 64 bit machine of course). I have heard that 64 bit will use significantly more memory. I decided to do a little test for myself using a 32 and 64 bit Ubuntu 7.10 Desktop CDs in the same computer.

All memory values are total as reported by gnome's system monitor. First, after booting. 32: 146.0 Mb 64: 212.9 Mb Difference: 66.9 Mb!

Opening Firefox and OpenOffice.org Writer. 32: 180.8 Mb 64: 275.6 Mb Difference: 94.8 Mb!

Opening a BIG picture (courtesy of http://spacetelescope.org/ ) It's heic0710a.tif btw. About 700 mb picture of a spiral galaxy.

32 Bit, slowly loaded it into memory over the network and then apparently failed silently:

64 Bit had success opening the picture of a galaxy (slowly)!

64-Big Picture However 64 bit "cheated" and used swap space which the 32 bit version didn't do. Perhaps because the Ubuntu installed to the hard drive uses 64 bit?

So.. to 64 bit or not (if memory is the only issue)? My answer has changed. Now I'm going to go with: If you have 768 Mb of memory or greater 64 bit could be for you. If not, please stick with 32 bit for the time being.