Commit Graph

27 Commits

Author SHA1 Message Date
David Oberhollenzer fa4eff263b Cleanup: implement defaults for package functions
This commit adds an "emptypackage" template that implements defaults
for all package functions and is included before every package.

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2020-04-16 15:16:58 +02:00
David Oberhollenzer 1a697b336f Fix sysroot directory
Use a seperate sysroot directory (stored in variable SYSROOT)
instead of installing everything into the toolchain directory.

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2020-04-07 03:28:21 +02:00
David Oberhollenzer db7ce0f77b Consistently remove group write access from directoris
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-04-22 11:58:56 +02:00
David Oberhollenzer 5340013d16 Fix permissions in initrd file listing
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-04-18 22:02:21 +02:00
David Oberhollenzer 013692b999 Cleanup: overlay mount setup
- initrd can use the handy wrapper script from the rootfs
 - we don't need to initialize the overlay dir, the wrapper script does that

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-29 21:03:09 +01:00
David Oberhollenzer 1ecddf718f cleanup: initrd: no need to install anything
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-24 16:45:27 +01:00
David Oberhollenzer 01256c6ab9 Bump pkg-utils version
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-09 15:26:29 +01:00
David Oberhollenzer 8fa44569d8 cleanup: remove deploy directory argument from package command
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-06 10:03:12 +01:00
David Oberhollenzer 8483823e81 Generate a package for initrd
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-03 17:47:02 +01:00
David Oberhollenzer d2432c1d1e Use pkg for managing binaries and their dependencies
- rewrite the rootfs_files.txt listings to the format used by pkg
 - create package files from each package
 - use "pkg install" to manage installation of packages and dependencies
   into the rootfs and initrd staging dirs

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-03 17:47:02 +01:00
David Oberhollenzer e61ca9decf Another overlay mount overhaul
- Directly pass the device type to the mount command
 - Use the special default type "hwdevice" to wait for a device node
   before mounting it
 - Initialize the overlay partition from the initrd script
 - Do the bind mount setup as document

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-10-01 19:11:12 +02:00
David Oberhollenzer 59d01432b1 More sophisticated filesystem setup from initrd
- Let us specify the "type" of the root and overlay filesystem.
   At the moment we have raw device that we wait for (default) and
   qemu virtio 9pfs.
 - If no squasfs image is specified, mount the root partition as
   root filesystem.
 - If no overlay device is specified, don't touch the new root
   filesystem.

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-09-29 21:32:58 +02:00
David Oberhollenzer b1bdce20a9 Add automatic update chacking script
Crunch project websites and try to find the latest version for each
package without having to do the work manually.

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-05-08 15:01:23 +02:00
David Oberhollenzer 8239578deb Move filesystem setup to init
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-07 00:52:21 +02:00
David Oberhollenzer f5a62aef6a Replace OpenRC with custom init system
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-03-24 18:28:29 +01:00
David Oberhollenzer 96966bf73b Minor cleanup
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-24 22:45:00 +01:00
David Oberhollenzer b0e2497a99 Greatly simplify initrd setup
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-24 22:45:00 +01:00
David Oberhollenzer fc278364e5 Cleanup package command arguments
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-17 03:02:16 +01:00
David Oberhollenzer 05ae80634c Don't keep build directory
Use $PKGBUILDDIR for building packages. Delete it again after
the deploy is done. If the build fails, the script aborts and it
is kept. If the build and deploy pass, there is no reason to keep
it around.

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-17 03:02:15 +01:00
David Oberhollenzer ed18073698 Launch from initrd directly into OpenRC
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-08 21:07:22 +01:00
David Oberhollenzer dec32445a1 Revamp/improve vfs setup in initrd
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-08 21:07:22 +01:00
David Oberhollenzer ffacb26218 Remove depends file
Instead of having a "depends" file with a list of packages, add a
"DEPENDS" variable to the build script.

Generate the rootfs dependencies from a config file stored in the
cfg directory.

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-01-30 14:02:09 +01:00
David Oberhollenzer 077f72f529 Some rootfs restructuring
- Dedicate home directory for root user (classic /root)
 - Root homedirectory is overlay mounted
 - Allows us to have an empty user directory that we directly
   mount, i.e. without using overlay fs

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-01-30 14:02:09 +01:00
David Oberhollenzer 8230c3996b Add bash startup files, fix bash startup
- Add startup files
 - Fix initrd to no leak environment variables
 - Start bash from initrd as login shell (for now)

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-01-30 14:02:09 +01:00
David Oberhollenzer 9b7c8c5730 Add overlayfs setup for /etc and /var/lib
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-01-30 14:02:09 +01:00
David Oberhollenzer 5c8effa301 Remove unneccessarry prepare() hooks
- Packages that don't download anything don't need a prepare() hook
 - Packages that inherit the source from other packages should leave
   it untouched. If they get downloaded first, they should use the
   hook from the original package.

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-01-30 14:02:09 +01:00
David Oberhollenzer dbbb1889f4 Initial commit
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-01-29 10:17:30 +01:00