Recreate the Openlink distribution using OpenEmbedded

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search



OpenEmbedded is a tool which allows developers to create a fully usable Linux base for various embedded systems. It has been designed to be able to handle different hardware architectures, support multiple releases for those architectures, and utilize tools for speeding up the process of recreating the base after changes have been made. Currently it can run on any Linux distribution, and plans are in place to allow it to work under Windows.

OpenEmbedded uses the Bitbake task executor in combination with the OpenEmbedded metadata to do all of the above, and uses monotone as its version control system.

OpenEmbedded is the successor of the great OpenZaurus project. Basically OpenEmbedded is a build system that can generate (cross-compile) software packages for embedded targets. This may include the bootloader, a complete Linux operating system and individual applications. Also OpenEmbedded can build its entire repository of meta files into prepackaged applications easily, in our case this will be used to generate an ipkg feed.

Why do we need this?

Problems of the current situation

  • You might noticed that there are several different models of Linkstations out there. There are PPC-based Linkstations (LS1, HG, HS),the LS2 is MIPS-based and the Linkstation Pro/Live is based on ARM. We have different hardware that needs different drivers and different cross-toolchains.
  • The LS1, the HG and the HS are quite similar regarding the directory-structure. All shares are at /mnt/ and the usbdisks are mounted to /mnt2/usbdisk* . The LS2, and some HG models, are different. Shares are at located /mnt/hda/ and usbdisks are mounted to /mnt/usbdisk*. So we even have slightly different linux-distributions that make it hard for us to answer support questions if you do not know what model the other one has.
  • If someone currently wants to modify OpenLink for all LS models, he would have to redo the same modification for all OpenLink-Images and has to upload and release this images. This means everything would have to be done 4 times....As not many of us have more than one model this frightens many of us and thats why there is so little development. It is possible that the same version of OpenLink can have different bugs as redoing the changes is a manual process...not every solutions is documented.
  • OpenLink was only developed by one person, frontalot. Currently OpenLink is only developed by mindbender who has only a LS1/LS Pro. Commiting modifications is not really possible.

What would the openembedded-project change?

  • Only model-specific-stuff regarding the hardware has to be done to make OpenLink work on a new model.
  • Providing support gets much easier as all images would have the same directory structure and wwould look the same.
  • Changes only need to be done one time to the svn-repository. All images for all models compiled via OpenEmbedded after the change would have this modifications automatically. Bug fixing gets easy.
  • Several developers could maintain and develope the OpenLink-Distribution.
  • Having an OS based on OpenEmbedded means that we instantly have access to all the packages submitted to the OE-Project itself as IPKG-Packages.

OpenEmbedded is definitely the future of OpenLink. OpenEmbedded will accelerate development significantely. It will change everything much more to community-work instead of the current one-man-show.

Whats the current status?