Giter Site home page Giter Site logo

damien-lemoal / buildroot Goto Github PK

View Code? Open in Web Editor NEW
32.0 32.0 20.0 114.81 MB

buildroot fork

License: Other

Makefile 66.06% Arc 0.05% Shell 6.05% Tcl 0.17% Batchfile 0.22% Forth 0.03% M4 0.05% Lua 0.21% C 8.20% C++ 0.83% Dockerfile 0.03% Perl 0.74% Lex 0.10% Yacc 0.26% CMake 0.09% Python 13.96% Java 0.05% HTML 2.88% Gnuplot 0.01% JavaScript 0.01%

buildroot's People

Contributors

aduskett avatar aldot avatar angeloc avatar arnout avatar asafkahlon avatar baruchsiach avatar bkuhls avatar culssw avatar erikbandersen avatar fabioestevam avatar ffontaine avatar fperrad avatar giuliobenetti avatar gustavoz avatar jacmet avatar jameshilliard avatar joerg-krause avatar jolivain avatar paralin avatar patrickdepinguin avatar pseiderer avatar rc-matthew-l-weber avatar ricardo-martincoski avatar romainnaour 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

Watchers

 avatar  avatar  avatar

buildroot's Issues

Elf2flt relocation problem on newer kernels

Hi, I'm recently tweaking kernels and toolchains for 32-bit RISC-V No-MMU systems, I faced the same problem and I guess I came up with some solutions. So far I only tried 32-bit, but I guess they can apply to 64-bit as well.

On 5.9.4 kernel, seems relocation is done to wrong addresses during load_flat_file in fs/binfmt_flat.c, this is quite stubborn, after modifying datapos by 0x20 like this:

		datapos = ALIGN(realdatastart +
				MAX_SHARED_LIBS * sizeof(u32),
				FLAT_DATA_ALIGN) - 0x20; 

meanwhile change elf2flt.ld script like this on line 50:

	. = . + 4; /* add this */
	. = ALIGN(0x20) ;
	_etext = . ;

Then busybox can run without noticeable problem. I keep kernel executable file formats configuration like this, with unrelated stuff all disabled:

[*] Kernel support for scripts starting with #!     
[*] Kernel support for flat binaries                
[ ] Enable support for very old legacy flat binaries
[ ] Enable ZFLAT support                            
[ ] Enable shared FLAT support                      
[ ] Kernel support for MISC binaries                
[ ] Enable core dump support                                                                         

On latest(5.17) kernel, seems other changes have taken place, and busybox can run without any modification in kernel source or the linker script, so using latest kernel for this project seems a good choice(if 64-bit can also work). If you are interested in 32-bit support(I verified on both QEMU and custom FPGA rv32ima softcore), I'll clean my modified code up and PR.

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.