- All linux packages generate "linux" and "linux-modules"
- Preference mechanism is used to select the right source package
- Rootfs depends on "linux-modules" to install the selected kernels
modules into the squashfs image
- The release pacakge depends on "linux" to install the appropriate
kernel to the boot partition
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
Add root home directory to basefiles, make every package that
touches /etc/skel also provide defaults for root home.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
- move the skeleton setup stuff out of the rootfs package into a
sperate package called "basefiles"
- remove manual unpacking from rootfs, we already have all the dependencies
installed in the toolchain sysroot.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
- 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>
Just install the kernel package to the rootfs /boot directory and add a step
to the rootfs package to move /boot data out of the squasfs image.
Add linux package as regular dependency to the rootfs.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Every package now has or generates a rootfs_files.txt containing a list
of files that should be packed into the rootfs, their permissions and
their owner.
This gives us fine grained controll over the owners and permissions of the
rootfs files (by generating a squashfs pseudo file).
In subsequent steps, this allows us to remove the deploy/devdeploy split and
actually simplifiy most of the build scripts.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
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>
Let packages decide if they want to install something to /opt or /srv,
but there is no reason to have empty directories by default in the read
only root filesystem.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Instead of having an overlay mounted /root in the root filesystem,
move it to the other user directories, i.e. /usr/root.
We then overlay mount the entire /usr directory. This still allows
us to mount /usr from somewhere else if we wish, but cleans
up/simplifies the filesystem for now and implements some default
management of general user directories.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
- build needs a pair of product and board name
- some products can only be built for some boards
- Config files in product/<name> directory override those in board/<name>
- For some config files, like LDPATH or ROOTFS, the files are merged
- product/common provides defaults
Add default config for various services:
- Add default config for unbound
- Add default config for dnsmasq
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
- Remove empty directories installed to / by install targets
- Make sure we strip everything
- Remove charset.alias file installed by every pacakge, add
centralized version to rootfs package
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
- move all bash related files to bash package
- don't clutter files in package directory, structure
in directory hierarchy
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Add rootfs-<cfg> packages that create the skeleton system, copy
the files and create the squashfs images. Old "SQUASHFS" package
list is depends file of rootfs-<cfg> package.
This removes some of the special case code.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>