readme.txt
1Raspberry Pi 2 3Intro 4===== 5 6These instructions apply to all models of the Raspberry Pi: 7 - the original models A and B, 8 - the "enhanced" models A+ and B+, 9 - the model B2 (aka Raspberry Pi 2) 10 - the model B3 (aka Raspberry Pi 3). 11 - the model B4 (aka Raspberry Pi 4). 12 - the model CM4 (aka Raspberry Pi Compute Module 4 and IO Board). 13 14How to build it 15=============== 16 17Configure Buildroot 18------------------- 19 20There are two RaspberryPi defconfig files in Buildroot, one for each 21major variant, which you should base your work on: 22 23For models A, B, A+ or B+: 24 25 $ make raspberrypi_defconfig 26 27For model Zero (model A+ in smaller form factor): 28 29 $ make raspberrypi0_defconfig 30 31For model 2 B: 32 33 $ make raspberrypi2_defconfig 34 35For model 3 B and B+: 36 37 $ make raspberrypi3_defconfig 38 39or for model 3 B and B+ (64 bit): 40 41 $ make raspberrypi3_64_defconfig 42 43For model 4 B: 44 45 $ make raspberrypi4_defconfig 46 47or for model 4 B (64 bit): 48 49 $ make raspberrypi4_64_defconfig 50 51For model CM4 (on IO Board): 52 53 $ make raspberrypicm4io_defconfig 54 55or for CM4 (on IO Board - 64 bit): 56 57 $ make raspberrypicm4io_64_defconfig 58 59Build the rootfs 60---------------- 61 62Note: you will need to have access to the network, since Buildroot will 63download the packages' sources. 64 65You may now build your rootfs with: 66 67 $ make 68 69(This may take a while, consider getting yourself a coffee ;-) ) 70 71Result of the build 72------------------- 73 74After building, you should obtain this tree: 75 76 output/images/ 77 +-- bcm2708-rpi-b.dtb [1] 78 +-- bcm2708-rpi-b-plus.dtb [1] 79 +-- bcm2709-rpi-2-b.dtb [1] 80 +-- bcm2710-rpi-3-b.dtb [1] 81 +-- bcm2710-rpi-3-b-plus.dtb [1] 82 +-- bcm2711-rpi-4-b.dtb [1] 83 +-- bcm2711-rpi-cm4.dtb [1] 84 +-- boot.vfat 85 +-- rootfs.ext4 86 +-- rpi-firmware/ 87 | +-- bootcode.bin 88 | +-- cmdline.txt 89 | +-- config.txt 90 | +-- fixup.dat [1] 91 | +-- fixup4.dat [1] 92 | +-- start.elf [1] 93 | +-- start4.elf [1] 94 | `-- overlays/ [2] 95 +-- sdcard.img 96 +-- Image [1] 97 `-- zImage [1] 98 99[1] Not all of them will be present, depending on the RaspberryPi 100 model you are using. 101 102[2] Only for the Raspberry Pi 3/4 Models (overlay miniuart-bt is needed 103 to enable the RPi3 serial console otherwise occupied by the bluetooth 104 chip). Alternative would be to disable the serial console in cmdline.txt 105 and /etc/inittab. 106 107How to write the SD card 108======================== 109 110Once the build process is finished you will have an image called "sdcard.img" 111in the output/images/ directory. 112 113Copy the bootable "sdcard.img" onto an SD card with "dd": 114 115 $ sudo dd if=output/images/sdcard.img of=/dev/sdX 116 117Insert the SDcard into your Raspberry Pi, and power it up. Your new system 118should come up now and start two consoles: one on the serial port on 119the P1 header, one on the HDMI output where you can login using a USB 120keyboard. 121 122How to write to CM4 eMMC memory 123=============================== 124 125For CM4 modules without eMMC memory see above for booting from SD card, 126for CM4 moduels with eMMC memory proceed as following: 127 128- fit jumper on IO Board header J2 to disable eMMC boot 129- connect IO Board micro USB port (J11 USB slave) to your host linux system 130- power up CM4/IO Board (lsusb command should show a '0a5c:2711 Broadcom Corp. 131 BCM2711 Boot' device) 132- run 'sudo ./host/bin/rpiboot', output should look like the following: 133 Waiting for BCM2835/6/7/2711... 134 Loading embedded: bootcode4.bin 135 Sending bootcode.bin 136 Successful read 4 bytes 137 Waiting for BCM2835/6/7/2711... 138 Loading embedded: bootcode4.bin 139 Second stage boot server 140 Loading embedded: start4.elf 141 File read: start4.elf 142 Second stage boot server done 143 144- a USB mass storage device should show up (the CM4 eMMC memory), proceed 145 as described above to copy sdcard.img to it 146- power down CM4/IO Board 147- remove jumper on IO Board header J2 to re-enable eMMC boot 148- power up CM4/IO Board 149