Giter Site home page Giter Site logo

damien-lemoal / riscv64-nommu-buildroot Goto Github PK

View Code? Open in Web Editor NEW
43.0 43.0 11.0 136.34 MB

License: Other

Makefile 19.01% Arc 0.02% Shell 1.77% Tcl 0.06% Batchfile 0.09% M4 0.11% Lua 0.08% C 51.49% C++ 13.93% XC 0.32% XS 0.31% Awk 0.09% Objective-C 0.05% Roff 11.83% CMake 0.05% HTML 0.38% Dockerfile 0.01% Perl 0.27% Lex 0.04% Yacc 0.09%

riscv64-nommu-buildroot's People

Contributors

aduskett avatar aldot avatar arnout avatar asafkahlon avatar baruchsiach avatar bkuhls avatar culssw avatar elebihan avatar erikbandersen avatar fabioestevam avatar ffontaine avatar fperrad avatar gustavoz avatar jacmet avatar joerg-krause avatar lucaceresoli avatar maximeh avatar patrickdepinguin avatar pauliuszaleckas avatar pseiderer avatar rc-matthew-l-weber avatar ricardo-martincoski avatar romainnaour avatar spdawson avatar tpetazzoni avatar tsed avatar vapier avatar wbx-github avatar yann-morin-1998 avatar yegorich avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

riscv64-nommu-buildroot's Issues

Better memory efficiency with multiple busybox instances

I think it would be desirable to not use -r (force load to RAM) on the elf2flt build to make it possible for multiple instances of a binary (say, busybox) to share a .text section and thus conserve memory. With -r each invocation copies the entire binary, text and data.

However, currently the -r option to elf2flt is required. Building wIthout it, binaries crash at the beginning of __uClibc_main due to the _GLOBAL_OFFSET_TABLE_ not being correct.

I've tried looking into this but wasn't able to figure out how to make this work. The problem is that on RISC-V, the global offset table is assumed to be in a location relative to the code, part of the .text section itself:

0000000000012ba4 <__uClibc_main>:
   12ba4:       7169                    addi    sp,sp,-304
   12ba6:       00005717                auipc   a4,0x5
   12baa:       5aa73703                ld      a4,1450(a4) # 18150 <_GLOBAL_OFFSET_TABLE_+0x18>

As I see it, no amount of relocations can make this work (without a MMU—but with a MMU we could just ELF). I wonder how other architectures do this. I suppose this is something specific to the RISC-V ABI's handling of the GOT that makes this impossible.

Maix-linux with SD card support

Hi @damien-lemoal ! Thanks for excelent job and all team that work together.

In my application, beyond the minimal, I need to mount and access SD card partition at Maix M1 Board.

I was able to run pre-compiled and it is ok, but i could not found SD card partition. And I am stucked some days at this point. :(

Please, how can I mount SD card, since I can be able to run the commands from it?

Thanks and Best Regards!
Rogério Cassares

"Oops - load address misaligned [#1]" error at boot with K210

I'm not entirely sure where to report this, this seems the most appropriate place: I'm trying to build a working Linux image for the Maix Go (K210) board.
The image that they provide works, however when I build my own I get the following error after "Starting shell"

Oops - load address misaligned [#1]

EQ2CsOeXYAEC7jE

I looked up the address using addr2line and it is in side the kernel, tiocgwinsz copy_to_user. A 64-bit integer is being stored to an address that is only 32-bit aligned.

Normally these traps are handled by the SBI, and the memory access is emulated in software. However with the kernel running in M mode itself I'm not so sure what should be handling this.
The kernel is 5.6-rc1 with these patches on top: https://lore.kernel.org/linux-riscv/[email protected]/T/#t

upstream this to buildroot?

@damien-lemoal not sure if this is the best place to ask...
but someone asked me yesterday if buildroot support for k210 was going to get upstreamed into the buildroot project?

also, along those lines, is there a way for me to help?

build failed: Segmentation fault (core dumped) make

When I built buildroot for k210, I encountered the error message below.
Please help! Thanks

os@os-MMLP7AP-00:~/dl/k210/linux/riscv64-nommu-buildroot$ make 
/home/os/dl/k210/kendryte-toolchain/bin/make -j1 O=/home/os/dl/k210/linux/riscv64-nommu-buildroot/output HOSTCC="/usr/bin/gcc" HOSTCXX="/usr/bin/g++" syncconfig
>>> host-skeleton  Extracting
>>> host-skeleton  Patching
>>> host-skeleton  Configuring
>>> host-skeleton  Building
>>> host-skeleton  Installing to host directory
/bin/bash: line 2:   304 Segmentation fault      (core dumped) make -C /home/os/dl/k210/linux/riscv64-nommu-buildroot --no-print-directory O=/home/os/dl/k210/linux/riscv64-nommu-buildroot/output
make: *** [Makefile:84: _all] Error 139

os@os-MMLP7AP-00:~/dl/k210/linux/riscv64-nommu-buildroot$ make -n
umask 0022 && \
        make -C /home/os/dl/k210/linux/riscv64-nommu-buildroot --no-print-directory \
                 O=/home/os/dl/k210/linux/riscv64-nommu-buildroot/output

MAKE="/home/os/dl/k210/kendryte-toolchain/bin/make -j5" DL_TOOLS="bzcat xzcat" \
        /home/os/dl/k210/linux/riscv64-nommu-buildroot/support/dependencies/dependencies.sh
/bin/bash: line 2:   920 Segmentation fault      (core dumped) make -C /home/os/dl/k210/linux/riscv64-nommu-buildroot --no-print-directory O=/home/os/dl/k210/linux/riscv64-nommu-buildroot/output
make: *** [Makefile:84: _all] Error 139

fakeroot ‘_STAT_VER’ undeclared error - any fixes?

I am trying to compile Linux for the Kendryte 210

I am getting an error, which seems to be acommon error in current fakeroot.
libfakeroot.c:99:40: error: ‘_STAT_VER’ undeclared (first use in this function)

Is there any fix for this?

Or there any other suggested way on how to build linux for the Sipeed Maixduino Kendryte K210 RISC-V?
I also started a thread on reddit, which can be found here:
https://www.reddit.com/r/embedded/comments/mx2rei/compiling_linux_for_sipeed_maixduino_kendryte/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.