One of the building blocks to implement containers is Linux namespaces. Namespaces control what a process can see. It can be the processes IDs, mount points, network adapters and more. To use namespaces we call the clone(2) system call. Creating a child process – fork vs clone To create a new process in Linux, we can […]
All Android apps (.apk files) must be digitally signed prior to installation on a device and uploading to Android Play store. The embedded certificate can be self-signed and valid for 25+ years. No certification authority needed so the vendor identification is not trusted. App signing on Android is used to: Ensure the authenticity of the […]
In the previous post, we built a native daemon in Android native layer. We wrote a simple application to communicate with the daemon using a socket (UDS/UDP/TCP). Most of the services provided by Android using the Android Framewok layer If for example, the camera application wants to get the current GPS location, it connects to the […]
Python is a great programming language for data analysis, web development, networking and more. While working with data , storing in files, sending to a remote machine and so on, we sometimes need to encrypt the data to prevent unauthorised access. With python cryptographic packages we can encrypt and decrypt data using various methods , […]
Android is a great OS for many devices and not mobile only. You can even use Android on devices without display (headless). The most important thing about Android is the fact that it is open source and you can build everything from source. Android structure: The lower layer is Linux kernel with some changes (little) […]
Sed is a powerful stream editor, typically used for editing large amounts of data by providing a simple command. Sed is also used for sophisticated searches, where the Regular Expressions are used. You can use sed to: Automate editing actions to be performed on one or more files Simplify the task of performing the same edit […]
One of the problems in Android is the fact that when a new version is released only a few devices can be updated. Actually, if you want to enjoy the latest version, you need to buy a new smartphone every 6 months. Google solution is the Project trebel that separates the vendor implementation from the […]
When we build a ROM for Android device we can add components on different layers. We can add daemons and libraries on the native layer, system services on the framework layer and system applications we want to build into the ROM (like the phone app, SMS, etc) In this post, I will cover the process […]
Embedded Linux development is a complex task. You need tools on the target and the host and its important to setup everything so we can build and debug easily. Let go over the process. You can do it yourself , just build an Embedded Linux system with QEMU Building For The Target To build code […]
Python is a great programming language. The main reason python is so popular is the growing number of packages available to anyone. You can find those packages in many websites and in package managers. The official package manager for python is pypi , there are 2 versions – one for testing and one for production Lets […]