-
Notifications
You must be signed in to change notification settings - Fork 1
/
README-SDCard-write
69 lines (59 loc) · 3.43 KB
/
README-SDCard-write
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
This folder contains a collection of scripts to write images to (SD)cards. A
simple GUI was implemented to make selections easy. This GUI is based on
'dialog' [1] which should be part of common packages in most distros.
There are three type of scripts:
1. card-part: This type of scripts create partitions on the card as the
bootloaders expect them. This type of scripts are necessary only for
machines whose board support layer still builds images in 'old-school'
way e.g rootfs as *.tar.bz2).
2. card-write: This type of scripts write complete images (bootloader/
devicetrees/kernel/rootfs) onto card.
Machine defaults can be overriden by setting variables
'Machine' / 'FindString' - see include/card-helpers.inc
function StartCardWrite.
3. card-kernel-write: This family of scripts just overwrites kernel, devicetrees
and kernel modules on cards with image installed.
These scripts are very helpful for testing kernel/devicetree modifications
or just for updating kernel on precious (precious=many settings applied /
full of userdata) images.
Machine defaults can be overriden by setting variables
'Machine' / 'KernelImageType' / 'FindString' - see include/card-helpers.inc
function StartCardKernelWrite.
To reduce the GUI-dialogs displayed or avoid them completely all scripts can be
called with the following parameters
1. Card device path e.g '/dev/sdc'
2. Source file to be written (either rootfs or kernel link with abiversion)
3. su / sudo selection: Pass '1' for su or '2' for sudo
Script structure:
1. include/*helper.inc: These script snippets are included by other scripts and
contain useful functions to be re-used by other scripts.
2. include/machine-*.inc: All machine specific definitions and function
overrides are found in these files.
The following variables should be set within them:
* DEFAULT_MACHINE_FAMILY: This variable is used to find machine specific
deploy-dir containing kernel/rootfs...
o Example contents are: '*imx*' / 'raspberrypi*'.
o Defaults can be overriden by calling scripts with:
Machine=<override> <script>
* DEFAULT_FIND_ROOTFS: This string is passed to the call of 'find' and
reduces find result for file selection dialog on files containing rootfs
only.
o Example contents: '-name *.rpi-sdimg -type l' / 'raspberrypi*'.
o Defaults can be overriden by calling card-write scripts with:
FindString=<override> <script>
* DEFAULT_KERNEL_IMAGE_TYPE: This variable is mandatory to be set for
operating card-kernel script. The value depends on the kernel image format
machine's board support package prefers.
o Example contents: 'Image' / 'uImage' / 'zImage'.
o Defaults can be overriden by overwriting value after including
machine-*.inc - see ti-old-omap-card-kernel-write-overo.sh
3. <soc>-card-<operation>[-board].sh: These are the scripts to be executed.
They typically just contain necessary includes and one call for desired
operation: StartCardWrite / StartCardKernelWrite. Sligly tailored variants
are found in ti-old-omap-card-part.sh / ti-old-omap-card-kernel-write-overo.sh
Howto create scripts for other socs/machines:
1. Read above
2. Create a machine/soc header include/machine-<your-machine>.inc containing
variables for defaults and function overrides.
3. Create <soc>-card-<operation>[-board].sh scripts which include necessary
scripts and call either StartCardWrite or StartCardKernelWrite