[ELDK] Rebuilding busybox in ELDK 4.1 for arm platforms
Wolfgang Denk
wd at denx.de
Tue Aug 5 12:59:29 CEST 2008
In message <48983572.29495.924119 at g.modugno.elettronika.it> you wrote:
>
> I want to rebuild busybox to use ash shell instead of msh shell (the
> shell compiled in busybox of SELF ramdisk).
>
> The first strange thing.
> ---
> user at ubuntu704desktop:~/eldk41arm$ arm-linux-rpm -i
> /mnt/target/SRPMS/busybox-1.3.0-1.src.rpm
> user at ubuntu704desktop:~/eldk41arm$ arm-linux-rpm -qa | grep busybox
> user at ubuntu704desktop:~/eldk41arm$ arm-linux-rpm -e busyboxerror:
> package busybox is not installed
> user at ubuntu704desktop:~/eldk41arm$ arm-linux-rpm -e busybox-13.0-1
> error: package busybox-13.0-1 is not installed
> ---
> It seems the package isn't added in the local database of installed
> packages. So I can't remove it. But I think it is really installed
> because:
This is not strange at all, but the way how RPM works. Only binary
packages get "installed" in the stricter sense, i. e. with
registering them in the package database. Source RPMs don't get
registered anywhere.
If you try the same commands in any other Linux distribution using
the native RPM command you willl see the same behaviour.
> The second strange thing:
> ---
> user at ubuntu704desktop:~/eldk41arm/usr/src/denx/SPECS$ grep ppc
> busybox.spec
> make HOSTCC="/usr/bin/gcc -B/usr/bin/" ARCH=ppc oldconfig
> make HOSTCC="/usr/bin/gcc -B/usr/bin/" ARCH=ppc CC="gcc
> $RPM_OPT_FLAGS"
> make HOSTCC="/usr/bin/gcc -B/usr/bin/" ARCH=ppc CC="gcc
> $RPM_OPT_FLAGS" doc busybox.links
> - bump again for double-long bug on ppc(64)
> ---
> I think make is wrongly called with ARCH=ppc parameter, so I changed
> them in ARCH=arm.
I think you found a bug here. I registered it in the bug database,
see http://bugs.denx.de/databases/eldk/prs/5
> Now the third strange thing:
...
> user at ubuntu704desktop:~/eldk41arm/usr/src/denx/SPECS$ arm-linux-
> rpmbuild -ba busybox.spec
...
> So I changed "make" in busybox.spec to use arm-linux-gcc and not gcc:
You should not do that. Please carefully read the manual, section
"3.7.2. Rebuilding Target Packages" at
http://www.denx.de/wiki/view/DULG/ELDKRebuildingComponents#Section_3.7.2.
Pay special attention to the two bullets at the end of this section.
I guess you forgot to set your PATH correctly and/or left
CROSS_COMPILE defined.
> How can I solve these problems to build busybox again? After that,
> how can I modify the configuration of busybox to use ash shell?
Actually ash *is* enabled in ELDK 4.2:
-> grep ASH busybox-1.7.1-eldk-config
CONFIG_FEATURE_SH_IS_ASH=y
# CONFIG_FEATURE_SH_IS_LASH is not set
CONFIG_ASH=y
CONFIG_ASH_JOB_CONTROL=y
# CONFIG_ASH_READ_NCHARS is not set
# CONFIG_ASH_READ_TIMEOUT is not set
CONFIG_ASH_ALIAS=y
CONFIG_ASH_MATH_SUPPORT=y
# CONFIG_ASH_MATH_SUPPORT_64 is not set
CONFIG_ASH_GETOPTS=y
CONFIG_ASH_BUILTIN_ECHO=y
CONFIG_ASH_BUILTIN_TEST=y
# CONFIG_ASH_CMDCMD is not set
CONFIG_ASH_MAIL=y
CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
# CONFIG_ASH_RANDOM_SUPPORT is not set
# CONFIG_ASH_EXPAND_PRMT is not set
# CONFIG_LASH is not set
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
The light at the end of the tunnel is usually a "No Exit" sign.
More information about the eldk
mailing list