Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Support to build driver and nupkgs for armel (debian.8-armel and tizen.4.0.0-armel)#1025

Merged
gkhanna79 merged 4 commits into
dotnet:masterfrom
jyoungyun:armel/build
Jan 20, 2017
Merged

Support to build driver and nupkgs for armel (debian.8-armel and tizen.4.0.0-armel)#1025
gkhanna79 merged 4 commits into
dotnet:masterfrom
jyoungyun:armel/build

Conversation

@jyoungyun
Copy link
Copy Markdown

@jyoungyun jyoungyun commented Jan 5, 2017

Debian for armel

Use armel instead of arm-softfp for rootfs

  • Replace arm-softfp with armel in cross/build-rootfs.sh
  • Rename directory cross/arm-softfp to cross/armel
  • Add toolchain.cmake file for armel
  • Use stable debian jessie
  • Use lldb-3.5-dev because other versions are not supported by jessie/armel repostiory

Support armel build for debian.8-armel

  • Add armel architecture for building drivers in src/corehost/build.sh
  • Generate debian.8-armel nupkgs and tarball

Finally I got a dotnet-debian.8-armel.1.2.0-beta-001271-00.tar.gz file by using fallback source for CoreCLR, CoreFX debian.8-armel nupkgs which have not yet been added to NuGet server.

Test command:

./build.sh --skiptests --env-vars DISABLE_CROSSGEN=1,TARGETPLATFORM=armel,TARGETRID=debian.8-armel,CROSS=1,ROOTFS_DIR=/home/jyoung/git/dotnet/rootfs/armel

Tarball:
dotnet-debian.8-armel.1.2.0-beta-001271-00.tar.gz

Tizen

Add Tizen rootfs for armel

  • Most of this commit is copied from CoreCLR.

Support to create nupkgs and tarball for tizen.4.0.0-armel

  • Generate tizen.4.0.0-armel nupkgs and tarball

Test command:

./build.sh -c Release --skiptests --env-vars DISABLE_CROSSGEN=1,TARGETPLATFORM=armel,TARGETRID=tizen.4.0.0-armel,CROSS=1,ROOTFS_DIR=/home/jyoung/git/dotnet/rootfs/armel-tizen

Tarball:
dotnet-tizen.4.0.0-armel.1.2.0-beta-001273-00.tar.gz

Related issue: #725 , dotnet/coreclr#8827, dotnet/corefx#14792

@dnfclas
Copy link
Copy Markdown

dnfclas commented Jan 5, 2017

Hi @jyoungyun, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!

The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.

TTYL, DNFBOT;

@jyoungyun
Copy link
Copy Markdown
Author

jyoungyun commented Jan 5, 2017

/cc @gkhanna79 @hqueue @hseok-oh
I tested the result tarball in debian.8-armel docker image and it worked well.

root@3f699365020b:/dotnet/shared/Microsoft.NETCore.App/1.2.0-beta-001271-00# ./dotnet hello.exe 
Hello World
root@3f699365020b:/dotnet/shared/Microsoft.NETCore.App/1.2.0-beta-001271-00# cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

@hqueue
Copy link
Copy Markdown
Member

hqueue commented Jan 5, 2017

Glad to see that armel (softfp) works :)

@jyoungyun jyoungyun changed the title Support to build driver and nupkgs for armel (debian.8-armel) Support to build driver and nupkgs for armel (debian.8-armel and tizen.4.0.0-armel) Jan 9, 2017
{ "sharedfx_Ubuntu_16_10_x64", false },
{ "sharedfx_RHEL_x64", false },
{ "sharedfx_OSX_x64", false },
{ "sharedfx_Debian_8_armel", false },

This comment was marked as spam.

This comment was marked as spam.

@gkhanna79
Copy link
Copy Markdown
Member

@ramarag @schellap PTAL as well.

@gkhanna79
Copy link
Copy Markdown
Member

CC @janvorli

@janvorli
Copy link
Copy Markdown
Member

@mikem8361 Do you happen to remember why we have required to use lldb-3.6 as the minimum version? This makes the ARM build use lldb-3.5 and I want to make sure we are not missing something.

@mikem8361
Copy link
Copy Markdown

mikem8361 commented Jan 10, 2017 via email

@jyoungyun jyoungyun force-pushed the armel/build branch 2 times, most recently from 6b90518 to 04c0d54 Compare January 10, 2017 01:12
@jyoungyun
Copy link
Copy Markdown
Author

jyoungyun commented Jan 11, 2017

@ramarag @schellap @gkhanna79 Is there anything to do more? :)

@jyoungyun
Copy link
Copy Markdown
Author

@gkhanna79 Could you share me why this patch does not merge? If there is something more important than this or if there is an issue that merges this, I hope it will be shared with us.

Comment thread cross/build-rootfs.sh Outdated
elif [ "$__Tizen" == "tizen" ]; then
ROOTFS_DIR=$__RootfsDir $__CrossDir/$__BuildArch/tizen-build-rootfs.sh
else
echo "Something wrong"

This comment was marked as spam.

This comment was marked as spam.

<OSGroup>Linux</OSGroup>
<Platform>amd64</Platform>
</Project>
<Project Condition="'$(TargetsLinux)' == 'true' and '$(DistroRid)' == 'tizen.4.0.0-armel'" Include="tizen.4.0.0/Microsoft.NETCore.DotNetAppHost.pkgproj">

This comment was marked as spam.

This comment was marked as spam.

jyoungyun and others added 3 commits January 20, 2017 11:20
Replace arm-softfp with armel in cross/build-rootfs.sh
Rename directory cross/arm-softfp to cross/armel
Add toolchain.cmake file for armel
Use stable debian jessie
Use lldb-3.5-dev because other versions are not supported by jessie/armel repostiory

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
This patch also provides nupkgs and tarball for debian.8-armel.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
Most of this commit is copied from CoreCLR.

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
@hqueue
Copy link
Copy Markdown
Member

hqueue commented Jan 20, 2017

@gkhanna79 Since there is no enough debian 8.0 infra for test yet, tizen is our main development target platform for armel right now. As you may already know, ARM32 CI for CoreClr is also using Tizen rootfs for compiling CoreClr and running tests in tizen environment.
If you think there are too many ARM Linux legs and want to reduce them for armel, then I carefully suggest Tizen for armel instead of debian, since ARM CI with Tizen rootfs has been used for last year and we have much more interested in it.
BTW for arm devices such as raspberry pi series, I think most developers uses arm(hardfp) in rpi2 and rpi3 rather than armel(softfp), because default Linux distro for them are usually in arm(hardfp).

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
@gkhanna79
Copy link
Copy Markdown
Member

Thanks for the explanation @hqueue. This sounds reasonable to me.

That said, we need to have two kinds of Arm32 builds - ones which are built for armel and the other for armhr (which is the Linux Arm32 official build support I am working on).

@gkhanna79 gkhanna79 merged commit 1dfa452 into dotnet:master Jan 20, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants