How to solve “Kernel panic – not syncing – Attempted to kill init” — without erasing any user data [closed]

if the full message is: kernel panic – not syncing: Attempted to kill inint ! PId: 1, comm: init not tainted 2.6.32.-279-5.2.e16.x86_64 #1 then you should have disabled selinux and after that you have rebooted the system. The easier way is to use a live OS and re-enable it vim /etc/selinux/config … SELINUX=enforcing … Second … Read more

Linux Stack Sizes

The reason that documentation is scarce is that it’s an area that’s quite architecture-dependent. The code is really the best documentation – for example, the THREAD_SIZE macro defines the (architecture-dependent) per-thread kernel stack size. The stacks are allocated in alloc_thread_stack_node(). The stack pointer in the struct task_struct is updated in dup_task_struct(), which is called as … Read more

Who calls the probe() of driver

Long story short: the probe() function of the driver is called as a result of calling the register_driver for that specific bus. More precisely, it’s called by the probe() of that bus_type structure. In your case: i2c_bus_type. Here’s the call chain in your I2C case: i2c_register_driver driver_register bus_add_driver driver_attach __driver_attach (for your device) driver_probe_device really_probe … Read more

What is the difference between DMA and memory-mapped IO?

Memory-mapped I/O allows the CPU to control hardware by reading and writing specific memory addresses. Usually, this would be used for low-bandwidth operations such as changing control bits. DMA allows hardware to directly read and write memory without involving the CPU. Usually, this would be used for high-bandwidth operations such as disk I/O or camera … Read more

I want to contribute to the Linux kernel [closed]

Start with these: Kernel Bugs involving typo. (Search everyday until you find something promising). Search that bug database with keywords like “comment”, “typo”, “documentation”, “minor bug”, etc. Also, search under the category Documentation here. Learn the process first. Then, attempt to contribute something significant.

What is the difference between a Linux platform driver and normal device driver?

Your references are good but lack a definition of what is a platform device. There is one on LWN. What we can learn from this page: Platform devices are inherently not discoverable, i.e. the hardware cannot say “Hey! I’m present!” to the software. Typical examples are i2c devices, kernel/Documentation/i2c/instantiating-devices states: Unlike PCI or USB devices, … Read more