154

Raspbian uses dphys-swapfile, which is a swap-file based solution instead of the "standard" swap-partition based solution. It is much easier to change the size of the swap. The configuration file is: /etc/dphys-swapfile The content is very simple. By default my Raspbian has 100MB of swap: CONF_SWAPSIZE=100 If you want to change the size, you need to ...


88

"In normal circumstances there is NEVER a need to run rpi-update as it always gets you to the leading edge firmware and kernel and because that may be a testing version it could leave your RPi unbootable". https://www.raspberrypi.org/forums/viewtopic.php?p=916911#p916911 Even the rpi-update documentation now warns "Even on Raspbian you should only use this ...


65

given that the processor is 64 bits, isn't it obvious that running the OS in 64 bits will be better in every way? No actually, it's not. In some ways, running a 64 bit operating system could deteriorate the Raspberry Pi's performance. Benefits of 64 bit: The two primary benefits of using a 64 bit processor/operating system is that the device can handle more ...


47

I found my answer in the very next section of the wiki; silly me. I found that the solution didn't go much into detail about what kind or error messages you see though, and thought it might be helpful to have the exact error message "googleable". I also found the instructions slightly unclear (especially around step 8/9; I wasn't sure if the partition had to ...


26

Buy yourself a smartphone, you'll get "Android OS with camera, Bluetooth, gyro, GPS, and SIM card and with a lot of programmable buttons and LEDs" -- all already included, working and with plenty of documentation and development environments available.


24

raspbian package repo contains raspberrypi-bootloader package which contains firmware, kernel and kernel modules that rpi-update downloads. The version is not the latest, but files should be fine and stable. Now it shows a 20130902 version, so it's about 2 months old. The package is installed by default and is updated when a new version arrives in repo. So ...


22

It's worth noting that the situation is different for ARM and Intel/AMD. That's because the switch to x86_64 was also used as an opportunity to update the badly-aging architecture, basically crippled by only having 8 general-purpose registers — and doubled in 64-bit mode. So, switching an Intel/AMD system to 64-bit mode also means enabling real features ...


20

In Linux kernel, enabling PREEMPT_RT will provide bounded latencies and realtime APIs. Besides configuring PREEMPT_RT, the SCHED_FIFO and SCHED_RR policies also need to be selected. And the applications need to set realtime parameters by calling appropriate APIs or by using appropriate utilities. According to a free-electrons training: Realtime in Embedded ...


18

Berryboot is essentially a boot loader designed specifically for the Raspberry Pi that will accomplish this for you: Berryboot is a simple boot selection screen, allowing you to put multiple Linux distribution on a single SD card. In addition it allows you to put the operating system files on an external USB hard drive instead of on the SD card itself.


18

There seems to be Raspberry PI support in the pfsense github repository. See pfsense repository. For raspBSD see RaspBSD. It seems feasible to compile pfSense for the Raspberry PI. I think it would be a useful port to have for people that don't require a lot of bandwidth or want to implement their own cheap WIFI router. And it would be interesting to play ...


17

There is a tool called Etcher for Windows, Linux, and Mac. It has a simple GUI. A screenshot from the website: (source: etcher.io)


17

These are the RAM splits and what they should be used for. 240/16 - This is best if you are going to be doing nothing graphical, for example if you were using the Pi as a server and have no GUI. 224/32 - This is probably best if you are using the pi with a basic graphical desktop environment, without 3D. 192/64 - The default, probably the best general ...


15

Update 2014-01-29: It has just been announced that the arm/armv6 snapshot images for Raspberry Pi are now being pushed up to the FreeBSD FTP servers on a weekly basis. You can download a copy from your local FreeBSD FTP mirror, in the /pub/FreeBSD/snapshots/ISO-IMAGES/ folder. Update 2014-01-28: Glen Barber kindly published this SD image of the recent ...


14

raspi-config You can change the memory split using the raspi-config utility in either debian-wheezy or raspbian-wheezy. Just run the utility: sudo raspi-config then select the memory split option (its about the 8th one in the list).


14

I wrote a very simple kernel years ago, and ran it on a 386. I haven't done bare metal programming in years, but in broad terms you need to write some assembler code that will: disable interrupts during the boot process if the Pi has a memory controller, you'll need to set that up set up a timer tick configure the interrupt controller set up a stack so ...


14

-Update Aug 2017- Unfortunately pfSense has no interest in creating arm based images. pfSense HAD no interest in porting over to an ARM based version because the BSD kernel was not stable on ARM yet. Since the time of the original answer a few things have changed with the latest Pi hardware, BSD runs on ARM fine and pfSense has been overwhelmed with ...


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 ...


13

I haven't looked at your code in depth, but it seems to me you're on the right track. Make sure that: The _start symbol is indeed the one used when compiling & linking your assembly file and your C file (and that main() isn't used instead) When calling main(), you need to use the C calling convention: push on the stack the address of the instruction ...


13

Dedicating a core is probably overkill. I suggest you try my pigpio library. By default it will time GPIO level changes to within 10µs. As a quick test I suggest you look at this Python example, which will print any GPIO level transition and the time in microseconds since the last transition on that GPIO. pigpio is not installed by default in Jessie ...


12

XBMC is not an operating system, but a cross-platform media player. It needs an existing operating system in order to be installed and run. From the XBMC website: XBMC is an award-winning free and open source (GPL) software media player and entertainment hub for digital media. XBMC is available for Linux, OSX, and Windows. Created in 2003 by a group ...


11

Having looked at the RPi, it seems like a fairly secure device out the box, as long as you do a couple of things. The default user/pass needs changed. At the very least, change the password. For better security again, change the username as well. (Add a new user, then disable PI. Check that ROOT is also disabled from SSH login, though I think it is by ...


11

Meanwhile the kernel is part of the raspberrypi-kernel-package in Raspbian. So rpi-update is not needed anymore to update the kernel. There are two kernels in the package, that means it works on every hardware-version of the Pi (ARMv6, ARMv7 and ARMv8 Just use this fancy one-liner to keep your Pi up-to-date: apt-get update && apt-get dist-upgrade ...


11

I want to run a Windows OS or Android OS Unfortunately, this is not possible. Windows just isn't supported at all on the Pi (only a lesser version called Windows 10 IoT Core, which isn't much like the regular Windows). Android is equally problematic; while there are ways to install it, it is noted that: No version of Android is officially compatible with ...


10

Python was designed as a teaching language. It's very easy to get started, and the Python ecosystem is very friendly to beginners[2]. Just go check out archives for the Python Tutor list. Replies like this one are extremely common - especially for non-help-vampires. I have yet to find a community anywhere nearly as welcoming and friendly to newcomers. ...


9

The answer marked as correct is in fact outdated, and in a problematic way: rpi-update will update the firmware to the latest published version, which has to be considered "not stable". So following the recipe given you might end up with an unstable system (has happened to me ;) ).


9

Look at the lesson Baking Pi – Operating Systems Development. It's an ARM-only lesson, but it uses pieces of C for the USB driver.


8

I'm not sure about Jnode, but the Computer Laboratory at Cambridge University has a short course on OS development on the Raspberry Pi that you might be interested in: Baking Pi - Operating Systems Development


8

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.


8

For doing so, login to your raspberry py with putty or another SSH client. Now you have to change one value in the noobs.conf. To be able to access this config file you have to do some stepps: Make directory to mount mkdir /tmp/noobs mount noobs partition sudo mount /dev/mmcblk0p3 tmp/noobs look which os is on which partition cat /tmp/noobs/...


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