I have discussed this blog at
I discussed about native debugging with gdb in last blog post. I strongly recommend you to read earlier blogs for better understanding . If you find something missing, Please provide feedback in comment box so that I can take corrective action.
Key TakeAway : Concept of Busybox, dpkg, apt-get, apt-cache, apt-mark, apt with demo.
Busybox : The Swiss Army Knife of Embedded Linux
It combines many small optimized utilities into a single binary. You may find it in normal desktop linux /bin folder but there are separate binaries for ls,cat,cp etc . However , in Embedded Linux, you may find all these utilities linked to this single busybox binary .
Let me show you one common use case from a home router using telnet.
Step 1: Telnet should be disabled by default for network security. I have enabled it using GUI for testing purpose and simply removed the external internet cable for security.
Step 2: Start a telnet session to router IP using putty
Step 3: Login using admin credentials and check the implementation of different linux binaries. These are linked to busybox (ls /bin -lart —->busybox)
You can watch this GIF file.
step 4: Double check the system OS and target
admin@RT-AC51U:/# uname -a
Linux RT-AC51U 2.6.36 #1 Fri Aug 17 16:42:51 CST 2018 mips GNU/Linux
admin@RT-AC51U:/# cat /proc/cpuinfo
system type : MT7620
processor : 0
cpu model : MIPS 24Kc V5.0
BogoMIPS : 386.04
wait instruction : yes
microsecond timers : yes
tlb_entries : 32
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0000, 0x03f8, 0x0fe0, 0x0bf8]
ASEs implemented : mips16 dsp
shadow register sets : 1
core : 0
VCED exceptions : not available
VCEI exceptions : not available
Software Package Management
Software packages for Linux distributions are based on different package formats such as deb(Debian,Ubuntu,Kali Linux), rpm(Red Hat,Fedora) etc. Hence different package installers such as apt,yum etc are available. Let me take the case of Ubuntu
Debian Package or dpkg
dpkg is the low-level package installer for Debian based operating systems such as Ubuntu, Kali Linux etc. The file format used is deb
dpkg -l //List of all installed packages
Please note that dpkg will not check the dependency,install or configure automatically. There is a provision of another high level package manager for this purpose. These high level package managers apt* use dpkg for installation purpose
You may like to watch the dpkg Demo
Advance Packaging Tool apt-get , apt-cache, apt
- The apt-get utility is used for managing all software packaging requirements i.e. Installing/Removing/Updating software packages or Operating System itself. This check the package dependency and do necessary installation & configuration.
- sudo apt-get update
- sudo apt-get install
- sudo apt-get upgrade
- sudo apt-get remove — purge tftpd
- purge option to remove configuration as well
- The apt-cache utility to search packages in apt’s cache
- apt-cache pkgnames
- apt-cache search tftpd
- The latest apt utility consists of all important commands from apt-get and apt-cache. So this should be used
- apt list
- apt show tftpd
- apt –help
- sudo apt edit-sources
- apt-mark can be utilized to mark packages auto,manual,hold etc
- apt-mark showmanual
You may like to watch the APT-Commands Demo
Busybox Help command
The detail in help may differ depending on its implementation. For ex : Desktop Ubuntu provides complete information of busybox tftp –help
But in embedded linux , It may be as follows
If you liked this , Please share in your network. You may also like to read Library
You may find list of all interesting topics at
“The starting point of all achievement is desire.” —Napoleon Hill For Techday, we had a goal to give away 12K
Special Embedkari offer for ARM bare metal driver course.
Importance of Learning Attitude Embedded domain becomes very interesting when I find professionals involved in Electronics servicing as well students
“Innovation is taking two things that exist and putting them together in a new way.“ Tom Freston (born 1945), Co-founder
Webinar Takeaways How to program hardware Intro to Embedded Programming From Baremetal to RTOS Intro to OpenSource RT-Thread RTOS RT-Thread
How should I prepare for starting a masters degree in embedded systems? What is the basic knowledge I should have
“If you try and lose then it isn’t your fault. But if you don’t try and lose, then it’s all
Here are some key IoT skills being used in the industry. We will refer forms submitted under this for any
You can submit any interview question which you couldn’t answer or you feel unique. We will send answer to this
I am trying to improve usability of my site.If you find something missing, Any feedback in comment box will help to take corrective action. Please subscribe to YouTube channel Embedkari for additional embedded related stuff.