Add README

This commit is contained in:
notplants 2021-01-26 17:08:10 +01:00
parent f20223c36b
commit 6fb086be6b
2 changed files with 107 additions and 101 deletions

105
README.md
View File

@ -1,103 +1,6 @@
# Raspberry Pi image specs
This is a fork of https://salsa.debian.org/raspi-team/image-specs/-/tree/master
This repository contains the files with which the images referenced at
https://wiki.debian.org/RaspberryPiImages have been built.
been playing around with using their vmdb2 specfile to build debian image for raspberry pi,
as a starting point for building the peach image
## Option 1: Downloading an image
See https://wiki.debian.org/RaspberryPiImages for where to obtain the
latest pre-built image.
## Option 2: Building your own image
If you prefer, you can build a Debian buster Raspberry Pi image
yourself. If you are reading this document online, you should first
clone this repository:
```shell
git clone --recursive https://salsa.debian.org/raspi-team/image-specs.git
cd image-specs
```
For this you will first need to install the following packages on a
Debian Buster (10) or higher system:
* vmdb2 (>= 0.17)
* dosfstools
* binfmt-support
* qemu-user-static
* time
* kpartx
To install these (as root):
```shell
apt install -y vmdb2 dosfstools qemu-user-static binfmt-support time kpartx
```
Do note that at least currently vmdb2 uses some syntax that is available
only in the version in testing (Bullseye).
If debootstrap still fails with exec format error, try
running `dpkg-reconfigure qemi-user-static`. This calls
`/var/lib/dpkg/info/qemu-user-static.postinst` which uses binfmt-support
to register the executable format with /usr/bin/qemu-$fmt-static
This repository includes a master YAML recipe (which is basically a
configuration file) for all of the generated images, diverting as
little as possible in a parametrized way. The master recipe is
[raspi_master.yaml](raspi_master.yaml).
A Makefile is supplied to drive the build of the recipes into images —
`raspi_0w` (for the Raspberry Pi 0, 0w and 1, models A and B),
`raspi_2` (for the Raspberry Pi 2, models A and B), `raspi_3`
(for all models of the Raspberry Pi 3), and `raspi_4` (for all
models of the Raspberry Pi 4). Some portions of building the image
will require root privileges, the you'll need to execute *make*
below as root. That being said, if you want to build the
default image for a Raspberry Pi 3B+, you can just issue:
```shell
make raspi_3.img
```
You might also want to edit them to customize the built image. If you
want to start from the platform-specific recipe, you can issue:
```shell
make raspi_3.yaml
```
The recipe drives [vmdb2](https://vmdb2.liw.fi/), the successor to
`vmdebootstrap`. Please refer to [its
documentation](https://vmdb2.liw.fi/documentation/) for further
details; it is quite an easy format to understand.
Copy the generated file to a name descriptive enough for you (say,
`my_raspi.yaml`). Once you have edited the recipe for your specific
needs, you can generate the image by issuing the following (as root):
```shell
vmdb2 --rootfs-tarball=my_raspi.tar.gz --output \
my_raspi.img my_raspi.yaml --log my_raspi.log
```
This is, just follow what is done by the `_build_img` target of the Makefile.
## Installing the image onto the Raspberry Pi
Plug an SD card which you would like to entirely overwrite into your SD card reader.
Assuming your SD card reader provides the device `/dev/mmcblk0`
(**Beware** If you choose the wrong device, you might overwrite
important parts of your system. Double check it's the correct
device!), copy the image onto the SD card:
```shell
sudo dd if=raspi_3.img of=/dev/mmcblk0 bs=64k oflag=dsync status=progress
```
Then, plug the SD card into the Raspberry Pi, and power it up.
The image uses the hostname `rpi0w`, `rpi2`, `rpi3`, or `rpi4` depending on the
target build. The provided image will allow you to log in with the
`root` account with no password set, but only logging in at the
physical console (be it serial or by USB keyboard and HDMI monitor).
not sure this is the best way yet, but its working

103
original-reamde.md Normal file
View File

@ -0,0 +1,103 @@
# Raspberry Pi image specs
This repository contains the files with which the images referenced at
https://wiki.debian.org/RaspberryPiImages have been built.
## Option 1: Downloading an image
See https://wiki.debian.org/RaspberryPiImages for where to obtain the
latest pre-built image.
## Option 2: Building your own image
If you prefer, you can build a Debian buster Raspberry Pi image
yourself. If you are reading this document online, you should first
clone this repository:
```shell
git clone --recursive https://salsa.debian.org/raspi-team/image-specs.git
cd image-specs
```
For this you will first need to install the following packages on a
Debian Buster (10) or higher system:
* vmdb2 (>= 0.17)
* dosfstools
* binfmt-support
* qemu-user-static
* time
* kpartx
To install these (as root):
```shell
apt install -y vmdb2 dosfstools qemu-user-static binfmt-support time kpartx
```
Do note that at least currently vmdb2 uses some syntax that is available
only in the version in testing (Bullseye).
If debootstrap still fails with exec format error, try
running `dpkg-reconfigure qemi-user-static`. This calls
`/var/lib/dpkg/info/qemu-user-static.postinst` which uses binfmt-support
to register the executable format with /usr/bin/qemu-$fmt-static
This repository includes a master YAML recipe (which is basically a
configuration file) for all of the generated images, diverting as
little as possible in a parametrized way. The master recipe is
[raspi_master.yaml](raspi_master.yaml).
A Makefile is supplied to drive the build of the recipes into images —
`raspi_0w` (for the Raspberry Pi 0, 0w and 1, models A and B),
`raspi_2` (for the Raspberry Pi 2, models A and B), `raspi_3`
(for all models of the Raspberry Pi 3), and `raspi_4` (for all
models of the Raspberry Pi 4). Some portions of building the image
will require root privileges, the you'll need to execute *make*
below as root. That being said, if you want to build the
default image for a Raspberry Pi 3B+, you can just issue:
```shell
make raspi_3.img
```
You might also want to edit them to customize the built image. If you
want to start from the platform-specific recipe, you can issue:
```shell
make raspi_3.yaml
```
The recipe drives [vmdb2](https://vmdb2.liw.fi/), the successor to
`vmdebootstrap`. Please refer to [its
documentation](https://vmdb2.liw.fi/documentation/) for further
details; it is quite an easy format to understand.
Copy the generated file to a name descriptive enough for you (say,
`my_raspi.yaml`). Once you have edited the recipe for your specific
needs, you can generate the image by issuing the following (as root):
```shell
vmdb2 --rootfs-tarball=my_raspi.tar.gz --output \
my_raspi.img my_raspi.yaml --log my_raspi.log
```
This is, just follow what is done by the `_build_img` target of the Makefile.
## Installing the image onto the Raspberry Pi
Plug an SD card which you would like to entirely overwrite into your SD card reader.
Assuming your SD card reader provides the device `/dev/mmcblk0`
(**Beware** If you choose the wrong device, you might overwrite
important parts of your system. Double check it's the correct
device!), copy the image onto the SD card:
```shell
sudo dd if=raspi_3.img of=/dev/mmcblk0 bs=64k oflag=dsync status=progress
```
Then, plug the SD card into the Raspberry Pi, and power it up.
The image uses the hostname `rpi0w`, `rpi2`, `rpi3`, or `rpi4` depending on the
target build. The provided image will allow you to log in with the
`root` account with no password set, but only logging in at the
physical console (be it serial or by USB keyboard and HDMI monitor).