Saturday, December 11, 2010

Just do it. emerge =sys-devel/bin-86-0.16.18

Good day everyone. Today is the weekend. No homework ;) Just play.

In Gentoo there is a new minor version bump of bin86. (Yes it still lives even on x86_64) This version includes some system headers that were missing in dumps.c, objchop.c and catimage.c Patch submitted by yours truly. It should have test and stable requests soon I've also submitted a patch to Gnome screensaver that fixes a missing system header and mplayer that fixes another. Hoping they will get added soon since they have been around a while.

Edit note: The mplayer bug was closed but it does seem fixed now. A peek at the patch upstream shows that bin86 recieved a good deal of fixes and my minor patch applies to the 0.16.17.ebuild that existed

Gnome 2.32.x is out and I have been submitting bug reports where they are supposed to go. Gentoo doesn't accept all bugs on all software installed via portage at present. QA will change this soon hopefully. It is clear that Gnome and Gentoo could work better in some way. There is a large upstream here and Gnome should be well supported. If perhaps upstream would work with our development team we have the capability to significantly improve Gnome through Gentoo QA.

Ahh yes I said 'play' didn't I? Well how about let's rescue a princess. In Gentoo this is almost as easy as 'emerge -vp supertux'. I set the following in /etc/portage/profiles/package.use to resolve dependencies for this game.

# below added for supertux
media-libs/sdl-mixer mikmod vorbis mad flac mp3
media-libs/sdl-image png gif tiff
games-arcade/supertux opengl

It does pull in a few more dpendencies than are actually required but since they are already in they should hopefully satisfy other games based on media-libs/sdl Happy gaming.

Friday, December 3, 2010

Making a better distribution of Gentoo

G'day mate! Today we advocate not only mental but physical stimulation and your homework assignment is to master the boomerang.

My Gentoo installation on the Dell Inspiron 8000 (nee tuxmobl) shows some progress now since I have managed to successfully start X and obtain an LXDE desktop. Network access is currently through the PCMCIA card and I have yet to try the laptops built in NIC jack that would not work under M$. I can ssh in and set it building while working from 'random' host; which I did yesterday. Once set to a task I checked on some of my open bugs and posted a new blog. Flameeyes has hardware issues and reported he is not able to do tinderbox runs at least where it concerns the packages I use I can try to pick up some small portion of the work.Since updating to gcc-4.5.1 I am currently running 'emerge -e world' on the the 'random' host At 12:00 pm EST there are 290 of 856 packages done.

As the laptop installation proceeds I am forced to make choices concerning hal and udev. Since hal is going away but the documentation still outlines hal and until Gentoo migrates to openrc and baselayout2 hal is still used on Gentoo stable AFAIK With laptops there is the whole battery runlevel and issues of power management as I progress through the problems I intend to post updates here. Further there was discussion I recall on using i2c versus lm_sensors.

The 'random' host has already been migrated to openrc and baselayout2 and seem to be fine running udev without hal. The only thing that at last check actually still required hal on that system was the gnome-gvfs IIRC I chose gnome for a desktop on it since it seemed the easiest way to manage a working install without hal.

I must also keep in mind some kind of solution where integrating the other boxes into the network better yields access to what the linux and windows boxes here can do. Like shared printing and a shared rsync solution between hosts random and tuxmobl Then there is a little router project I have in mind as well.

Good luck with your own tasks. And enjoy a sunset near you with a friend. I'm off the weekend and hope to make some progress then so keep checking back.

Wednesday, December 1, 2010

From 'tuxmobl' to asparagus

Greetings fellow penguins and good day. I've edited the ticker above to add interesting articles about linux and embedded news. Breadboarding has come so far these last 30 years ;-) For today's mental exercise you are instructed to build a 4 bit binary counter from NOR gates.

I came by some older hardware in trade for labor. A Dell Inspiron 8000 with a fair battery, 1GHz Coppermine CPU and 256 MB of ram. It also had a 10GB hard drive and Windows XP installed. A 'hwoarang' version that seemed quite nice and incorporated some of the look of Windows 7.

I upgraded the memory to 512 MB and changed the hard drive out for a 40GB drive and booted a Knoppix 6 cd and used the 'alternate-install' method to chroot and install Gentoo. Along the way I found the onboard NIC seems to be bad but I have a Xircom PCMCIA card that provides 10/100 MB ethernet, a modem and 1394 and used that. The system came with an internal CDRW and the 2 bays can use 2 batteries or a DVD player and a floppy drive in some combination all of which came with it. So I thought all this worth salvage since it has a nice keyboard and screen as well even if the hardware is rather dated and everything worked in Windows.

