Forums » Software Development »
creating a new rootfilesystem
Added by Tom Riddle about 7 years ago
We are using an L138 with MDK 2014, using kernel 3.2.0 we have a need to create a rootfilesystem. I found a few links
https://support.criticallink.com/redmine/projects/arm9-platforms/wiki/Board_Support_Package
this references sw/ARM/linux/oe for the Open-embedded overlay, but no such directory exists
Since it is after 2012 this link suggests using Open Embedded
https://support.criticallink.com/redmine/projects/arm9-platforms/wiki/Installing_Open_Embedded_Core
would appreciate guidance of the suggested process to follow to create a custom rootfilesystem. Thanks, Tom
Replies (11)
RE: creating a new rootfilesystem - Added by Gregory Gluszek about 7 years ago
Hi Tom,
The quickest and easiest path to customizing a root file system is to start from the file system images included in the MDK under the "fs" directory. The mityomap-base file system is a minimal file system image that you can build upon to create the desired file system for your project.
However, if you need more customization you may want to pursue utilizing the meta layer Critical Link provides to be used with the Yocto Project (https://support.criticallink.com/gitweb/?p=meta-mitydsp-l138.git;a=summary). The challenge with this approach is that we do not yet have instructions on this method. The amount of effort required to follow this approach will vary depending on your familiarity with the Yocto Project.
Thanks,
\Greg
RE: creating a new rootfilesystem - Added by Tom Riddle about 7 years ago
Hi Greg,
Thanks. Our immediate task is to add pulseaudio to our MityDSP system, we will be integrating some external codecs shortly. Since pulseaudio is not a pkg that came with the mityimap-full, we need to add it. I do have some yocto experience albeit it's been a few years. So it appears this the daisy release you are working from. Are you still hosting on Ubuntu 12.04?? Thanks, Tom
RE: creating a new rootfilesystem - Added by Jonathan Cormier about 7 years ago
It does appear that pulseaudio is available in the opkg package list so you could try installing it using opkg install
. Hope this helps.
root@mityomapl138:~# opkg list | grep pulseaudio ... pulseaudio - 1.1-r8 - pulseaudio version 1.1-r8 pulseaudio-dbg - 1.1-r8 - pulseaudio version 1.1-r8 - Debugging files pulseaudio-dev - 1.1-r8 - pulseaudio version 1.1-r8 - Development files pulseaudio-doc - 1.1-r8 - pulseaudio version 1.1-r8 - Documentation files pulseaudio-gconf-helper - 1.1-r8 - pulseaudio version 1.1-r8 ...
RE: creating a new rootfilesystem - Added by Jonathan Cormier about 7 years ago
Note this is for the 2014 MDK filesystem.
RE: creating a new rootfilesystem - Added by Tom Riddle about 7 years ago
Hi Jonathan,
Hmmm a check here doesn't list pulseaudio. I'm pretty sure that I flashed on this board the mity-omap-full.jffs2 dated 2014-01-13. It lists the fpgautil "trunk+svnr2992-r7" and fpga-driver-modules "trunk+svnr2992-r51". Is there another way to check that I have the correct 2014 MDK filesystem image?
Thanks, Tom
RE: creating a new rootfilesystem - Added by Jonathan Cormier about 7 years ago
root@mityomapl138:~# cat /etc/angstrom-build-info Configured Openembedded layers: meta-angstrom = angstrom-v2012.05-yocto1.2:671793fb1c971d05ce068230f362b2f87b19059d meta-oe toolchain-layer meta-efl meta-gpe meta-gnome meta-xfce meta-initramfs = denzil:24e1ebc21da20240a41984b7f5c90aa9bd65a7e8 meta-opie = master:efa3892b20a4ef80274e56e5633ebd62c16f9731 meta-java = master:3386ea6c96096f107f43f282f654e5afa456109e meta-browser = master:c47f59df2e723495679c751cbdf6a8c6adec4b6a meta-mono = master:83f8233b0498aadb18bf7605c3ba6c71d9e13a3a meta-kde = master:ca8814ec3f61ec069610495598dae3d83992ea27 meta-ti = master:da7c9449fa3272f63e0ba1f8a42fd3aba66e1ceb meta-efikamx = master:2c09a3a780b23448e8a6ca964256ff7f5ccba65d meta-nslu2 = master:3d9fc951b05b4df476374b6fc3085ebac7f293ee meta-htc meta-nokia meta-openmoko meta-palm = master:2b106be01228f64298d6cb338f93088806594344 meta-handheld = master:1f05a15aceb4c3a19fa070463b58125b5658b2a9 meta-raspberrypi = master:03d3e7e6325d919ff2c64c39edd9008d0a93c7a4 meta-intel meta-sugarbay meta-crownbay meta-emenlow meta-fishriver meta-fri2 meta-jasperforest meta-n450 = master:f75f9b6f68473eb0efac802409608f8389be0030 meta-mitydsp = master:f2ac5d5fa3815b54ae888e8cc4ef5c40af14b90a meta = denzil:d7bf94647f17c0382caad8af0bdda837b14b22dc root@mityomapl138:~# cat /etc/angstrom-version Angstrom v2012.05 (Core edition) Built from branch: denzil Revision: d7bf94647f17c0382caad8af0bdda837b14b22dc Target system: arm-angstrom-linux-gnueabi
Heres what each of my opkg config files looks like
root@mityomapl138:~# tail /etc/opkg/* ==> /etc/opkg/arch.conf <== arch any 6 arch noarch 11 arch arm 16 arch armv4 21 arch armv4t 26 arch armv5 31 arch armv5t 36 arch armv5e 41 arch armv5te 46 arch mityomapl138 51 ==> /etc/opkg/base-feed.conf <== src/gz base http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/armv5te/base ==> /etc/opkg/debug-feed.conf <== src/gz debug http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/armv5te/debug ==> /etc/opkg/gstreamer-feed.conf <== src/gz gstreamer http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/armv5te/gstreamer ==> /etc/opkg/mityomapl138-feed.conf <== src/gz mityomapl138 http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/armv5te/machine/mityomapl138 ==> /etc/opkg/noarch-feed.conf <== src/gz no-arch http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/all ==> /etc/opkg/perl-feed.conf <== src/gz perl http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/armv5te/perl ==> /etc/opkg/python-feed.conf <== src/gz python http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/armv5te/python ==> /etc/opkg/sdk-feed.conf <== #src/gz sdk http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/sdk
Make sure you do a opkg update
to get the updated package list.
root@mityomapl138:~# opkg update Downloading http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/armv5te/base/Packages.gz. Inflating http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/armv5te/base/Packages.gz. Updated list of available packages in /var/lib/opkg/lists/base. Downloading http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/armv5te/debug/Packages.gz. Inflating http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/armv5te/debug/Packages.gz. Updated list of available packages in /var/lib/opkg/lists/debug. Downloading http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/armv5te/gstreamer/Packages.gz. Inflating http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/armv5te/gstreamer/Packages.gz. Updated list of available packages in /var/lib/opkg/lists/gstreamer. Downloading http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/armv5te/machine/mityomapl138/Packages.gz. Downloading http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/all/Packages.gz. Inflating http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/all/Packages.gz. Updated list of available packages in /var/lib/opkg/lists/no-arch. Downloading http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/armv5te/perl/Packages.gz. Inflating http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/armv5te/perl/Packages.gz. Updated list of available packages in /var/lib/opkg/lists/perl. Downloading http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/armv5te/python/Packages.gz. Inflating http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/armv5te/python/Packages.gz. Updated list of available packages in /var/lib/opkg/lists/python. Collected errors: * opkg_download: Failed to download http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/armv5te/machine/mityomapl138/Packages.gz, wget returned 8. root@mityomapl138:~# opkg install pulseaudio Installing pulseaudio (1.1-r8) to root... Downloading http://feeds.angstrom-distribution.org/feeds/v2012.05/ipk/eglibc/armv5te/base/pulseaudio_1.1-r8_armv5te.ipk. Configuring pulseaudio.
RE: creating a new rootfilesystem - Added by Tom Riddle about 7 years ago
Hi,
It's the opkg update that I needed to execute. Ok, so now there are quite a few pulseaudio pkgs that are listed, which is good. Also the commands you listed, their output matches what you have. Now I would expect to see the pulseaudio bin in something like /usr/bin but I don't.
Tom
RE: creating a new rootfilesystem - Added by Tom Riddle about 7 years ago
Hi... never mind, need to install the pulseaudio-server. looks good now, thanks. Tom
RE: creating a new rootfilesystem - Added by Tom Riddle about 7 years ago
Hi, I was able to get pulseaudio going with opkg and could stream as required over the network. Thanks for the assistance.
So during this task I familiarized myself again (it has been a few years) with the yocto dev process, but did run into issues WRT the host system build of yocto, python versions, etc... Greg mentioned the meta layer MityDSP-L138 Yocto Layer. As a side task I'd like to be in sync with your dev environment.
Please let me know what Ubuntu version of the host, and yocto release you are currently using with the MDK 2014, so that I can be current just in case I need to do a custom rootfilesystem. Thanks, Tom
RE: creating a new rootfilesystem - Added by Jonathan Cormier about 7 years ago
Tom Riddle wrote:
So during this task I familiarized myself again (it has been a few years) with the yocto dev process, but did run into issues WRT the host system build of yocto, python versions, etc... Greg mentioned the meta layer MityDSP-L138 Yocto Layer. As a side task I'd like to be in sync with your dev environment.
Please let me know what Ubuntu version of the host, and yocto release you are currently using with the MDK 2014, so that I can be current just in case I need to do a custom rootfilesystem. Thanks, Tom
MDK 2014 was built using an ancient arago build. It is not yocto based.
The existing mitydsp meta layer is based off of yocto daisy. Currently only builds on a Ubuntu 14.04 machine, 16.04 doesn't work due to some library conflicts :(.
https://support.criticallink.com/gitweb/?p=meta-mitydsp-l138.git;a=shortlog;h=refs/heads/daisy
RE: creating a new rootfilesystem - Added by Tom Riddle about 7 years ago
Jonathan... thanks for the clarification, that helps. Regs, Tom