Linux.com

Community Blogs



openSUSE Weekly News 172 is out!

We are pleased to announce our openSUSE Weekly News #172

In this Issue:

  • Evergreen needs you
  • Evergreen & Tumbleweed status update
  • First openSUSE Conference 2011 Program Commitee Meeting
  • Installing latest Intel graphics driver to openSUSE 11.4
  • and many more ...

You can download it there:

We hope you enjoy the reading :-)

If you want to help us collecting interesting articles for the openSUSE Weekly News, so you can all your stuff into our new ietherpad: http://os-news.ietherpad.com/2.

Found Bugs? Please place it in our Bugtracker: http://developer.berlios.de/bugs/?group_id=12095

Features, Ideas and Improvements can placed in our Featuretracker: http://developer.berlios.de/feature/?group_id=12095

Older content can be found there.

Flattr this

 

 

Creating a custom live distro: choosing the hardware

Brief Intro

If you've followed my previous article (http://www.linux.com/component/content/article/130-distributions/430530) you know what I'm trying to do. This project aims to create an home server, requirements have already been described, I've few mods in my mind (X10 automation, SMS gateway and few more) but basically this is what I'm trying to do. As I've told you before I've already decided to use an Atom motherboard but there were other architectures involved in the decision process, here are few personal considerations with pros/cons:

 

The Candidates:

 

SX (STM) and derived architectures.

Pros: really really cheap, really reduced power consumption

Cons: limited I/O, not enough I/O port available or “high level” devices linkable to them

 

Atmel ATMega architecture (and Arduino clones as well)

Pros: quite cheap, easy customization, reliable hw, good programming (related to my skills), close to the real world (digital I/O, analog I/O, measurements), RT OS available for “bigger” CPUs, really reduced power consumption

Cons: Nice objects for controlling limited appliances, even if they've a really good CPU processing power they're not suitable for a full blown home server with an USB controller. They've the capability to connect to USB drives/peripherals but they're too limited for some cool stuff or if I'd like to have a strong OS on it (read Linux)

Note: I'll probably use some custom created PCBs with Atmel devices on it for controlling little things like lights, sensors, LCD panels and so on

 

MIPS devices

Pros: reduced power consumption, “high level” interfacing with buses and peripherals (if compared with atmega/sx/pic chips) like: micro-pci bus, usb. RT OS (real time operating systems) available as well as a compact Linux OS (generally with uclibc and busybox), also check OpenWRT. I can find these kind of CPUs into a lot of small hardware devices (Access Points, DSL Routers, few switches, …). You may find them at cheaper prices (20-30-40-50$) inside ready made appliances. Power consumption is limited