The install went well till ready to boot the new kernel. Then issues with the graphics driver and the aty128fb driver it should have worked with yielded a blank screen. I chrooted back into the system and took all reference to any framebuffer except the default kernel framebuffer out and rebooted and have since rebuilt the system with -march=native Choosing a GUI of LXDE for a lightweight graphical display yields

tuxmobl runlevels # emerge -vp lxde-meta

These are the packages that would be merged, in order:

Calculating dependencies... done!

emerge: there are no ebuilds built with USE flags to satisfy ">=x11-libs/cairo-1.6[X,svg]".
!!! One of the following packages is required to complete your request:
- x11-libs/cairo-1.8.10 (Change USE: +X)
(dependency required by "x11-libs/gtk+-2.20.1-r1" [ebuild])
(dependency required by "lxde-base/lxsession-edit-0.1.1" [ebuild])
(dependency required by "lxde-base/lxde-meta-0.5.0-r1" [ebuild])
(dependency required by "lxde-meta" [argument])

Seems like this USE flag should have been provided and I'll need to look into how the ebuild sets it and maybe others won't see the issue as soon as I get the system doing something useful and get something to eat.

Thinking mushroom and cheese omelets and some asparagus with toast sounds good Even a bit of a splurge since asparagus is something I don't treat myself to much. I had some under a dripping air conditioner once that sprouted some nice ones years ago. On that note as soon as I can change the layout here there will be some other topics including food. Hmmm hope blogger has the features I want. ;-) since I want to be able to have this be kind of a meta-blog with the subs having their own RSS

Friday, November 26, 2010

Promises promises

To share with the pen leaves the messages for others over a longer time and it is less easy to mis-quote that the spoken word. Does everything really deserve to be written? Not in the least. So the intent here is to one day have something helpful to others and perhaps to even profit by the spread of common ideas and interests in some way. Enough to make living easier anyway.To that end this document will be undergoing some changes over time.

Flameeyes wrote Autotools Mythbuster to assist those using the autotools suite of software building tools to configure build and install programs. Being a non-native speaker there were ways I could help to improve it and perhaps help those developers using them and thus improve the distribution Gentoo and software built with it's toolchain since I use Gentoo on several machines.

Recently I pushed some changes I had made in my tree using git. Git is a version control system that allows collaborating authors to work on documents or code and also limit who can make changes Using linux I have as of yet not managed to get any of the graphical interfaces for git to work the way I wish; so the terminal and git is where syncing is done.

In my installation there are 3 branches.
1) 'master'
2) 'to-be-published'
3) 'user99s-to-be-published'.

Recently I did 'git push' from the master branch after a merge and new things went in after the most recent merge request. But I wondered how it was that the merges I had commited were not posted. Still after a year and with the new content that Diego has added the Guide is very good and I am proud to have contributed.

Gentoo QA team has implemented FORTIFY_SOURCE as an option in gcc and on amd64 This tests static sources for problems as software is being built. And should in the end lead to a stable tree for Gentoo that is well checked by development for bugs. This does not address runtime bugs but should limit them in number I would venture. If the QA team has it's way it might be a 'Badge of Honor' that software is considered stable and part of the Portage tree. There is lots of open source code out there. Wouldn't it be a good thing if you knew your software had been checked to the limit of your compiler and the tests development could come up with?

so what could happen? A lot of software could be removed form Portage. There could be a smaller set of packages that had passed Quality Assurance at first anyway. As long as enough tools can pass to have the tools we need as users then upstream bugs should be reported to them and if needed the ebuild masked. Large/stable projects code should have plenty of upstream anyway.

But all bugs should be reported to and tracked by Gentoo if the software is part of the Portage tree.

Monday, October 18, 2010

Making Gentoo more stable

In the past Flameeyes has written of testing sources at compile time. Now the Gentoo QA team has taken the next step and is now testing sources with FORTIFY_SOURCE At the time when this was implemented my system was about where I wanted it and I decided to emerge -e world This turned up a number of bugs some now closed. Response was mixed by the development team. some just recognized the bug and fixed it. Some still sit with no movement. Some were closed WONTFIX.

This last upsets me. Portage installed the software in all cases. And if there are bugs then they should be tracked until resolved or marked trivial. There may be times when the software should be removed from the tree. If bugs are not filed in Gentoo bugzilla then there is no way to ensure the bugs are properly fixed. See for an example of how this works FORTIFY_SOURCE turns up real bugs.and the QA team should be commended for their work. But if users are discouraged from even filing a Gentoo bug how can Gentoo track the resolution?

