| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Right now, when $KOPT_BOOTIF is specified, it can echo a device related
to that option and still continue with the loop that checks the
operstate. Due to this, it can echo two network interfaces. This commit
fixes that so it will only return a single network interface.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The configuration option was renamed when parts of our patch
were upstreamed to busybox.
|
|
|
|
|
| |
grub will set root=ZFS=... when root is zfs but will not add rootfstype,
so make a special case for zfs
|
| |
|
| |
|
|
|
|
|
|
|
| |
BOOTIF can be set by the SYSAPPEND option of PXELINUX. Its primary
usecase is telling the OS which interface it was booted from. This
fixes netbooting from eth1 or upwards if eth0 is connected to an
different network.
|
| |
|
|
|
|
| |
This flag does not exist on most non-x86 platforms.
|
|
|
|
| |
The kernel offers the same functionality through libata.dma=0.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of parsing the console= options in the initramfs, we ask the
kernel of its interpretation of the console= parameters. The kernel
does the console setup as part of its early startup, including the
configuration of the baud rate, control bits and flow control.
The options and format of the console= parameter are documented here:
https://www.kernel.org/doc/html/v4.15/admin-guide/serial-console.html
By keeping the settings from the kernel, we avoid baud rate switching
between printk and getty output on edge cases.
This adds support for additional tty types, like hvc, while removing
string parsing code from the initramfs.
|
|
|
|
|
|
|
|
| |
Previously, configure_ip was only called from code paths of other
boot options that require network.
This fixes the passing of -n to nlplug-findfs and --no-network to
the apk memory bootstrap.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
The "cryptkey" boot parameter enables keyfile decryption. By default,
init will look for a keyfile named "/crypto_keyfile.bin". Another file
may be specified like so: "cryptkey=/path/to/keyfile.bin". If keyfile
decryption fails, init will fall back to passphrase mode.
|
|
|
|
|
|
|
|
| |
Previous code would return eth0 every time and pay no attention
if interface was up. This patch gets the state from operstate file
in sysfs to use the interface that is actually up in case there
are multiple interfaces present. If no interface is up, just use
last interface.
|
|
|
|
| |
ssl_client provides the https support for busybox wget
|
|
|
|
|
|
|
| |
ssh_pass is not recommended and causes some issues in firstboot. We
remove support for it to keep things simple.
also make sure that sshd is started if ssh_key is set
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit allows starting 'firstboot' service (see aports/openrc),
which will setup installation through SSH if specified in kernel
parameters.
Real wget is used instead since busybox's wget is broken without
openssl binary #8917. Credits to clandmeter.
- Allow adding DNS server in configure_ip()
- Prefix kernel parameters with KOPT_
|
|
|
|
|
| |
- Allow including dasd and qeth modules when building initramfs
- Add detection for dasd and qeth devices from cmdline in init
|
|
|
|
| |
mountpoint cannot be located when repo is external.
|
|
|
|
|
| |
None of the other commands emit any output if everything works as
expected and I just like consistency.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
example:
```sh
❯ docker run --rm -ti alpine
/ # KOPT_blacklist=igb,ixgbe,tg3
/ # for i in ${KOPT_blacklist/,/ }; do echo "blacklist $i"; done
blacklist igb
blacklist ixgbe,tg3
/ # for i in ${KOPT_blacklist//,/ }; do echo "blacklist $i"; done
blacklist igb
blacklist ixgbe
blacklist tg3
```
|
|
|
|
|
|
|
|
| |
We can not run hooks before musl and busybox is installed.
Use the new flag --initramfs-diskless-boot in order to skip hooks.
This flag also implies --initdb and the relevant --force flags for
initramfs diskless boot.
|
|
|
|
|
|
|
|
|
| |
https://btrfs.wiki.kernel.org/index.php/Using_Btrfs_with_Multiple_Devices:
> btrfs device scan is used to scan all of the block devices under /dev
> and probe for Btrfs volumes. This is required after loading the btrfs
> module if you're running with more than one device in a filesystem.
See http://bugs.alpinelinux.org/issues/6903
|
|
|
|
|
| |
When enabled allows the use of discard (TRIM) requests for the device.
See cryptsetup(1) for more information.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to https://www.kernel.org/doc/Documentation/admin-guide/serial-console.rst
the serial port options is specified as:
"... BBBBPNF, where BBBB is the speed, P is parity (n/o/e), N is number of bits,
and F is flow control ('r' for RTS)." Parity and Number of bits are ignored
since getty does not have any options for them.
I tested the paramater substitution using the following script/snippet:
```sh
/ # cat /etc/alpine-release; cat kernel2getty.sh; sh kernel2getty.sh
3.5.2
consoles="ttyS0 ttyS0,115200 ttyS0,115200n8 ttyS0,115200n8r ttyS0,115200r"
for console in $consoles; do
line=-L
term=vt100
tty=${console%,*}
speed=${console#*,}
flow=${speed##*[^r]}
speed=${speed%%[^0-9]*}
echo "console=$console"
echo " speed=$speed"
echo " flow=$flow"
echo " getty=getty ${flow:+-h }$line ${speed:-15200} $tty $term"
echo "----------"
done
console=ttyS0
speed=
flow=
getty=getty -L 15200 ttyS0 vt100
----------
console=ttyS0,115200
speed=115200
flow=
getty=getty -L 115200 ttyS0 vt100
----------
console=ttyS0,115200n8
speed=115200
flow=
getty=getty -L 115200 ttyS0 vt100
----------
console=ttyS0,115200n8r
speed=115200
flow=r
getty=getty -h -L 115200 ttyS0 vt100
----------
console=ttyS0,115200r
speed=115200
flow=r
getty=getty -h -L 115200 ttyS0 vt100
----------
```
closes #7037
|
| |
|
|
|
|
| |
ref #6689
|
|
|
|
|
|
| |
zpool needs the zfs module to be loaded early. by also loading
rootfstype module early we don't need specify zfs to both modules and
rootfstype
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch tries to add resume from hibernation (aka suspend to disk)
support to mkinitfs. The swap partition can be provided via the resume
option.
The default Alpine Linux kernel has no hibernation support compiled in,
so a custom kernel is needed in order to use this.
Some links on the topic:
* https://wiki.gentoo.org/wiki/Custom_Initramfs/Hibernation
* https://git.archlinux.org/mkinitcpio.git/tree/hooks/resume
|
|
|
|
|
|
|
| |
The kernel passes arguments from /proc/cmdline as a single string like
foo=bar baz="something with spaces". In the latter case, with the added
single quotes the actual value of ${KOPT_baz} would contain these quotes
as well, which is not the intention.
|
| |
|
| |
|
|
|
|
|
| |
this also introduces default behaviour for networking
calling configure_ip without setting ip defaults to dhcp
|
| |
|
| |
|
|
|
|
| |
and set default speed to 115200.
|
| |
|
|
|
|
|
| |
this was commented out during nlplug-findfs refactor for debugging
purposes. uncomment it again.
|
|
|
|
|
|
|
| |
we we specify a repo with boot option then we should not launch an
emergency shell even if no repo was found.
This is needed for pxe boot.
|
|
|
|
|
| |
we need set MAC_ADDRESS where whi know $device, which is a local
variable.
|
| |
|