How to prepare SD card and device driver for adxl345 in kernel 4.4

export DISK=/dev/sdb

sudo dd if=/dev/zero of=${DISK} bs=1M count=10

sudo dd if=./u-boot/MLO of=${DISK} count=1 seek=1 bs=128k

sudo dd if=./u-boot/u-boot.img of=${DISK} count=2 seek=1 bs=384k

sfdisk -v
sfdisk from util-linux 2.20.1

sfdisk <= 2.25.x (my case)
sudo sfdisk --unit M ${DISK} <<-__EOF__
4,,L,*

__EOF__

sfdisk >= 2.26.x
sudo sfdisk ${DISK} <<-__EOF__
4M,,L,*

__EOF__

mkfs.ext4 -V
mke2fs 1.42.9 (4-Feb-2014)

Using EXT2FS Library version 1.42.9

mkfs.ext4 <= 1.42 (my case)
for: DISK=/dev/mmcblk0
sudo mkfs.ext4 -L rootfs ${DISK}p1
  
for: DISK=/dev/sdX

sudo mkfs.ext4 -L rootfs ${DISK}1

mkfs.ext4 >= 1.43
for: DISK=/dev/mmcblk0
sudo mkfs.ext4 -L rootfs -O ^metadata_csum,^64bit ${DISK}p1
  
for: DISK=/dev/sdX

sudo mkfs.ext4 -L rootfs -O ^metadata_csum,^64bit ${DISK}1


export kernel_version=4.4.92-bone-rt-r19
sudo mkdir -p /media/nikhil/rootfs/

copying rfs
sudo tar xfvp ./*-*-*-armhf-*/armhf-rootfs-*.tar -C /media/rootfs/
sync
sudo chown root:root /media/rootfs/
sudo chmod 755 /media/rootfs/


How to enable driver compilation
enter CONFIG_YOURDRIVER entry in defconfig in patches folder.
this defconfig will be copied to .config.
same CONFIG_YOURDRIVER will be in makefile. 
e.g
defconfig
#
# Accelerometers
#
CONFIG_ADXL345=m as a module
CONFIG_ADXL345_I2C=m
CONFIG_BMA180=m
CONFIG_BMC150_ACCEL=m
CONFIG_BMC150_ACCEL_I2C=m
CONFIG_BMC150_ACCEL_SPI=m
CONFIG_HID_SENSOR_ACCEL_3D=m

Makefile
# When adding new entries keep the list in alphabetical order
obj-y += adxl_345.o
obj-$(CONFIG_ADXL345) += adxl345_core.o
obj-$(CONFIG_ADXL345_I2C) += adxl345_i2c.o
obj-$(CONFIG_BMA180) += bma180.o
obj-$(CONFIG_BMC150_ACCEL) += bmc150-accel-core.o

obj-$(CONFIG_BMC150_ACCEL_I2C) += bmc150-accel-i2c.o

Issue make command.

Kconfig will be used if we want to take any CONFIG_YOURDRIVER value in .config
otherwise .config will be used as a default configuration for build process.








Comments

Popular posts from this blog

dev_get_platdata understanding

Getting started with pinctrl subsystem linux

How to take systrace in android