In an irc discussion bonsaikitten disparaged this solution citing a need for fixes and patches and the limited resources of the database. These may well be real problems that need to be overcome. They do need to be overcome though. Patches I would write if I could Unfortunately I missed my chance decades ago and instead I have a full time job and family and not the time to learn all the languages required.

I submit to him though I stood in line with a stack of punchcards waiting for my turn on the cardreader so I could run code I wrote on a mainframe before he was out of diapers...Maybe when his parents were in diapers.circa(1980) and just becuase I can't fix it doesn't mean I cannot be trained to. If he has the time ;) With a bit of luck Gentoo will still be around when I retire within the next decade.....perhaps then I will have time to to learn

Until then I assert that all bugs found by QA should be tracked so that the software can be removed if the issues found cannot be resolved properly and/or makes the software a security risk..

Tuesday, September 21, 2010

Perfect Storms Happen

Well there was a movie like that. But in this real world example. The Gentoo development people had just pushed through FORTIFY_SOURCE which runs some extra checks against software about to be installed on the system. And my system reaching something close to what I want in the end I decided to do an emerge -e world. This last was largely due to host 'random' reaching something close to a set of applications I wanted to keep and to make sure I had installed everything with the flags I wanted.

For one I had recently set all the flags 'mmx sse 3dnow and 3dnowext' off for at least the emul-x86- packages (to avoid any TEXT RELOCATIONS

Along the way I discovered that I had improperly set my LDFLAGS and had to redo those. The 800+ packages took over 3 days to install.The speed that some bugs were solved was rather amazing. Big thanks to Spanky (nee vapier aka Mike Fyrsinger) and Flameeyes and the rest of the QA team as well as the package maintainers themselves.

Oh as a policy please don't close bugs WONTFIX and remove the 'do not file a Gentoo bug" from QA notices. All errors should be reported and inspected as they could lead to security issues Gentoo should track all installed software for errors. In a perfect world nothing would go stable with QA errors.

Good work guys keep it up.

Gentoo be more better now. ;-)

Wednesday, September 15, 2010

What I do

In the HVAC industry a newer and more generic term is Climate Control. Essentially achieving targeted conditons in an mostly enclosed environment. Client comfort is job-1.0 and saving money on the utility bill job-0.991

My title is Building Engineer and I operate 2 chillers(500 ton Yorks) and a large Hurst boiler as well as monitor and maintain 10 walk-in refrigerators, 2 walk-in freezers, 44 water fountains, 49 ice machines, several ventilation systems 2 energy management systems, circa 20 AHU's(air handling units) and 76 VAV's (variable air vents) And some other stuff I dismember like the cooling tower and pumps and ad infinitum.

Sometimes it's fun. Sometimes it's not. All in all though I enjoy fixing things and live where I always wanted to.

I've always enjoyed learning and though I never got a Bachelors. I have an AA and the education has helped me understand systems. Especially math and later algebra and calculus has helped me overcome problems. When you approach a broken machine you should be familliar with how it performs it's tasks before you can fix it. This can be applied anywhere. Whether the system is a group of players on a team, a simple mousetrap, or a Gentoo Desktop machine

Take a simple window air conditioning unit. It has at least 6 different sub-systems. Evaporator air flow, Condensor airflow, electric power, electric control, refrigeration system( this is further subdivided into a high and low side) and drain system. Now it could be much more complex.

Breaking what a machine down into sub-systems and defining the jobs these subs perform is part of diagnosing machines or problems. Checking off the most common problems first. Elimination saves time.

It comes to mind the cheapest part is usually at fault. Being least reliable. (I do not wish to think much along this line when it comes to linux software)

As this concerns Gentoo and desktops ...init system(sysinit,boot,default), build-tools( nee toolchain), logging
X system and many others. Time with linux would tend to lead one to use only say one desktop environment, and few apps. I currently have 800+ applications Time to streamline I think. As few apps as comfortable would mean less places for things to go wrong. This applies across the board though not just to Gentoo. Fedora, Debian if you are running a desktop of any linux Pick one KDE, Gnome, XFCE or any other that fills your needs and streamline the machine. If you haven't used it this month...odds are you don't need it.

It's kind of like cleaning out the car I guess...needs to be done once in a while. And it might even help my work flow. ;-)

Monday, September 6, 2010

A handle history

And perhaps a bit of the why of things follows.

The first linux I used was a zipslack install. It was fostered by wanting another alternative to Windows(something I own a string of licenses back to DOS 6 for... many of those licenses support expired of course). Slackware did not permit a great deal of freedom to me. On alt.os.linux.slackware I joined a discussion of BSD's ports and linux posting as yggsdrasil a username I chose while posting through our dialup account.

