1

User Image Kernel Options And System Debugging Nov. 9, 2016, 2:43 p.m.

Debug Options For Kernel:


- Kernel hacking 
-- [*] Show timing information on printks 
-- [*] Magic SysRq key 
-- [*] Debug filesystem
-- [*] Kernel debugging 
-- [*] Detect Soft Lockups 
-- [ ] Collect scheduler statistics 
-- [*] Debug slab memory allocations 
-- [*] Memory leak debugging 
-- [*] RT Mutex debugging, deadlock detection 
-- [*] Spinlock debugging 
-- [*] Sleep-inside-spinlock checking 
-- [ ] kobject debugging 
-- [ ] Highmem debugging 
-- [ ] Compile the kernel with debug info

Mount debugfs

mount -t debugfs none /sys/kernel/debug

 

Test GPIO

echo 30 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio30/direction
cat /sys/class/gpio/gpio30/value
cat /sys/kernel/debug/gpio

 

Disable Peripherals

http://labs.isee.biz/index.php/Mux_instructions

Set sdmmc2_dat5 to gpio137 (mode 4):

# -> root@localhost:/sys/kernel/debug/omap_mux# 
cat sdmmc2_dat5
# Result
# name: sdmmc2_dat5.gpio_137 (0x48002166/0x136 = 0x0004), b ah3, t NA
# mode: OMAP_PIN_OUTPUT | OMAP_MUX_MODE4
# signals: sdmmc2_dat5 | sdmmc2_dir_dat1 | cam_global_reset | sdmmc3_dat1 | gpio_137 | hsusb3_tll_stp | mm3_rxdp | safe_mode

# Set sdmmc2_dat5 to gpio137 (mode 4): 
echo 0x004 > sdmmc2_dat5 

# Check that gpio137 is in user space: 

# -> root@localhost:/sys/class/gpio# 
ls
# Result: export  gpio137  gpio138  gpio139  gpio170  gpio64  gpiochip0  gpiochip128  gpiochip160  gpiochip192  gpiochip32  gpiochip64  gpiochip96  unexport

 

List iomem and ioports

 

cat /proc/iomem
cat /proc/ioports

 


1