At Mon, 29 Jul 2019 05:56:00 -0700 (PDT) [email protected] wrote:
> > > > A traditional embedded system boots from flash memory and code runs from > flash memory. Usually application isn't copied to RAM, only read/write > variables are copied to RAM. > Does system running embedded Linux execute from RAM? > > A typical embedded Linux evaluation board running some Linux distribution > boots from SD card. I believe entire kernel code, rwdata, rodata, init, > bss, etc. is copied to RAM and code execution occurs in RAM. Is that > correct? > > I need to know what size DRAM I need for my embedded Linux system? If > Linux distribution takes up 3GB in SD card. Then, does this mean I need > 3GB DRAM? It depends... If your target system only runs some limited subset of program, no, of course not. What is taking up the 3GB on the SD card are things like the usuall "zillion" utilities, libraries, and so on. Also, an embedded Linux appliance (like your router or Blu-Ray player), is going to use BusyBox rather than have a /bin and /usr/bin populated with all the usually little programs (ls, cp, mv, rm, etc.). Instead, /bin, /sbin, /usr/bin and /usr/sbin will have links to BusyBox. Basically, it is just like a Linux boot init "ramdisk" that never bothers to mount a real "root" file system and continues to a full multi-user boot with all the trimmings. Next time you fire up your Beagle Bone, use the free and top commands to have a look at what is running and how (RAM) memory is being used. For example, my Raspberry Pi fruitloops is currently using just under 1 GB of RAM, running about 100 processes: Tasks: 109 total, 1 running, 60 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem: 948308 total, 908924 used, 39384 free, 142516 buffers KiB Swap: 102396 total, 21248 used, 81148 free. 138932 cached Mem It is also using 21GB of a 32GB SD card. This is Raspbian, and includes a pretty typical Linux multi-user system, eg systemd, ssh server, X11, a compilete native G++ toolchain and libraries, with multiple cross-build G++ toolchain and libraries, for Arduino (arm, avr, xtensa) and OpenMRN (arm), along with a full LaTeX install, Doxygen, etc. -- this is my general purpose build box for both native Raspbian (and also Beagle Debian targets), and for various little MCUs: Avr, Arm (samd), and esp32 Arduino supported, and various ARM-based MCUs supported by OpenMRN. -- Robert Heller -- 978-544-6933 Deepwoods Software -- Custom Software Services http://www.deepsoft.com/ -- Linux Administration Services [email protected] -- Webhosting Services -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/20190729134448.1511526C0166%40sharky3.deepsoft.com.