Cons: USB is available and you may connect external drives to it (if you find the proper device) but heavy disk operations may affect heavily this kind of CPU (if you don't have a DSP and a southbridge-like controller). Heavy CPU operations (P2P software) may be a problem for them. Realizing a custom made project with these devices may cost you a lot of bucks

 

ARM devices

Pros: Same benefits of MIPS devices and even something more: ARM CPUs performs really well, I cannot compare them to a Pentium class device but they've enough power for a lot of heavy disk operations. There's a lot of efforts around Linux ARM community and there are a lot patches and features for an autonomous device (uclibc+busybox+linux are a must). There're even some ARM distro with good performances. Ready made devices may be found into high class routers, switches, access points and so on; if you like them remember: OpenWRT (http://www.openwrt.org) could be your best friend. Power consumption is limited

Cons: It's not easy to find a ready made device with an USB controller and an affordable price; multiple USB connections may affect machine performances (without a DSP or a Southbridge), I need few USB devices connected to my machine (USB disks, webcams, an audio card, …) dealing all of them may be challenging. Heavy disk operations (file transfer or P2P for example) may affect your machine a little bit. ARM has enough CPU power to solve these problems but even if I can realize or buy a custom made motherboard it could be a problem: they may cost you a lot of money and it's not so easy to run under 100$. ARM chips are reliable, have a lot of CPU power, they don't absorb so much (more than MIPS btw) but they're not so cheap in the industrial market. You may find something in the consumer market but motherboard are limited (1eth, 1usb and few more)

Note: This is my second choice and unfortunately they're to expensive for me

 

Geode/Intel Atom/Via C3 devices

As I've already told you in my last article this is my current choice, that's why:

Pros: they're not so cheap (like an MPU: micro processor units like ATMega's, PIC Microchips or STM SX's) but Intel an Via (especially Intel) are cutting down prices a lot, in some cases they're even less expensive than MIPS or ARM based cards. I may find a CPU+Motherboard for 50-70$ and use it as a common PC (with limited CPU power if compared to a Pentium Class device). You generally have a complete micro motherboard around it, pains like adding external devices are solved, you've: audio sound card, a bunch of USB ports (4-8), ethernet (wireless or wired), RS232, Parallel port, … You've a southbridge on the motherboard, no more troubles with heavy USB I/O operations (for a really small server, not suitable for a medium sized corp.). If you want an efficient system you may create an optimized OS, use a common Linux distro (if you don't have skills or time) or install a full blown MS Windows (if you want to leave dangerously). Passive cooling is available on low end systems

Cons: CPU intensive tasks and I/O may affect your power absorption a lot (even 40W or more) but if you tune it a little while and if you turn off what you don't use you may save a lot (I'm now using 15W in idle, 20-25W when streaming some video), this is my first problem with these devices: I'd like to absorb like an ARM card but have this class of CPU. I've found a lot of dual cores atom but they've too much CPU power for my needs and absorb a lot, in this case a CPU fan is required, I'd better stay with a low end system with passive cooling (just a radiator)

 

Pentium Class” devices (Pentium/P. Mobile/Core 1,2,3,4,.../Core i3,5,7,1000)

Pros: They're marvelous devices, huge cpu power, you can do everything you want with them.... but I don't care... I just need a bare bone machine and nothing more. Expansion boards available: pci, usb, eth, lots of ports everywhere

Cons: Active cooling is needed (at least 1 CPU fan). They absorb an huge amount of power, too much for a 24/7 machine (at least until I'll pay my electricity bill), even underpowered you cannot cut a lot of watts from them (desktop or laptop machine doesn't care). Their cost is adequate to their CPU processing but decisively too classy if you compare them with an Atom board. You've a cheap hardware with moving parts (CPU fan: 10$), if you break it you lost your entire system, you cannot leave it unattended for a long period.

 

Grandmas computer or something cheap from your roof

Pros: It's cheap because you already have it (but please read the cons as well), you've a ready made machine for an unbeatable price (free)

Cons: Is it reliable ? How many years does it have ? What about spare parts ? Again, if this device is a pentium class object you may need to read Cons section for pentium based devices. If you look at your electricity bill you may pay a brand new atom board with the same amount of money spent on extra Watts with these platforms

 

Consoles, consumer products (TiVo, …), DVD players

Pros: you may find something good in this category but please consider these two constraints: power absorption and price, you have to stay under 50W and 100$. If you find something good please let me know, I'm interested in it as well.... :-)

Cons: You may spend time on hacking it but how much does it cost a new fully loaded Atom device if you compare to it ? But again: if you've a 50W machine (or below) and a 100$ price please let me know

 

Considerations

So after this considerations you may know why I'm now using Atom devices, I've used hacked MIPS/ARM machines (before this replacement) but I've switched from them due to CPU requirements, if you've a viable solution like an Atom device and an ARM power absorption I'm really interested in it

 

 

The Plan

You've read about my basic requirements, we've just passed the HW selection, now it's time to take a look at the software selection: small intro, a lot of testing, distro selection and customization will follow in the next article

 

Previous:

Creating a custom live distro for a target appliance


Next:
Create a custom distro, choice of the right base

Create a custom distro: building the build machine

Create your first target image

Building a minimal image


Stay tuned

 

 

Creating a custom live distro for a target appliance

After a long period of absence from the site I'm back with a lot of work done on custom embedded appliances and Linux custom live CD creation. This is the first article of an hopefully good series of topics related to custom CD/USB creation, but before entering into too much details on it I'd like to answer a common question about this: “why do you go there ?”

 

Motivation

Here is the short version:

  • I'd like to have a minimal system without too much software dependencies

  • It has to be really small and run on tailored devices with memory and CPU constraints

  • It's not a desktop system, software and general requirements don't change, no additional software installation is needed after initial startup

  • Startup configuration and installation has to be quick (no user interaction)

  • I'm a geek and I tend to revert/control everything I've around me

  • Because it's fun and it's nice to learn something

Here's the long version:

  • I'd like to learn more from a live CD/USB creation

  • I'd like to have a small footprint installation

  • this appliance has to run without external user interaction, no administration needed or available for it; it has to be reliable and survive to: power losses, HD malfunction, general HW failures, bad usage or tough environment temperatures, holy bible plagues, …

  • the appliance has to be replaceable quickly, something like a swap with an identical device. Linux OS “boot media” has to be exchangeable and easily upgradeable by a common user without IT skills

  • It has to run completely on RAM (ram disk and configuration), if something goes wrong I'd like to “fix” my problems with just a reboot (restore factory defaults)

  • No video/console available, this device has: a power cable, an ethernet cable

  • low spec CPU power needed, I just need to run few apps on it (Samba and few more), I don't need 1000 cores for basic things

  • Because it's fun and it's nice to learn something

 

Requirements

So you're may wondering about what kind of task I'd like to achieve, it's pretty simple: an home server NAS with just few custom constraints, here are:

  • Has to run from RAM (disk+memory) as previously reported, I don't want to configure or modify my needs too quickly (after first installation)

  • It has to be cheap, at least until I don't get enough money for a custom made ARM device, for the entire project I've spent 80$ / 60€

  • I pay my electricity bill so it has to adsorb less watts as possible (a pentium class device is not my choice for a 24/7 machine)

  • It has to have enough CPU power to sustain few CPU intensive jobs (asterisk, P2P programs, online UPnP video/audio decoding and streaming, samba), I've used MIPS/ARM devices for this particular task but even if they're more appealing when you talk about power usage you've few troubles with CPU intensive tasks (UPnP, video/audio streaming or torrent for example)

  • I need USB ports

  • Hardware may fail, heat and dust are big problems, I'd like to have a machine without moving parts, I don't want to use an HD for the Linux installation, I don't want to have a fan over the CPU or the power supply, I'd like to rely on removable media so if there's something wrong I may move my installation to a similar machine

  • Linux root system resides in an USB stick, it has to be read only and load the system on boot. USB sticks have an “infinite life” (a sort of) if you use them as read only devices, they're even cheap and easily replaceable for an average user without IT skills

  • If you've an HW failure you may recover everything with just these swap parts: a standard ATX power supply, a similar mobo+cpu, a cheap usb stick

  • Linux installation in just 100Mb or maybe something more, I've a lot of 128Mb usb sticks to waste so I've cut my distro to stay around 100Mb

  • I'd like to attach an external USB drive with my own media (photo, films, music, …), this media is just read from “home clients” (read: media stations connected to TVs), sometimes someone (me) uploads contents on it or does entire backups of it

  • It has to be expandable easily: adding a web cam, a sound card, an Internet audio/video streaming with icecast should be possible without too much troubles

  • It has to be close to x86 architecture to be cheap, believe me: I'm an embedded specialist and I'd like to stay with ARM/MIPS devices when they're available, I like to deal with toolchains and cross compile installations but my device has to be really cheap, it's hard to beat the price I've mentioned

  • I don't wanna waste too much time on it, it has to be ready as soon as possible

  • It's not just a NAS, it's an “home server”, I've web apps, Internet audio/video streams, files, UPnP (and more...) on it, I've used a lot of NAS-like distro but I'd like to have something more

 

 

Hardware

For this particular project I've chosen to use an ATOM CPU: single board, single core, desktop, no particular peripherals (I only need the USB bus and the ethernet card), no frills and damn cheap. There are plenty of them available everywhere, I've just chosen the cheaper one with USB ports and 1 Ethernet, overall cost: 80$ (you may find something cheaper across 50-60$)

 

The Plan (Plan 9 from outer space)

This is just an intro for a series of articles describing my own initial project, now I've expanded it to something else but at least I'd like to describe why I'm doing this and what kind of results I'd like to have, when I've started it I've wasted a lot of time on research (hw/sw) but now I've a more clear path to my own personal appliances. Here's what I've did:

  • Building a minimal image
  • Trying to use a RAM disk

  • Run the entire distro from a RAM disk (so read only media)

  • Trim it to minimal memory (user memory) consumption, XOrg is not needed

  • Packaged and automated it (some scripting)

  • Build the installation media (my USB stick)

 

Follow all these chapters to read the entire post

 

 

 

I'd like to interact with you and have your opinions as well, feel free to collaborate and discuss my own opinions, especially if they're different from mine

 

Ben

 

 

openSUSE Weekly News 168 is out!

We are pleased to announce our openSUSE Weekly News #168.

In this Issue:

  • openSUSE 11.4 still going strong
  • Linux Foundation 20th Anniversary of Linux Campaign and Video Contest
  • Adrian Schröter: Policy proposal for Factory: Make source of tar balls trackable
  • Frédéric Crozat: GNOME 3 live image release 0.2.0 is out
  • and many more ...

You can download it there:

We hope you enjoy the reading :-)

