├── README.md
├── boot
└── COPYING.linux
└── debian
├── changelog
├── compat
├── control
├── copyright
├── gen_bootloader_postinst_preinst.sh
├── postinst
├── postrm
├── raspberrypi-kernel-headers.install
├── raspberrypi-kernel.install
├── rules
├── source
└── format
└── update.sh
/README.md:
--------------------------------------------------------------------------------
1 |
2 | We have moved to GitLab! Read this for more information.
3 |
4 | We have recently moved our repositories to GitLab. You can find kernelbakery
5 | here: https://gitlab.com/revolutionpi/kernelbakery
6 | All repositories on GitHub will stay up-to-date by being synchronised from
7 | GitLab.
8 |
9 | We still maintain a presence on GitHub but our work happens over at GitLab. If
10 | you want to contribute to any of our projects we would prefer this contribution
11 | to happen on GitLab, but we also still accept contributions on GitHub if you
12 | prefer that.
13 |
14 |
15 | # Revolution Pi Kernelbakery
16 |
17 | This is a fork of the repository used by the Foundation to build kernel and
18 | firmware packages for the Raspberry Pi: https://github.com/RPi-Distro/firmware
19 |
20 | We use it to build kernels for the Revolution Pi and are providing it here
21 | as a service to our users to allow building custom kernels. The resulting
22 | deb packages serve as drop-in replacements for the Foundation's packages.
23 | Installation with deb packages is cleaner than just copying the kernel and
24 | modules to the bare filesystem.
25 |
26 | Unfortunately the Foundation's repo is huge (currently 5 GByte) as it includes
27 | all their kernels and modules in binary form dating back to 2012. That's why
28 | this repo was stripped of the git history as well as files which can be rebuilt
29 | from the kernel source tree.
30 |
31 | # Intended usage
32 |
33 | This procedure was tested successfully on Debian buster amd64, but YMMV.
34 | Building the kernel with update.sh is idempotent. If it fails, e.g. due to
35 | compiler errors in piControl, just start it afresh. You are also welcome to
36 | ask your questions in our community forum: https://revolutionpi.de/forum/
37 |
38 | Note that since bullseye armv6 is no longer officially supported and is thus
39 | disabled by default.
40 |
41 | ## Install build tools
42 |
43 | ```
44 | apt-get install device-tree-compiler
45 | apt-get install build-essential:native debhelper quilt bc
46 | apt-get install bison flex libssl-dev rsync git
47 | ```
48 |
49 | In addition a cross-compiler needs to be installed. The package depends on
50 | the desired target architecture of the kernel:
51 |
52 | **Packages for 32-bit kernel builds (v6 / v7 / v7l):**
53 |
54 | ```
55 | apt-get install gcc-arm-linux-gnueabihf
56 | ```
57 |
58 | **Packages for 64-bit kernel builds (v8):**
59 |
60 | ```
61 | apt-get install gcc-aarch64-linux-gnu
62 | ```
63 |
64 | ## Get source code
65 |
66 | > **NOTE:** The repositories are cloned with truncated history, in order to
67 | make fetching faster. If you need the full history, remove `--depth 1`
68 | from the git commands.
69 |
70 | ```
71 | git clone --depth 1 -b revpi-6.1 https://github.com/RevolutionPi/linux
72 | git clone --depth 1 -b master https://github.com/RevolutionPi/piControl
73 | git clone --depth 1 -b master https://github.com/RevolutionPi/kernelbakery
74 | ```
75 |
76 | ## Build kernel and packages
77 |
78 | The 32-bit kernel runs on all Revolution Pi devices and is shipped with our
79 | official images. As an alternative a 64-bit kernel can be built, which also
80 | runs on all Revolution Pi devices with the exception of the first Core devices
81 | (based on first generation of Raspberry Pi Compute Module).
82 |
83 | ### Build 32-bit kernel (v6 / v7 / v7l)
84 |
85 | ```
86 | cd kernelbakery
87 | LINUXDIR=$PWD/../linux PIKERNELMODDIR=$PWD/../piControl debian/update.sh
88 | dpkg-buildpackage -a armhf -b -us -uc
89 | ```
90 |
91 | > **NOTE:** The source layout of the piControl repository changed after
92 | > `raspberrypi-kernel_1%9.20240205+1-6.1.46-1-revpi11+1` and the sources
93 | > files have been moved to the `src/` folder. Make sure to use the
94 | > correct `PIKERNELMODDIR`!
95 |
96 | To build the kernel for armv6, add `-a armv6`.
97 |
98 | ### Build 64-bit kernel (v8)
99 |
100 | ```
101 | cd kernelbakery
102 | ARCH=arm64 LINUXDIR=$PWD/../linux PIKERNELMODDIR=$PWD/../piControl debian/update.sh
103 | dpkg-buildpackage -a arm64 -b -us -uc
104 | ```
105 |
106 | > **NOTE:** The source layout of the piControl repository changed after
107 | > `raspberrypi-kernel_1%9.20240205+1-6.1.46-1-revpi11+1` and the sources
108 | > files have been moved to the `src/` folder. Make sure to use the
109 | > correct `PIKERNELMODDIR`!
110 |
--------------------------------------------------------------------------------
/boot/COPYING.linux:
--------------------------------------------------------------------------------
1 |
2 | NOTE! This copyright does *not* cover user programs that use kernel
3 | services by normal system calls - this is merely considered normal use
4 | of the kernel, and does *not* fall under the heading of "derived work".
5 | Also note that the GPL below is copyrighted by the Free Software
6 | Foundation, but the instance of code that it refers to (the Linux
7 | kernel) is copyrighted by me and others who actually wrote it.
8 |
9 | Also note that the only valid version of the GPL as far as the kernel
10 | is concerned is _this_ particular version of the license (ie v2, not
11 | v2.2 or v3.x or whatever), unless explicitly otherwise stated.
12 |
13 | Linus Torvalds
14 |
15 | ----------------------------------------
16 |
17 | GNU GENERAL PUBLIC LICENSE
18 | Version 2, June 1991
19 |
20 | Copyright (C) 1989, 1991 Free Software Foundation, Inc.
21 | 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 | Everyone is permitted to copy and distribute verbatim copies
23 | of this license document, but changing it is not allowed.
24 |
25 | Preamble
26 |
27 | The licenses for most software are designed to take away your
28 | freedom to share and change it. By contrast, the GNU General Public
29 | License is intended to guarantee your freedom to share and change free
30 | software--to make sure the software is free for all its users. This
31 | General Public License applies to most of the Free Software
32 | Foundation's software and to any other program whose authors commit to
33 | using it. (Some other Free Software Foundation software is covered by
34 | the GNU Library General Public License instead.) You can apply it to
35 | your programs, too.
36 |
37 | When we speak of free software, we are referring to freedom, not
38 | price. Our General Public Licenses are designed to make sure that you
39 | have the freedom to distribute copies of free software (and charge for
40 | this service if you wish), that you receive source code or can get it
41 | if you want it, that you can change the software or use pieces of it
42 | in new free programs; and that you know you can do these things.
43 |
44 | To protect your rights, we need to make restrictions that forbid
45 | anyone to deny you these rights or to ask you to surrender the rights.
46 | These restrictions translate to certain responsibilities for you if you
47 | distribute copies of the software, or if you modify it.
48 |
49 | For example, if you distribute copies of such a program, whether
50 | gratis or for a fee, you must give the recipients all the rights that
51 | you have. You must make sure that they, too, receive or can get the
52 | source code. And you must show them these terms so they know their
53 | rights.
54 |
55 | We protect your rights with two steps: (1) copyright the software, and
56 | (2) offer you this license which gives you legal permission to copy,
57 | distribute and/or modify the software.
58 |
59 | Also, for each author's protection and ours, we want to make certain
60 | that everyone understands that there is no warranty for this free
61 | software. If the software is modified by someone else and passed on, we
62 | want its recipients to know that what they have is not the original, so
63 | that any problems introduced by others will not reflect on the original
64 | authors' reputations.
65 |
66 | Finally, any free program is threatened constantly by software
67 | patents. We wish to avoid the danger that redistributors of a free
68 | program will individually obtain patent licenses, in effect making the
69 | program proprietary. To prevent this, we have made it clear that any
70 | patent must be licensed for everyone's free use or not licensed at all.
71 |
72 | The precise terms and conditions for copying, distribution and
73 | modification follow.
74 |
75 | GNU GENERAL PUBLIC LICENSE
76 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
77 |
78 | 0. This License applies to any program or other work which contains
79 | a notice placed by the copyright holder saying it may be distributed
80 | under the terms of this General Public License. The "Program", below,
81 | refers to any such program or work, and a "work based on the Program"
82 | means either the Program or any derivative work under copyright law:
83 | that is to say, a work containing the Program or a portion of it,
84 | either verbatim or with modifications and/or translated into another
85 | language. (Hereinafter, translation is included without limitation in
86 | the term "modification".) Each licensee is addressed as "you".
87 |
88 | Activities other than copying, distribution and modification are not
89 | covered by this License; they are outside its scope. The act of
90 | running the Program is not restricted, and the output from the Program
91 | is covered only if its contents constitute a work based on the
92 | Program (independent of having been made by running the Program).
93 | Whether that is true depends on what the Program does.
94 |
95 | 1. You may copy and distribute verbatim copies of the Program's
96 | source code as you receive it, in any medium, provided that you
97 | conspicuously and appropriately publish on each copy an appropriate
98 | copyright notice and disclaimer of warranty; keep intact all the
99 | notices that refer to this License and to the absence of any warranty;
100 | and give any other recipients of the Program a copy of this License
101 | along with the Program.
102 |
103 | You may charge a fee for the physical act of transferring a copy, and
104 | you may at your option offer warranty protection in exchange for a fee.
105 |
106 | 2. You may modify your copy or copies of the Program or any portion
107 | of it, thus forming a work based on the Program, and copy and
108 | distribute such modifications or work under the terms of Section 1
109 | above, provided that you also meet all of these conditions:
110 |
111 | a) You must cause the modified files to carry prominent notices
112 | stating that you changed the files and the date of any change.
113 |
114 | b) You must cause any work that you distribute or publish, that in
115 | whole or in part contains or is derived from the Program or any
116 | part thereof, to be licensed as a whole at no charge to all third
117 | parties under the terms of this License.
118 |
119 | c) If the modified program normally reads commands interactively
120 | when run, you must cause it, when started running for such
121 | interactive use in the most ordinary way, to print or display an
122 | announcement including an appropriate copyright notice and a
123 | notice that there is no warranty (or else, saying that you provide
124 | a warranty) and that users may redistribute the program under
125 | these conditions, and telling the user how to view a copy of this
126 | License. (Exception: if the Program itself is interactive but
127 | does not normally print such an announcement, your work based on
128 | the Program is not required to print an announcement.)
129 |
130 | These requirements apply to the modified work as a whole. If
131 | identifiable sections of that work are not derived from the Program,
132 | and can be reasonably considered independent and separate works in
133 | themselves, then this License, and its terms, do not apply to those
134 | sections when you distribute them as separate works. But when you
135 | distribute the same sections as part of a whole which is a work based
136 | on the Program, the distribution of the whole must be on the terms of
137 | this License, whose permissions for other licensees extend to the
138 | entire whole, and thus to each and every part regardless of who wrote it.
139 |
140 | Thus, it is not the intent of this section to claim rights or contest
141 | your rights to work written entirely by you; rather, the intent is to
142 | exercise the right to control the distribution of derivative or
143 | collective works based on the Program.
144 |
145 | In addition, mere aggregation of another work not based on the Program
146 | with the Program (or with a work based on the Program) on a volume of
147 | a storage or distribution medium does not bring the other work under
148 | the scope of this License.
149 |
150 | 3. You may copy and distribute the Program (or a work based on it,
151 | under Section 2) in object code or executable form under the terms of
152 | Sections 1 and 2 above provided that you also do one of the following:
153 |
154 | a) Accompany it with the complete corresponding machine-readable
155 | source code, which must be distributed under the terms of Sections
156 | 1 and 2 above on a medium customarily used for software interchange; or,
157 |
158 | b) Accompany it with a written offer, valid for at least three
159 | years, to give any third party, for a charge no more than your
160 | cost of physically performing source distribution, a complete
161 | machine-readable copy of the corresponding source code, to be
162 | distributed under the terms of Sections 1 and 2 above on a medium
163 | customarily used for software interchange; or,
164 |
165 | c) Accompany it with the information you received as to the offer
166 | to distribute corresponding source code. (This alternative is
167 | allowed only for noncommercial distribution and only if you
168 | received the program in object code or executable form with such
169 | an offer, in accord with Subsection b above.)
170 |
171 | The source code for a work means the preferred form of the work for
172 | making modifications to it. For an executable work, complete source
173 | code means all the source code for all modules it contains, plus any
174 | associated interface definition files, plus the scripts used to
175 | control compilation and installation of the executable. However, as a
176 | special exception, the source code distributed need not include
177 | anything that is normally distributed (in either source or binary
178 | form) with the major components (compiler, kernel, and so on) of the
179 | operating system on which the executable runs, unless that component
180 | itself accompanies the executable.
181 |
182 | If distribution of executable or object code is made by offering
183 | access to copy from a designated place, then offering equivalent
184 | access to copy the source code from the same place counts as
185 | distribution of the source code, even though third parties are not
186 | compelled to copy the source along with the object code.
187 |
188 | 4. You may not copy, modify, sublicense, or distribute the Program
189 | except as expressly provided under this License. Any attempt
190 | otherwise to copy, modify, sublicense or distribute the Program is
191 | void, and will automatically terminate your rights under this License.
192 | However, parties who have received copies, or rights, from you under
193 | this License will not have their licenses terminated so long as such
194 | parties remain in full compliance.
195 |
196 | 5. You are not required to accept this License, since you have not
197 | signed it. However, nothing else grants you permission to modify or
198 | distribute the Program or its derivative works. These actions are
199 | prohibited by law if you do not accept this License. Therefore, by
200 | modifying or distributing the Program (or any work based on the
201 | Program), you indicate your acceptance of this License to do so, and
202 | all its terms and conditions for copying, distributing or modifying
203 | the Program or works based on it.
204 |
205 | 6. Each time you redistribute the Program (or any work based on the
206 | Program), the recipient automatically receives a license from the
207 | original licensor to copy, distribute or modify the Program subject to
208 | these terms and conditions. You may not impose any further
209 | restrictions on the recipients' exercise of the rights granted herein.
210 | You are not responsible for enforcing compliance by third parties to
211 | this License.
212 |
213 | 7. If, as a consequence of a court judgment or allegation of patent
214 | infringement or for any other reason (not limited to patent issues),
215 | conditions are imposed on you (whether by court order, agreement or
216 | otherwise) that contradict the conditions of this License, they do not
217 | excuse you from the conditions of this License. If you cannot
218 | distribute so as to satisfy simultaneously your obligations under this
219 | License and any other pertinent obligations, then as a consequence you
220 | may not distribute the Program at all. For example, if a patent
221 | license would not permit royalty-free redistribution of the Program by
222 | all those who receive copies directly or indirectly through you, then
223 | the only way you could satisfy both it and this License would be to
224 | refrain entirely from distribution of the Program.
225 |
226 | If any portion of this section is held invalid or unenforceable under
227 | any particular circumstance, the balance of the section is intended to
228 | apply and the section as a whole is intended to apply in other
229 | circumstances.
230 |
231 | It is not the purpose of this section to induce you to infringe any
232 | patents or other property right claims or to contest validity of any
233 | such claims; this section has the sole purpose of protecting the
234 | integrity of the free software distribution system, which is
235 | implemented by public license practices. Many people have made
236 | generous contributions to the wide range of software distributed
237 | through that system in reliance on consistent application of that
238 | system; it is up to the author/donor to decide if he or she is willing
239 | to distribute software through any other system and a licensee cannot
240 | impose that choice.
241 |
242 | This section is intended to make thoroughly clear what is believed to
243 | be a consequence of the rest of this License.
244 |
245 | 8. If the distribution and/or use of the Program is restricted in
246 | certain countries either by patents or by copyrighted interfaces, the
247 | original copyright holder who places the Program under this License
248 | may add an explicit geographical distribution limitation excluding
249 | those countries, so that distribution is permitted only in or among
250 | countries not thus excluded. In such case, this License incorporates
251 | the limitation as if written in the body of this License.
252 |
253 | 9. The Free Software Foundation may publish revised and/or new versions
254 | of the General Public License from time to time. Such new versions will
255 | be similar in spirit to the present version, but may differ in detail to
256 | address new problems or concerns.
257 |
258 | Each version is given a distinguishing version number. If the Program
259 | specifies a version number of this License which applies to it and "any
260 | later version", you have the option of following the terms and conditions
261 | either of that version or of any later version published by the Free
262 | Software Foundation. If the Program does not specify a version number of
263 | this License, you may choose any version ever published by the Free Software
264 | Foundation.
265 |
266 | 10. If you wish to incorporate parts of the Program into other free
267 | programs whose distribution conditions are different, write to the author
268 | to ask for permission. For software which is copyrighted by the Free
269 | Software Foundation, write to the Free Software Foundation; we sometimes
270 | make exceptions for this. Our decision will be guided by the two goals
271 | of preserving the free status of all derivatives of our free software and
272 | of promoting the sharing and reuse of software generally.
273 |
274 | NO WARRANTY
275 |
276 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
277 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
278 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
279 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
280 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
281 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
282 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
283 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
284 | REPAIR OR CORRECTION.
285 |
286 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
287 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
288 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
289 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
290 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
291 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
292 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
293 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
294 | POSSIBILITY OF SUCH DAMAGES.
295 |
296 | END OF TERMS AND CONDITIONS
297 |
298 | How to Apply These Terms to Your New Programs
299 |
300 | If you develop a new program, and you want it to be of the greatest
301 | possible use to the public, the best way to achieve this is to make it
302 | free software which everyone can redistribute and change under these terms.
303 |
304 | To do so, attach the following notices to the program. It is safest
305 | to attach them to the start of each source file to most effectively
306 | convey the exclusion of warranty; and each file should have at least
307 | the "copyright" line and a pointer to where the full notice is found.
308 |
309 |
310 | Copyright (C)
311 |
312 | This program is free software; you can redistribute it and/or modify
313 | it under the terms of the GNU General Public License as published by
314 | the Free Software Foundation; either version 2 of the License, or
315 | (at your option) any later version.
316 |
317 | This program is distributed in the hope that it will be useful,
318 | but WITHOUT ANY WARRANTY; without even the implied warranty of
319 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
320 | GNU General Public License for more details.
321 |
322 | You should have received a copy of the GNU General Public License
323 | along with this program; if not, write to the Free Software
324 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
325 |
326 |
327 | Also add information on how to contact you by electronic and paper mail.
328 |
329 | If the program is interactive, make it output a short notice like this
330 | when it starts in an interactive mode:
331 |
332 | Gnomovision version 69, Copyright (C) year name of author
333 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
334 | This is free software, and you are welcome to redistribute it
335 | under certain conditions; type `show c' for details.
336 |
337 | The hypothetical commands `show w' and `show c' should show the appropriate
338 | parts of the General Public License. Of course, the commands you use may
339 | be called something other than `show w' and `show c'; they could even be
340 | mouse-clicks or menu items--whatever suits your program.
341 |
342 | You should also get your employer (if you work as a programmer) or your
343 | school, if any, to sign a "copyright disclaimer" for the program, if
344 | necessary. Here is a sample; alter the names:
345 |
346 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program
347 | `Gnomovision' (which makes passes at compilers) written by James Hacker.
348 |
349 | , 1 April 1989
350 | Ty Coon, President of Vice
351 |
352 | This General Public License does not permit incorporating your program into
353 | proprietary programs. If your program is a subroutine library, you may
354 | consider it more useful to permit linking proprietary applications with the
355 | library. If this is what you want to do, use the GNU Library General
356 | Public License instead of this License.
357 |
--------------------------------------------------------------------------------
/debian/changelog:
--------------------------------------------------------------------------------
1 | raspberrypi-firmware (1:9.20250422+1-6.1.134-1) UNRELEASED; urgency=medium
2 |
3 | [Linux kernel changelog]
4 | * Upgrade to Linux 6.1.134-rt51
5 | * pibridge-serdev: add missing bracket
6 | * pibridge-serdev: swap crc in debug message
7 | * pibridge-serdev: add sysfs entry to reset stats counters
8 | * pibridge-serdev: Fix driver attribute naming scheme
9 | * pibridge-serdev: introduce error counter for remotely detected errors
10 | * pibridge-serdev: change evaluation order for io frames
11 | * pibridge-serdev: change evaluation order for gate frames
12 | * pibridge-serdev: Make error counters more consistent
13 |
14 | [picontrol changelog]
15 | * Release v2.3.5
16 | * piControl: Fix RevPi MQTT Client device type value
17 | * Release v2.3.4
18 | * compact: in cycle timer use completion instead of work queue
19 | * Retry if flash erase during firmware update failed
20 | * Return correct error code if memory allocation failed in piControlOpen
21 | * In piControlOpen() do not reset piControl
22 | * Make function waitRunning() static
23 | * Remove unused counter for open instances
24 | * Use lock to check pibridge state
25 |
26 | -- Lino Sanfilippo Tue, 22 Apr 2025 19:01:46 +0200
27 |
28 | raspberrypi-firmware (1:9.20250319+1-6.1.112-1) UNRELEASED; urgency=medium
29 |
30 | [picontrol changelog]
31 | * Release v2.3.3
32 | * Retry flash write also for legacy firmware update
33 | * Add missing include in piFirmwareUpdate.h
34 | * piConfig: return JSON_ERROR_NO_MEMORY on OOM
35 | * piControlMain: add missing va_end() call
36 | * compact: avoid leak in revpi_compact_adjust_config
37 | * Retry flash write at firmware update
38 | * Adjust return value in fwuWrite()
39 | * Do not try to stop kernel thread that does not exist
40 | * Rename COMM_ERROR_MAX to COMM_ERROR_LOG_LIMIT
41 | * Correct logic for error counter
42 |
43 | -- Lino Sanfilippo Wed, 19 Mar 2025 10:55:12 +0100
44 |
45 | raspberrypi-firmware (1:9.20250224+1-6.1.112-1) UNRELEASED; urgency=medium
46 |
47 | [Linux kernel changelog]
48 | * arm*/configs/revpi-*: Enable Dynamic Debugging support in kernel
49 | * pibridge-serdev: increase statistics counters
50 | * pibridge-serdev: Use dynamic debug messages instead of warnings
51 | * pibridge-serdev: provide sysfs entries for statistics
52 | * pibridge-serdev: Add structure for statistics counters
53 |
54 | [picontrol changelog]
55 | * Release v2.3.2
56 | * At piControl reset do not forget to store parsing results
57 | * Ignore failure of piConfigParse()
58 | * Do not stop RevPi module initialization in case of invalid module config
59 | * Do not return positive value in piControlInit()
60 | * piControl: use metric to print warnings in case of communication errors
61 | * piControl: make counter of cycle numbers globally available
62 | * piControl: Use dynamic debug messages instead of warnings
63 | * Evaluate return value of piConfigParse()
64 | * Do not ignore the return value of config functions
65 | * piControl: avoid buffer overflow
66 | * Remove header and CRC from SDioConfig struct
67 | * piControl: add sanity check for DIO counters
68 | * piControl: remove unneeded variable
69 | * piControl: Fix driver remove for kernel 6.11+
70 | * piControl: Move pibridge rt prio to revpi_core.c
71 | * piControl: Fix -Wmissing-prototypes errors
72 | * piControl: remove custom MIN and MAX macros and use kernel-provided macros
73 | * doc(README): update kernel header package
74 | * style(README): wrap on 80 characters
75 | * piControl: make padding explicit in structures
76 | * piControl: move code used only by kernel into extra header file
77 | * Release v2.3.1
78 | * piControl: Make gate log messages more useful
79 | * piControl: Drop gate packages if carrier is down
80 | * Release v2.3.0
81 | * piControl: Fix gigabit detection on PiBridge
82 | * piControl: Fix input length for Connect 5
83 | * piControl: remove unnecessary substates from state machine
84 | * piControl: add support for gigabit ethernet switch on PiBridge
85 | * piControl: Init PiBridge ethernet mode GPIOs on connect 5
86 | * piControl: add support for RevPi Connect 5
87 |
88 | -- Ramiro Gsponer Mon, 24 Feb 2025 10:16:00 +0100
89 |
90 | raspberrypi-firmware (1:9.20241109+1-6.1.112-1) UNRELEASED; urgency=medium
91 |
92 | [Linux kernel changelog]
93 | * iio: adc: mcp320x: Use workaround at AIN failure
94 | * pibridge-serdev: clear uninitialized fields in gateway datagram
95 | * arm: dts: revpi-flat-s-2022: Add overlay for dsa
96 | * serial: pl011: in RS485 tx path use usleep instead of delay
97 | * serial: pl011: temporarily release the ports lock for delays
98 | * serial: pl011: handle RS485 tx path in worker thread
99 | * pibridge-serdev: send datagrams in one
100 |
101 | [picontrol changelog]
102 | * piControl: Remove obsolete gateways
103 | * build: use ccflags-y instead of EXTRA_CFLAGS
104 | * build: remove spurious whitespace in Makefile
105 | * build: adhere to Kbuild doc for external module
106 | * build: Move Makefile from src/ to root
107 | * Release v2.2.1
108 | * piControl: Config tool is named PiCtory
109 | * Set base device serial from HAT eeprom
110 | * Use tabs for indention
111 | * ci: add REUSE lint job
112 | * reuse: make piControl REUSE compliant
113 | * Release v2.2.0
114 | * piControl: compact: create sysfs entry for lost cycles statistics
115 | * piControl: compact: use threshold for missed cycles warning
116 | * piControl: compact: reimplement sleep of cycle timer
117 | * piControl: compact: get rid of useless hrtimer_sleeper struct
118 | * piControl: fix device address handling in upload_firmware()
119 | * piControl: Add tracing for sniffpins
120 | * Use correct offset for gpiochip0 on flat
121 | * RevPi Generic PiBridge: Add new base device
122 | * Generic PiBridge Device: Add FW type id
123 | * Release piControl v2.1.3
124 | * Use picontrol_write_device_info to avoid duplicated code
125 | * Return info for address 0 with KB_GET_DEVICE_INFO
126 | * piControl: for firmware upload perform sanity checks as early as possible
127 | * piControl: rename element in picontrol_firmware_upload struct
128 | * piControl: set return value to 1 if firmware is already up to update
129 | * Fix typo in manpage
130 | * piControl: add padding bytes to picontrol_firmware_upload struct
131 |
132 | -- Ramiro Gsponer Sat, 09 Nov 2024 17:29:00 +0100
133 |
134 | raspberrypi-firmware (1:9.20240422+1-6.1.46-1) UNRELEASED; urgency=medium
135 |
136 | [picontrol changelog]
137 | * Release PiControl v2.1.2
138 | * Revert "piControl: remove useless io timer handling"
139 |
140 | -- Philipp Rosenberger Mon, 22 Apr 2024 08:37:46 +0200
141 |
142 | raspberrypi-firmware (1:9.20240418+1-6.1.46-1) UNRELEASED; urgency=medium
143 |
144 | [Linux kernel changelog]
145 | * wifi: mwifiex: fix uninitialized firmware_stat
146 | * wifi: mwifiex: add extra delay for firmware ready
147 |
148 | [picontrol changelog]
149 | * Release PiControl v2.1.1
150 | * piControl: flat: add delay between analog input data requests
151 |
152 | -- Philipp Rosenberger Thu, 18 Apr 2024 09:58:06 +0200
153 |
154 | raspberrypi-firmware (1:9.20240411+1-6.1.46-1) UNRELEASED; urgency=medium
155 |
156 | [Linux kernel changelog]
157 | * arm: dts: revpi-flat-s-2022: Use dwc2 usb
158 | * pibridge-serdev: return EIO instead of EBADMSG in case of incomplete data
159 | * net: ks8851: Fix TX stall caused by TX buffer overrun
160 | * CI: Allow checkpatch to fail without failing the whole pipeline
161 | * pibridge-serdev: add error and info messages at startup
162 | * arm: dts: revpi-compact: Fix boot output glitch
163 | * arm: dts: revpi-flat-s-2022: Disable wireless M-Bus by default
164 |
165 | [picontrol changelog]
166 | * Release PiControl v2.1.0
167 | * piControl: add new ioctl for firmware upload
168 | * fix: Add missing header pinconf-generic.h to revpi_core.c
169 | * README: Fix path in build instructions
170 | * piControl: bump module version to 2.0.0
171 | * piControl: remove compiletime.h
172 | * piControl: move source files into src directory
173 | * Configure a pull-down to Sniff2A pin
174 | * piControl: check for supported property instead of machine type
175 | * Get rid of the rpi firmware
176 | * Add header for of_device_id to revpi_core.c
177 | * Replace bcm2835_cpufreq_get_clock() with cpufreq_quick_get()
178 | * Add compat code for class_create as its API changed with 6.4
179 | * Make the dev pointer of the class.devnode() callback const
180 | * Remove compat code for Linux < 6.1
181 | * Remove the cpu thermal zone name from compat.h
182 | * Get rid of ktime_equal()
183 | * piControl: remove useless io timer handling
184 | * piControl: mio: clear last output values at reset
185 | * piControl: Add tracing for io-cycles
186 | * piControl: mio: Drop useless debug messages
187 | * Set rt prio for spi only on RevPi Core/Connect
188 | * Discover gateways by interface name
189 | * piControl: Drop RS-485 struct and macro definitions
190 | * piControl: Drop piIoComm_{recv,recv_timeout}()
191 | * piControl: Convert firmware update to kernel coding style
192 | * piControl: Drop RS-485 functions for firmware update
193 | * piControl: Migrate firmware update to pibridge library
194 | * piControl: Drop wrapper functions for firmware update
195 | * piControl: Fix fwuWrite() length check
196 | * piControl: fix userspace pointer access for KB_CONFIG_SEND ioctl
197 | * piControl: Fix kernel memory corruption by KB_CONFIG_SEND ioctl()
198 | * piControl: Fix MAX_TELEGRAM_DATA_SIZE off-by-one error
199 |
200 | -- Philipp Rosenberger Thu, 11 Apr 2024 09:27:51 +0200
201 |
202 | raspberrypi-firmware (1:9.20240205+1-6.1.46-1) UNRELEASED; urgency=medium
203 |
204 | [Linux kernel changelog]
205 | * arm: dts: revpi-flat-s-2022: Introduce device tree parameter to activate DSA
206 | * arm*/configs/revpi-*: Enable DSA support in kernel
207 | * arm: dts: revpi-flat-s-2022: Add DSA switch ports
208 | * arm: dts: revpi-flat-s-2022: Correct switch settings
209 | * dts/core-2022: ks8851 reset gpio is active low
210 |
211 | [picontrol changelog]
212 | * Adjust log level for various messages
213 | * piControl: flat: Do not request wrong GPIO for top button on flat S
214 | * Remove showPADS() debug function
215 | * MIO: Enable counter reset
216 | * Add documentation for the KB_RO_GET_COUNTER ioctl
217 |
218 | -- Lino Sanfilippo Mon, 5 Feb 2024 15:02:39 +0100
219 |
220 | raspberrypi-firmware (1:9.20231128+1-6.1.46-1) stable; urgency=medium
221 |
222 | [Linux kernel changelog]
223 | * pibridge-serdev: change datatype for data length in pibridge_send()
224 | * chore: Add move to GitLab to README
225 |
226 | [picontrol changelog]
227 | * Add ID of new MQTT client virtual device
228 | * Add ID of new OPC UA server virtual device
229 | * fix structure size for 64 bit machines
230 | * Remove unused header fwuFlashMain.h
231 | * Remove unused common_debug.h
232 | * Remove unused piIoComm_response_valid()
233 | * Fix IOPROTOCOL_MAXDATA_LENGTH off-by-one errors
234 | * Avoid leaking response of previous telegram to user space
235 | * mio: Return void in reset function
236 | * cleanup header includes
237 | * use packet attribute instead of header inclusion
238 | * use quotes instead of angle brackets for inclusion of local headers
239 | * implement KB_RO_GET_COUNTER telegram communication
240 | * piControl: Add support for RO module
241 | * fix inconsistent messages
242 | * fix macro misnomer
243 | * README: Replace github with gitlab
244 | * Drop cl->ent pointer check upon KB_SET_EXPORTED_OUTPUTS ioctl
245 | * Drop file pointer check upon KB_SET_EXPORTED_OUTPUTS ioctl
246 | * Return error code to user space
247 | * Remove orphaned code (KB_UPDATE_DEVICE_FIRMWARE)
248 | * Move check for virtual device into FWU_update
249 | * Don't update the base module
250 | * Don't report failure, when firmware is up to date
251 | * Add move to GitLab to README
252 |
253 | -- Lino Sanfilippo Tue, 28 Nov 2023 11:37:39 +0100
254 |
255 | raspberrypi-firmware (1:9.20231006+1-6.1.46-1) stable; urgency=medium
256 |
257 | [Linux kernel changelog]
258 | * Linux 6.1.46-rt13
259 | * Upgrade to Linux 6.1.46
260 | * Update RT patch to 6.1.46-rt13
261 | * New pibridge driver for piControl RS-485 communication
262 | * Refactor TPM reset on older RevPi Flat
263 | * Support TPM interrupt instead of polling
264 | [picontrol changelog]
265 | * Use kernel's pibridge driver for RS-485 communication
266 | * Recognize RO module
267 | * Fix piControl.h permissions
268 |
269 | -- Lukas Wunner Fri, 6 Oct 2023 14:29:11 +0200
270 |
271 | raspberrypi-firmware (1:9.20230926+1-5.10.152-1) stable; urgency=medium
272 |
273 | [Linux kernel changelog]
274 | * rtc: pcf2127: Disable time stamping support
275 | [picontrol changelog]
276 | * fix: Too long high pulse on the left ACK pin on Connect 4
277 |
278 | -- Philipp Rosenberger Tue, 26 Sep 2023 09:43:32 +0200
279 |
280 | raspberrypi-firmware (1:9.20230901+1-5.10.152-1) stable; urgency=medium
281 |
282 | [Linux kernel changelog]
283 | * xhci: Set DESI bits in ERDP register correctly
284 | * xhci: Clear EHB bit only at end of interrupt handler
285 | * CI: Use legacy piControl branch for snapshots
286 |
287 | -- Philipp Rosenberger Fri, 01 Sep 2023 09:28:40 +0200
288 |
289 | raspberrypi-firmware (1:9.20230720+1-5.10.152-1) stable; urgency=medium
290 |
291 | [Linux kernel changelog]
292 | * cfg80211: ship debian certificates as hex files
293 | * dts: core-se: Disable spi0
294 |
295 | [picontrol changelog]
296 | * Add README with basic build instructions
297 |
298 | -- Thomas Böhler Thu, 20 Jul 2023 11:34:42 +0200
299 |
300 | raspberrypi-firmware (1:9.20230627+1-5.10.152-1) stable; urgency=medium
301 |
302 | [Linux kernel changelog]
303 | * dts: connect4: Switch left sniff pins
304 |
305 | -- Philipp Rosenberger Tue, 27 Jun 2023 13:42:57 +0200
306 |
307 | raspberrypi-firmware (1:9.20230616+1-5.10.152-1) stable; urgency=medium
308 |
309 | [Linux kernel changelog]
310 | * dts: connect4: Correct fragment numbering
311 | * dts: connect4: Define HAT eeprom write protect pin
312 | * dts: connect4: Add debug UART 1 (TX only)
313 | * ARM: dts: revpi-connect4: Swap LED mode of SoC Ethernet
314 |
315 | [picontrol changelog]
316 | * Connect 4: Add digital output
317 | * Connect 4: Add support for digital input
318 | * Connect 4: Add RGB LED support
319 | * Rename SRevPiCoreImage to SRevPiProcessImage
320 | * Use gpiod_set_value_cansleep for sniff pins
321 | * Connect 4/Core SE/Connect SE: Don't set SPI prio
322 | * Connect 4: Use ttyAMA1 instead of ttyAMA0
323 | * Connect 4: Add new base device
324 | * Global flags for device features
325 | * piControl: increase priority of io-thread
326 | * Move piTest to separate repository
327 | * piTest: Add Connect 4 as known device
328 | * Connect 4: Add FW type description id
329 |
330 | -- Philipp Rosenberger Fri, 16 Jun 2023 08:48:18 +0200
331 |
332 | raspberrypi-firmware (1:9.20230425+1-5.10.152-2) stable; urgency=medium
333 |
334 | * Rebuild with correct KBUILD_BUILD_TIMESTAMP
335 |
336 | -- Philipp Rosenberger Thu, 27 Apr 2023 15:31:23 +0200
337 |
338 | raspberrypi-firmware (1:9.20230425+1-5.10.152-1) stable; urgency=medium
339 |
340 | [Linux kernel changelog]
341 | * net: phy: broadcom: Make LEDs 3+4 shadow LEDs 1+2
342 | * dts: connect4: Unify gpio mux settings for rs485 entry
343 | * dts: connect4: Add rs485 RTS active low property
344 | * dts: connect4: Use correct sniff pin order
345 | * ARM: dts: revpi-flat-s-2022: Use mainline driver for WiFi
346 | * arm*/configs/revpi-*: Enable PWRSEQ_SD8787 for Flat S 2022 WiFi
347 | * wifi: mwifiex: Support firmware hotfix version in GET_HW_SPEC responses
348 | * wifi: mwifiex: Support SD8978 chipset
349 | * wifi: mwifiex: Add missing compatible string for SD8787
350 | * mwifiex: Select firmware based on strapping
351 | * bcm2835-mmc: Honor return value of mmc_of_parse()
352 | * mmc: pwrseq_sd8787: Allow being built-in irrespective of dependencies
353 | * mmc: pwrseq: add wilc1000_sdio dependency for pwrseq_sd8787
354 | * arm64/configs/revpi-v8: Enable tasks stats
355 |
356 | [picontrol changelog]
357 | * Connect SE: Make led A3 usable via process image
358 | * Cleanup debianization
359 | * Add SPDX headers
360 | * Replace strncpy by snprintf
361 | * Fix gcc -Wformat= complaints
362 |
363 | -- Philipp Rosenberger Tue, 25 Apr 2023 14:11:24 +0200
364 |
365 | raspberrypi-firmware (1:9.20221118-5.10.152+revpi1) stable; urgency=medium
366 |
367 | [Linux kernel changelog]
368 | * Merge Linux 5.10.152-rt75
369 | * Upgrade to Linux 5.10.152
370 | * dts: Add dtoverlay for Connect 4
371 | * arm/dts: Add overlay for RevPi HAT EEPROMs
372 | * arm: dts: Add overlay for revpi flat 2022
373 | * arm: dts: flat: correct relais pin
374 | * ARM: dts: Enable USB by default on CM4S
375 | * dts: Add dt overlay for Core (cm1)
376 | * dts/dt-blob: Configure drive strength for pins on Core/connect
377 | * dts/dt-blob: Add configs of pin 0,1 for HATs on CM4S
378 | * dts/dt-blob: Add configs of pin 0,1 for HATs on CM3
379 | * dts: Add overlay to amend dt-blob from RPi
380 | * dts: Import from RPI as the base of revpi's dt-blob
381 | * arm64/configs/revpi-v8: Remove CONFIG_ANDROID
382 | * arm64/configs/revpi-v8: Remove CONFIG_MAX30102
383 | * arm64/configs/revpi-v8: Disable CONFIG_KVM
384 | * arm64/configs/revpi-v8: Add RevPi specific configuration
385 | * arm64/configs: Create revpi-v8_defconfig from bcm2711_defconfig
386 | * ARM64: dts: Add Zero 2 W and CM4S
387 |
388 | [picontrol changelog]
389 | * piControl: ensure setting I/O processing state is threadsafe
390 | * Fix format chars and casts for arm64 build
391 | * Print filename instead of address
392 | * Print serial device name instead of address
393 | * Allow optional arm64 build
394 |
395 | -- Zhi Han Fri, 18 Nov 2022 10:59:48 +0100
396 |
397 | raspberrypi-firmware (1:9.20220728-5.10.120+revpi1) stable; urgency=medium
398 |
399 | [Linux kernel changelog]
400 | * random: do not use jump labels before they are initialized
401 |
402 | -- Zhi Han Thu, 28 Jul 2022 10:27:11 +0200
403 |
404 | raspberrypi-firmware (1:9.20220727-5.10.120+revpi1) stable; urgency=medium
405 |
406 | [Linux kernel changelog]
407 | * Merge remote-tracking branch 'rpi/rpi-5.10.y' into revpi-5.10
408 | * Revert "tpm: fix reference counting for struct tpm_chip"
409 | * dts: Add RevPi Core SE (2022) overlay
410 | * dts: Add RevPi Core S (2022) overlay
411 | * dts/core-2022: Add revpi-core compatible
412 | * dts/revpi-flat: Add WLAN enable
413 | * dts: Add RevPi Core 3/3+ (2022) overlay
414 | * dts/core: Add comment for the spi-max-frequency
415 | * net: phy: smsc: Disable Energy Detect Power-Down in interrupt mode
416 | * Linux 5.10.120-rt70
417 | * Upgrade to Linux 5.10.120
418 |
419 | [picontrol changelog]
420 | * piControl: protect UPDATE_DEVICE_FIRMWARE against concurrent RESET ioctl
421 | * piControl: protect INTERN_SET_SERIAL_NUM against concurrent RESET ioctl
422 | * piControl: protect internal states agains RESET
423 | * piControl: Introduce mutex to protect against resets
424 | * Delete stale comment
425 | * piControl: Add Support for Core SE
426 | * piControl: Add support for Connect SE
427 | * piControl: support connect se compatible
428 |
429 | -- Zhi Han Wed, 27 Jul 2022 08:59:53 +0200
430 |
431 | raspberrypi-firmware (1:9.20220524-5.10.103+revpi1) stable; urgency=medium
432 |
433 | [Linux kernel changelog]
434 | * dts/revpi-*: Switch to dwc2 USB driver
435 |
436 | -- Philipp Rosenberger Tue, 24 May 2022 13:32:16 +0200
437 |
438 | raspberrypi-firmware (1:9.20220502-5.10.103+revpi1) stable; urgency=medium
439 |
440 | [Linux kernel changelog]
441 | * dts/core: Fix typo in the spi0 fragment
442 |
443 | -- Frank Erdrich Mon, 02 May 2022 09:43:42 +0200
444 |
445 | raspberrypi-firmware (1:9.20220428-5.10.103+revpi1) stable; urgency=medium
446 |
447 | [Linux kernel changelog]
448 | * dts/core: Use own fragments to modify existing pinmuxes
449 |
450 | -- Frank Erdrich Thu, 28 Apr 2022 15:55:55 +0100
451 |
452 | raspberrypi-firmware (1:9.20220427-5.10.103+revpi1) stable; urgency=medium
453 |
454 | [Linux kernel changelog]
455 | * dts/connect-se: Use own fragments to modify existing pinmuxes
456 | * dts/connect-se: Amend compatible string for CM4S
457 | * dts/connect: Use own fragments to modify existing pinmuxes
458 | * Add the device tree overlay for Connect SE
459 |
460 | -- Frank Erdrich Wed, 27 Apr 2022 16:41:05 +0100
461 |
462 | raspberrypi-firmware (1:9.20220419-5.10.103+revpi1) stable; urgency=medium
463 |
464 | [Linux kernel changelog]
465 | * dts/revpi-core: Add pinmux for the led gpios
466 | * dts/revpi-core: Add missing pinmux for the all sniff pins
467 | * dts/revpi-core: Add rs485 (uart0) node
468 | * dts/revpi-core: Assign missing unused pinmux
469 | * dts/connect: Assign sniff and connect pins to the pibridge
470 | * dts/connect: Assign missing unused pinmux
471 | * dts/connect: Fix pibridge rs485 pulls
472 | * serial: amba-pl011: do not time out prematurely when draining tx fifo for rs485
473 | * arm: dts: revpi-con-can: Move pincontrol references for can0
474 |
475 | [picontrol changelog]
476 | * piControl: Linux 5.16 compat: Drop userspace includes
477 | * piControl: Linux 5.12 compat: Use MAX_RT_PRIO
478 | * Remove prio settings for ktimersoftd
479 | * connect: Fix gpio assingment of x2do
480 |
481 | -- Frank Erdrich Tue, 19 Apr 2022 09:58:53 +0100
482 |
483 | raspberrypi-firmware (1:9.20220323-5.10.103+revpi1) stable; urgency=medium
484 |
485 | * Linux 5.10.103-rt62
486 | * Upgrade to Linux 5.10.103
487 | * Update RT patch to 5.10.103-rt62
488 | * Support CM4/CM4S (BCM2711) Modules (armv7l)
489 | * Disable /dev/gpiomem support [security]
490 | * SMSC95xx: Use interrupt for link status, avoid polling
491 | * Cleanup pinmux for revpi devices in dt overlays
492 | * TPM SLB 9670: Implement proper reset procedure
493 | * piControl: flat: Shrink critical region in the ain thread
494 | * piControl: compact: Shrink critical section (cpu temp/freq) [Fix missing cycles]
495 | * piControl: compact: Use hardware interrupt timer instead in soft interrupt
496 | * piControl: compact: Replace smp_read_barrier_depends() with smp_rmb()
497 | * piControl: revpi: connect: adjust code to pibridge device tree entry
498 | * piControl: revpi: core: register platform driver for revpi core device
499 | * piControl: Stop gateway communication on module unload
500 | * piControl: Process gateway packets in task context
501 | * piControl: revpi_core: make sure UART thread does not block at module unload
502 | * piControl: use correct function to exchange data with userspace
503 | * piControl: add module depency for DIN on compact
504 |
505 | -- Philipp Rosenberger Wed, 23 Mar 2022 09:25:25 +0100
506 |
507 | raspberrypi-firmware (1:9.20220322-4.19.95+revpi1) stable; urgency=medium
508 |
509 | * dts: revpi-core: pull down sniff pin
510 | * piControl: add module depency for DIN on compact
511 | * piControl: use correct function to exchange data with userspace
512 | * Use hardware interrupt timer instead in soft interrupt
513 | * compact: Shrink critical section (cpu temp/freq)
514 | * flat: Shrink critical region in the ain thread
515 | * fix: The removal of elevator= from the cmdline.txt is not working
516 | * Fix a warning about divert behavior change
517 | * debian/control: Claim maintainership of this package
518 | * debian/control: Update the controlfile from upstream
519 |
520 | -- Philipp Rosenberger Tue, 22 Mar 2022 10:23:56 +0100
521 |
522 | raspberrypi-firmware (1:9.20211203-4.19.95+revpi1) stable; urgency=medium
523 |
524 | * Revert "brcmfmac: Add support for reading mac address from device tree"
525 | * Revert "ARM: dts: revpi-flat: Add support for wifi mac address"
526 | * piControl:compact: handle missing config settings
527 | * piControl:flat: handle missing config settings
528 |
529 | -- Philipp Rosenberger Fri, 03 Dec 2021 13:57:20 +0100
530 |
531 | raspberrypi-firmware (1:9.20211109-4.19.95+revpi1) stable; urgency=medium
532 |
533 | * dts/revpi-flat: Add WLAN enable
534 |
535 | -- Philipp Rosenberger Tue, 09 Nov 2021 08:26:50 +0100
536 |
537 | raspberrypi-firmware (1:9.20210622-4.19.95+revpi1) stable; urgency=medium
538 |
539 | * Fix: KSZ8851 reset takes to long (PiBridge)
540 |
541 | -- Philipp Rosenberger Tue, 22 Jun 2021 15:20:40 +0200
542 |
543 | raspberrypi-firmware (1:9.20210415-4.19.95+revpi2) stable; urgency=medium
544 |
545 | * Increase epoch to superseed raspios kernel-package again
546 |
547 | -- Philipp Rosenberger Wed, 19 May 2021 09:44:58 +0200
548 |
549 | raspberrypi-firmware (9.20210415-4.19.95+revpi1) stable; urgency=medium
550 |
551 | * flat,compact: set default values of virtual devices
552 | * pcf2127: various fixes
553 |
554 | -- Lino Sanfilippo Thu, 15 Apr 2021 11:07:51 +0200
555 |
556 | raspberrypi-firmware (9.20210326-4.19.95+revpi1) stable; urgency=medium
557 |
558 | * Enable can drivers in kernel
559 |
560 | -- Lino Sanfilippo Fri, 26 Mar 2021 13:26:19 +0100
561 |
562 | raspberrypi-firmware (9.20210316-4.19.95+revpi1) stable; urgency=medium
563 |
564 | * New piControl release 1.3.1-1
565 |
566 | -- Lino Sanfilippo Wed, 17 Mar 2021 10:47:19 +0100
567 |
568 | raspberrypi-firmware (9.20210310-4.19.95+revpi1) stable; urgency=medium
569 |
570 | * Add support for RevPi MIO
571 | * Use nproc to determin the number of build processes
572 | * Upgrade to debhelper 10
573 |
574 | -- Philipp Rosenberger Wed, 10 Mar 2021 13:58:49 +0100
575 |
576 | raspberrypi-firmware (9.20201102-4.19.95+revpi1~0flat1) stable; urgency=medium
577 |
578 | * Add the support for Revolution Pi Flat.
579 |
580 | -- Zhi Han Mon, 2 Nov 2020 13:15:00 +0200
581 |
582 | raspberrypi-firmware (9.20200616-4.19.95+revpi1) stable; urgency=medium
583 |
584 | * Public 4.19 release for the upcoming 6/2020 image.
585 |
586 | -- Kunbus Tue, 16 Jun 2020 13:15:00 +0200
587 |
588 | raspberrypi-firmware (9.20200120-4.19.95+revpi1) stable; urgency=medium
589 |
590 | * Fixups for RevPi Connect Flat:
591 |
592 | Compile pca953x driver into kernel proper and not as a module
593 | to speed up probing of UART drivers which require access to
594 | rs485 termination GPIOs.
595 |
596 | Avoid failure of assigning 1 as number of runtime 8250 UARTs
597 | caused by comment.
598 |
599 | UART1 is controlled by the core clock. Downclocking changes
600 | the baudrate and garbles I/O. Avoid by defaulting to "performance"
601 | cpufreq governor. This ensures that UART1 is usable as console.
602 |
603 | -- Kunbus Mon, 20 Jan 2020 15:00:00 +0100
604 |
605 | raspberrypi-firmware (9.20190927-4.19.29+revpi1) stable; urgency=medium
606 |
607 | * New upstream release based on v4.19
608 | * Add support for RevPi Connect Flat
609 |
610 | -- Kunbus Fri, 27 Sep 2019 15:30:00 +0200
611 |
612 | raspberrypi-firmware (9.20200228-4.9.76+revpi1) stable; urgency=medium
613 |
614 | * Quiesce IRQs left enabled by bootloader to fix lockups
615 | * Drive mux GPIO low on RevPi Connect via dt-blob.bin
616 | to work around missing pulldown on hardware rev 06
617 | * Update dt-blob.bin on package installation
618 | * piControl: Support RevPi Connect Flat
619 | * piControl: Support I/O module status
620 | * piControl: Support seek ioctl
621 |
622 | -- Kunbus Fri, 28 Feb 2020 15:15:00 +0100
623 |
624 | raspberrypi-firmware (9.20190904-4.9.76+revpi1) stable; urgency=medium
625 |
626 | * netfilter: Introduce egress hook
627 | * piControl: Filter non-gateway packets on egress to work around
628 | gateway firmware which fails to handle those packets properly
629 |
630 | -- Kunbus Wed, 4 Sep 2019 16:00:00 +0200
631 |
632 | raspberrypi-firmware (9.20190312-4.9.76+revpi1) stable; urgency=medium
633 |
634 | * piControl: Use native network stack for RevPi Gate communication
635 | * spi / dmaengine / ks8851: numerous reliability fixes
636 |
637 | -- Kunbus Tue, 12 Mar 2019 14:45:00 +0100
638 |
639 | raspberrypi-firmware (9.20180717-4.9.76+revpi1) stable; urgency=medium
640 |
641 | * piControl: changed error handling of gateway communication again
642 |
643 | -- Kunbus Tue, 17 Jul 2018 14:15:00 +0200
644 |
645 | raspberrypi-firmware (9.20180716-4.9.76+revpi1) stable; urgency=medium
646 |
647 | * piControl: changed error handling of gateway communication of piBridge
648 |
649 | -- Kunbus Mon, 16 Jul 2018 15:00:00 +0200
650 |
651 | raspberrypi-firmware (9.20180529-4.9.76+revpi1) stable; urgency=medium
652 |
653 | * piControl: add support for new Connect modules
654 |
655 | -- Kunbus Tue, 29 May 2018 10:00:00 +0200
656 |
657 | raspberrypi-firmware (9.20180528-4.9.76+revpi1) stable; urgency=medium
658 |
659 | * can: hi311x: bug fixes
660 |
661 | -- Kunbus Mon, 28 May 2018 10:00:00 +0200
662 |
663 | raspberrypi-firmware (9.20180503-4.9.76+revpi1) stable; urgency=medium
664 |
665 | * can: hi311x: bug fixes
666 |
667 | -- Kunbus Thu, 03 May 2018 10:30:00 +0200
668 |
669 | raspberrypi-firmware (9.20180427-4.9.76+revpi1) stable; urgency=medium
670 |
671 | * can: hi311x: add driver for Holt HI-3110
672 |
673 | -- Kunbus Fri, 27 Apr 2018 14:30:00 +0200
674 |
675 | raspberrypi-firmware (9.20180409-4.9.76+revpi1) stable; urgency=medium
676 |
677 | * usb: dwc_otg: fix memory corruption in dwc_otg driver
678 | https://github.com/raspberrypi/linux/pull/2477
679 |
680 | -- Kunbus Mon, 09 Apr 2018 12:30:00 +0200
681 |
682 | raspberrypi-firmware (9.20180323-4.9.76+revpi1) stable; urgency=medium
683 |
684 | * Improved firmware update of DIO and AIO modules
685 |
686 | -- Kunbus Fri, 23 Mar 2018 15:30:00 +0100
687 |
688 | raspberrypi-firmware (9.20180222-4.9.76+revpi1) stable; urgency=medium
689 |
690 | * Add support for RevPi Connect Watchdog
691 |
692 | -- Kunbus Thu, 22 Feb 2018 15:30:00 +0100
693 |
694 | raspberrypi-firmware (9.20180110-1+revpi1) stable; urgency=medium
695 |
696 | * New piControl release
697 |
698 | -- Kunbus Wed, 10 Jan 2018 08:15:00 +0100
699 |
700 | raspberrypi-firmware (9.20171206-1+revpi1) stable; urgency=medium
701 |
702 | * New upstream release 1.20171029-1 based on v4.9
703 | * New piControl release
704 | * Hardware support for RevPi Compact
705 | * Device trees for RevPi Core/Compact/Connect replace kunbus.dts
706 |
707 | -- Kunbus Wed, 06 Dec 2017 14:15:00 +0100
708 |
709 | raspberrypi-firmware (9.20170920-1+revpi1) stable; urgency=medium
710 |
711 | * New piControl release
712 | * Some bug fixes for RevPi AIO
713 |
714 | -- Kunbus Wed, 20 Sep 2017 09:30:00 +0100
715 |
716 | raspberrypi-firmware (9.20170731-1+revpi1) stable; urgency=medium
717 |
718 | * New piControl release raspberrypi-kernel_9.20170731-1+revpi
719 |
720 | -- Kunbus Mon, 31 Jul 2017 08:10:00 +0100
721 |
722 | raspberrypi-firmware (9.20170622-1+revpi1) stable; urgency=medium
723 |
724 | * New piControl release 9.20170622-1+revpi1
725 |
726 | -- Kunbus Thu, 22 Jun 2017 11:45:00 +0100
727 |
728 | raspberrypi-firmware (9.20170515-1+revpi1) stable; urgency=medium
729 |
730 | * New upstream release 4.4.53-rt66
731 |
732 | -- Kunbus Mon, 15 May 2017 11:00:00 +0100
733 |
734 | raspberrypi-firmware (9.20170309-1+revpi1) stable; urgency=medium
735 |
736 | * New upstream release 4.4.50-rt62
737 | * Include Oussama Ghorbel's patch to support threaded IRQs with dwc_otg
738 |
739 | -- Kunbus Thu, 9 Mar 2017 09:00:00 +0100
740 |
741 | raspberrypi-firmware (9.20170124-1+revpi1) stable; urgency=medium
742 |
743 | * New upstream release 4.4.44-rt19
744 |
745 | -- Kunbus Thu, 24 Jan 2017 09:00:00 +0100
746 |
747 | raspberrypi-firmware (1.20161215-1) jessie; urgency=medium
748 |
749 | * firmware as of 2190ebaaab17d690fb4a6aa767ff7755eaf51b12
750 |
751 | -- Serge Schneider Mon, 19 Dec 2016 20:03:40 +0000
752 |
753 | raspberrypi-firmware (1.20161125-1) jessie; urgency=medium
754 |
755 | * firmware as of 5d80cd839dd4fe283d573df2ec3f3829b09b33f0
756 |
757 | -- Serge Schneider Fri, 25 Nov 2016 16:37:08 +0000
758 |
759 | raspberrypi-firmware (1.20161020-1) jessie; urgency=medium
760 |
761 | * firmware as of ec5a517ed6051974a5a09f7b7811d21c443a7c74
762 | * raspberrypi-bootloader: Move raspberrypi-kernel to Recommends
763 |
764 | -- Serge Schneider Mon, 24 Oct 2016 12:43:51 +0100
765 |
766 | raspberrypi-firmware (1.20160921-1) jessie; urgency=medium
767 |
768 | * firmware as of ad8608c08b122b2c228dba0ff5070d6e9519faf5
769 |
770 | -- Serge Schneider Thu, 22 Sep 2016 09:09:53 +0100
771 |
772 | raspberrypi-firmware (1.20160620-1) jessie; urgency=medium
773 |
774 | * firmware as of 390f53ed0fd79df274bdcc81d99e09fa262f03ab
775 |
776 | -- Serge Schneider Wed, 22 Jun 2016 08:10:35 +0100
777 |
778 | raspberrypi-firmware (1.20160523-1) jessie; urgency=medium
779 |
780 | * firmware as of 3b98f7433649e13cf08f54f509d11491c99c4c0b
781 |
782 | -- Serge Schneider Fri, 27 May 2016 10:22:10 +0100
783 |
784 | raspberrypi-firmware (1.20160512-1) jessie; urgency=medium
785 |
786 | * firmware as of 3816e1ce1e6ebc6d2bf0596dbd52849e16aa7e94
787 |
788 | -- Serge Schneider Thu, 12 May 2016 13:05:45 +0100
789 |
790 | raspberrypi-firmware (1.20160506-1) jessie; urgency=medium
791 |
792 | * firmware as of cc6d7bf8b4c03a2a660ff9fdf4083fc165620866
793 |
794 | -- Serge Schneider Fri, 06 May 2016 17:59:32 +0100
795 |
796 | raspberrypi-firmware (1.20160503-1) jessie; urgency=medium
797 |
798 | * firmware as of 6832d9a431a98b640accb2b76eac38a420d7c680
799 | * update symlinks
800 | * add device-tree-compiler dependency
801 |
802 | -- Serge Schneider Wed, 04 May 2016 15:33:17 +0100
803 |
804 | raspberrypi-firmware (1.20160424-1) jessie; urgency=medium
805 |
806 | * firmware as of c1485f5cad98689d1c655c768a12565415f5ef13
807 | * add dtoverlay, dtparam and dtmerge symlinks
808 |
809 | -- Serge Schneider Tue, 26 Apr 2016 11:19:23 +0100
810 |
811 | raspberrypi-firmware (1.20160405-1) jessie; urgency=medium
812 |
813 | * firmware as of c06550099b9593192d6e2cc7e6446a6b4380d3f4
814 |
815 | -- Serge Schneider Wed, 06 Apr 2016 15:24:22 +0100
816 |
817 | raspberrypi-firmware (1.20160315-1) jessie; urgency=medium
818 |
819 | * firmware as of 951799bbcd795ddf27769d14acf4813fdcbe53dc
820 |
821 | -- Serge Schneider Wed, 16 Mar 2016 09:52:39 +0000
822 |
823 | raspberrypi-firmware (1.20160309-1) jessie; urgency=medium
824 |
825 | * firmware as of 8b4e5482b52e6fb438dddc0d88ba0ba8d44af54b
826 |
827 | -- Serge Schneider Mon, 14 Mar 2016 15:41:10 +0000
828 |
829 | raspberrypi-firmware (1.20160209-1) jessie; urgency=medium
830 |
831 | * firmware as of 3442862c10fab68c2e88d660d2e69c143bb1f00c
832 |
833 | -- Serge Schneider Tue, 09 Feb 2016 13:33:33 +0000
834 |
835 | raspberrypi-firmware (1.20160202-1) jessie; urgency=medium
836 |
837 | * firmware as of cb2ffaa5503ac53039d40715965480dd66f0aa20
838 |
839 | -- Serge Schneider Tue, 02 Feb 2016 09:52:07 +0000
840 |
841 | raspberrypi-firmware (1.20150923-1) jessie; urgency=medium
842 |
843 | * firmware as of 960832a6c2590635216c296b6ee0bebf67b21d50
844 |
845 | -- Serge Schneider Wed, 23 Sep 2015 16:10:43 +0100
846 |
847 | raspberrypi-firmware (1.20150820-1) wheezy; urgency=medium
848 |
849 | * firmware as of bbf5495c0424fe38d795111007e93f8763b88bcc
850 |
851 | -- Serge Schneider Fri, 21 Aug 2015 17:16:06 +0100
852 |
853 | raspberrypi-firmware (1.20150421-1) unstable; urgency=low
854 |
855 | * firmware as of 6cc27e02dde4f1e02cfddb3d0f23d54be87680cb
856 | * Make vc-sm and vcio subsystems writable by video group
857 |
858 | -- Serge Schneider Mon, 27 Apr 2015 09:56:44 +0100
859 |
860 | raspberrypi-firmware (1.20150214-2) unstable; urgency=medium
861 |
862 | * Fix for incorrect NOOBS images
863 |
864 | -- Serge Schneider Fri, 27 Mar 2015 19:11:24 +0000
865 |
866 | raspberrypi-firmware (1.20150214-1) unstable; urgency=low
867 |
868 | * firmware as of 8aca5762
869 |
870 | -- Sun, 15 Feb 2015 11:19:20 +0000
871 |
872 | raspberrypi-firmware (1.20150212-1) unstable; urgency=low
873 |
874 | * firmware as of 47bd0f0f46b
875 |
876 | -- Thu, 12 Feb 2015 21:00:49 +0000
877 |
878 | raspberrypi-firmware (1.20150208-1) unstable; urgency=low
879 |
880 | * firmware as of a43480416153e8
881 |
882 | -- Thu, 12 Feb 2015 16:30:12 +0000
883 |
884 | raspberrypi-firmware (1.20150130-1) unstable; urgency=low
885 |
886 | * firmware as of 1f56136651963e
887 |
888 | -- Sat, 31 Jan 2015 19:50:59 +0000
889 |
890 | raspberrypi-firmware (1.20150128-1) unstable; urgency=low
891 |
892 | * firmware as of 9b068fe44503f5
893 |
894 | -- Thu, 29 Jan 2015 16:59:02 +0000
895 |
896 | raspberrypi-firmware (1.20141219-1) unstable; urgency=low
897 |
898 | * firmware as of 2f9828c4577a85
899 |
900 | -- Sun, 21 Dec 2014 10:53:44 +0000
901 |
902 | raspberrypi-firmware (1.20141207-1) unstable; urgency=low
903 |
904 | * firmware as of 9d58d7bcc9d144
905 |
906 | -- Sun, 07 Dec 2014 17:49:01 +0000
907 |
908 | raspberrypi-firmware (1.20140908-1) unstable; urgency=low
909 |
910 | * firmware as of 53d1ae311226b5c
911 |
912 | -- Mon, 08 Sep 2014 19:23:42 +0000
913 |
914 | raspberrypi-firmware (1.20140830-1) unstable; urgency=low
915 |
916 | * firmware as of 1bb122bcd82bcd3
917 |
918 | -- Tue, 02 Sep 2014 07:08:05 +0000
919 |
920 | raspberrypi-firmware (1.20140618-1) unstable; urgency=low
921 |
922 | * firmware as of 462f3e3f476f7b6
923 |
924 | -- Thu, 19 Jun 2014 18:57:45 +0000
925 |
926 | raspberrypi-firmware (1.20140530-1) unstable; urgency=low
927 |
928 | * firmware as of 02eed2f817b42590180
929 |
930 | -- Sun, 01 Jun 2014 10:50:48 +0000
931 |
932 | raspberrypi-firmware (1.20140107-1) unstable; urgency=low
933 |
934 | * firmware as of 030082b403b
935 |
936 | -- Tue, 07 Jan 2014 19:39:01 +0000
937 |
938 | raspberrypi-firmware (1.20131219-1) unstable; urgency=low
939 |
940 | * firmware as of c32bc633039cd9
941 |
942 | -- Fri, 20 Dec 2013 11:03:43 +0000
943 |
944 | raspberrypi-firmware (1.20131209-1) unstable; urgency=low
945 |
946 | * firmware as of 9d34d0475f9
947 |
948 | -- Wed, 10 Dec 2013 13:47:42 +0000
949 |
950 | raspberrypi-firmware (1.20130902-1) unstable; urgency=low
951 |
952 | * firmware as of d4f5315cfac4e
953 |
954 | -- Wed, 04 Sep 2013 20:09:43 +0000
955 |
956 | raspberrypi-firmware (1.20130815-1) unstable; urgency=low
957 |
958 | * firmware as of e0590d6dda8413
959 |
960 | -- Sat, 17 Aug 2013 15:43:58 +0000
961 |
962 | raspberrypi-firmware (1.20130617-1) unstable; urgency=low
963 |
964 | * firmware as of a0c98fa6bc0f
965 |
966 | -- Wed, 19 Jun 2013 10:06:03 +0000
967 |
968 | raspberrypi-firmware (1.20130524-1) unstable; urgency=low
969 |
970 | * firmware as of 6f4a90c8cb8817f
971 |
972 | -- Sat, 25 May 2013 15:56:50 +0000
973 |
974 | raspberrypi-firmware (1.20130520-1) unstable; urgency=low
975 |
976 | * firmware as of a0f8a0331419a4
977 |
978 | -- Wed, 22 May 2013 20:13:43 +0000
979 |
980 | raspberrypi-firmware (1.20130517-1) unstable; urgency=low
981 |
982 | * firmware as of 4f2a7b9b2a3d6c1
983 |
984 | -- Sat, 18 May 2013 12:34:55 +0000
985 |
986 | raspberrypi-firmware (1.20130514-1) unstable; urgency=low
987 |
988 | * firmware as of 1c339b164613b
989 |
990 | -- Thu, 16 May 2013 17:29:01 +0000
991 |
992 | raspberrypi-firmware (1.20130512-1) unstable; urgency=low
993 |
994 | * firmware as of f53948f6fbcb
995 |
996 | -- Mon, 13 May 2013 19:44:37 +0000
997 |
998 | raspberrypi-firmware (1.20130505-3) unstable; urgency=low
999 |
1000 | * disable /etc/asound.conf if it uses mmap_emul as it is no longer necessary
1001 |
1002 | -- Fri, 10 May 2013 11:23:53 +0000
1003 |
1004 | raspberrypi-firmware (1.20130505-1) unstable; urgency=low
1005 |
1006 | * firmware as of de687862fa8365ad7
1007 |
1008 | -- Wed, 08 May 2013 08:15:11 +0000
1009 |
1010 | raspberrypi-firmware (1.20130207-1) unstable; urgency=low
1011 |
1012 | * firmware as of 5dd9b4962e
1013 |
1014 | -- Sat, 09 Feb 2013 00:20:15 +0000
1015 |
1016 | raspberrypi-firmware (1.20130203-1) unstable; urgency=low
1017 |
1018 | *firmware as of efc9c98fa
1019 |
1020 | -- Mon, 04 Feb 2013 01:57:04 +0000
1021 |
1022 | raspberrypi-firmware (1.20130130-1) unstable; urgency=low
1023 |
1024 | * firmware as of 73d99edf0
1025 |
1026 | -- Sun, 03 Feb 2013 02:10:45 +0000
1027 |
1028 | raspberrypi-firmware (1.20121025-1) unstable; urgency=low
1029 |
1030 | * firmware as of 17c8799375
1031 |
1032 | -- Alex Bradbury Sun, 28 Oct 2012 17:39:32 +0000
1033 |
1034 | raspberrypi-firmware (1.20121006-1) unstable; urgency=low
1035 |
1036 | * firmware as of db62088e82
1037 |
1038 | -- Alex Bradbury Sun, 07 Oct 2012 21:35:05 +0100
1039 |
1040 | raspberrypi-firmware (1.20120918-1) unstable; urgency=low
1041 |
1042 | * firmware as of f569ff5254
1043 |
1044 | -- Alex Bradbury Tue, 18 Sep 2012 10:11:53 +0100
1045 |
1046 | raspberrypi-firmware (1.20120916-1) unstable; urgency=low
1047 |
1048 | * firmware as of f20e9d70a2
1049 |
1050 | -- Alex Bradbury Sun, 16 Sep 2012 20:47:11 +0100
1051 |
1052 | raspberrypi-firmware (1.20120915-1) unstable; urgency=low
1053 |
1054 | * firmware as of 9c8c1bd57e
1055 |
1056 | -- Alex Bradbury Sat, 15 Sep 2012 20:51:34 +0100
1057 |
1058 | raspberrypi-firmware (1.20120910-1) unstable; urgency=low
1059 |
1060 | * firmware as of 05bb1ecbf5
1061 |
1062 | -- Alex Bradbury Wed, 12 Sep 2012 17:18:25 +0100
1063 |
1064 | raspberrypi-firmware (1.20120903-1) unstable; urgency=low
1065 |
1066 | * firmware as of 7847986e3d
1067 |
1068 | -- Alex Bradbury Mon, 03 Sep 2012 17:53:29 +0100
1069 |
1070 | raspberrypi-firmware (1.20120831-1) unstable; urgency=low
1071 |
1072 | * firmware as of fe629bcc9a
1073 |
1074 | -- Alex Bradbury Sun, 02 Sep 2012 19:15:15 +0100
1075 |
1076 | raspberrypi-firmware (1.20120830-1) unstable; urgency=low
1077 |
1078 | * firmware as of d5e9e96a66
1079 | * NOTE: yesterday's firmware and today's are both misversioned, as I should
1080 | have versioned according to the date of the firmware update.
1081 |
1082 | -- Alex Bradbury Thu, 30 Aug 2012 20:36:26 +0100
1083 |
1084 | raspberrypi-firmware (1.20120829-1) unstable; urgency=low
1085 |
1086 | * firmware as of 59059dea7a
1087 |
1088 | -- Alex Bradbury Wed, 29 Aug 2012 22:44:59 +0100
1089 |
1090 | raspberrypi-firmware (1.20120822-1) unstable; urgency=low
1091 |
1092 | * firmware as of c42f21261f
1093 |
1094 | -- Alex Bradbury Wed, 22 Aug 2012 16:18:59 +0100
1095 |
1096 | raspberrypi-firmware (1.20120810-1) unstable; urgency=low
1097 |
1098 | * firmware as of cb9513f48b
1099 |
1100 | -- Alex Bradbury Mon, 13 Aug 2012 21:35:59 +0100
1101 |
1102 | raspberrypi-firmware (1.20120808-1) unstable; urgency=low
1103 |
1104 | * firmware as of 7680bb38ee
1105 |
1106 | -- Alex Bradbury Wed, 08 Aug 2012 17:04:11 +0100
1107 |
1108 | raspberrypi-firmware (1.20120801-2) unstable; urgency=low
1109 |
1110 | * fix silly packaging mistake
1111 |
1112 | -- Alex Bradbury Wed, 01 Aug 2012 22:37:24 +0100
1113 |
1114 | raspberrypi-firmware (1.20120801-1) unstable; urgency=low
1115 |
1116 | * firmware as of 0a2e8d4095
1117 |
1118 | -- Alex Bradbury Wed, 01 Aug 2012 22:04:23 +0100
1119 |
1120 | raspberrypi-firmware (1.20120725-1) unstable; urgency=low
1121 |
1122 | * firmware as of e73e84c7
1123 |
1124 | -- Alex Bradbury Wed, 25 Jul 2012 23:35:33 +0100
1125 |
1126 | raspberrypi-firmware (1.20120722-1) unstable; urgency=low
1127 |
1128 | * firmware as of be61355f9e
1129 |
1130 | -- Alex Bradbury Sun, 22 Jul 2012 21:11:56 +0100
1131 |
1132 | raspberrypi-firmware (1.20120714-1) unstable; urgency=low
1133 |
1134 | * firmware as of 1309b3d512
1135 |
1136 | -- Alex Bradbury Sun, 15 Jul 2012 18:09:10 +0100
1137 |
1138 | raspberrypi-firmware (1.20120712-1) unstable; urgency=low
1139 |
1140 | * firmware as of 01c78fe345
1141 |
1142 | -- Alex Bradbury Fri, 13 Jul 2012 10:48:31 +0100
1143 |
1144 | raspberrypi-firmware (1.20120706-2) unstable; urgency=low
1145 |
1146 | * fix /opt/vc/src/hello_pi dest dir on armhf
1147 | * rename /etc/ld.so.conf.d/vmcs.conf to /etc/ld.so.conf.d/00-vmcs.conf so vc
1148 | libs takes precedence over others
1149 | * fix to raspberrypi-bootloader.postinst so it works in fresh install
1150 |
1151 | -- Alex Bradbury Sat, 07 Jul 2012 20:22:20 +0100
1152 |
1153 | raspberrypi-firmware (1.20120706-1) unstable; urgency=low
1154 |
1155 | * firmware as of 467b0b45e1
1156 | * Fix broken setting of ld-linux-armhf.so.3 symlink
1157 | * Add fallback mechanism for detecting current memory split
1158 |
1159 | -- Alex Bradbury Sat, 07 Jul 2012 13:51:37 +0100
1160 |
1161 | raspberrypi-firmware (1.20120701-1) unstable; urgency=low
1162 |
1163 | * firmware as of 0671d601
1164 | * add /lib/ld-linux-armhf.so.3 symlink for armhf
1165 |
1166 | -- Alex Bradbury Wed, 04 Jul 2012 14:57:27 +0100
1167 |
1168 | raspberrypi-firmware (1.20120628-1) unstable; urgency=low
1169 |
1170 | * firmware as of c59283a672
1171 |
1172 | -- Alex Bradbury Sun, 01 Jul 2012 20:58:14 +0100
1173 |
1174 | raspberrypi-firmware (1.20120617-1) unstable; urgency=low
1175 |
1176 | * firmware as of 2c095047f
1177 |
1178 | -- Alex Bradbury Sun, 17 Jun 2012 19:31:13 +0100
1179 |
1180 | raspberrypi-firmware (1.20120614-1) unstable; urgency=low
1181 |
1182 | * firmware as of 1178c4db5
1183 |
1184 | -- Alex Bradbury Thu, 14 Jun 2012 14:37:56 +0100
1185 |
1186 | raspberrypi-firmware (1.0-1) unstable; urgency=low
1187 |
1188 | * Initial release of Debian packaging for the Raspberry Pi "firmware".
1189 | * Based on upstream commit caf963d.
1190 |
1191 | -- Will Thompson Thu, 24 May 2012 12:20:30 +0100
1192 |
--------------------------------------------------------------------------------
/debian/compat:
--------------------------------------------------------------------------------
1 | 10
2 |
--------------------------------------------------------------------------------
/debian/control:
--------------------------------------------------------------------------------
1 | Source: raspberrypi-firmware
2 | Priority: optional
3 | Maintainer: KUNBUS GmbH
4 | Build-Depends: debhelper (>= 10)
5 | Standards-Version: 3.9.8
6 | Section: libs
7 | Homepage: https://revolutionpi.de/
8 | Vcs-Git: https://github.com/RevolutionPi/kernelbakery.git
9 | Vcs-Browser: https://github.com/RevolutionPi/kernelbakery
10 |
11 | Package: raspberrypi-kernel
12 | Section: kernel
13 | Architecture: armel armhf arm64
14 | Multi-Arch: foreign
15 | Depends: ${misc:Depends}, raspberrypi-bootloader (>= 1.20160506-1)
16 | Breaks: raspberrypi-bootloader (<<1.20160324-1)
17 | Replaces: raspberrypi-bootloader (<<1.20160324-1)
18 | Provides: linux-image
19 | Description: Revolution Pi Linux kernel
20 | This package contains the Revolution Pi Linux kernel.
21 |
22 | Package: raspberrypi-kernel-headers
23 | Section: kernel
24 | Architecture: any
25 | Depends: ${shlibs:Depends}, ${misc:Depends}
26 | Provides: linux-headers
27 | Description: Header files for the Revolution Pi Linux kernel
28 | This package provides the architecture-specific kernel header files for
29 | the Revolution Pi Linux kernel, generally used for building out-of-tree
30 | kernel modules.
31 |
32 |
--------------------------------------------------------------------------------
/debian/copyright:
--------------------------------------------------------------------------------
1 | Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
2 | Source: http://github.com/raspberrypi/firmware
3 |
4 | Files:
5 | boot/kernel*.img
6 | headers/*
7 | Copyright: 1991-2012 Linus Torvalds and many others
8 | License: GPL-2
9 | This package is free software; you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License version 2 as
11 | published by the Free Software Foundation.
12 | .
13 | This package is distributed in the hope that it will be useful,
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | GNU General Public License for more details.
17 | .
18 | You should have received a copy of the GNU General Public License
19 | along with this package; if not, write to the Free Software
20 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21 | .
22 | On Debian systems, the complete text of the GNU General Public License version
23 | 2 can be found in `/usr/share/common-licenses/GPL-2'.
24 |
--------------------------------------------------------------------------------
/debian/gen_bootloader_postinst_preinst.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | if ! [ -d ../boot ]; then
4 | printf "Can't find boot dir. Run from debian subdir\n"
5 | exit 1
6 | fi
7 |
8 | version=`cat ../extra/uname_string | cut -f 3 -d ' '| sed -Ee 's/(-v[78]l?)?\+$//'`
9 |
10 | printf "#!/bin/sh\n" > raspberrypi-kernel.postinst
11 | printf "#!/bin/sh\n" > raspberrypi-kernel.preinst
12 |
13 | printf "mkdir -p /usr/share/rpikernelhack/overlays\n" >> raspberrypi-kernel.preinst
14 | printf "mkdir -p /boot/overlays\n" >> raspberrypi-kernel.preinst
15 |
16 | for FN in ../boot/*.dtb ../boot/kernel*.img ../boot/COPYING.linux ../boot/overlays/*; do
17 | if ! [ -d "$FN" ]; then
18 | FN=${FN#../boot/}
19 | printf "rm -f /boot/$FN\n" >> raspberrypi-kernel.postinst
20 | printf "dpkg-divert --package rpikernelhack --remove --rename /boot/$FN\n" >> raspberrypi-kernel.postinst
21 | printf "sync\n" >> raspberrypi-kernel.postinst
22 |
23 | printf "dpkg-divert --package rpikernelhack --rename --divert /usr/share/rpikernelhack/$FN /boot/$FN\n" >> raspberrypi-kernel.preinst
24 | fi
25 | done
26 |
27 | cat <> raspberrypi-kernel.preinst
28 | export INITRD=No
29 | if [ -d "/etc/kernel/preinst.d" ]; then
30 | run-parts -v --report --exit-on-error --arg=${version}+ --arg=/boot/kernel.img /etc/kernel/preinst.d
31 | run-parts -v --report --exit-on-error --arg=${version}-v7+ --arg=/boot/kernel7.img /etc/kernel/preinst.d
32 | run-parts -v --report --exit-on-error --arg=${version}-v7l+ --arg=/boot/kernel7l.img /etc/kernel/preinst.d
33 | run-parts -v --report --exit-on-error --arg=${version}-v8+ --arg=/boot/kernel8.img /etc/kernel/preinst.d
34 | fi
35 | if [ -d "/etc/kernel/preinst.d/${version}+" ]; then
36 | run-parts -v --report --exit-on-error --arg=${version}+ --arg=/boot/kernel.img /etc/kernel/preinst.d/${version}+
37 | fi
38 | if [ -d "/etc/kernel/preinst.d/${version}-v7+" ]; then
39 | run-parts -v --report --exit-on-error --arg=${version}-v7+ --arg=/boot/kernel7.img /etc/kernel/preinst.d/${version}-v7+
40 | fi
41 | if [ -d "/etc/kernel/preinst.d/${version}-v7l+" ]; then
42 | run-parts -v --report --exit-on-error --arg=${version}-v7l+ --arg=/boot/kernel7l.img /etc/kernel/preinst.d/${version}-v7l+
43 | fi
44 | if [ -d "/etc/kernel/preinst.d/${version}-v8+" ]; then
45 | run-parts -v --report --exit-on-error --arg=${version}-v8+ --arg=/boot/kernel8.img /etc/kernel/preinst.d/${version}-v8+
46 | fi
47 | EOF
48 |
49 | cat <> raspberrypi-kernel.postinst
50 | export INITRD=No
51 | if [ -d "/etc/kernel/postinst.d" ]; then
52 | run-parts -v --report --exit-on-error --arg=${version}+ --arg=/boot/kernel.img /etc/kernel/postinst.d
53 | run-parts -v --report --exit-on-error --arg=${version}-v7+ --arg=/boot/kernel7.img /etc/kernel/postinst.d
54 | run-parts -v --report --exit-on-error --arg=${version}-v7l+ --arg=/boot/kernel7l.img /etc/kernel/postinst.d
55 | run-parts -v --report --exit-on-error --arg=${version}-v8+ --arg=/boot/kernel8.img /etc/kernel/postinst.d
56 | fi
57 | if [ -d "/etc/kernel/postinst.d/${version}+" ]; then
58 | run-parts -v --report --exit-on-error --arg=${version}+ --arg=/boot/kernel.img /etc/kernel/postinst.d/${version}+
59 | fi
60 | if [ -d "/etc/kernel/postinst.d/${version}-v7+" ]; then
61 | run-parts -v --report --exit-on-error --arg=${version}-v7+ --arg=/boot/kernel7.img /etc/kernel/postinst.d/${version}-v7+
62 | fi
63 | if [ -d "/etc/kernel/postinst.d/${version}-v7l+" ]; then
64 | run-parts -v --report --exit-on-error --arg=${version}-v7l+ --arg=/boot/kernel7l.img /etc/kernel/postinst.d/${version}-v7l+
65 | fi
66 | if [ -d "/etc/kernel/postinst.d/${version}-v8+" ]; then
67 | run-parts -v --report --exit-on-error --arg=${version}-v8+ --arg=/boot/kernel8.img /etc/kernel/postinst.d/${version}-v8+
68 | fi
69 |
70 | # wheezy and jessie images shipped with a "kunbus" overlay
71 | /bin/sed -i -e 's/^dtoverlay=kunbus/dtoverlay=revpi-core/' /boot/config.txt
72 |
73 | # wheezy and jessie images enabled this RTC which is now
74 | # duplicated by "revpi-core" overlay
75 | /bin/sed -i -e '/^dtoverlay=i2c-rtc,pcf2127$/d' /boot/config.txt
76 |
77 | # update dt-blob.bin
78 | /bin/sed -n -e '/^dtoverlay=revpi-/s/^dtoverlay=//p' /boot/config.txt |
79 | while read machine ; do
80 | if [ -e "/boot/overlays/\${machine}-dt-blob.dtbo" ] ; then
81 | /bin/cp "/boot/overlays/\${machine}-dt-blob.dtbo" /boot/dt-blob.bin
82 | fi
83 | done
84 |
85 | # 8192cu is unreliable on 4.9, blacklist it and unblacklist rtl8192cu
86 | if [ -f /etc/modprobe.d/blacklist-rtl8192cu.conf ]; then
87 | if ! /bin/grep -Eq "^blacklist 8192cu" /etc/modprobe.d/blacklist-rtl8192cu.conf ; then
88 | echo "blacklist 8192cu" >> /etc/modprobe.d/blacklist-rtl8192cu.conf
89 | fi
90 | /bin/sed -i -e '/^blacklist rtl8192cu/s/^/#/' /etc/modprobe.d/blacklist-rtl8192cu.conf
91 | fi
92 |
93 | # Remove deprecated "elevator=deadline" from the cmdline.txt
94 | # We will only do anything if we are certain that the user has not modfified the
95 | # relevant part of the cmdline.
96 | if /bin/grep -Fq "rootfstype=ext4 elevator=deadline fsck.repair=yes" /boot/cmdline.txt ; then
97 | sed -i -e 's/rootfstype=ext4 elevator=deadline fsck.repair=yes/rootfstype=ext4 fsck.repair=yes/' /boot/cmdline.txt
98 | fi
99 | EOF
100 |
101 | printf "#DEBHELPER#\n" >> raspberrypi-kernel.postinst
102 | printf "#DEBHELPER#\n" >> raspberrypi-kernel.preinst
103 |
104 | printf "#!/bin/sh\n" > raspberrypi-kernel.prerm
105 | printf "#!/bin/sh\n" > raspberrypi-kernel.postrm
106 | printf "#!/bin/sh\n" > raspberrypi-kernel-headers.postinst
107 |
108 | cat <> raspberrypi-kernel.prerm
109 | export INITRD=No
110 | if [ -d "/etc/kernel/prerm.d" ]; then
111 | run-parts -v --report --exit-on-error --arg=${version}+ --arg=/boot/kernel.img /etc/kernel/prerm.d
112 | run-parts -v --report --exit-on-error --arg=${version}-v7+ --arg=/boot/kernel7.img /etc/kernel/prerm.d
113 | run-parts -v --report --exit-on-error --arg=${version}-v7l+ --arg=/boot/kernel7l.img /etc/kernel/prerm.d
114 | run-parts -v --report --exit-on-error --arg=${version}-v8+ --arg=/boot/kernel8.img /etc/kernel/prerm.d
115 | fi
116 | if [ -d "/etc/kernel/prerm.d/${version}+" ]; then
117 | run-parts -v --report --exit-on-error --arg=${version}+ --arg=/boot/kernel.img /etc/kernel/prerm.d/${version}+
118 | fi
119 | if [ -d "/etc/kernel/prerm.d/${version}-v7+" ]; then
120 | run-parts -v --report --exit-on-error --arg=${version}-v7+ --arg=/boot/kernel7.img /etc/kernel/prerm.d/${version}-v7+
121 | fi
122 | if [ -d "/etc/kernel/prerm.d/${version}-v7l+" ]; then
123 | run-parts -v --report --exit-on-error --arg=${version}-v7l+ --arg=/boot/kernel7l.img /etc/kernel/prerm.d/${version}-v7l+
124 | fi
125 | if [ -d "/etc/kernel/prerm.d/${version}-v8+" ]; then
126 | run-parts -v --report --exit-on-error --arg=${version}-v8+ --arg=/boot/kernel8.img /etc/kernel/prerm.d/${version}-v8+
127 | fi
128 | EOF
129 |
130 | cat <> raspberrypi-kernel.postrm
131 | export INITRD=No
132 | if [ -d "/etc/kernel/postrm.d" ]; then
133 | run-parts -v --report --exit-on-error --arg=${version}+ --arg=/boot/kernel.img /etc/kernel/postrm.d
134 | run-parts -v --report --exit-on-error --arg=${version}-v7+ --arg=/boot/kernel7.img /etc/kernel/postrm.d
135 | run-parts -v --report --exit-on-error --arg=${version}-v7l+ --arg=/boot/kernel7l.img /etc/kernel/postrm.d
136 | run-parts -v --report --exit-on-error --arg=${version}-v8+ --arg=/boot/kernel8.img /etc/kernel/postrm.d
137 | fi
138 | if [ -d "/etc/kernel/postrm.d/${version}+" ]; then
139 | run-parts -v --report --exit-on-error --arg=${version}+ --arg=/boot/kernel.img /etc/kernel/postrm.d/${version}+
140 | fi
141 | if [ -d "/etc/kernel/postrm.d/${version}-v7+" ]; then
142 | run-parts -v --report --exit-on-error --arg=${version}-v7+ --arg=/boot/kernel7.img /etc/kernel/postrm.d/${version}-v7+
143 | fi
144 | if [ -d "/etc/kernel/postrm.d/${version}-v7l+" ]; then
145 | run-parts -v --report --exit-on-error --arg=${version}-v7l+ --arg=/boot/kernel7l.img /etc/kernel/postrm.d/${version}-v7l+
146 | fi
147 | if [ -d "/etc/kernel/postrm.d/${version}-v8+" ]; then
148 | run-parts -v --report --exit-on-error --arg=${version}-v8+ --arg=/boot/kernel8.img /etc/kernel/postrm.d/${version}-v8+
149 | fi
150 | EOF
151 |
152 | cat <> raspberrypi-kernel-headers.postinst
153 | export INITRD=No
154 | if [ -d "/etc/kernel/header_postinst.d" ]; then
155 | run-parts -v --verbose --exit-on-error --arg=${version}+ /etc/kernel/header_postinst.d
156 | run-parts -v --verbose --exit-on-error --arg=${version}-v7+ /etc/kernel/header_postinst.d
157 | run-parts -v --verbose --exit-on-error --arg=${version}-v7l+ /etc/kernel/header_postinst.d
158 | run-parts -v --verbose --exit-on-error --arg=${version}-v8+ /etc/kernel/header_postinst.d
159 | fi
160 |
161 | if [ -d "/etc/kernel/header_postinst.d/${version}+" ]; then
162 | run-parts -v --verbose --exit-on-error --arg=${version}+ /etc/kernel/header_postinst.d/${version}+
163 | fi
164 |
165 | if [ -d "/etc/kernel/header_postinst.d/${version}-v7+" ]; then
166 | run-parts -v --verbose --exit-on-error --arg=${version}-v7+ /etc/kernel/header_postinst.d/${version}-v7+
167 | fi
168 |
169 | if [ -d "/etc/kernel/header_postinst.d/${version}-v7l+" ]; then
170 | run-parts -v --verbose --exit-on-error --arg=${version}-v7l+ /etc/kernel/header_postinst.d/${version}-v7l+
171 | fi
172 |
173 | if [ -d "/etc/kernel/header_postinst.d/${version}-v8+" ]; then
174 | run-parts -v --verbose --exit-on-error --arg=${version}-v8+ /etc/kernel/header_postinst.d/${version}-v8+
175 | fi
176 | EOF
177 |
178 | printf "#DEBHELPER#\n" >> raspberrypi-kernel.prerm
179 | printf "#DEBHELPER#\n" >> raspberrypi-kernel.postrm
180 | printf "#DEBHELPER#\n" >> raspberrypi-kernel-headers.postinst
181 |
--------------------------------------------------------------------------------
/debian/postinst:
--------------------------------------------------------------------------------
1 | #!/bin/sh -e
2 |
3 | #DEBHELPER#
4 |
5 | if [ "$1" = "configure" ]; then
6 | ldconfig;
7 | fi
8 |
9 | if [ "$(dpkg --print-architecture)" = armhf ]; then
10 | ln -s /lib/ld-linux-armhf.so.3 /lib/ld-linux.so.3 2>/dev/null || true
11 | fi
12 |
13 | if [ -e /etc/asound.conf ]; then
14 | if grep -q "mmap_emul" /etc/asound.conf && ! grep -q "LEAVE_ME_ALONE" /etc/asound.conf; then
15 | printf "mmap_emul is set in /etc/asound.conf, disabling it as it is no longer necessary\n"
16 | printf "If you are (for instance) using an external USB soundcard that needs mmap_emul,"
17 | printf "add the string LEAVE_ME_ALONE to your /etc/asound.conf as a comment\n"
18 | printf "If you don't know what an /etc/asound.conf is, don't worry about this message\n"
19 | mv /etc/asound.conf /etc/asound.conf.disabled
20 | fi
21 | fi
22 |
--------------------------------------------------------------------------------
/debian/postrm:
--------------------------------------------------------------------------------
1 | #!/bin/sh -e
2 |
3 | #DEBHELPER#
4 |
5 | if [ "$1" = "remove" ]; then
6 | ldconfig;
7 | fi
8 |
--------------------------------------------------------------------------------
/debian/raspberrypi-kernel-headers.install:
--------------------------------------------------------------------------------
1 | headers/usr /
2 | headers/lib /
3 |
--------------------------------------------------------------------------------
/debian/raspberrypi-kernel.install:
--------------------------------------------------------------------------------
1 | boot/overlays
2 | boot/*.dtb
3 | boot/kernel*.img
4 | boot/COPYING.linux
5 | modules /lib/
6 |
--------------------------------------------------------------------------------
/debian/rules:
--------------------------------------------------------------------------------
1 | #!/usr/bin/make -f
2 | # -*- makefile -*-
3 | # Sample debian/rules that uses debhelper.
4 | # This file was originally written by Joey Hess and Craig Small.
5 | # As a special exception, when this file is copied by dh-make into a
6 | # dh-make output file, you may use that output file without restriction.
7 | # This special exception was added by Craig Small in version 0.37 of dh-make.
8 |
9 | # Uncomment this to turn on verbose mode.
10 | #export DH_VERBOSE=1
11 |
12 | %:
13 | dh $@
14 |
15 | override_dh_strip:
16 | # don't strip anything
17 |
18 | override_dh_shlibdeps:
19 | # this is not happy on armhf, let's just skip it
20 |
--------------------------------------------------------------------------------
/debian/source/format:
--------------------------------------------------------------------------------
1 | 3.0 (quilt)
2 |
--------------------------------------------------------------------------------
/debian/update.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash -e
2 |
3 | copy_files() {
4 | builddir=$1
5 | destdir="headers/usr/src/linux-headers-$version"
6 | mkdir -p "$destdir"
7 | mkdir -p "headers/lib/modules/$version"
8 | rsync -aHAX \
9 | --files-from=<(
10 | cd linux
11 | find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl | grep -E -v '^\./debian'
12 | ) linux/ "$destdir/"
13 | rsync -aHAX \
14 | --files-from=<(
15 | cd linux
16 | find "arch/${ARCH}/include" include scripts -type f
17 | ) linux/ "$destdir/"
18 | rsync -aHAX \
19 | --files-from=<(
20 | cd linux
21 | find "arch/${ARCH}" -name module.lds -o -name Kbuild.platforms -o -name Platform
22 | ) linux/ "$destdir/"
23 | rsync -aHAX \
24 | --files-from=<(
25 | cd linux
26 | find "arch/${ARCH}" -name include -type d -print0 -o -name scripts -type d -print0 |
27 | xargs -0 -I '{}' find '{}' -type f
28 | ) \
29 | linux/ \
30 | "$destdir/"
31 | rsync -aHAX \
32 | --files-from=<(
33 | cd "$builddir"
34 | find "arch/${ARCH}/include" Module.symvers .config include scripts -type f
35 | ) "$builddir" "$destdir/"
36 |
37 | # search for artifacts which have been built for host architecture and remove them
38 | HOST_ELF=$(file -L /bin/true | grep -oP 'ELF [\w\- ]+, \K[\w\- ]+')
39 | find "$destdir/scripts" -type f -exec file {} + | grep -E "ELF .* $HOST_ELF," | cut -d: -f1 | xargs --no-run-if-empty rm
40 | find "$destdir/scripts" -type f -name '*.cmd' -exec rm {} +
41 |
42 | ln -sf "/usr/src/linux-headers-$version" "headers/lib/modules/$version/build"
43 |
44 | (
45 | cd linux
46 | make "${make_opts[@]}" -j"$NPROC" INSTALL_KBUILD_PATH="../$destdir" kbuild_install
47 | )
48 | }
49 |
50 | NPROC=$(nproc) || NPROC=8
51 |
52 | if [ -z "$LINUXDIR" ]; then
53 | echo "Usage: LINUXDIR= [PIKERNELMODDIR=] $(basename "$0")" \
54 | "[-a armv6]" 1>&2
55 | exit 1
56 | elif [ ! -d "$LINUXDIR" ]; then
57 | echo 1>&2 "LINUXDIR defined as $LINUXDIR, but folder not found on disk."
58 | exit 1
59 | fi
60 |
61 | if [ "$1" = "-a" ] && [ "$2" = "armv6" ]; then
62 | echo "armv6 build enabled" 1>&2
63 | ENABLE_ARMV6=1
64 | fi
65 |
66 | if [ -n "$PIKERNELMODDIR" ]; then
67 | if [ ! -d "$PIKERNELMODDIR" ]; then
68 | echo 1>&2 "PIKERNELMODDIR defined as $PIKERNELMODDIR, but folder not found on disk."
69 | exit 1
70 | fi
71 | fi
72 |
73 | HOST_ARCH="$(uname -m)"
74 | ARCH=${ARCH:-arm}
75 | case "$ARCH" in
76 | arm)
77 | if ! grep -q -E "armv(6l|7|7l)" <<<"$HOST_ARCH"; then
78 | CROSS_COMPILE=arm-linux-gnueabihf-
79 | fi
80 | # CM1=6 CM3=7 CM4=7l (32 bit kernel)
81 | # CM1=6 is no longer enabled by default
82 | if [ "$ENABLE_ARMV6" ]; then
83 | kernel_versions="6 "
84 | fi
85 | kernel_versions+="7 7l"
86 | ;;
87 | arm64)
88 | if [ "$HOST_ARCH" != "aarch64" ]; then
89 | CROSS_COMPILE=aarch64-linux-gnu-
90 | fi
91 | # CM3/CM4S/CM4=8 (64 bit kernel)
92 | kernel_versions="8"
93 | ;;
94 | *)
95 | echo 1>&2 "Unsupported architecture: ${ARCH}"
96 | exit 1
97 | ;;
98 | esac
99 |
100 | INSTDIR=$(dirname "$0")
101 | if [ "${INSTDIR#/}" == "$INSTDIR" ]; then INSTDIR="$PWD/$INSTDIR"; fi
102 | INSTDIR=${INSTDIR%%/debian}
103 | BUILDDIR_TEMPLATE=$INSTDIR/kbuild
104 | KBUILD_BUILD_TIMESTAMP="$(dpkg-parsechangelog -SDate)"
105 | export KBUILD_BUILD_TIMESTAMP
106 | export KBUILD_BUILD_USER="support"
107 | export KBUILD_BUILD_HOST="kunbus.com"
108 | export ARCH
109 | export CROSS_COMPILE
110 | # shellcheck disable=SC2016
111 | make_opts=(CFLAGS_KERNEL='-fdebug-prefix-map=$LINUXDIR=.' CFLAGS_MODULE='-fdebug-prefix-map=$LINUXDIR=.' O="$BUILDDIR_TEMPLATE")
112 |
113 | # use ccache if available and kernelbakery was invoked with USE_CCACHE=1
114 | if [ -e /usr/bin/ccache ] && [ ${USE_CCACHE:-0} == 1 ]; then
115 | CROSS_COMPILE="ccache $CROSS_COMPILE"
116 | fi
117 |
118 | if [ ! -L "$INSTDIR/linux" ]; then
119 | ln -sf "$LINUXDIR" "$INSTDIR/linux"
120 | fi
121 |
122 | [ -d "$INSTDIR/boot/overlays" ] || mkdir "$INSTDIR/boot/overlays"
123 |
124 | # cleanup from previous builds
125 | rm -rf "$INSTDIR/headers"
126 | rm -f "$INSTDIR/boot/broadcom"/*.dtb "$INSTDIR/boot"/*.dtb "$INSTDIR/boot/overlays"/*.dtbo "$INSTDIR/boot"/kernel*.img
127 | rm -rf modules/*
128 |
129 | for kernel_version in $kernel_versions; do
130 | defconfig="revpi-v${kernel_version}_defconfig"
131 | test -f "linux/arch/${ARCH}/configs/$defconfig" || continue
132 | builddir=${BUILDDIR_TEMPLATE}${kernel_version/6/}
133 | make_opts[-1]="O=${builddir}"
134 |
135 | rm -rf "$builddir"
136 | mkdir "$builddir"
137 |
138 | # build kernel
139 | (
140 | cd linux
141 | make "${make_opts[@]}" $defconfig
142 | )
143 | if [ "$ARCH" == "arm64" ]; then
144 | (
145 | cd linux
146 | make "${make_opts[@]}" -j$NPROC Image modules 2>&1
147 | )
148 | else
149 | (
150 | cd linux
151 | make "${make_opts[@]}" -j$NPROC zImage modules 2>&1
152 | )
153 | fi
154 | version="$(cat "$builddir/include/config/kernel.release")"
155 | copy_files "$builddir"
156 |
157 | # build piKernelMod
158 | if [ -d "$PIKERNELMODDIR" ]; then
159 | cd "$PIKERNELMODDIR"
160 | cd -
161 | (
162 | cd linux
163 | make "${make_opts[@]}" M="$PIKERNELMODDIR" modules
164 | )
165 | fi
166 |
167 | # install kernel
168 |
169 | if [ "$ARCH" == "arm64" ]; then
170 | # arm64 kernel is uncompressed by default, let's gzip it
171 | cp "$builddir/arch/${ARCH}/boot/Image" "$INSTDIR/boot/kernel8.img"
172 | gzip -9 "$INSTDIR/boot/kernel8.img"
173 | mv "$INSTDIR/boot/kernel8.img"{.gz,}
174 | else
175 | cp "$builddir/arch/${ARCH}/boot/zImage" "$INSTDIR/boot/kernel${kernel_version/6/}.img"
176 | fi
177 |
178 | # install modules
179 | if [ -d "$PIKERNELMODDIR" ]; then
180 | (
181 | cd linux
182 | make "${make_opts[@]}" -j$NPROC modules_install INSTALL_MOD_PATH="$INSTDIR/modules" M="$PIKERNELMODDIR"
183 | )
184 | fi
185 | (
186 | cd linux
187 | make "${make_opts[@]}" -j$NPROC modules_install INSTALL_MOD_PATH="$INSTDIR/modules"
188 | )
189 | mv "$INSTDIR/modules/lib/modules"/* "$INSTDIR/modules"
190 | rm -r "$INSTDIR/modules/lib"
191 | rm "$INSTDIR/modules"/*/{build,source}
192 | done
193 |
194 | # install dtbs (based on last builddir)
195 | (
196 | cd linux
197 | make "${make_opts[@]}" -j$NPROC dtbs 2>&1
198 | )
199 | (
200 | cd linux
201 | make "${make_opts[@]}" -j$NPROC dtbs_install INSTALL_DTBS_PATH=/tmp/dtb.$$
202 | )
203 | if [ "$ARCH" == "arm64" ]; then
204 | mv /tmp/dtb.$$/broadcom/*.dtb "$INSTDIR/boot"
205 | else
206 | mv /tmp/dtb.$$/*.dtb "$INSTDIR/boot"
207 | fi
208 | mv /tmp/dtb.$$/overlays/* "$INSTDIR/boot/overlays"
209 | rmdir /tmp/dtb.$$/* /tmp/dtb.$$
210 |
211 | [ ! -d "extra" ] && mkdir "extra"
212 | echo "_ _ $version" >extra/uname_string
213 |
214 | find headers -name .gitignore -delete
215 | (
216 | cd debian
217 | ./gen_bootloader_postinst_preinst.sh
218 | )
219 |
--------------------------------------------------------------------------------