Hot answers tagged

58

From this Raspberry Pi forum post [Edited to reflect loader.bin as an anachronism]: When the Raspberry Pi is first turned on, the ARM core is off, and the GPU core is on. At this point the SDRAM is disabled. The GPU starts executing the first stage bootloader, which is stored in ROM on the SoC. The first stage bootloader reads the SD card, and ...


50

"rpikernelhack" is a fake package name and a directory name used as part of a hack (in the sense of a dirty but expedient solution to a problem) to work around the fact that the Raspberry Pi foundation decided to make /boot a fat32 partition and dpkg does not get on well with fat32. I was the one who initially came up with the idea, though it was refined ...


43

It's just the directory name given by the developers who have created a Raspberry Pi specific set of patches to the Linux kernel. It is a fix by the Raspbian developers to fix a FAT file-system corruption issue present in the 2016 kernel, this updates to the 2017 kernel and is nothing to worry about. To make this kernel update you need to use sudo apt ...


24

Starting with the default configuration, or one you know works already, is a good idea. Beware that for the Pi 2, you should use: make bcm2709_defconfig Instead of bcmrpi_defconfig. Note that if you want to avoid clobbering an existing kernel install of the same version, set the General setup -> Local version - append to kernel release string to a unique ...


22

First of all, make sure you use the proper kernel headers. I assume that your kernel headers and source code are more updated than the kernel you're running. Try to do an apt-get update && apt-get upgrade then reinstall the module. If the problem persists, triple check that your kernel headers match your current kernel, recompile again then try to ...


18

I don't think you can change the default without recompiling the kernel. By that I mean, the one the kernel chooses when booted up. However, you can tell it to use a different governor while running, so if you want to effectively set the default without recompiling, you can add something to /etc/rc.local or some other start-up script. The /sys directory ...


13

I figured out which kernel version I installed by looking at /proc/version: [kevin@raspberrypi tmp]$ more /proc/version Linux version 3.2.27+ (dc4@dc4-arm-01) (gcc version 4.7.2 20120731 (prerelease) (crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08) ) #250 PREEMPT Thu Oct 18 19:03:02 BST 2012 I followed scruss' suggestion to use rpi-update. I ...


12

I can't seem to find any specific information about the Raspbian kernels, which concerns me. However, I can give the information I have from my experience with Linux kernels. Traditionally, when you compile a kernel for a distribution you want it to be able to cover support for a fairly wide range of hardware. For example, various graphics cards and ...


11

dwc_otg.speed -> 1 will limit USB speed to full speed 12Mbps (USB 1.1) dwc_otg.lpm_enable -> 0 by default, it disalbes LPM support, never seen anyone with value 1 here but it's specified in default cmdline.txt dwc_otg.fiq_fix_enable -> 1 (default now) give about 10% extra performance to ARM when USB is not busy by lowering the number of interrupts USB does ...


11

According to https://github.com/raspberrypi/noobs/blob/9127ef2ce9301c3c8bf91b5c2ef09af90bf00216/buildroot/.config User:pass = root:raspberry


11

My (unaltered) PI2B has a /boot/cmdline.txt of dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait There should only be one uncommented line. It is not like /boot/config.txt where you have entries on multiple lines. Line starting with # are ignored so if you want to change the line I ...


9

It seems to me, there is no kernel 3.1.9+ source deb package in Raspbian repository. According to Alex Bradbury (asb) they built the Raspbian kernel based on https://github.com/raspberrypi/linux. Based on this kernel compilation documentation I did the following (as root): cd /usr/src git clone --depth 1 https://github.com/raspberrypi/linux.git ln -s linux ...


9

The kernel expects two things: a root filesystem, and an init daemon that resides on it. The init included with raspbian is a sysV style system. You are not tied to that -- other init systems commonly used with linux (remember: the kernel is linux) are systemd and upstart -- but you do need an init system of some sort. You can also put init in an ...


9

Here is a link for that file I have uploaded it to dropbox. https://www.dropbox.com/s/g8u93xblz1v1ly0/kernel-qemu?dl=0 Also, it's been made available on github. Link --> https://github.com/dhruvvyas90/qemu-rpi-kernel


9

As it turns out several overlays can be loaded by adding multiple dtoverlay variables: In this case: dtoverlay=4dpi-3x dtoverlay=w1-gpio


