This makes sure that once we have ro rootfs any programs that still
for any reason use `/tmp` can still write to it, or if people expect
sharing it into a container to work.
fix#778
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
- run bootmisc before sysklogd so symlinks from /var/run to
/run are created
- recreate symlinks that bootmisc created when we remount /var
until this gets moved earlier
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
If we are using vsudd to forward syslog to the host, as on osx,
we need to start it before syslog starts, and make sure it has
created its socket.
Add a pidfile to vsudd to make startup more reliable.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This reverts commit 4dd5dca106.
Fix#710 where system hangs after klogd startup on AWS. Possibly
also affects Windows too. Still unclear why but lets revert and
continue investif=gating.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
So that we can write to /var early, move filesystem formatting as early as possible.
Adds a dummy fsck service, as we already do fsck in format script.
Replaces #535
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
See #536
This is the recommended frequency. For desktop this might be less
suitable, so we may want to adjust
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Should fix issue with not sending hostname which Azure needs.
This should be requesting all the dhcp features we currently use.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Tweak the config to use RDSEED or (fallback) RDRAND. Makes sure
we have initial random seed in cases where there is no other
random source if these are supported.
The default config in Alpine currently disables these, which makes
it pretty useless, as there is no motherboard rng support any more.
Replaces #517Fix#514Fix#183
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Given you can login as root with no password on the console,
asking which user you would like to login as is rather pointless.
Do have to tweak /etc/issue though as busybox getty does not display it
without a prompt, and we want a whale.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This uses the new Alpine sysfs.conf service to allow config of sysfs.
Default file that sets transparent huge pages to only be used on request
to fix#368
Database setting available for user configuration.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This is needed for volume drivers as they will mount their
volumes under here, and if they are running in a container
docker on the host will need to see these.
Also provide our own fstab, removes the media devices that were
there previously.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
with the login tty generated from boot cmdline the inittab will be equal
on all archs and platforms so we can merge and move to etc/
Signed-off-by: Natanael Copa <natanael.copa@docker.com>
Avoid doing this on non-Docker-for-{Mac,Win} editions (which don't run vsudd)
by checking for vsudd.pid and avoid doing it on Docker-for-Win (for now) by
checking for /sys/bus/vmbus (as /etc/init.d/vsudd does too).
Ideally we would just check for /var/run/syslog.vsock but this may not have
arrived yet (typically vsudd is now started immediately prior to syslog and it
forks via start-stop-daemon and thus before it creates the socket). Since
syslogd will reopen as needed we don't want to delay boot either here or in the
vsudd initscript to await the arrival of the socket.
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
When running moby under other hypervisors, requiring troubleshooting on
the serial port can be painful. This change enables console support on
tty1 similar to the way prior boot2docker images worked.
Allow the host to configure a static IP address for eth0 by setting the
following DB keys:
- net/config: "static" (default or not set -> dhcp)
- net/address: IP address
- net/netmask: netmask in dot notation
- net/gateway: default gateway
Also allow overwriting/setting "/etc/resolve.conf" by writing to
the "etc/resolv.conf" key.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
The tap-vsockd service is started from eth1's pre-up script.
On the Mac: the bind of the AF_HYPERV socket fails, and eth1 is skipped.
On Windows: if there is no database then eth1 is skipped.
On Windows: if the database has network=native then eth1 is brought up.
Signed-off-by: David Scott <dave.scott@docker.com>
The NIC with the lowest metric is used for routing, while the NIC with
the highest index is used for DNS. Set the metric of eth1 to 199, so it
is higher-priority than eth0, so we use eth1 for everything in a dual
NIC configuration.
Signed-off-by: David Scott <dave.scott@docker.com>
This makes it possible to have one NIC controlled by vmnet and another
controlled by slirp.
If eth1 doesn't exist then a harmless message is generated during
bootup: (with no appreciable delay)
* Starting networking ... * lo ... [ ok ]
* eth0 ... [ ok ]
* eth1 ...ip: ioctl 0x8913 failed: No such device
[ !! ]
Signed-off-by: David Scott <dave.scott@docker.com>