Older content can be found there.

Flattr this

 

openSUSE Weekly News 167 is out!

We are pleased to announce our new Issue 167 of openSUSE Weekly News.

This Week:

  • Mingle today is an interesting Article about connect.opensuse.org
  • SUSE Studio: Upgrade your older appliances to 11.4
  • Virtual Releaseparty
  • Lord of the Rings Online with wine
  • and many more ...

Available under: http://en.opensuse.org/Archive:Weekly_news_other_sources#Issue_167


No we hope you enjoy the reading :-)

Comments, News and Wishes can send to  This e-mail address is being protected from spambots. You need JavaScript enabled to view it .

 

openSUSE Weekly News 166 is out!

Geeko

We are pleased to announce our new Issue 166 of openSUSE Weekly News.

 

Available under:

 

 

No we hope you enjoy the reading :-)

 

Comments, News and Wishes can send to This e-mail address is being protected from spambots. You need JavaScript enabled to view it .

 

 

To add new library path in ubuntu 10.10

To add new library path, create new file in /etc/ld.so.conf.d folder and open it in your favorite editor

$ sudo gedit /etc/ld.so.conf.d/newlib.conf


Add the path to file and save it

/path/to/new/lib


Run 'ldconfig' to update the necessary links and cache

$ sudo ldconfig

 

 

