Skip to content

Instantly share code, notes, and snippets.

View zawzaww's full-sized avatar

Zaw Zaw zawzaww

View GitHub Profile
@zawzaww
zawzaww / containers-from-scratch.md
Last active August 16, 2024 08:03
Containers from Scratch: Deep Dive into Container Networking

Containers from Scratch: Deep Dive into Container Networking

This page describes how to build and run containers from scratch, and configure container networking from scratch using the command line tools, chroot, unshare, ip and the Linux kernel feature, Namespaces. We will also demonstrate how to use them.

Before We Begin

  • Linux x86_64 Host
  • chroot ─ a user-space program to change the root filesystem of the calling process.
  • unshare ─ a user-space program to run a program in new namespace that isolates the process ID, mount, IPC, network, and so on.
@zawzaww
zawzaww / speed-up-c-cpp-builds-ccache.md
Last active July 18, 2024 10:02
Speeding Up C/C++ Builds Using Ccache (Compiler Cache)

Speeding Up C/C++ Builds Using Ccache

This page contains a guide on how to setup Ccache, Compiler Cache, and speed up the C/C++ compilation time using Ccache. And this guide will focus on the Linux x86_64 system.

Prerequisities

@zawzaww
zawzaww / build-minimal-linux.md
Last active July 1, 2024 06:07
Building a minimal Linux system from Scratch

Building a minimal Linux system from Scratch and Booting in QEMU Emulator

Prequisites

Make sure you installed the following tools on your Linux host.

Please, see the details information on Minimal requirements to install required build tools on your Linux host for compile the Busybox and Linux kernel.

  • Git
  • GCC or Clang Compiler
  • QEMU Emulator
@zawzaww
zawzaww / Android.mk
Created August 12, 2019 07:03
This Android.mk is for compiling AudioWaveMaker android app for Android Make Build System.
# This Android.mk is for compiling AudioWaveMaker Android app
# for Android Make Build System.
#
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res \
frameworks/support/design/res \
frameworks/support/v7/appcompat/res \
frameworks/support/v17/leanback/res
@zawzaww
zawzaww / android-permissions.xml
Last active April 5, 2019 04:29
Android System Permissions and Standard Permissions
<!-- Networking and telephony -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CONTROL_VPN" />
@zawzaww
zawzaww / BoardConfig-bullhead.mk
Created July 25, 2018 14:35
Setup Inline Kernel build for LG Nexus 5X
# Inline Kernel Build
KERNEL_TOOLCHAIN := $(ANDROID_BUILD_TOP)/prebuilts/gcc/$(HOST_OS)-x86/aarch64/aarch64-linux-android-4.9/bin
KERNEL_TOOLCHAIN_PREFIX := aarch64-linux-android-
TARGET_KERNEL_SOURCE := kernel/lge/bullhead
TARGET_KERNEL_CONFIG := bullhead_defconfig
BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb
@zawzaww
zawzaww / twrp-recovery-flags.mk
Last active August 7, 2024 06:08
Makefile Flags for Compiling TWRP
# USEFUL TWRP RECOVERY FLAGS
# by ZawZaw @XDA-Developers
# Thanks to : @xda-developers for helps
# Add EXT4 support
TARGET_USERIMAGES_USE_EXT4 := true
# Disable/enable SELinux. Only suggested when you want to enable SELinux support
TWHAVE_SELINUX := true
@zawzaww
zawzaww / BoardConfig-shamu.mk
Last active July 25, 2018 14:32
Setup Inline kernel build for Motorola Nexus 6
# Inline Kernel Build
KERNEL_TOOLCHAIN := $(ANDROID_BUILD_TOP)/prebuilts/gcc/$(HOST_OS)-x86/aarch64/aarch64-linux-android-4.9/bin
KERNEL_TOOLCHAIN_PREFIX := aarch64-linux-android-
TARGET_KERNEL_SOURCE := kernel/moto/shamu
TARGET_KERNEL_CONFIG := shamu_defconfig
BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb
@zawzaww
zawzaww / sample_selector.xml
Created July 13, 2018 14:08
Sample selector for using background color and button.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<solid android:color="@android:color/white" />
<corners android:radius="3dp" />
<stroke android:width="2dp" android:color="@color/color_primary" />
</shape>
</item>
</selector>
@zawzaww
zawzaww / dimens.xml
Last active July 13, 2018 02:11
Dimensions for XML Layout.
<resources>
<dimen name="margin_small">4dp</dimen>
<dimen name="margin_medium">8dp</dimen>
<dimen name="margin_medium_2">16dp</dimen>
<dimen name="margin_medium_3">20dp</dimen>
<dimen name="margin_large">24dp</dimen>
<dimen name="margin_xlarge">32dp</dimen>
<dimen name="margin_xxlarge">48dp</dimen>
<dimen name="margin_card_medium">6dp</dimen>