I moved and DSL became available to me for the first time using BellSouth soon after Gentoo 1.0 was released by drobbins and I installed it dual-boot on the only box I had. So I'm dual booting Gentoo and Win95 and when not playing games I try to help out new users as bus_drivr on irc.

I try to sync one day and cannot BellSouth had gotten wise and was blocking sync. Keeping up with current on Gentoo was bandwidth heavy and likely they weren't real happy about me sucking there bandwidth. (This is just my opinion btw derived from experience though another user complained on irc about it.) Starts me ranting about my perception of what Gentoo should be able to do and that includes sync the portage tree via http protocol This would I pointed out also allow people essentially with just web access to install Gentoo.

Well that was answered by emerge-webrsync which was released written quickly. I do not recall how qucikly but today I look in the script and publicly thank karltk@ gentoo for helping to make Gentoo what it is today.

And once again to thank flameeyes for all his hard work.

And as for olbrannon? Well he was a Lord of a great elven guild during the third age of Middle Earth In the Tolkien language Olbrannon translates as 'Dream-Lord'

Friday, August 20, 2010

Too much information?

If you think so; Prokhorov is a case for those who say we are in over our heads. Believe I read he doesn't partake of the net. Billionaire and no cell phone? Or does his assistant use an old Russian model that runs with a hand crank? But pushing on anyway.

 Ubuntu's latest kernel image update managed to install without me adding the 'nomce' and Wes now has a nice (I'm jealous) box. I mentioned the build earlier.  

