X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=cirros-testvm%2Fsrc-cirros%2Fbuildroot-2015.05%2Fboard%2Fraspberrypi%2Freadme.txt;fp=cirros-testvm%2Fsrc-cirros%2Fbuildroot-2015.05%2Fboard%2Fraspberrypi%2Freadme.txt;h=4ead046ffc76d74ace4917f76539484f57223d7d;hb=b0a0f15dfaa205161a7fcb20cf1b8cd4948c2ef3;hp=0000000000000000000000000000000000000000;hpb=c6ac3cd55ee2da956195eee393b0882105dfad4e;p=packages%2Ftrusty%2Fcirros-testvm.git diff --git a/cirros-testvm/src-cirros/buildroot-2015.05/board/raspberrypi/readme.txt b/cirros-testvm/src-cirros/buildroot-2015.05/board/raspberrypi/readme.txt new file mode 100644 index 0000000..4ead046 --- /dev/null +++ b/cirros-testvm/src-cirros/buildroot-2015.05/board/raspberrypi/readme.txt @@ -0,0 +1,157 @@ +Raspberry Pi + +Intro +===== + +These instructions apply to all models of the Raspberry Pi: + - the original models A and B, + - the "enhanced" models A+ and B+, + - the model B2 (aka Raspberry Pi 2). + +To be able to use your Raspberry Pi board with the images generated by +Buildroot, you have to choose whether you will use: + + * Volatile rootfs in RAM (the rootfs is an initramfs) or + * Persistent rootfs on the SDCard + +Also, a good source of information is http://elinux.org/R-Pi_Hub + +How to build it +=============== + +Configure Buildroot +------------------- + +The raspberrypi_defconfig configuration is a minimal configuration with +all that is required to bring the Raspberry Pi up. You should base your +work on this defconfig: + + $ make raspberrypi_defconfig + +Alternatively, if you want to test support for the Device Tree: + + $ make raspberrypi_dt_defconfig + +For Raspberry Pi 2 use a different defconfig: + + $ make raspberrypi2_defconfig + +If you want to use a persistent rootfs, skip to "Build the rootfs", below. + +For a volatile rootfs, you have to slightly adjust the configuration: + + $ make menuconfig + * Select "Filesystem images" + * Select "initial RAM filesystem linked into linux kernel" + +You may also deselect "tar the root filesystem". + +Build the rootfs +---------------- + +Note: you will need to have access to the network, since Buildroot will +download the packages' sources. + +You may now build your rootfs with: + + $ make + +(This may take a while; consider getting yourself a coffee ;-) ) + +Result of the build +------------------- + +After building, you should obtain this tree: + + output/images/ + +-- rootfs.tar [0] + +-- rpi-firmware/ + | +-- bcm2708-rpi-b.dtb + | +-- bcm2708-rpi-b-plus.dtb + | +-- bcm2709-rpi-2-b.dtb + | +-- bootcode.bin + | +-- config.txt + | +-- fixup.dat + | `-- start.elf + `-- zImage + +[0] Note for Volatile: rootfs.tar will only be there if you kept + "tar the root filesystem" option selected in "Filesystem images". + +Prepare you SDCard +================== + +For more information, visit +http://elinux.org/RPi_Advanced_Setup#Advanced_SD_card_setup + +In summary, your SDCard must have first partition in fat32 and marked bootable. + +Create the required partitions: + - for a persistent rootfs, 10MiB is enough memory for the boot fat32 + partition, and a second partition is required for the root filesystem + - for a volatile rootfs, 50MiB is required for the boot fat32 partition + +Note: You can create any number of partitions you desire, the only requirement +is that the first partition must be using fat32 and be bootable. + +Mount the partitions (adjust 'sdX' to match your SDcard device): + + $ sudo mount /dev/sdX1 /mnt/mountpointboot + $ sudo mount /dev/sdX2 /mnt/mountpointroot (only for persistent rootfs) + +Install the binaries to the SDCard +---------------------------------- + +At the root of the boot partition, the Raspberry Pi must find the following +files: + + * bcm2708-rpi-b.dtb [1] + * bcm2708-rpi-b-plus.dtb [2] + * bcm2709-rpi-2-b.dtb [3] + * bootcode.bin + * config.txt + * fixup.dat + * start.elf + * zImage + +[1] For models A and B +[2] For models A+ and B+ +[3] For model 2 + +For example: + + $ cp output/images/rpi-firmware/* /mnt/mountpointboot + +If your kernel does *not* have support for the Device Tree, then install +it with: + + $ cp output/images/zImage /mnt/mountpointboot + +If your kernel *does* have support for the Device Tree, then install it +with: + + $ ./output/host/usr/bin/mkknlimg output/images/zImage /mnt/mountpointboot/zImage + +Note: The kernel image file name is defined in config.txt like this: +kernel=zImage + +If you use a volatile rootfs, Skip to "Finish", below. For a persistent +rootfs, there are further steps to do. + +Extract (as root!) the contents of the rootfs.tar archive into the second +partition you created above: + + $ sudo tar xf ./output/images/rootfs.tar -C /mnt/mountpointroot + +Finish +====== + +Unmount all the partitions: + + $ sudo umount /mnt/mountpointboot + $ sudo umount /mnt/mountpointroot (only for persistent rootfs) + +And eject your SDcard from your computer SDcard reader. + +Insert the SDcard into your Raspberry Pi, and power it up. Your new system +should come up, now.