9

Quick guess: You've upgraded the OS and the system has been up for a very long time, or managed to upgrade it without replacing the kernel, because the 4.4.11-v7+ modules have already been removed from Raspbian. If there is no such directory as /lib/modules/4.4.11-v7+ (look) you should run sudo apt update then sudo apt upgrade to ensure your kernel has been ...


9

It might be interesting to know which version you are running, and if you happened to update packages recently. I encountered a similar error message on my raspberry pi2 after upgrading to raspbian testing today (from stretch). However I fear that it may be caused by a full range of different reasons. The more precise error message I got (from journalctl -...


9

sysfs has been deprecated and has been replaced with libgpiod. https://www.beyondlogic.org/an-introduction-to-chardev-gpio-and-libgpiod-on-the-raspberry-pi/ The interactions are with /dev/gpiochipx rather than /sys/class/gpio. The only obvious improvement (to me) is that GPIO events now have a time-stamp.


8

kernel.img file When using Linux kernel, kernel.img file is just a renamed linux/arch/arm/boot/Image. It should also be possible (or at least it was possible last time I checked) to use compressed version of this file - zImage. It can contain integrated initramfs (ramdisk) but it is not required. For example, stock kernel.img file does not contain ...


8

Turns out the steps to recompile and load the rtlwifi module are correct. The problem is iwconfig not working to enable/determine monitoring mode in this situation. Instead, I used iw as outlined by Steven Gordon and it worked. To summarize: STEP 6b: List the physical network interfaces available $ iw dev STEP 7: Determine if the physical interface ...


8

to take advantages on the performance This begs the question that the people who put "an existing OS" together were not concerned about performance, or that you understand it better than them (in which case you would not be asking this kind of question -- I'm not trying to belittle you, just stating the obvious). If people approached their cars the way ...


7

I don't use Raspian, but unless they've deviated significantly from Debian in their package management, aptitude update followed by aptitude upgrade, as you've done, should update the packages on the system. You could also try aptitude dist-upgrade. I don't know if that will update the Kernel image or not, but I suspect that it will not. For the kernel, ...


7

Here is a 12 part course about writing an OS for the Raspberry Pi from scratch. Part 6 is about graphics. I did not see OpenGL described there, but the examples talk about drawing pixels, then lines, and then text. The first lessons describe how to get the Raspberry to load and run your code.


7

I have never tried to do this no the RPi, but I have on the Arduino platform several times, and I have used something along the lines of this Arduino code. Note you will have to rewrite a function similar to this for whatever language you are using: unsigned long last_interrupt_time = 0; void my_interrupt_handler() { unsigned long interrupt_time = ...


7

For just getting started, I think you have the wrong concept of using embedded computers (especially at the Raspberry Pi level). If you really want to build a custom OS I suggest you start at Linux from Scratch, LFS, http://www.linuxfromscratch.org/ but if you want to understand embedded computing start by Googling "embedded systems", Wikipedia, or Embedded ...


7

Go to [ https://github.com/Hexxeh/rpi-firmware/commits/master ] and find the commit key for the version you want. Then use the following command will update to the last version. sudo rpi-update 81355451bcd9a214fdf221ca322b6ca681d8da55


7

The package that provides the Wi-Fi firmware is called firmware-brcm80211. To downgrade this package to a version that works: sudo apt-get install firmware-brcm80211=0.43+rpi5 To prevent this package from being upgraded (either before an upgrade to stretch, or after downgrading the firmware): sudo apt-mark hold firmware-brcm80211


7

As of systemd 235-2 this still continues with the exact same error. For people landing here from google: If you see that after apt dist-upgrade that either udev, journald or even timesyncd are crashing, Until raspi-copies-and-fills, is updated, purging it like Emmanuel Thomé suggested is the only viable solution so far.


6

I want to modify the distro according to my needs. [...] What about the source for the actual distro? Is it all there? Am I insane? The distro has sources, but these are either the same as or slightly patched versions of the original sources -- a distro does not really contain any original software per se (discounting the package manager), it is just an ...


6

Questions 1 to 3 are answered the same: Current kernel at github is already 3.2. It includes I2C and SPI drivers in the source tree. You just have to activate it in the configuration and compile your own kernel.


Only top voted, non community-wiki answers of a minimum length are eligible