[ELDK] Just starting - ipkg errors
Larry Baker
baker at usgs.gov
Tue Aug 6 02:56:02 CEST 2013
On 5 Aug 2013, at 3:39 AM, Wolfgang Denk wrote:
> Dear Larry,
>
> In message <AD13F680-3F58-44AD-B0A5-6CFA6D187BE1 at usgs.gov> you wrote:
>>
>> I have installed the ELDK-5.3 basic rootfs for armv5te. I wrote it to a
>> USB stick, and it boots fine on my hardware. Great so far. Now, I want
>> to customize the installed packages and configure the services.
>>
>> 1) I tried the command given in the FAQ
>> (http://www.denx.de/wiki/view/ELDK-5/FrequentlyAskedQuestionsAndAnswers)
>> to list the packages in the rootfs. I get nothing.
>
> I guess by "basic rootfs" you refer to the core-image-basic image?
> Well, the "basic" in the name really means what it says: this is a
> root file system which contains just the very basic tools needed to
> run a system. Package management is not considered such a basic tool,
> so it is not included here. And without a package database you cannot
> get any package information.
The name I use is from the table in the ELDK home page, 1.5. Supported Target Configurations.
Perhaps I misunderstood the FAQ.
I am looking for the commands to execute on the development host that will list the packages that are installed on any of the ELDK root file systems. I consulted the FAQ and found what appears to be exactly that. This is the FAQ question:
How can I find out which software packages are installed in a root file system image, and what their versions are?
The answer on the FAQ is:
ELDK 5.1 and later uses "ipk" packages for software package management. To get an overview over the installed packages use a command like this:
$ sudo $(type -p opkg-cl) -o /opt/eldk-5.1/powerpc/rootfs-sato-sdk list
When I enter the command as given in the FAQ on my CentOS development system, I get nothing. This is not what I was expecting.
This response makes sense to me regarding a package manager on the target. I understand that the basic rootfs does not include a package manager; I do not want a package manager on the target.
I have looked at the different ELDK root file systems for the services I need. The basic rootfs is the closest. Now I wish to add and remove packages from that rootfs. I assumed these example root file systems could be customized by adding and removing packages, but I do not know how.
>> I also get nothing when I leave out the -o option to list what is on the
>> host.
>
> Ditto - there is simply no information there that could be listed.
>
>> 2) How do I start/stop services and enable/disable services? On CentOS,
>> the "service" command starts/stops services, the "chkconfig" command
>> enables/disables services. On Arch, it seems to all be done by the
>> "systemctl" command. What are the ELDK equivalent procedures?
>
> This depends which type of init system you install in your root file
> system. For example, the core-image-basic image uses a SystemV style
> init, so to start a service you would use "sh /etc/init.d/<name> start";
> to enable the service for a specific runlevel you would create a S*
> symlink in the respective /etc/rcX.d/ directory (i. e. do manually
> what "chkconfig" resp. "service" would do).
I configured a Linux 3.2.48 kernel with support for systemd, since I did not know which init system ELDK uses. I saw the SystemV-style links, which is what CentOS uses. I am familiar with chkconfig/service on CentOS. I saw chkconfig in the list of ELDK packages. I did not know if there was a different command already installed on the basic rootfs that I could use. I have seen that Debian uses different commands for this purpose. And, systemd uses one command, systemctl, to both enable/disable and start/stop installed services. I'm trying to learn how to do things the ELDK way.
>> 3) Relating to my question 2, can/are either or both of these done on
>> the host (chkconfig only on the host, not service, of course), or the
>> target (both)? I would like to be able to configure the services on the
>> host, and both configure and control the services on the target.
>
> Both "chkconfig" and "service" are very simple tools. "chkconfig" is
> part of the chkconfig package; if you want it included with your root
> file system, you can add the chkconfig recipy to your machine
> configuration. "service" is but a shell script...
I understand this to mean:
chkconfig and service will be the tools to manage services on the target, exactly as I do on my CentOS systems. This is perfect. I'll figure out if the service command is part of the chkconfig package. If not, can easily write it.
On the development host, I will use a "machine configuration" to either build my own rootfs or modify the basic rootfs (which?). This sounds like exactly what I need to do next. But, I don't know how to do this. Where can I learn these steps? Is there a tutorial anywhere, for example, where I can learn the steps to replicate the basic rootfs image? (When I develop systems on new hardware/software, I like to use the vendor tools to replicate the factory installation. I learn about their development process, and I then have a procedure to start over from bare metal when I brick the system.)
>
> Best regards,
>
> Wolfgang Denk
>
> --
> DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
> How many seconds are there in a year? If I tell you there are 3.155 x
> 10^7, you won't even try to remember it. On the other hand, who could
> forget that, to within half a percent, pi seconds is a nanocentury.
> - Tom Duff, Bell Labs
I look forward to a very successful project using ELDK. I am grateful for the quality software and support DENX provides to the ARM embedded system community.
Thank you,
Larry Baker
US Geological Survey
650-329-5608
baker at usgs.gov
More information about the eldk
mailing list