-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
s390x: add support for IBM Z DASD disks #153
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,6 +10,9 @@ PERSIST_KERNEL_NET_PARAMS=("ipv6.disable" "net.ifnames" "net.naming-scheme") | |
# List from https://www.mankier.com/7/dracut.cmdline#Description-Network | ||
PERSIST_DRACUT_NET_PARAMS=("ip" "ifname" "rd.route" "bootdev" "BOOTIF" "rd.bootif" "nameserver" "rd.peerdns" "biosdevname" "vlan" "bond" "team" "bridge" "rd.net.timeout.carrier" "coreos.no_persist_ip") | ||
|
||
# IBM S390X params to persist | ||
PERSIST_S390X_PARAMS=("rd.dasd" "rd.zfcp" "rd.znet" "zfcp.allow_lun_scan" "cio_ignore") | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hmm, do we really need this? There is a push in general to not add support for more kargs than we already have and instead direct users towards scripting coreos-installer via Ignition: #124. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. As I understand it:
So I suspect they might all be needed. @nikita-dubrovskii, is that correct? Any additional details? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Exactly, we have to persist those kargs. |
||
|
||
args=("install") | ||
|
||
cmdline=( $(</proc/cmdline) ) | ||
|
@@ -61,19 +64,24 @@ if [ -n "${ignition_url}" -a "${ignition_url}" != "skip" ]; then | |
args+=("--ignition-url" "${ignition_url}" "--insecure-ignition") | ||
fi | ||
|
||
# First-boot kernel arguments. Filter out any args that aren't in our | ||
# list of networking arguments to forward and store them in $firstboot_args | ||
# Forward whitelisted kernel arguments to the installed system. We have | ||
# separate sets of whitelists for first-boot kargs and persistent kargs. | ||
# Only pass --firstboot-kargs if additional networking options have been | ||
# specified, since the default in coreos-assembler specifies | ||
# `rd.neednet=1 ip=dhcp` when no options are persisted. | ||
firstboot_args="" | ||
for item in "${cmdline[@]}"; do | ||
for param in "${PERSIST_KERNEL_NET_PARAMS[@]}" "${PERSIST_DRACUT_NET_PARAMS[@]}"; do | ||
if [[ $item =~ ^$param(=.*)?$ ]]; then | ||
firstboot_args+="${item} " | ||
fi | ||
done | ||
for param in "${PERSIST_S390X_PARAMS[@]}"; do | ||
if [[ $item =~ ^$param(=.*)?$ ]]; then | ||
args+=("--append-karg" "${item}") | ||
fi | ||
done | ||
done | ||
# Only pass firstboot-kargs if additional networking options have been | ||
# specified, since the default in ignition-dracut specifies | ||
# `rd.neednet=1 ip=dhcp` when no options are persisted | ||
if [ -n "${firstboot_args}" ]; then | ||
args+=("--firstboot-args" "rd.neednet=1 ${firstboot_args}") | ||
fi | ||
|
@@ -94,4 +102,3 @@ udevadm settle | |
# Install | ||
echo "coreos-installer ${args[@]}" | ||
coreos-installer "${args[@]}" | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wait, what? /me reads https://docs.travis-ci.com/user/multi-cpu-architectures/.
Whoa, didn't realize this! We could use that in cosa at least to get some multi-arch coverage, even if just of
./build.sh
(though definitely worth checking if it also has virt support, but likely not).