Compare commits
28 Commits
v1.0.2-rc2
...
v1.0.x-gli
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5c396c0219 | ||
|
|
e19ccefff8 | ||
|
|
779e3f8d9d | ||
|
|
cf3f089bb1 | ||
|
|
800613e4df | ||
|
|
ed3f08f0f9 | ||
|
|
8d894ba396 | ||
|
|
cc133372a7 | ||
|
|
39922220b0 | ||
|
|
d789c9fba9 | ||
|
|
b5ca78c269 | ||
|
|
ff3db59776 | ||
|
|
d11a92418d | ||
|
|
411810bb2d | ||
|
|
7805c91f98 | ||
|
|
cfd9e80ac6 | ||
|
|
7d4685dcdd | ||
|
|
272f3942f1 | ||
|
|
abaecf4e44 | ||
|
|
e054331f11 | ||
|
|
53fced8122 | ||
|
|
b033444d20 | ||
|
|
9962e4c232 | ||
|
|
d2544357dc | ||
|
|
b27fe9422c | ||
|
|
bd857716a3 | ||
|
|
85c8916f4e | ||
|
|
b466ac9d45 |
@@ -1,8 +1,13 @@
|
||||
FROM ubuntu:16.04
|
||||
# FROM arm64=aarch64/ubuntu:16.04 arm=armhf/ubuntu:16.04
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
# get the apt-cacher proxy set
|
||||
ARG APTPROXY=
|
||||
|
||||
RUN echo "Acquire::http { Proxy \"$APTPROXY\"; };" >> /etc/apt/apt.conf.d/01proxy \
|
||||
&& cat /etc/apt/apt.conf.d/01proxy \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
ca-certificates \
|
||||
cpio \
|
||||
@@ -32,7 +37,7 @@ RUN apt-get update && \
|
||||
|
||||
########## Dapper Configuration #####################
|
||||
|
||||
ENV DAPPER_ENV VERSION DEV_BUILD RUNTEST DEBUG
|
||||
ENV DAPPER_ENV VERSION DEV_BUILD RUNTEST DEBUG APTPROXY ENGINE_REGISTRY_MIRROR
|
||||
ENV DAPPER_DOCKER_SOCKET true
|
||||
ENV DAPPER_SOURCE /go/src/github.com/rancher/os
|
||||
ENV DAPPER_OUTPUT ./bin ./dist ./build/initrd ./build/kernel
|
||||
@@ -56,7 +61,7 @@ ARG DOCKER_BUILD_VERSION=1.10.3
|
||||
ARG DOCKER_BUILD_PATCH_VERSION=v${DOCKER_BUILD_VERSION}-ros1
|
||||
ARG SELINUX_POLICY_URL=https://github.com/rancher/refpolicy/releases/download/v0.0.3/policy.29
|
||||
|
||||
ARG KERNEL_VERSION_amd64=4.9.29-rancher
|
||||
ARG KERNEL_VERSION_amd64=4.9.33-rancher-ssp1
|
||||
ARG KERNEL_URL_amd64=https://github.com/rancher/os-kernel/releases/download/v${KERNEL_VERSION_amd64}/linux-${KERNEL_VERSION_amd64}-x86.tar.gz
|
||||
ARG KERNEL_URL_arm64=https://github.com/imikushin/os-kernel/releases/download/Estuary-4.4.0-arm64.8/linux-4.4.0-rancher-arm64.tar.gz
|
||||
|
||||
@@ -74,9 +79,9 @@ ARG OS_SERVICES_REPO=https://raw.githubusercontent.com/${OS_REPO}/os-services
|
||||
ARG IMAGE_NAME=${OS_REPO}/os
|
||||
ARG DFS_IMAGE=${OS_REPO}/docker:v${DOCKER_VERSION}-2
|
||||
|
||||
ARG OS_BASE_URL_amd64=https://github.com/rancher/os-base/releases/download/v2016.08.1-2/os-base_amd64.tar.xz
|
||||
ARG OS_BASE_URL_arm64=https://github.com/rancher/os-base/releases/download/v2016.08.1-2/os-base_arm64.tar.xz
|
||||
ARG OS_BASE_URL_arm=https://github.com/rancher/os-base/releases/download/v2016.08.1-3/os-base_arm.tar.xz
|
||||
ARG OS_BASE_URL_amd64=https://github.com/rancher/os-base/releases/download/v2017.02.3-glibc-ssp-all/os-base_amd64.tar.xz
|
||||
ARG OS_BASE_URL_arm64=https://github.com/rancher/os-base/releases/download/v2017.02.3-glibc-ssp-all/os-base_arm64.tar.xz
|
||||
ARG OS_BASE_URL_arm=https://github.com/rancher/os-base/releases/download/v2017.02.3-glibc-ssp-all/os-base_arm.tar.xz
|
||||
######################################################
|
||||
|
||||
# Set up environment and export all ARGS as ENV
|
||||
|
||||
7
Makefile
7
Makefile
@@ -54,10 +54,15 @@ qcows:
|
||||
NAME=digitalocean ../../../.dapper
|
||||
cp ./scripts/images/openstack/dist/*.img dist/artifacts/
|
||||
|
||||
rpi: release
|
||||
rpi:
|
||||
# scripts/images/raspberry-pi-hypriot/dist/rancheros-raspberry-pi.zip
|
||||
cp dist/artifacts/rootfs_arm.tar.gz scripts/images/raspberry-pi-hypriot/
|
||||
cd scripts/images/raspberry-pi-hypriot/ \
|
||||
|
||||
rpi64:
|
||||
# scripts/images/raspberry-pi-hypriot64/dist/rancheros-raspberry-pi.zip
|
||||
cp dist/artifacts/rootfs_arm64.tar.gz scripts/images/raspberry-pi-hypriot64/
|
||||
cd scripts/images/raspberry-pi-hypriot64/ \
|
||||
&& ../../../.dapper
|
||||
|
||||
help:
|
||||
|
||||
71
README.md
71
README.md
@@ -14,50 +14,52 @@ it would really be bad if somebody did `docker rm -f $(docker ps -qa)` and delet
|
||||
|
||||
## Latest Release
|
||||
|
||||
**v1.0.1 - Docker 17.03.1-ce - Linux 4.9.24**
|
||||
**v1.0.2 - Docker 17.03.1-ce - Linux 4.9.30**
|
||||
|
||||
### ISO
|
||||
|
||||
- https://releases.rancher.com/os/latest/rancheros.iso
|
||||
- https://releases.rancher.com/os/v1.0.1/rancheros.iso
|
||||
- https://releases.rancher.com/os/v1.0.2/rancheros.iso
|
||||
|
||||
### Additional Downloads
|
||||
|
||||
#### Latest Links
|
||||
|
||||
* https://releases.rancher.com/os/latest/initrd
|
||||
* https://releases.rancher.com/os/latest/initrd-v1.0.1
|
||||
* https://releases.rancher.com/os/latest/initrd-v1.0.2
|
||||
* https://releases.rancher.com/os/latest/iso-checksums.txt
|
||||
* https://releases.rancher.com/os/latest/rancheros-openstack.img
|
||||
* https://releases.rancher.com/os/latest/rancheros.ipxe
|
||||
* https://releases.rancher.com/os/latest/rancheros.iso
|
||||
* https://releases.rancher.com/os/latest/rancheros-v1.0.1.tar.gz
|
||||
* https://releases.rancher.com/os/latest/rancheros-v1.0.2.tar.gz
|
||||
* https://releases.rancher.com/os/latest/rootfs.tar.gz
|
||||
* https://releases.rancher.com/os/latest/vmlinuz
|
||||
* https://releases.rancher.com/os/latest/vmlinuz-4.9.24-rancher
|
||||
* https://releases.rancher.com/os/latest/vmlinuz-4.9.30-rancher
|
||||
|
||||
#### v1.0.1 Links
|
||||
#### v1.0.2 Links
|
||||
|
||||
* https://releases.rancher.com/os/v1.0.1/initrd
|
||||
* https://releases.rancher.com/os/v1.0.1/initrd-v1.0.1
|
||||
* https://releases.rancher.com/os/v1.0.1/iso-checksums.txt
|
||||
* https://releases.rancher.com/os/v1.0.1/rancheros-openstack.img
|
||||
* https://releases.rancher.com/os/v1.0.1/rancheros.ipxe
|
||||
* https://releases.rancher.com/os/v1.0.1/rancheros.iso
|
||||
* https://releases.rancher.com/os/v1.0.1/rancheros-v1.0.1.tar.gz
|
||||
* https://releases.rancher.com/os/v1.0.1/rootfs.tar.gz
|
||||
* https://releases.rancher.com/os/v1.0.1/vmlinuz
|
||||
* https://releases.rancher.com/os/v1.0.1/vmlinuz-4.9.24-rancher
|
||||
* https://releases.rancher.com/os/v1.0.2/initrd
|
||||
* https://releases.rancher.com/os/v1.0.2/initrd-v1.0.2
|
||||
* https://releases.rancher.com/os/v1.0.2/iso-checksums.txt
|
||||
* https://releases.rancher.com/os/v1.0.2/rancheros-openstack.img
|
||||
* https://releases.rancher.com/os/v1.0.2/rancheros.ipxe
|
||||
* https://releases.rancher.com/os/v1.0.2/rancheros.iso
|
||||
* https://releases.rancher.com/os/v1.0.2/rancheros-v1.0.2.tar.gz
|
||||
* https://releases.rancher.com/os/v1.0.2/rootfs.tar.gz
|
||||
* https://releases.rancher.com/os/v1.0.2/vmlinuz
|
||||
* https://releases.rancher.com/os/v1.0.2/vmlinuz-4.9.40-rancher
|
||||
|
||||
#### v1.0.0 Links - updates coming soon
|
||||
#### ARM Links
|
||||
|
||||
* https://releases.rancher.com/os/latest/rootfs_arm.tar.gz
|
||||
* https://releases.rancher.com/os/latest/rootfs_arm64.tar.gz
|
||||
* https://releases.rancher.com/os/latest/rancheros-raspberry-pi.zip
|
||||
* https://releases.rancher.com/os/latest/rancheros-raspberry-pi64.zip
|
||||
|
||||
* https://releases.rancher.com/os/v1.0.0/rootfs_arm.tar.gz
|
||||
* https://releases.rancher.com/os/v1.0.0/rootfs_arm64.tar.gz
|
||||
* https://releases.rancher.com/os/v1.0.0/rancheros-raspberry-pi.zip
|
||||
* https://releases.rancher.com/os/v1.0.2/rootfs_arm.tar.gz
|
||||
* https://releases.rancher.com/os/v1.0.2/rootfs_arm64.tar.gz
|
||||
* https://releases.rancher.com/os/v1.0.2/rancheros-raspberry-pi.zip
|
||||
* https://releases.rancher.com/os/v1.0.2/rancheros-raspberry-pi64.zip
|
||||
|
||||
**Note**: you can use `http` instead of `https` in the above URLs, e.g. for iPXE.
|
||||
|
||||
@@ -69,21 +71,22 @@ SSH keys are added to the **`rancher`** user, so you must log in using the **ran
|
||||
|
||||
Region | Type | AMI |
|
||||
-------|------|------
|
||||
ap-south-1 | HVM | [ami-9b4e3cf4](https://ap-south-1.console.aws.amazon.com/ec2/home?region=ap-south-1#launchInstanceWizard:ami=ami-9b4e3cf4)
|
||||
eu-west-2 | HVM | [ami-d8eafebc](https://eu-west-2.console.aws.amazon.com/ec2/home?region=eu-west-2#launchInstanceWizard:ami=ami-d8eafebc)
|
||||
eu-west-1 | HVM | [ami-75cbcb13](https://eu-west-1.console.aws.amazon.com/ec2/home?region=eu-west-1#launchInstanceWizard:ami=ami-75cbcb13)
|
||||
ap-northeast-2 | HVM | [ami-797cae17](https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#launchInstanceWizard:ami=ami-797cae17)
|
||||
ap-northeast-1 | HVM | [ami-e499b383](https://ap-northeast-1.console.aws.amazon.com/ec2/home?region=ap-northeast-1#launchInstanceWizard:ami=ami-e499b383)
|
||||
sa-east-1 | HVM | [ami-f4cca198](https://sa-east-1.console.aws.amazon.com/ec2/home?region=sa-east-1#launchInstanceWizard:ami=ami-f4cca198)
|
||||
ca-central-1 | HVM | [ami-59b60a3d](https://ca-central-1.console.aws.amazon.com/ec2/home?region=ca-central-1#launchInstanceWizard:ami=ami-59b60a3d)
|
||||
ap-southeast-1 | HVM | [ami-be853edd](https://ap-southeast-1.console.aws.amazon.com/ec2/home?region=ap-southeast-1#launchInstanceWizard:ami=ami-be853edd)
|
||||
ap-southeast-2 | HVM | [ami-e2dcd481](https://ap-southeast-2.console.aws.amazon.com/ec2/home?region=ap-southeast-2#launchInstanceWizard:ami=ami-e2dcd481)
|
||||
eu-central-1 | HVM | [ami-ef0bd780](https://eu-central-1.console.aws.amazon.com/ec2/home?region=eu-central-1#launchInstanceWizard:ami=ami-ef0bd780)
|
||||
us-east-1 | HVM | [ami-5c5a3f4a](https://us-east-1.console.aws.amazon.com/ec2/home?region=us-east-1#launchInstanceWizard:ami=ami-5c5a3f4a)
|
||||
us-east-2 | HVM | [ami-902304f5](https://us-east-2.console.aws.amazon.com/ec2/home?region=us-east-2#launchInstanceWizard:ami=ami-902304f5)
|
||||
us-west-1 | HVM | [ami-4a73542a](https://us-west-1.console.aws.amazon.com/ec2/home?region=us-west-1#launchInstanceWizard:ami=ami-4a73542a)
|
||||
us-west-2 | HVM | [ami-7caa341c](https://us-west-2.console.aws.amazon.com/ec2/home?region=us-west-2#launchInstanceWizard:ami=ami-7caa341c)
|
||||
ap-south-1 | HVM | [ami-f68cf099](https://ap-south-1.console.aws.amazon.com/ec2/home?region=ap-south-1#launchInstanceWizard:ami=ami-f68cf099)
|
||||
eu-west-2 | HVM | [ami-86e7f0e2](https://eu-west-2.console.aws.amazon.com/ec2/home?region=eu-west-2#launchInstanceWizard:ami=ami-86e7f0e2)
|
||||
eu-west-1 | HVM | [ami-13f8e875](https://eu-west-1.console.aws.amazon.com/ec2/home?region=eu-west-1#launchInstanceWizard:ami=ami-13f8e875)
|
||||
ap-northeast-2 | HVM | [ami-22e33f4c](https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#launchInstanceWizard:ami=ami-22e33f4c)
|
||||
ap-northeast-1 | HVM | [ami-29e4e44e](https://ap-northeast-1.console.aws.amazon.com/ec2/home?region=ap-northeast-1#launchInstanceWizard:ami=ami-29e4e44e)
|
||||
sa-east-1 | HVM | [ami-a196ffcd](https://sa-east-1.console.aws.amazon.com/ec2/home?region=sa-east-1#launchInstanceWizard:ami=ami-a196ffcd)
|
||||
ca-central-1 | HVM | [ami-dc2a96b8](https://ca-central-1.console.aws.amazon.com/ec2/home?region=ca-central-1#launchInstanceWizard:ami=ami-dc2a96b8)
|
||||
ap-southeast-1 | HVM | [ami-d5f575b6](https://ap-southeast-1.console.aws.amazon.com/ec2/home?region=ap-southeast-1#launchInstanceWizard:ami=ami-d5f575b6)
|
||||
ap-southeast-2 | HVM | [ami-c2e2f5a1](https://ap-southeast-2.console.aws.amazon.com/ec2/home?region=ap-southeast-2#launchInstanceWizard:ami=ami-c2e2f5a1)
|
||||
eu-central-1 | HVM | [ami-7d31eb12](https://eu-central-1.console.aws.amazon.com/ec2/home?region=eu-central-1#launchInstanceWizard:ami=ami-7d31eb12)
|
||||
us-east-1 | HVM | [ami-3e732428](https://us-east-1.console.aws.amazon.com/ec2/home?region=us-east-1#launchInstanceWizard:ami=ami-3e732428)
|
||||
us-east-2 | HVM | [ami-820f29e7](https://us-east-2.console.aws.amazon.com/ec2/home?region=us-east-2#launchInstanceWizard:ami=ami-820f29e7)
|
||||
us-west-1 | HVM | [ami-d2edceb2](https://us-west-1.console.aws.amazon.com/ec2/home?region=us-west-1#launchInstanceWizard:ami=ami-d2edceb2)
|
||||
us-west-2 | HVM | [ami-6d1a760d](https://us-west-2.console.aws.amazon.com/ec2/home?region=us-west-2#launchInstanceWizard:ami=ami-6d1a760d)
|
||||
|
||||
Additionally, images are available with support for Amazon EC2 Container Service (ECS) [here](https://docs.rancher.com/os/amazon-ecs/#amazon-ecs-enabled-amis).
|
||||
|
||||
### Google Compute Engine
|
||||
|
||||
|
||||
@@ -48,9 +48,9 @@
|
||||
<li><a href="{{site.baseurl}}/os/configuration/users/">Users</a></li>
|
||||
<li><a href="{{site.baseurl}}/os/configuration/resizing-device-partition/">Resizing a Device Partition</a></li>
|
||||
<li><a href="{{site.baseurl}}/os/configuration/sysctl/">sysctl Settings</a></li>
|
||||
<li><a href="{{site.baseurl}}/os/configuration/adding-kernel-parameters/">Adding kernel parameters</a></li>
|
||||
<li><a href="{{site.baseurl}}/os/configuration/loading-kernel-modules/">Loading kernel modules</a></li>
|
||||
<li><a href="{{site.baseurl}}/os/configuration/kernel-modules-kernel-headers/">Install kernel modules that require kernel headers</a></li>
|
||||
<li><a href="{{site.baseurl}}/os/configuration/dkms/">DKMS</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
@@ -66,18 +66,18 @@ Latest Release: [v1.0.0](https://github.com/rancher/os/releases/tag/v1.0.0)
|
||||
|
||||
Region | Type | AMI
|
||||
---|--- | ---
|
||||
ap-south-1 | HVM - ECS enabled | [ami-52493b3d](https://ap-south-1.console.aws.amazon.com/ec2/home?region=ap-south-1#launchInstanceWizard:ami=ami-52493b3d)
|
||||
eu-west-2 | HVM - ECS enabled | [ami-2c958148](https://eu-west-2.console.aws.amazon.com/ec2/home?region=eu-west-2#launchInstanceWizard:ami=ami-2c958148)
|
||||
eu-west-1 | HVM - ECS enabled | [ami-74cbcb12](https://eu-west-1.console.aws.amazon.com/ec2/home?region=eu-west-1#launchInstanceWizard:ami=ami-74cbcb12)
|
||||
ap-northeast-2 | HVM - ECS enabled | [ami-ba74a6d4](https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#launchInstanceWizard:ami=ami-ba74a6d4)
|
||||
ap-northeast-1 | HVM - ECS enabled | [ami-199ab07e](https://ap-northeast-1.console.aws.amazon.com/ec2/home?region=ap-northeast-1#launchInstanceWizard:ami=ami-199ab07e)
|
||||
sa-east-1 | HVM - ECS enabled | [ami-86cca1ea](https://sa-east-1.console.aws.amazon.com/ec2/home?region=sa-east-1#launchInstanceWizard:ami=ami-86cca1ea)
|
||||
ca-central-1 | HVM - ECS enabled | [ami-3eb20e5a](https://ca-central-1.console.aws.amazon.com/ec2/home?region=ca-central-1#launchInstanceWizard:ami=ami-3eb20e5a)
|
||||
ap-southeast-1 | HVM - ECS enabled | [ami-a0863dc3](https://ap-southeast-1.console.aws.amazon.com/ec2/home?region=ap-southeast-1#launchInstanceWizard:ami=ami-a0863dc3)
|
||||
ap-southeast-2 | HVM - ECS enabled | [ami-15dad276](https://ap-southeast-2.console.aws.amazon.com/ec2/home?region=ap-southeast-2#launchInstanceWizard:ami=ami-15dad276)
|
||||
eu-central-1 | HVM - ECS enabled | [ami-fb0ad694](https://eu-central-1.console.aws.amazon.com/ec2/home?region=eu-central-1#launchInstanceWizard:ami=ami-fb0ad694)
|
||||
us-east-1 | HVM - ECS enabled | [ami-e1a7c2f7](https://us-east-1.console.aws.amazon.com/ec2/home?region=us-east-1#launchInstanceWizard:ami=ami-e1a7c2f7)
|
||||
us-east-2 | HVM - ECS enabled | [ami-9f2304fa](https://us-east-2.console.aws.amazon.com/ec2/home?region=us-east-2#launchInstanceWizard:ami=ami-9f2304fa)
|
||||
us-west-1 | HVM - ECS enabled | [ami-ff72559f](https://us-west-1.console.aws.amazon.com/ec2/home?region=us-west-1#launchInstanceWizard:ami=ami-ff72559f)
|
||||
us-west-2 | HVM - ECS enabled | [ami-24a83644](https://us-west-2.console.aws.amazon.com/ec2/home?region=us-west-2#launchInstanceWizard:ami=ami-24a83644)
|
||||
ap-south-1 | HVM - ECS enabled | [ami-0090ec6f](https://ap-south-1.console.aws.amazon.com/ec2/home?region=ap-south-1#launchInstanceWizard:ami=ami-0090ec6f)
|
||||
eu-west-2 | HVM - ECS enabled | [ami-61fbec05](https://eu-west-2.console.aws.amazon.com/ec2/home?region=eu-west-2#launchInstanceWizard:ami=ami-61fbec05)
|
||||
eu-west-1 | HVM - ECS enabled | [ami-50f2e236](https://eu-west-1.console.aws.amazon.com/ec2/home?region=eu-west-1#launchInstanceWizard:ami=ami-50f2e236)
|
||||
ap-northeast-2 | HVM - ECS enabled | [ami-fbe33f95](https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#launchInstanceWizard:ami=ami-fbe33f95)
|
||||
ap-northeast-1 | HVM - ECS enabled | [ami-fce2e29b](https://ap-northeast-1.console.aws.amazon.com/ec2/home?region=ap-northeast-1#launchInstanceWizard:ami=ami-fce2e29b)
|
||||
sa-east-1 | HVM - ECS enabled | [ami-bf97fed3](https://sa-east-1.console.aws.amazon.com/ec2/home?region=sa-east-1#launchInstanceWizard:ami=ami-bf97fed3)
|
||||
ca-central-1 | HVM - ECS enabled | [ami-65209c01](https://ca-central-1.console.aws.amazon.com/ec2/home?region=ca-central-1#launchInstanceWizard:ami=ami-65209c01)
|
||||
ap-southeast-1 | HVM - ECS enabled | [ami-75f87816](https://ap-southeast-1.console.aws.amazon.com/ec2/home?region=ap-southeast-1#launchInstanceWizard:ami=ami-75f87816)
|
||||
ap-southeast-2 | HVM - ECS enabled | [ami-2deff84e](https://ap-southeast-2.console.aws.amazon.com/ec2/home?region=ap-southeast-2#launchInstanceWizard:ami=ami-2deff84e)
|
||||
eu-central-1 | HVM - ECS enabled | [ami-0a30ea65](https://eu-central-1.console.aws.amazon.com/ec2/home?region=eu-central-1#launchInstanceWizard:ami=ami-0a30ea65)
|
||||
us-east-1 | HVM - ECS enabled | [ami-60742376](https://us-east-1.console.aws.amazon.com/ec2/home?region=us-east-1#launchInstanceWizard:ami=ami-60742376)
|
||||
us-east-2 | HVM - ECS enabled | [ami-1b0e287e](https://us-east-2.console.aws.amazon.com/ec2/home?region=us-east-2#launchInstanceWizard:ami=ami-1b0e287e)
|
||||
us-west-1 | HVM - ECS enabled | [ami-45efcc25](https://us-west-1.console.aws.amazon.com/ec2/home?region=us-west-1#launchInstanceWizard:ami=ami-45efcc25)
|
||||
us-west-2 | HVM - ECS enabled | [ami-811b77e1](https://us-west-2.console.aws.amazon.com/ec2/home?region=us-west-2#launchInstanceWizard:ami=ami-811b77e1)
|
||||
|
||||
|
||||
28
docs/os/configuration/adding-kernel-parameters/index.md
Normal file
28
docs/os/configuration/adding-kernel-parameters/index.md
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: Adding kernel parameters
|
||||
layout: os-default
|
||||
|
||||
---
|
||||
|
||||
## Kernel parameters
|
||||
|
||||
There are two ways to edit the kernel parameters, in-place (editing the file and reboot) or during installation to disk.
|
||||
|
||||
### In-place editing
|
||||
|
||||
For in-place editing, you will need to run a container with an editor and a mount to access the `/boot/global.cfg` file containing the kernel parameters.
|
||||
|
||||
> To activate this setting, you will need to reboot.
|
||||
|
||||
```bash
|
||||
$ sudo system-docker run --rm -it -v /:/host alpine vi /host/boot/global.cfg
|
||||
```
|
||||
|
||||
|
||||
### During installation
|
||||
|
||||
If you want to set the extra kernel parameters when you are [Installing RancherOS to Disk]({{site.baseurl}}/os/running-rancheros/server/install-to-disk/) please use the `--append` parameter.
|
||||
|
||||
```bash
|
||||
$ sudo ros install -d /dev/sda --append "rancheros.autologin=tty1"
|
||||
```
|
||||
@@ -28,7 +28,7 @@ You can also customize Docker after it's been started using `ros config`.
|
||||
$ sudo ros config set rancher.docker.storage_driver overlay
|
||||
```
|
||||
|
||||
#### Valid Keys for Docker
|
||||
#### User Docker settings
|
||||
|
||||
Many of the standard Docker daemon arguments can be placed under the `rancher.docker` key. The command needed to start the Docker daemon will be generated based on these arguments. The following arguments are currently supported.
|
||||
|
||||
@@ -77,7 +77,7 @@ rancher:
|
||||
storage_driver: overlay
|
||||
```
|
||||
|
||||
#### Valid Keys for System Docker
|
||||
#### System Docker settings
|
||||
|
||||
All daemon arguments shown in the first table are also available to System Docker. The following are also supported.
|
||||
|
||||
@@ -85,3 +85,40 @@ Key | Value | Default | Description
|
||||
---|---|---| ---
|
||||
`extra_args` | List of Strings | `[]` | Arbitrary daemon arguments, appended to the generated command
|
||||
`environment` | List of Strings (optional) | `[]` |
|
||||
|
||||
### Using a pull through registry mirror
|
||||
|
||||
There are 3 Docker engines that can be configured to use the pull-through Docker Hub registry mirror cache:
|
||||
|
||||
```
|
||||
#cloud-config
|
||||
rancher:
|
||||
bootstrap_docker:
|
||||
registry_mirror: "http://10.10.10.23:5555"
|
||||
docker:
|
||||
registry_mirror: "http://10.10.10.23:5555"
|
||||
system_docker:
|
||||
registry_mirror: "http://10.10.10.23:5555"
|
||||
```
|
||||
|
||||
`bootstrap_docker` is used to prepare and initial network and pull any cloud-config options that can be used to configure the final network configuration and System-docker - its very unlikely to pull any images.
|
||||
|
||||
A successful pull through mirror cache request by System-docker looks like:
|
||||
|
||||
```
|
||||
[root@rancher-dev rancher]# system-docker pull alpine
|
||||
Using default tag: latest
|
||||
DEBU[0201] Calling GET /v1.23/info
|
||||
> WARN[0201] Could not get operating system name: Error opening /usr/lib/os-release: open /usr/lib/os-release: no such file or directory
|
||||
WARN[0201] Could not get operating system name: Error opening /usr/lib/os-release: open /usr/lib/os-release: no such file or directory
|
||||
DEBU[0201] Calling POST /v1.23/images/create?fromImage=alpine%3Alatest
|
||||
DEBU[0201] hostDir: /etc/docker/certs.d/10.10.10.23:5555
|
||||
DEBU[0201] Trying to pull alpine from http://10.10.10.23:5555/ v2
|
||||
DEBU[0204] Pulling ref from V2 registry: alpine:latest
|
||||
DEBU[0204] pulling blob "sha256:2aecc7e1714b6fad58d13aedb0639011b37b86f743ba7b6a52d82bd03014b78e" latest: Pulling from library/alpine
|
||||
DEBU[0204] Downloaded 2aecc7e1714b to tempfile /var/lib/system-docker/tmp/GetImageBlob281102233 2aecc7e1714b: Extracting 1.99 MB/1.99 MB
|
||||
DEBU[0204] Untar time: 0.161064213s
|
||||
DEBU[0204] Applied tar sha256:3fb66f713c9fa9debcdaa58bb9858bd04c17350d9614b7a250ec0ee527319e59 to 841c99a5995007d7a66b922be9bafdd38f8090af17295b4a44436ef433a2aecc7e1714b: Pull complete
|
||||
Digest: sha256:0b94d1d1b5eb130dd0253374552445b39470653fb1a1ec2d81490948876e462c
|
||||
Status: Downloaded newer image for alpine:latest
|
||||
```
|
||||
|
||||
@@ -91,7 +91,7 @@ To run this container in System Docker use the following command:
|
||||
```
|
||||
$ sudo system-docker run -d --net=host --name busydash husseingalal/busydash
|
||||
```
|
||||
In the commad, we used `--net=host` to tell System Docker not to containerize the container's networking, and use the host’s networking instead. After running the container, you can see the monitoring server by accessing `http://<IP_OF_MACHINE`.
|
||||
In the commad, we used `--net=host` to tell System Docker not to containerize the container's networking, and use the host’s networking instead. After running the container, you can see the monitoring server by accessing `http://<IP_OF_MACHINE>`.
|
||||
|
||||

|
||||
|
||||
|
||||
1
scripts/images/raspberry-pi-hypriot64/.dockerignore
Normal file
1
scripts/images/raspberry-pi-hypriot64/.dockerignore
Normal file
@@ -0,0 +1 @@
|
||||
dist
|
||||
2
scripts/images/raspberry-pi-hypriot64/.gitignore
vendored
Normal file
2
scripts/images/raspberry-pi-hypriot64/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
dist
|
||||
rootfs_arm64.tar.gz
|
||||
28
scripts/images/raspberry-pi-hypriot64/Dockerfile.dapper
Normal file
28
scripts/images/raspberry-pi-hypriot64/Dockerfile.dapper
Normal file
@@ -0,0 +1,28 @@
|
||||
FROM rancher/os-debianconsole-base
|
||||
# FROM amd64=debian:jessie arm64=aarch64/debian:jessie arm=armhf/debian:jessie
|
||||
|
||||
ENV DAPPER_RUN_ARGS --privileged
|
||||
ENV DAPPER_OUTPUT dist
|
||||
RUN apt-get update -y
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
ca-certificates curl dosfstools tree zip
|
||||
RUN mkdir -p /source/assets
|
||||
|
||||
# RancherOS for ARM
|
||||
#RUN curl -fL https://releases.rancher.com/os/latest/rootfs_arm64.tar.gz > /source/assets/rootfs_arm64.tar.gz
|
||||
COPY rootfs_arm64.tar.gz /source/assets/rootfs_arm64.tar.gz
|
||||
|
||||
ENV URL=https://github.com/DieterReuter/rpi64-kernel/releases/download
|
||||
ENV VER=v20170303-160601
|
||||
|
||||
RUN curl -fL ${URL}/${VER}/4.9.13-bee42-v8.tar.gz > /source/assets/kernel.tar.gz
|
||||
RUN curl -fL ${URL}/${VER}/bootfiles.tar.gz > /source/assets/bootfiles.tar.gz
|
||||
RUN curl -fL https://github.com/DieterReuter/rpi-bootloader/releases/download/v20170303-133934/rpi-bootloader.tar.gz > /source/assets/rpi-bootfiles.tar.gz
|
||||
|
||||
#ENV RPI_URL=https://github.com/raspberrypi/firmware/raw/master/boot
|
||||
#RUN curl -fL ${RPI_URL}/bootcode.bin > /source/assets/bootcode.bin
|
||||
#RUN curl -fL ${RPI_URL}/fixup.dat > /source/assets/fixup.dat
|
||||
#RUN curl -fL ${RPI_URL}/start.elf > /source/assets/start.elf
|
||||
|
||||
WORKDIR /source
|
||||
CMD ["./scripts/build.sh"]
|
||||
11
scripts/images/raspberry-pi-hypriot64/README.md
Normal file
11
scripts/images/raspberry-pi-hypriot64/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
RaspberryPi 2 Image
|
||||
===================
|
||||
|
||||
Build by running `dapper` in this folder and the build will produce `./dist/rancheros-rpi2.zip`.
|
||||
|
||||
This image is compatible with the Raspberry Pi 3 too, but only ARMv7 is supported now.
|
||||
|
||||
Build Requirements
|
||||
==================
|
||||
|
||||
This build uses local loopback devices and thus requires to run as a privileged container. So please keep the setting `ENV DAPPER_RUN_ARGS --privileged` from `Dockerfile.dapper` for now. The build is running quite fast and has been tested on OS X with boot2docker.
|
||||
83
scripts/images/raspberry-pi-hypriot64/scripts/build.sh
Executable file
83
scripts/images/raspberry-pi-hypriot64/scripts/build.sh
Executable file
@@ -0,0 +1,83 @@
|
||||
#!/bin/bash
|
||||
set -e -x
|
||||
|
||||
cd $(dirname $0)/..
|
||||
|
||||
# create build directory for assembling our image filesystem
|
||||
mkdir -p build/{boot,root,basefs} dist
|
||||
|
||||
cp assets/*.tar.gz build/
|
||||
|
||||
#---build SD card image---
|
||||
|
||||
# size of root and boot partion (in MByte)
|
||||
IMAGE_TOTAL_SIZE=500
|
||||
BOOT_PARTITION_START=2048
|
||||
BOOT_PARTITION_SIZE=25
|
||||
#---don't change here---
|
||||
BOOT_PARTITION_OFFSET="$((BOOT_PARTITION_START*512))"
|
||||
BOOT_PARTITION_BYTES="$((BOOT_PARTITION_SIZE*1024*1024))"
|
||||
BOOT_PARTITION_SECTORS="$((BOOT_PARTITION_SIZE*1024*2))"
|
||||
ROOT_PARTITION_START="$((BOOT_PARTITION_START+BOOT_PARTITION_SECTORS))"
|
||||
ROOT_PARTITION_OFFSET="$((ROOT_PARTITION_START*512))"
|
||||
#---don't change here---
|
||||
|
||||
# create image file with two partitions (FAT32, EXT4)
|
||||
dd if=/dev/zero of=build/run.img bs=1MiB count=$IMAGE_TOTAL_SIZE
|
||||
echo -e "o\nn\np\n1\n${BOOT_PARTITION_START}\n+${BOOT_PARTITION_SECTORS}\nt\nc\nn\np\n2\n${ROOT_PARTITION_START}\n\nw\n" | fdisk build/run.img
|
||||
fdisk -l build/run.img
|
||||
ls -al build/run.img
|
||||
|
||||
# partition #1 - Type= c W95 FAT32 (LBA)
|
||||
losetup
|
||||
losetup -f
|
||||
losetup -d /dev/loop0 || /bin/true
|
||||
losetup --offset $BOOT_PARTITION_OFFSET --sizelimit $BOOT_PARTITION_BYTES /dev/loop0 build/run.img
|
||||
mkfs.vfat -n RancherOS /dev/loop0
|
||||
losetup -d /dev/loop0
|
||||
|
||||
# partition #2 - Type=83 Linux
|
||||
losetup -d /dev/loop1 || /bin/true
|
||||
losetup --offset $ROOT_PARTITION_OFFSET /dev/loop1 build/run.img
|
||||
mkfs.ext4 -O ^has_journal -b 4096 -L rootfs /dev/loop1
|
||||
losetup -d /dev/loop1
|
||||
|
||||
# mount partitions as loopback devices
|
||||
mount -t ext4 -o loop=/dev/loop1,offset=$ROOT_PARTITION_OFFSET build/run.img build/root
|
||||
mkdir -p build/root/boot
|
||||
mount -t vfat -o loop=/dev/loop0,offset=$BOOT_PARTITION_OFFSET build/run.img build/root/boot
|
||||
echo "RancherOS: boot partition" > build/root/boot/boot.txt
|
||||
echo "RancherOS: root partition" > build/root/root.txt
|
||||
|
||||
# unpack and cleanup the basefs
|
||||
#- doing this on a local folder keeps our resulting image clean (no dirty blocks from a delete)
|
||||
mkdir -p build/basefs
|
||||
tar -C build/basefs -zxvf build/kernel.tar.gz
|
||||
tar -C build/basefs -zxvf build/rpi-bootfiles.tar.gz
|
||||
tar -C build/basefs -zxvf build/bootfiles.tar.gz
|
||||
# remove RPi1 kernel, we only support RPi2 and RPi3 in ARMv7 mode
|
||||
rm -fr build/basefs/boot/kernel.img
|
||||
rm -fr build/basefs/lib/modules/{4.4.27+,4.4.27-hypriotos+}
|
||||
|
||||
# populate kernel, bootloader and RancherOS rootfs
|
||||
cp -R build/basefs/* build/root
|
||||
tar -xf assets/rootfs_arm64.tar.gz -C build/root
|
||||
echo "+dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 cgroup-enable=memory swapaccount=1 elevator=deadline rootwait console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty0 rancher.password=rancher rancher.autologin=ttyAMA0 rw init=/init" > build/root/boot/cmdline.txt
|
||||
# enable serial console mode for rpi3
|
||||
echo "enable_uart=1" > build/root/boot/config.txt
|
||||
|
||||
# show details
|
||||
tree -a -L 3 build/root
|
||||
df -h
|
||||
|
||||
# unmount partitions (loopback devices will be removed automatically)
|
||||
umount build/root/boot
|
||||
umount build/root
|
||||
|
||||
# package, compress and export image file
|
||||
mv build/run.img build/rancheros-raspberry-pi64.img
|
||||
zip dist/rancheros-raspberry-pi64.zip build/rancheros-raspberry-pi64.img
|
||||
ls -alh dist
|
||||
|
||||
# cleanup build environment
|
||||
rm -fr build
|
||||
@@ -1,8 +1,12 @@
|
||||
FROM ubuntu:16.04
|
||||
# FROM arm64=aarch64/ubuntu:16.04 arm=armhf/ubuntu:16.04
|
||||
|
||||
# get the apt-cacher proxy set
|
||||
ARG APTPROXY=
|
||||
|
||||
RUN apt-get update \
|
||||
RUN echo "Acquire::http { Proxy \"$APTPROXY\"; };" >> /etc/apt/apt.conf.d/01proxy \
|
||||
&& cat /etc/apt/apt.conf.d/01proxy \
|
||||
&& apt-get update \
|
||||
&& apt-get install -yq build-essential autoconf libtool gawk alien fakeroot \
|
||||
zlib1g-dev uuid-dev libattr1-dev libblkid-dev libselinux-dev libudev-dev libdevmapper-dev \
|
||||
module-init-tools \
|
||||
@@ -30,7 +34,7 @@ RUN mkdir -p /source/dist \
|
||||
|
||||
########## Dapper Configuration #####################
|
||||
|
||||
ENV DAPPER_ENV VERSION DEV_BUILD RUNTEST
|
||||
ENV DAPPER_ENV VERSION DEV_BUILD RUNTEST APTPROXY
|
||||
#ENV DAPPER_DOCKER_SOCKET true
|
||||
ENV DAPPER_SOURCE /source
|
||||
ENV DAPPER_OUTPUT ./dist
|
||||
|
||||
@@ -255,7 +255,7 @@ if [ "$CONSOLEDISPLAY" == "1" ]; then
|
||||
DISPLAY_OPTS="-curses"
|
||||
else
|
||||
# default
|
||||
DISPLAY_OPTS="-nographic -serial stdio -display none"
|
||||
DISPLAY_OPTS="-nographic -serial mon:stdio -display none"
|
||||
fi
|
||||
|
||||
if [ "$QEMU" == "1" ]; then
|
||||
|
||||
@@ -48,4 +48,8 @@ REBUILD=1
|
||||
QEMUARCH=${qemuarch["${ARCH}"]}
|
||||
TTYCONS=${ttycons["${ARCH}"]}
|
||||
|
||||
DEFAULT_KERNEL_ARGS="printk.devkmsg=on rancher.debug=true rancher.password=rancher console=${TTYCONS} rancher.autologin=${TTYCONS}"
|
||||
if [ "$ENGINE_REGISTRY_MIRROR" != "" ]; then
|
||||
REGISTRY_MIRROR="rancher.bootstrap_docker.registry_mirror=${ENGINE_REGISTRY_MIRROR} rancher.system_docker.registry_mirror=${ENGINE_REGISTRY_MIRROR} rancher.docker.registry_mirror=${ENGINE_REGISTRY_MIRROR}"
|
||||
fi
|
||||
|
||||
DEFAULT_KERNEL_ARGS="printk.devkmsg=on rancher.debug=true rancher.password=rancher console=${TTYCONS} rancher.autologin=${TTYCONS} ${REGISTRY_MIRROR} "
|
||||
|
||||
27
tests/assets/cloud_config_install_test/cloud-config.yml
Normal file
27
tests/assets/cloud_config_install_test/cloud-config.yml
Normal file
@@ -0,0 +1,27 @@
|
||||
#cloud-config
|
||||
write_files:
|
||||
- path: /opt/install
|
||||
permissions: "0755"
|
||||
content: |
|
||||
#!/bin/sh
|
||||
set -ex
|
||||
echo "running" > /var/log/ros-install.log
|
||||
system-docker exec console ros install -i rancher/os:v1.0.1 -d /dev/vda --append "rancher.password=rancher" -f --no-reboot --debug >> /var/log/install.log 2>&1
|
||||
echo "done" > /var/log/ros-install.log
|
||||
ssh_authorized_keys:
|
||||
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC85w9stZyiLQp/DkVO6fqwiShYcj1ClKdtCqgHtf+PLpJkFReSFu8y21y+ev09gsSMRRrjF7yt0pUHV6zncQhVeqsZtgc5WbELY2DOYUGmRn/CCvPbXovoBrQjSorqlBmpuPwsStYLr92Xn+VVsMNSUIegHY22DphGbDKG85vrKB8HxUxGIDxFBds/uE8FhSy+xsoyT/jUZDK6pgq2HnGl6D81ViIlKecpOpWlW3B+fea99ADNyZNVvDzbHE5pcI3VRw8u59WmpWOUgT6qacNVACl8GqpBvQk8sw7O/X9DSZHCKafeD9G5k+GYbAUz92fKWrx/lOXfUXPS3+c8dRIF
|
||||
rancher:
|
||||
services:
|
||||
ros-install:
|
||||
image: alpine
|
||||
entrypoint: /usr/bin/ros entrypoint
|
||||
command: /opt/install
|
||||
labels:
|
||||
io.rancher.os.scope: system
|
||||
io.rancher.os.after: console
|
||||
uts: host
|
||||
privileged: true
|
||||
volumes:
|
||||
- /var/log:/var/log
|
||||
volumes_from:
|
||||
- all-volumes
|
||||
39
tests/cloud_config_install_test.go
Normal file
39
tests/cloud_config_install_test.go
Normal file
@@ -0,0 +1,39 @@
|
||||
package integration
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
. "gopkg.in/check.v1"
|
||||
)
|
||||
|
||||
func (s *QemuSuite) TestCloudConfigInstall(c *C) {
|
||||
s.RunQemu(c,
|
||||
"--iso",
|
||||
"--fresh",
|
||||
"--no-format",
|
||||
"--cloud-config", "./tests/assets/cloud_config_install_test/cloud-config.yml")
|
||||
|
||||
//check we have a particular version, from iso
|
||||
s.CheckOutput(c, " Backing Filesystem: tmpfs\n", Equals, "sudo system-docker info | grep Filesystem")
|
||||
//and no persistence yet
|
||||
//s.CheckOutput(c, "\n", Equals, "sudo blkid")
|
||||
// TODO: need some way to wait for install to complete.
|
||||
time.Sleep(time.Second)
|
||||
for {
|
||||
result, _ := s.MakeCall("cat", "/var/log/ros-install.log")
|
||||
if result == "done\n" {
|
||||
break
|
||||
}
|
||||
time.Sleep(time.Second * 3)
|
||||
}
|
||||
//check we have persistence and that ros-install completed ok
|
||||
s.CheckOutput(c, "/dev/vda1:\n", Equals, "sudo blkid | grep RANCHER_STATE | cut -d ' ' -f 1")
|
||||
s.CheckOutput(c, "LABEL=\"RANCHER_STATE\"\n", Equals, "sudo blkid | grep vda1 | cut -d ' ' -f 2")
|
||||
|
||||
//reboot, and check we're using the new non-iso install
|
||||
s.Stop(c)
|
||||
s.RunQemuWith(c, "--qemu", "--boothd", "--no-rm-usr")
|
||||
s.CheckOutput(c, "/dev/vda1:\n", Equals, "sudo blkid | grep RANCHER_STATE | cut -d ' ' -f 1")
|
||||
s.CheckOutput(c, "LABEL=\"RANCHER_STATE\"\n", Equals, "sudo blkid | grep vda1 | cut -d ' ' -f 2")
|
||||
s.CheckOutput(c, " Backing Filesystem: extfs\n", Equals, "sudo system-docker info | grep Filesystem")
|
||||
}
|
||||
@@ -1,7 +1,11 @@
|
||||
package integration
|
||||
|
||||
import . "gopkg.in/check.v1"
|
||||
import "fmt"
|
||||
import (
|
||||
. "gopkg.in/check.v1"
|
||||
|
||||
"fmt"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func (s *QemuSuite) TestElideCmdLine(c *C) {
|
||||
extra := "cc.hostname=nope rancher.password=three"
|
||||
@@ -15,11 +19,10 @@ func (s *QemuSuite) TestElideCmdLine(c *C) {
|
||||
s.RunQemuWith(c, runArgs...)
|
||||
|
||||
s.CheckOutput(c, "nope\n", Equals, "hostname")
|
||||
s.CheckOutput(c,
|
||||
"printk.devkmsg=on rancher.debug=true rancher.password=rancher console=ttyS0 rancher.autologin=ttyS0 cc.something=yes rancher.password=two rancher.state.dev=LABEL=RANCHER_STATE rancher.state.autoformat=[/dev/sda,/dev/vda] rancher.rm_usr -- \n",
|
||||
Equals,
|
||||
"cat /proc/cmdline",
|
||||
)
|
||||
cmdline := s.CheckOutput(c, "", Not(Equals), "cat /proc/cmdline",)
|
||||
if strings.Contains(cmdline, extra) {
|
||||
c.Errorf("/proc/cmdline (%s) contains info that should be elided (%s)", cmdline, extra)
|
||||
}
|
||||
s.CheckOutput(c,
|
||||
fmt.Sprintf("/init %s\n", extra),
|
||||
Equals,
|
||||
|
||||
Reference in New Issue
Block a user