Joonas Kuorilehto
ab6fc6e02a
Fix short name with short primary and long extension ( #7 )
...
Fixes gokrazy/internal#5
2020-07-13 10:41:55 +02:00
Michael Stapelberg
539bb61868
updater: use crc32 for checksumming when available
...
This is significantly faster than sha256 on the Raspberry Pi 4:
update speeds increase from ≈12 MB/s to ≈55 MB/s.
2020-06-26 11:05:05 +02:00
Michael Stapelberg
6897d2a79a
move API to Target struct
2020-06-26 10:54:33 +02:00
Michael Stapelberg
71ca43da01
introduce updater.Target struct
2020-06-26 10:46:47 +02:00
Michael Stapelberg
dd941cf696
set InsecureSkipVerify if -insecure is specified
2020-06-01 14:00:25 +02:00
Michael Stapelberg
d96421c600
handle upgrade path (location: header missing)
2020-05-31 21:46:36 +02:00
Michael Stapelberg
0ad69b1961
remove status code check after all
...
I was about to add Unauthorized to the list, but I think we should just remove
it after all , as it seems brittle.
2020-05-31 21:46:12 +02:00
Michael Stapelberg
bcf56cab3e
don’t use TLS at all if -tls is empty
2020-05-31 21:45:59 +02:00
Michael Stapelberg
d0cf397b47
GetTLSHttpClientByTLSFlag: check if tls flag is non-empty
2020-05-31 21:29:35 +02:00
Janis Streib
220f580f3a
Specify the httpClient (part of gokrazy/gokrazy#7) ( #4 )
...
This allows us to use a custom httpClient with own trusted certificates.
2020-05-31 11:28:57 +02:00
Michael Stapelberg
5369c1985e
config: don’t require os.UserConfigDir() to work at func init
...
This broke the packer’s sudo privilege elevation code path.
2020-05-30 20:59:35 +02:00
Michael Stapelberg
389acc6d08
add PARTUUID()
2020-05-30 19:04:18 +02:00
Michael Stapelberg
2cb9182fef
factor host-specific config reading into internal/
2020-05-27 18:35:28 +02:00
Michael Stapelberg
7e4057347a
move iface package from github.com/gokrazy/gokrazy to internal
...
related to https://github.com/gokrazy/gokrazy/issues/57
2020-05-27 08:34:29 +02:00
Michael Stapelberg
9da9028582
travis: use go 1.14
2020-04-07 10:02:21 +02:00
Michael Stapelberg
660ad467b7
updater: add TargetSupports()
...
related to https://github.com/gokrazy/gokrazy/issues/52
2020-04-07 09:58:22 +02:00
Michael Stapelberg
37efc446ad
declare a go module
2020-04-07 08:55:09 +02:00
Michael Stapelberg
f93ff050da
rootdev: add accessors for partitions, deal with PARTUUID=
...
related to https://github.com/gokrazy/gokrazy/issues/52
2020-04-07 08:54:35 +02:00
Michael Stapelberg
cee26266a0
mbr: include partuuid in disk signature
...
related to https://github.com/gokrazy/gokrazy/issues/52
2020-04-07 08:53:57 +02:00
Michael Stapelberg
edd739cb2e
shave off 1 bootloader byte to make space for the disk signature
...
Previously, the bootloader occupied 441 bytes, but we need it to fit within 440
bytes to place the disk signature in the remaining 6 bytes before the partition
table.
related to https://github.com/gokrazy/gokrazy/issues/52
2020-04-07 08:53:48 +02:00
Michael Stapelberg
de21a662e4
travis: update to Go 1.12
2019-06-30 11:10:51 +02:00
Michael Stapelberg
faec26b22a
internal/fat: fix unusableClusters after previous commit
2019-06-30 11:10:30 +02:00
Michael Stapelberg
c3231df868
fat/writer: represent first 2 FAT entries in w.fat
...
Before this commit, the special first two entries (media descriptor copy, file
system state) were only written out in writeFAT.
For the edge case where the two entries are what pushes the FAT from one sector
to the next, this resulted in incorrect fatSectors calculation.
2019-06-30 11:03:35 +02:00
Michael Stapelberg
23a986872b
move root device finding function to internal/rootdev
2018-07-14 23:33:57 +02:00
Michael Stapelberg
8037b85c92
return an error when a specific update handler (e.g. MBR) is unimplemented
2018-07-13 23:54:42 +02:00
Michael Stapelberg
d29e68b650
add UpdateMBR
2018-07-12 09:27:19 +02:00
Michael Stapelberg
377f208063
nasm.go: gofmt generated source
2018-07-08 21:55:17 +02:00
Michael Stapelberg
f1fa8f1224
mbr: load cmdline from LBA (like kernel), add Configure function
2018-07-07 00:11:25 +02:00
Michael Stapelberg
60b5366ebd
add mbr/bootloader.asm
...
from https://sebastian-plotz.blogspot.com/2012/07/1.html
2018-07-07 00:09:34 +02:00
Michael Stapelberg
d9943d7e3e
Merge pull request #1 from stapelberg/squashfs
...
Add a SquashFS writer
2018-06-21 19:28:46 +02:00
Michael Stapelberg
ccf5171e9f
squashfs: use zlib.BestSpeed
...
This reduces the time to generate images for my largest gokrazy installation
from 3.5s to 1.6s, while only increasing the file size from 32M to 36M.
2018-06-21 19:22:43 +02:00
Michael Stapelberg
80f452e9c9
squashfs: write ldirInodeHeaders for large directories
...
The dirInodeHeader type only uses a uint16 for the size of the directory
entries, which is sometimes not sufficient (and before this change would
overflow, resulting in directories which seemed to miss files).
2018-06-20 23:45:44 +02:00
Michael Stapelberg
e220cec663
squashfs: use correct offset for writing parent inode
2018-06-19 08:41:35 +02:00
Michael Stapelberg
ff98b2beb2
squashfs: fall back to uncompressed blocks for Linux compatibility
2018-06-19 08:41:25 +02:00
Michael Stapelberg
59a20ece5c
squashfs: fix compressed block flushing of larger files
2018-06-10 14:04:25 +02:00
Michael Stapelberg
8c59fbd82f
squashfs: fix file size calculation when using more than one block
2018-06-10 14:03:07 +02:00
Michael Stapelberg
ab3bfa03ae
squashfs: turns out inode blocks are offsets (e.g. 8194), not block numbers
2018-06-10 14:02:13 +02:00
Michael Stapelberg
32d3607ae8
Add a SquashFS writer
2018-06-10 13:57:34 +02:00
Michael Stapelberg
8508a2c816
Bugfix: exempt special . and .. entries from leading dot stripping
2018-05-16 18:24:07 +02:00
Michael Stapelberg
5ba2f5ad38
FAT: add support for long file names
...
This is in preparation for adding Raspberry Pi 3 B+ support, for which we’ll
need to let the firmware locate the DTB file under file names such as
bcm2710-rpi-3-b-plus.dtb.
Note that short names are not upper-cased currently (the standard says they
should, but neither the firmware nor the linux kernel care) so that upgrades
from older gokrazy installations work. In a year or so, we can change this.
2018-05-16 09:33:23 +02:00
Michael Stapelberg
dafaf92bf7
fat: add Reader.ModTime() for the timestamps package
2017-09-06 09:37:57 +02:00
Michael Stapelberg
482fe4e5c6
fat: store timestamps in UTC (Linux interprets them in UTC)
2017-09-06 09:37:30 +02:00
Michael Stapelberg
ebb63d7e97
fat: store seconds correctly (divide, not multiply)
2017-09-06 09:37:13 +02:00
Michael Stapelberg
e166c599fa
update import paths
2017-07-14 03:18:19 +02:00
Michael Stapelberg
580b69f8dc
Move FAT16B writer from github.com/gokrazy/fat to internal
2017-07-14 03:14:28 +02:00
Michael Stapelberg
eb0895d70f
Initial commit
2017-03-04 11:12:34 +01:00