Linux Wireless is changing. My SMC 2802v1 adaptor and the older firmware version(installed by prism54-firmware if you are ACCEPT_KEYWORD'd) is working and reported. Gentoo documentation still recommends 'wireless-tools' and 'iwconfig' last I viewed the handbook. Kernel team reports that wireless tools are outdated and are linking 'iw' 'regdb' 'crda' as well as 'wpa_supplicant' All of these packages were available in portage. They are installed and seem fine. Removed wireless-tools. I like their style ;-) The tabbed interface is nice and it's not difficult to get a login and set subscriptions for mailing lists. 

While it's not quite the coming of Twitter(or is it) it does bode well for linux wireless. One of these days got to try networkmanager now my driver and connection seem stable. Had a working Gnome-2.30.2 mostly and was using the firefox-bin that has flash support. It works but grabs the sound after which no other device can get it back. Always something to steal the joy. Still need oss support thru alsa for GCompris using the pulseaudio plugin and sound worked at least then updated glibc and it broke...of course. 

Time to reinstall the firefox-bin I suppose. elogv has saved me many times. Reading those postinstall instructions is critical. As is following the instructions in them. Still struggling with git and that may be a blog in itself soon...in my last merge request I mentioned editing the 'git imposed history' Hmph...what I meant was somehow wound up with all the commit numbers and double entries in the file trying to use emacs and git together and wound up having to remove the crap. By the time I finished making everything right I was aggravated and summed it up wrong. 

 There seems to be a difference in my system and flameeyes ...naturally... well as far as emacs is concerned. Some characters in the Autotools-Mythbuster repository display as question marks in my emacs. I believe they were meant to be quotation marks. My system was built with utf-8 and the LINGUAS="en_US" no idea about his. Not sure what to do about that. nxml is installed as well.

Saturday, August 7, 2010

Using Gentoo

Gentoo differs in many ways from a standard linux distribution. It's hardware requirements,
the skill level of the administrator/installer and the intended purpose of the machine are all
factors in deciding upon a distribution.

Gentoo keeping around the sources and running Gnome 2.30.2 is 21.2 GB This is a huge
number compared to most package managed distro's Much of this is the sources in
/usr/portage/distfiles/* (4.1 GB)
/usr/src/ (7.1 GB)
Compiling software on old slow hardware can be quite time-consuming as well.

However...it's quite easy to tailor make your own system with Gentoo's package management and
the judicious use of portage. How to make your own SystemRescueCD for instance.
Create your own custom ebuilds and even your own binpkg host if you
wish or a cross-platform toolchain for embedded development.

If your skillset is more limited but still you would like to try linux; Ubuntu is a good choice for first time users of linux systems that "just want it to work". Even so it is not bug free. A recent kernel update added a new grub boot option on a system I built and without copying the needed "nomce" at the end of the kernel line. Result Lucid Lynx unusable for the user. On a working new system built for linux. I don't know why grub chokes without
the "nomce" flag but I'll file a bug as soon as the user sets up his Ubuntu One Care account so
they can hopefully address it.

Got introduced recently to NerdVittles and PBX in a flash from some acquaintances at lugot.org (which seems to be down atm SMH)
I see Asterisk has an ebuild in portage as well.

Saturday, July 10, 2010

david@random

After many years of sharing the computer with other OS's and other people in the household; I now have a pc of my own.


Linux random 2.6.34.1 #1 SMP Fri Jul 9 22:55:44 EST 2010 x86_64 AMD Athlon(tm) 64 Processor 3200+ AuthenticAMD GNU/Linux
Currently running gnome 2.30 from /etc/portage/package.keywords Gnome 2.30 thread the file can be found in the thread.


15.999570] p54pci 0000:00:09.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[ 15.999591] p54pci 0000:00:09.0: enabling Mem-Wr-Inval
[ 15.999752] p54pci 0000:00:09.0: firmware: requesting isl3886pci
[ 16.357638] phy0: p54 detected a LM86 firmware
[ 16.357641] p54: rx_mtu reduced from 3240 to 2376
[ 17.271915] p54pci 0000:00:09.0: is registered as 'phy0'

Wireless networking is on. p54 provides support Prism54 is deprecated and so prism54-firmware is of no use running newer kernels. The consequence is that portage has no p54-firmware ebuild in the tree. I had to manually move the firmware to /lib/firmware and name it appropriately. In my case 'isl3886pci.bin' 'isl3886pci' both exist and are identical ;-) I'll sort out which it uses one cday and edit.

Anyway I have now my own ~/home and my own Gentoo system. Currently becoming familliar with Emacs and git. Also purchased and am reading the Ruby Way

Flameeyes has Autotools-Mythbuster updates and it is looking like a very polished document of late. There are some spelling errors and some minor things but it explains the subject matter well now. It is basically an installation guide for building software from source. Something anyone building software should know if they wish it to run on the target system.

Saturday, June 26, 2010

Lucid Lynx

Recently built a new PC. The friend is new to Linux but was rather
adamant he did not wish to pay Microsoft for an upgrade. We chose
Ubuntu and a 32 bit build. The hardware is

Biostar TA790GXE with an Ati 3300 chipset onboard and 128 MB of sideport memory

AMD 240 Athlon II Dual Core
2 GB of PC6400 memory
500 watt power supply
640 GB WD Black 32MB cache 7200 rpm SATA 3 GB/s
SATA DVD-RW

His old case. There were some issues with booting the CD and the CD was verified.
I did wind up burning another from a Knoppix but in the end reading the
release notes helped get through it. And adding 'nomce' when editing the
CD's grub.conf Had to make that a permanent boot option since 'machine check
exception' in Ubuntu's kernel caused issues with at least that board

Saturday, January 23, 2010

What's up with Ruby?

I recently hosed a partition and so decided to do a fresh Gentoo install in it. Luckily I mount /home on a different place. I also advocate a separate /usr/local, /var and /boot.

This leaves you with all your earlier work outside of a distribution. Independent. The separate /boot has some security implications.

But on to the subject. I didn't really care about X at that point and just emerged everything right up to and including Ruby. Updating and adding support for what I wished by emerge -uvp and adding 'USE="" emerge pkgname' when satisfied. Ruby installed fine. 1.8.7_pre(?) IIRC I did nothing outside of portage to this point.

When I tried to emerge -pv rubygems with mysql support it errored out failing to build the first package needed 'activesupport'. This is the way I remembered it.

I believe the requirement was for 'minitest' and it was masked. So I did a source install of this test lib.

Now activesupport fails with a different error. Emerge would not let it build. A gem install of activesupport succeeded. Their was another that required me to do a gem install activerecord iirc. This left me with some weird behaviour.

At one point the system went to power saving mode and came back to a screen with corrupted characters. On a reboot it acquired a dhcp address outside my localnet.
I will be rebooting a Knoppix disk and dd /dev/zero /dev/sda(?) (gentoo partition)
then repeat with /dev/one before a re-install.

While I was rather ticked off by a gentoo developers curt reply to a comment on bugs.gentoo.org I do understand some of the reasoning. However I am not real happy that doing a source install of any program outside of portage can break portage usage for an application. A clearer explanation of why is that on linux at least Ruby could be a bad thing. So I do understand why. As Flameeyes has posted there is risk in installing Ruby Gems outside portage.

Tip: It is in general a bad thing to include USE flags globally. I recommend including the minus ones in /etc/make.conf and things such as your desktop environment such as 'gnome' or 'kde' for finer grained control-
mdkir /etc/portage
mkdir /usr/local/etc && mkdir /usr/local/etc/portage
nano /usr/local/etc/portage/package.use and add support for what you wish here on a per package basis
ln -sf /usr/local/etc/portage/package.use /etc/portage/package.use