發表文章

Reversing mkimage

dd if="image   file " of="recovered file" bs=64 skip=1

uboot fw_printenv & fw_setenv 用法

1. 在 uboot 下 make env --> 會在 tool/env 裡得到 fw_printenv. 2. fw_setenv 和 fw_printenv 是同一個執行檔, 用 copy 或 link 都可. fw_env.config 是 決定你的 uboot 的 設定, 必須放在 /etc 下. 範例如下: 因為我用 REDUNDAND 所以要建兩個 mtd, 如下, 下面兩個範例, 不同在於 reundand env 有沒有在不同的 mtd. ================================================================================================== # MTD device name       Device offset   Env. size       Flash sector size       Number of sectors /dev/mtd1               0x0000          0x2000          0x20000 1 /dev/mtd2               0x0000          0x2000          0x20000 1 /etc # cat /proc/mtd  dev:    size   erasesize  name mtd0: 00080000 00020000 "U-Boot" mtd1: 00040000 00020000 "U-Boot Env" mtd2: 00040000 00020000 "Backup U-Boot Env" =====...

gzip: initrd.img: unknown suffix -- ignored

gzip 只認識 .gz 的檔案,  所以將 initrd.img 改成 imitrd.gz gzip -d initrd.gz   → OK

linux gpio_led framework 用法

1. 先將 menuconfig 裡 LED Trigger support 打開  Device Drivers  --->  LED Support  --->  LED Trigger support  --->  LED Timer Trigger                                                                    |->  LED Heartbeat Trigger                                                                    |->  LED backlight Trigger                                                                    |->  LED GPIO Trigger ...

linux gpio_keys framework 用法

1. 先將 menuconfig 裡 GPIO Buttons 打開  Device Drivers  --->  Input device support  --->  Keyboards  --->  GPIO Buttons 2. 將 gpio-key 定義好, 並註冊. struct gpio_keys_button { /* Configuration parameters */ int code; /* input event code (KEY_*, SW_*) */ int gpio; int active_low; char *desc; int type; /* input event type (EV_KEY, EV_SW) */ int wakeup; /* configure the button as a wake-up source */ int debounce_interval; /* debounce ticks interval in msecs */ bool can_disable; }; struct gpio_keys_platform_data { struct gpio_keys_button *buttons; int nbuttons; unsigned int poll_interval; /* polling interval in msecs -   for polling driver only */ unsigned int rep:1; /* enable input subsystem auto repeat */ int (*enable)(struct device *dev); void (*disable)(struct device *dev); }; #include #include static struct gpio_keys_button bfin_gpio_keys_table[] = { { ....

shell script 小程式

1. 利用 smartctl 讀硬碟溫度     smartctl -d ata -A /dev/sda | grep Tempera | cut -c 88-90

RPATH RUNPATH 和 LD_LIBRARY_PATH

reference: http://www.cnblogs.com/jibin/archive/2012/05/21/cadevtips0x0101.html