Terminal is not fully functional - in Ubuntu 10.10

If this error/warning appears, means the terminal is dumb. It can be verified by executing following command at terminal:

$ echo $TERM
dumb

update the following packages from 1:0.26.0-ubuntu1 to 1:0.26.0-ubuntu2, and restart application:

  • libvte

  • python-vte

I found this solution at http://guake.org/ticket/249 and it solves my problem related to Guake.

 

In ubuntu make sure you have selected Important security and Recommended updates at

System > Administration > Synaptic Package Manager > Settings > Repositories > Updates

Otherwise latest packages will not be available for installing and update.

 

 

 

Arch Steps Up - Debian Takes a Backseat

I recently did some soul searching regarding my GNU/Linux philosophy. I found that I wasn’t being true to myself.

For years now, I’ve run Slackware Linux as my primary operating system and a second, fully updated version of Debian as my  secondary OS. I’m a firm believer in simplicity and stability. I enjoyed both of those qualities in Slack and Deb, of course. They are both rocks when it comes to stability. I’ve never had a crash in either operating system that was due to the OS itself. Any crashes were usually caused by something stupid that I had done.

All that being said, while contemplating upgrading from Debian Lenny to Squeeze, I had an epiphany. Slackware and Debian are not very much alike, other than their common quality of stability. Where Slack has a relatively small application set; Debian’s repos are huge. Where Slack uses close to the newest versions of its software; Debian uses versions that are typically three to four releases old (VERY stable and proven stuff).

It was always difficult for me to sync Slack’s apps with Debian’s in my primary and secondary operating systems because of the discrepancy in releases; especially so with Mozilla apps like FF and TB. This got me thinking… maybe Debian, even though it had always been my fall-back operating system, might not be serving my purposes that well after all. Is there something better out there for what I want to do?

As most of you know, I have five tester slots on a dedicated drive just for trying out and learning other distributions of GNU/Linux. No, I don’t do virtual. I like to REALLY install and set up operating systems. Virtual computing is like virtual sex. It works, but it’s not nearly as much fun (or as messy). In one of my tester slots there is almost always an installation of Arch Linux. Why Arch? Well, it’s a cool distribution. That’s why.

Seriously, Arch is a very stable, very robust distribution of GNU/Linux. It’s been around about ten years now. It’s a fork of the old Crux branch of the Linux Tree. I started playing around with Arch about three years ago, I think. I was impressed right off the bat. One of the greatest things about Arch is its outstanding support community, particularly the wiki. There is an abundance of information for Arch users of all sizes and shapes. Support is a good thing!

As a result of all this deep thinking and philosophizing, I decided to install Arch as my official secondary operating system. I spent the past three days installing and setting it up. I’m using it now to post this article. I have everything set up to closely match my Slackware installation. I keep both sync’d (manually) and updated. If my Slack craps out, I can always boot Arch and seamlessly carry on until I fix my Slack. Odds of Slack crapping out? Null. You never know, though.

Give Arch a try. You might be impressed. For a very good tutorial on installing Arch, see securitybreach’s tutorial at Scot’s Newsletter Forums – Bruno’s All Things Linux.

My Arch w/ Xfce Desktop Environment

Later…

~Eric

*A repost from my Nocturnal Slacker blog (@Lockergnome.com)

 

 

 

SimplyMEPIS 11.0 Beta 1 needs testing help; it is a great distribution

I have seen a couple of sites mention problems with the Beta 1 implementation of SimplyMEPIS.  Perhaps that was news to them for the simple reason that MEPIS has an excellent reputation for quality.  I would like to point out the need to test, and the need to provide equally high quality feedback for the developers, not only of SimplyMEPIS, but for whatever software you happen to use.

Personally, I have been a big fan of the MEPIS community since May 2003 and I have installed and tested nearly every build since I first heard of the project.  One reason that I have done so is that I am consistently impressed with the high quality of the software.  Even when there are defects in various components in the early builds, the remaining components are well put together, and many times, even early builds work well.  The few times I have encountered issues, I've jumped right in, provided my hardware configuration and a clear description of the issues I have encountered and how to reproduce them, and in every single case, the very next build resolved the issue.

My friends, that's how many of us, whether we are developers or not, can be active contributors to the free software movement.  Some of us can develop, but many more of us can test, evangelize, write documentation, or help others with issues.  The collective work that we donate helps keep free software alive and vibrant.

I hope that many of you will want to test out SimplyMEPIS and help iron out the remaining issues so that the next release maintains the high standard it has set for itself, and even improve upon it.  Warren Woodford is an outstanding developer, but even he cannot do it all on his own.  In fact, he gets most of the components of his software from others.  What he does so well is integrate it and put it all together.  Let's help him do his job well, and in return, he will deliver us yet another excellent example, not only of his work, but that of the MEPIS Lovers Community.

Special mention, in fact, should be given to the MEPIS Lovers Community, one of the finest free software communities.  The helpful attitudes and the desire to keep pettiness to a minimum and helpfulness at a maximum is perhaps not unique to the MEPIS Lovers, but it is as strongly modeled there as in any forum that I've seen, so they deserve to be highly commended along with Warren for making MEPIS such a solid, stable, well designed, well documented, useful system.  It takes more than one: Linux started the kernel, the GNU project created many utilities, developers from all interests developed excellent applications, and great system integrators put it all together, with the help and support of their communities.  Everyone plays an important role, so let's remember our own roles and do what we can to support and promote freely available software.

 

Security tip: Avoid fork bombing on popular distro (check your system)

Few days ago I've talked with another Linux technician, a very smart guy with great experience and competence, in a skill test I've seen an expression like this:

:(){ :|:& };:

I didn't realized it was a shell fork bomb, maybe because it was 9.00pm and I was dealing with tech problems from 8.00am, I was thinking about some voodoo regular expression and I've realized what it was after a while (when I finally decided to connect my brain). I've tested it on a console shell in an Ubuntu Laptop machine and after few seconds I've had a frozen Linux system. A quite common system (Core 2 duo, 2 Gb RAM) may saturate the environment with dumb processes in just 10-20 secs so be carefully about it if you want to make a short test.

This happens because on certain Linux distro, mostly popular ones, there are no limits set for maximum number of processes a user may have. For example if you run:

ulimits -u

you can discover maximum number of processes a user may run on a system (run ulimits -a to discover all current limits in your system).

To avoid this little and annoying problem you need to manually set user maximum number of processes in your kernel if you compile it, or you may edit this file (/etc/security/limits.conf) and add a line like this:

*    hard    nproc    1000

to limit for example the number of processes to 1000 for an user, Please note "1000" is just an example, limit it to whatever you need.

I've checked other Linux systems around me in these days but I didn't seen this alarming output reported from my Ubuntu 10.10 “stock” distro

~$ ulimits -u
unlimited

The desktop I'm using for my every day work has Gentoo running on it, no troubles are reported for this, the same for Debian (Lenny) machines, Slackware (13.1) and few LFS I've around; so I'm pretty comfortable with what I'm using now (except for that laptop where I've now set the ulimit).

You may need to set maximum number of processes accordingly with your computer usage but at least you need to set to something different than “unlimited”.

I hope someone working on “major or popular distros” will read this simple post and will add these basic settings to their all purposes kernels to avoid these things, it could be embarrassing if you want to promote your system instead of other closed source windows operating systems.

I'm glad to read your comments here, please report your current ulimits configurations (ulimit -a) so we may publish some sort of open document related to standard kernels on major distros. Please put:

  • Distro name and version (if applicable)

  • Kernel name and version (uname -a) if you're not using a ready made one

  • Ulimits output (ulimits -a)

  • If you've manually set something on /etc/security/limits.conf please report even this setting

 

 

Hope it helps someone

 

Andrea (Ben) Benini

 

 
Page 5 of 17

Upcoming Linux Foundation Courses

  1. LFS426 Linux Performance Tuning
    21 Apr » 24 Apr - Virtual
    Details
  2. LFS520 OpenStack Cloud Architecture and Deployment
    05 May » 09 May - Virtual
    Details
  3. LFD320 Linux Kernel Internals and Debugging
    12 May » 16 May - Virtual
    Details

View All Upcoming Courses


Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board