umiddelb / armhf

interesting stuff about arm devices (Utilite, SolidRun, Odroid)
733 stars 114 forks source link

Thanks + questions #2

Closed kennethlimcp closed 9 years ago

kennethlimcp commented 9 years ago

Hey @umiddelb,

great work for the documentation! Really interesting and helps me figure out what went wrong for my image.

I have a question if you can help me along:

1.) I did not compile my own kernel (so no aufs) 2.) Using a Odroid-C1 minimal from http://odroid.com/dokuwiki/doku.php?id=en:c1_ubuntu_minimal

I have a few errors like CONFIG_CGROUP_CPUACCT: missing in my attempt to fire up a container with your armhf image. (checked using the https://github.com/docker/docker/blob/master/contrib/check-config.sh)

screen shot 2015-02-22 at 23 01 43

Did you experience something similar on the C1 or is there something that i have overlooked?

3.) I used the binary for the 1.5.0 docker version you compiled

Thanks!!

umiddelb commented 9 years ago

The kernel image provided by hardkernel isn't prepared for docker use. As long as the requirements marked as 'Generally Necessary' are not met, docker won't start. In other words, you need to compile your own kernel. The easiest way to do this is to take the kernel sources from my github repository which includes the necessary kernel options as well as aufs support:

git clone https://github.com/umiddelb/linux --single-branch -b odroidc-3.10.y
cd linux
make odroidc_defconfig
make -j 4 uImage modules
make dtbs
sudo make modules_install
sudo cp arch/arm/boot/uImage /media/boot
sudo cp arch/arm/boot/dts/meson8b_odroidc.dtb /media/boot
sudo init 6

and you're done.

umiddelb commented 9 years ago

If you really don't want to compile a custom kernel, you may try my minimal image for the c1 here. It has builtin docker support.

kennethlimcp commented 9 years ago

Thanks for the information! In the wiki you mentioned that we can do it using the kernel provided by hardkernel.

Is that still possible now that the source you recommended is the kernel from your repo?

Also, can you share how those requirements are patched so that I can learn something new?

Thanks! :)

umiddelb commented 9 years ago

I have to be more precise, 'kernel provided by hardkernel' means the kernel source files. You have to modify the kernel configuration at least. But you really want to include aufs support, it will speed up container related operations dramatically.

My sources are in sync with upstream (with the exception of aufs support of course), you can see this on github. There are two modifications:

  1. I've enabled kernel options needed for docker to start properly. This step doesn't require patching source files, you enable certain kernel configurations (which are disabled by the vendor) only. check-config.sh will tell you the missing options (e.g. CONFIG_CGROUP_CPUACCT).
  2. I've integrated aus support. This requires patching the kernel sources.

All of this is already done in my fork of the kernel sources.

kennethlimcp commented 9 years ago

Got it! I probably should take a look at how you enabled those configuration.

It will be easy now that you have done most of the heavylifting!

It's on my to learn list on for compiling a distro from source so i guess the has come for me to do it!

Thanks for your patience though with a beginner :)

umiddelb commented 9 years ago

This is only about how to compile a custom kernel which is expected to happen on the ARM platform. On the i386 or amd64 platform the mainstream distributions have included almost everything in their kernel images which makes compiling your own kernel very unlikely. On ARM storage requirements matter (especially when you want to put your kernel image in NAND flash memory), so the vendors publish kernel configurations which lead to smaller images.

If you want to compile the whole distribution (not only the kernel) then you should become familiar with gentoo or 'linux from scratch' (or even freebsd). ubuntu, archlinux, debian or fedora use precompiled packages.

kennethlimcp commented 9 years ago

@umiddelb, just took a look at your forked kernel repo and it is even with the upstream.

I don't see where are the changes you did to enable the cgroups requirement.

Or they are enabled by default already on the upstream kernel?

umiddelb commented 9 years ago

The kernel configuration is stored in a file named .config The command make odroidc_defconfig will generate a new version of the file derived from a template file. You can find this template in ./arch/arm/configs/odroidc_defconfig. You can find the modifications I made to the kernel config there.

https://github.com/umiddelb/linux/commit/49df9ea7f36303c4221d04e9d581938b8d876b0c#diff-9a711c0d0e135f2c8bd55323133b09c1

kennethlimcp commented 9 years ago

@umiddelb, i saw the changes to odroid_defconfig in the commit but looking at the latest branch odroidc3.10.y which you recommended for kernel compilation, the settings are not there and defaults to hardkernel version.

Am i missing something? :dancers:

Was unable to locate the .config file mentioned. I presume if i grab the branch using instructions here: https://github.com/umiddelb/armhf/issues/2#issuecomment-75444174, it should work? I'm just curious where's the actual changes made though i can see what you have done in that particular commit.

https://github.com/umiddelb/linux/blob/odroidc-3.10.y/arch/arm/configs/odroidc_defconfig

umiddelb commented 9 years ago

@kennethlimcp

please try it again, it should work now:

git clone https://github.com/umiddelb/linux --single-branch -b odroidc-3.10.y
cd linux
make odroidc_defconfig
make -j 4 uImage modules
make dtbs
sudo make modules_install
sudo cp arch/arm/boot/uImage /media/boot
sudo cp arch/arm/boot/dts/meson8b_odroidc.dtb /media/boot
sudo init 6

You can see the differences here, just scroll down until odroidc_defconfig begins (search for arch/arm/configs/odroidc_defconfig in your browser) ...

kennethlimcp commented 9 years ago

@umiddelb, cool! guess when you merged upstream it got reverted back to the default file that's why i didn't see it. Hope it ends up in the hardkernel repo :)

Thanks for the help! I'll try to compile them tonight and update you again

umiddelb commented 9 years ago

@kennethlimcp

It's merged into the hardkernel repo now.

kennethlimcp commented 9 years ago

@umiddelb, just wanted to build and realized your linux repo is gone! Are you recommended the Hardkernel repo instrad? :)

umiddelb commented 9 years ago

@kennethlimcp

yes of course, It's the official source for the c1 linux kernel. There is no reason to have a fork since the pull request is processed successfully.

kennethlimcp commented 9 years ago

Some errors with make odroidc_defconfig though on Mac osx:

10 warnings generated.
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
***
*** Can't find default configuration "arch/x86/configs/odroidc_defconfig"!
***
make[1]: *** [odroidc_defconfig] Error 1
make: *** [odroidc_defconfig] Error 2

not sure why its referencing to x86

AH! Had to use this make odroidc_defconfig ARCH=arm

umiddelb commented 9 years ago

It's easier when you compile the kernel on the c1 directly ... otherwise you need to have everything in place for cross compiling

kennethlimcp commented 9 years ago

Just ran it on the C1 but not sure why sudo cp arch/arm/boot/uImage /media/boot is not working. the uImage folder wasn't generated.

Re-running a clean build again ;)

umiddelb commented 9 years ago

you may check, if you have the tool

bc

installed. It's needed for building the kernel image and not part of the default installation.

kennethlimcp commented 9 years ago

Good point. i ran the make uImage and it showed me the error so installed it.

there's another issue with using files from .zip since i wanted to save time downloading but seems like i have to use git clone for everything to work well.

Sorry for the trouble! Hope this builds fine!

umiddelb commented 9 years ago

I'm not sure if zip will archive files/directories starting with a '.' by default. You migth have missed important files (e.g. .config).

zip is not very common, most people use tar

kennethlimcp commented 9 years ago

@umiddelb,

1.) i managed to compile the kernel on C1. Missing packages are bc and lzop for uImage to compile 2.) Using the native apt-get install docker.io i managed to run the hello world successfully 3) However, after performing a docker 1.5.0 update, building a Dockerfile gave me INFO[0000] mountpoint for cpuset not found

That sounds like a kernel issue?

I reverted backed to the 1.0.1 docker and the build went fine! Any ideas?

umiddelb commented 9 years ago

please make sure, that you have installed the following packages (not only docker.io): sudo apt-get install lxc aufs-tools cgroup-lite apparmor docker.io

and then reboot

kennethlimcp commented 9 years ago

@umiddelb, i just ran the commands and they are indeed installed already. Also tried to use the docker-1.5.0 binary you compiled but resulted in the same error.

I looked at the PR you sent and seems like it was indeed not set:

https://github.com/hardkernel/linux/blob/odroidc-3.10.y/arch/arm/configs/odroidc_defconfig#L109

umiddelb commented 9 years ago

could you please send the output of check-config.sh and the whole docker error message (from docker -d -D)?

kennethlimcp commented 9 years ago

ok i will do it when i compile the kernel again. Thought everything was working and deleted the folder!

kennethlimcp commented 9 years ago

Checking the .config file after the command make odroidc_defconfig

info: reading kernel config from .config ...

Generally Necessary:
- cgroup hierarchy: properly mounted [/sys/fs/cgroup]
- CONFIG_NAMESPACES: enabled
- CONFIG_NET_NS: enabled
- CONFIG_PID_NS: enabled
- CONFIG_IPC_NS: enabled
- CONFIG_UTS_NS: enabled
- CONFIG_DEVPTS_MULTIPLE_INSTANCES: enabled
- CONFIG_CGROUPS: enabled
- CONFIG_CGROUP_CPUACCT: enabled
- CONFIG_CGROUP_DEVICE: enabled
- CONFIG_CGROUP_FREEZER: enabled
- CONFIG_CGROUP_SCHED: enabled
- CONFIG_MACVLAN: enabled
- CONFIG_VETH: enabled
- CONFIG_BRIDGE: enabled
- CONFIG_NF_NAT_IPV4: enabled
- CONFIG_IP_NF_FILTER: enabled
- CONFIG_IP_NF_TARGET_MASQUERADE: enabled
- CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: enabled
- CONFIG_NETFILTER_XT_MATCH_CONNTRACK: enabled
- CONFIG_NF_NAT: enabled
- CONFIG_NF_NAT_NEEDED: enabled
- CONFIG_POSIX_MQUEUE: enabled

Optional Features:
- CONFIG_MEMCG_SWAP: enabled
- CONFIG_RESOURCE_COUNTERS: enabled
- CONFIG_CGROUP_PERF: enabled
- Storage Drivers:
  - "aufs":
    - CONFIG_AUFS_FS: enabled
    - CONFIG_EXT4_FS_POSIX_ACL: enabled
    - CONFIG_EXT4_FS_SECURITY: enabled
  - "btrfs":
    - CONFIG_BTRFS_FS: enabled
  - "devicemapper":
    - CONFIG_BLK_DEV_DM: enabled
    - CONFIG_DM_THIN_PROVISIONING: enabled
    - CONFIG_EXT4_FS: enabled
    - CONFIG_EXT4_FS_POSIX_ACL: enabled
    - CONFIG_EXT4_FS_SECURITY: enabled
  - "overlay":
    - CONFIG_OVERLAY_FS: missing
    - CONFIG_EXT4_FS_SECURITY: enabled
    - CONFIG_EXT4_FS_POSIX_ACL: enabled

From docker -d -D:

INFO[0000] +job serveapi(unix:///var/run/docker.sock)   
WARN[0000] graphdriver aufs selected. Warning: your graphdriver directory /var/lib/docker already contains data managed by other graphdrivers: devicemapper 
DEBU[0000] Using graph driver aufs                      
DEBU[0000] Migrating existing containers                
DEBU[0000] Creating images graph                        
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock) 
DEBU[0000] Registering GET, /images/json                
DEBU[0000] Registering GET, /images/{name:.*}/json      
DEBU[0000] Registering GET, /containers/json            
DEBU[0000] Registering GET, /containers/{name:.*}/export 
DEBU[0000] Registering GET, /containers/{name:.*}/json  
DEBU[0000] Registering GET, /containers/{name:.*}/attach/ws 
DEBU[0000] Registering GET, /_ping                      
DEBU[0000] Registering GET, /events                     
DEBU[0000] Registering GET, /images/viz                 
DEBU[0000] Registering GET, /containers/{name:.*}/changes 
DEBU[0000] Registering GET, /containers/{name:.*}/stats 
DEBU[0000] Registering GET, /exec/{id:.*}/json          
DEBU[0000] Registering GET, /info                       
DEBU[0000] Registering GET, /version                    
DEBU[0000] Restored 79 elements                         
DEBU[0000] mkdir : no such file or directory            
DEBU[0000] mkdir : no such file or directory            
DEBU[0000] mkdir : no such file or directory            
DEBU[0000] Creating repository list                     
DEBU[0000] Registering GET, /images/{name:.*}/get       
DEBU[0000] Registering GET, /images/{name:.*}/history   
DEBU[0000] Registering GET, /images/search              
DEBU[0000] Registering GET, /images/get                 
DEBU[0000] Registering GET, /containers/{name:.*}/logs  
DEBU[0000] Registering GET, /containers/ps              
DEBU[0000] Registering GET, /containers/{name:.*}/top   
DEBU[0000] Registering POST, /build                     
DEBU[0000] Registering POST, /containers/{name:.*}/unpause 
DEBU[0000] Registering POST, /containers/{name:.*}/copy 
DEBU[0000] Registering POST, /exec/{name:.*}/resize     
DEBU[0000] Registering POST, /commit                    
DEBU[0000] Registering POST, /images/load               
DEBU[0000] Registering POST, /images/{name:.*}/push     
INFO[0000] +job init_networkdriver()                    
DEBU[0000] Registering POST, /images/{name:.*}/tag      
DEBU[0000] Registering POST, /containers/{name:.*}/kill 
DEBU[0000] Registering POST, /containers/{name:.*}/pause 
DEBU[0000] Registering POST, /containers/{name:.*}/resize 
DEBU[0000] Registering POST, /auth                      
DEBU[0000] Registering POST, /containers/{name:.*}/restart 
DEBU[0000] Registering POST, /containers/{name:.*}/wait 
DEBU[0000] Registering POST, /containers/{name:.*}/attach 
DEBU[0000] Registering POST, /containers/{name:.*}/exec 
DEBU[0000] /sbin/iptables, [--wait -C POSTROUTING -t nat -s 172.17.42.1/16 ! -o docker0 -j MASQUERADE] 
DEBU[0000] /sbin/iptables, [--wait -D FORWARD -i docker0 -o docker0 -j DROP] 
DEBU[0000] /sbin/iptables, [--wait -C FORWARD -i docker0 -o docker0 -j ACCEPT] 
DEBU[0000] /sbin/iptables, [--wait -C FORWARD -i docker0 ! -o docker0 -j ACCEPT] 
DEBU[0000] /sbin/iptables, [--wait -C FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT] 
DEBU[0000] /sbin/iptables, [--wait -t nat -D PREROUTING -m addrtype --dst-type LOCAL -j DOCKER] 
DEBU[0000] /sbin/iptables, [--wait -t nat -D OUTPUT -m addrtype --dst-type LOCAL ! --dst 127.0.0.0/8 -j DOCKER] 
DEBU[0000] /sbin/iptables, [--wait -t nat -D OUTPUT -m addrtype --dst-type LOCAL -j DOCKER] 
DEBU[0000] /sbin/iptables, [--wait -t nat -D PREROUTING -j DOCKER] 
DEBU[0000] /sbin/iptables, [--wait -t nat -D OUTPUT -j DOCKER] 
DEBU[0000] /sbin/iptables, [--wait -t nat -F DOCKER]    
DEBU[0000] /sbin/iptables, [--wait -t nat -X DOCKER]    
DEBU[0000] /sbin/iptables, [--wait -t nat -n -L DOCKER] 
DEBU[0000] Registering POST, /exec/{name:.*}/start      
DEBU[0000] Registering POST, /images/create             
DEBU[0000] Registering POST, /containers/create         
DEBU[0000] Registering POST, /containers/{name:.*}/start 
DEBU[0000] Registering POST, /containers/{name:.*}/stop 
DEBU[0000] Registering POST, /containers/{name:.*}/rename 
DEBU[0000] Registering DELETE, /containers/{name:.*}    
DEBU[0000] /sbin/iptables, [--wait -t nat -N DOCKER]    
DEBU[0000] Registering DELETE, /images/{name:.*}        
DEBU[0000] Registering OPTIONS,                         
DEBU[0000] docker group found. gid: 107                 
DEBU[0000] /sbin/iptables, [--wait -C -m addrtype --dst-type LOCAL] 
DEBU[0000] /sbin/iptables, [--wait -t nat -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER] 
DEBU[0000] /sbin/iptables, [--wait -C -m addrtype --dst-type LOCAL ! --dst 127.0.0.0/8] 
DEBU[0000] /sbin/iptables, [--wait -t nat -A OUTPUT -m addrtype --dst-type LOCAL ! --dst 127.0.0.0/8 -j DOCKER] 
DEBU[0000] /sbin/iptables, [--wait -t filter -n -L DOCKER] 
DEBU[0000] /sbin/iptables, [--wait -C FORWARD -o docker0 -j DOCKER] 
INFO[0000] -job init_networkdriver() = OK (0)           
DEBU[0000] Cannot load container 0dff61a463500ed47443bdd28bc13014aabfd0aa6ec618680bd9c3296a66ea77 because it was created with another graph driver. 
DEBU[0000] Loaded container 0f8692d6ee6ff030163dcd03e9f61a1d7ea88b23032e93d6de23742673f04bf6 
DEBU[0000] Loaded container 12fc9f71e1aa6b426f248c609a401b860ecdad927ebfe2088a92f35d3648a287 
DEBU[0000] Loaded container 17556292bc36b084b25f9b5fb1f640348bd7b8644118ece36980ada25a5ff4eb 
DEBU[0000] Loaded container 1c3fcec749f779d9dc446f820efa5620dcc357244c930a4f5a534f560fbbf871 
DEBU[0000] Loaded container 2031cc33e6b64f24b8d7b712a99f86eed451d3a60e84920833f6c5773772651b 
DEBU[0000] Loaded container 2a8009eb2da4497754507c028d85c9112959ca94dd69f56d185b4b68436a20a9 
DEBU[0000] Cannot load container 3819fc1405b62920138a298528f3119fae52176d16d35d1191dac93cb0c009d1 because it was created with another graph driver. 
DEBU[0000] Loaded container 4cbe20a087e1e4c061d137c7403a3c8ba98f813a2042d65140ec519fc75b9ab1 
DEBU[0000] Loaded container 4d5264facca75ee80764df30b3b9a9b1b28c5f95b39b84eae7acb6686c02b576 
DEBU[0000] Loaded container 552d57885b36040c6aa5ceef3c1a65aec7a2f16eab22e7f3098080b0618dfe4e 
DEBU[0000] Cannot load container 56a8cc296ce06770505e08b876e469dcb3d9fb02191dcac04fd758cd11fcecfb because it was created with another graph driver. 
DEBU[0000] Loaded container 5a6a47c90590ea282338b8924a851718ebe0be2996db2fd2dbd93f75134547d0 
DEBU[0000] Loaded container 6e463daa3562a0f6958bc301be4535267f94bb6584e9281f86891053eb6675e5 
DEBU[0000] Loaded container 93be23f0f87c039ca27746f7d6604832d0c47b4974ae5e185ab1c887f21dcbd8 
DEBU[0000] Cannot load container 961393121b9995e5a800b49aae9883cc9905f9a31e2d11418241804ad12bf449 because it was created with another graph driver. 
DEBU[0000] Loaded container 9d29133a91dbd103f922c89d02f3e36ab2520a298a12e6867361470379335f18 
DEBU[0000] Loaded container a36ff748c04a3557659e3bc4c9fd3927afc1131594a9d11112ced1b7ea0ce6bf 
DEBU[0000] Loaded container a59c68d19a5d9692f6cf4deb4b2ef7d240bc773069c475fa8c1c4a58e2fe7bcb 
DEBU[0000] Loaded container ac41decfbb0f2c9c5a1435333a662ff2b4198c70927bb82151b27f4e7cffd3b6 
DEBU[0000] Cannot load container b2fa8955d6995a93d6d4e67a643bf41295f60e1e78a24ceed8475557f955c900 because it was created with another graph driver. 
DEBU[0000] Cannot load container b44e8a25215fea9d4ccc56cede71aa417ea95e48dbae03a26b8a43f13b517797 because it was created with another graph driver. 
DEBU[0000] Loaded container b5d47cfacffa7c6755002cfee67c38246dec2bf08706754dda9229473256b43d 
DEBU[0000] Loaded container bcac3fc9ff399d839bd6a69312542d80d030d1425b9121bace1d71524ee32f70 
DEBU[0000] Loaded container c09f40eb22d2faa18a7e3882781dc360641348888f58a657af33d45f1039f9fb 
DEBU[0000] Loaded container c27b0f56a7216ab1b2a038501fa6e81d6991e8784dec14bffdf2c7df2f6ee87a 
DEBU[0000] Loaded container c3f8d2dfad623bdb97425058432352b3e855f69a2502d07b789e01c292ebf1b0 
DEBU[0000] Loaded container cd05e92a229b3b1b7646793bf2eb15b165171afe6a6c4c72cd2cf5245f7d6c0a 
DEBU[0000] Cannot load container d8404a781c15cfd07ec4c26efc7dce556351f6607f5e79cb44276a5e65f96e1a because it was created with another graph driver. 
DEBU[0000] Loaded container d8749afb9303728dcb5058287443eb4bc1d965ec9838336e8c8fa7c57df7ebbb 
DEBU[0000] Cannot load container d946039ac617a227404f38ff722c6cbaaad4508c375cd17181f920e6f9cc90e2 because it was created with another graph driver. 
DEBU[0000] Loaded container df0db538fb22a09600b4c5f069b51e328c57f089b417e40b6b968873db7fc582 
DEBU[0000] Cannot load container e6f9b2ae2a7727c6bc018a91344e5dc258f0b89dcc536afb41239f2195cd942a because it was created with another graph driver. 
DEBU[0000] Loaded container efc8f223d79f1721fb467740909c0ace0f748db6aa6bc89b1de364517432c01a 
DEBU[0000] Loaded container f5077bfdca1fd22ff0e366ad03414dafd8353e976290b2024d7a4a55086654ff 
DEBU[0000] Restarting containers...                     
INFO[0000] docker daemon: 1.5.0 a8a31ef-dirty; execdriver: native-0.2; graphdriver: aufs 
INFO[0000] +job acceptconnections()                     
INFO[0000] -job acceptconnections() = OK (0)
umiddelb commented 9 years ago

OK, looks good as it is. Now it's time to tidy up a little bit. I assume you don't have any valuable docker images you want to keep (otherwise you open a duckerhub account and push your images there). Having that said, you run the following commands:

sudo service docker.io stop
sudo rm -rf /var/lib/docker
sudo service docker.io start
kennethlimcp commented 9 years ago

just did and the same error persists. :)

Instead of wasting your time, maybe i do everything from scratch again and hopefully reproduce the exact same issue!

INFO[0000] +job serveapi(unix:///var/run/docker.sock)   
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock) 
DEBU[0000] Registering GET, /info                       
DEBU[0000] Registering GET, /version                    
DEBU[0000] Registering GET, /images/viz                 
DEBU[0000] Registering GET, /containers/{name:.*}/changes 
DEBU[0000] Registering GET, /containers/{name:.*}/stats 
DEBU[0000] Registering GET, /exec/{id:.*}/json          
DEBU[0000] Registering GET, /containers/{name:.*}/json  
DEBU[0000] Registering GET, /containers/{name:.*}/attach/ws 
DEBU[0000] Registering GET, /_ping                      
DEBU[0000] Registering GET, /events                     
DEBU[0000] Registering GET, /images/json                
DEBU[0000] Registering GET, /images/{name:.*}/json      
DEBU[0000] Registering GET, /containers/json            
DEBU[0000] Registering GET, /containers/{name:.*}/export 
DEBU[0000] Registering GET, /containers/ps              
DEBU[0000] Registering GET, /containers/{name:.*}/top   
DEBU[0000] Registering GET, /containers/{name:.*}/logs  
DEBU[0000] Registering GET, /images/search              
DEBU[0000] Registering GET, /images/get                 
DEBU[0000] Registering GET, /images/{name:.*}/get       
DEBU[0000] Registering GET, /images/{name:.*}/history   
DEBU[0000] Registering POST, /containers/{name:.*}/unpause 
DEBU[0000] Using graph driver aufs                      
DEBU[0000] Migrating existing containers                
DEBU[0000] Creating images graph                        
DEBU[0000] Restored 0 elements                          
DEBU[0000] Creating repository list                     
INFO[0000] +job init_networkdriver()                    
DEBU[0000] /sbin/iptables, [--wait -C POSTROUTING -t nat -s 172.17.42.1/16 ! -o docker0 -j MASQUERADE] 
DEBU[0000] Registering POST, /containers/{name:.*}/copy 
DEBU[0000] Registering POST, /exec/{name:.*}/resize     
DEBU[0000] Registering POST, /build                     
DEBU[0000] Registering POST, /containers/create         
DEBU[0000] Registering POST, /containers/{name:.*}/start 
DEBU[0000] Registering POST, /containers/{name:.*}/stop 
DEBU[0000] Registering POST, /containers/{name:.*}/rename 
DEBU[0000] Registering POST, /images/create             
DEBU[0000] Registering POST, /containers/{name:.*}/restart 
DEBU[0000] Registering POST, /containers/{name:.*}/wait 
DEBU[0000] Registering POST, /containers/{name:.*}/attach 
DEBU[0000] Registering POST, /containers/{name:.*}/exec 
DEBU[0000] Registering POST, /exec/{name:.*}/start      
DEBU[0000] Registering POST, /auth                      
DEBU[0000] Registering POST, /images/load               
DEBU[0000] Registering POST, /images/{name:.*}/push     
DEBU[0000] Registering POST, /images/{name:.*}/tag      
DEBU[0000] Registering POST, /containers/{name:.*}/kill 
DEBU[0000] /sbin/iptables, [--wait -D FORWARD -i docker0 -o docker0 -j DROP] 
DEBU[0000] Registering POST, /containers/{name:.*}/pause 
DEBU[0000] Registering POST, /containers/{name:.*}/resize 
DEBU[0000] Registering POST, /commit                    
DEBU[0000] Registering DELETE, /containers/{name:.*}    
DEBU[0000] Registering DELETE, /images/{name:.*}        
DEBU[0000] Registering OPTIONS,                         
DEBU[0000] docker group found. gid: 107                 
DEBU[0000] /sbin/iptables, [--wait -C FORWARD -i docker0 -o docker0 -j ACCEPT] 
DEBU[0000] /sbin/iptables, [--wait -C FORWARD -i docker0 ! -o docker0 -j ACCEPT] 
DEBU[0000] /sbin/iptables, [--wait -C FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT] 
DEBU[0000] /sbin/iptables, [--wait -t nat -D PREROUTING -m addrtype --dst-type LOCAL -j DOCKER] 
DEBU[0000] /sbin/iptables, [--wait -t nat -D OUTPUT -m addrtype --dst-type LOCAL ! --dst 127.0.0.0/8 -j DOCKER] 
DEBU[0000] /sbin/iptables, [--wait -t nat -D OUTPUT -m addrtype --dst-type LOCAL -j DOCKER] 
DEBU[0000] /sbin/iptables, [--wait -t nat -D PREROUTING -j DOCKER] 
DEBU[0000] /sbin/iptables, [--wait -t nat -D OUTPUT -j DOCKER] 
DEBU[0000] /sbin/iptables, [--wait -t nat -F DOCKER]    
DEBU[0000] /sbin/iptables, [--wait -t nat -X DOCKER]    
DEBU[0000] /sbin/iptables, [--wait -t nat -n -L DOCKER] 
DEBU[0000] /sbin/iptables, [--wait -t nat -N DOCKER]    
DEBU[0000] /sbin/iptables, [--wait -C -m addrtype --dst-type LOCAL] 
DEBU[0000] /sbin/iptables, [--wait -t nat -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER] 
DEBU[0000] /sbin/iptables, [--wait -C -m addrtype --dst-type LOCAL ! --dst 127.0.0.0/8] 
DEBU[0000] /sbin/iptables, [--wait -t nat -A OUTPUT -m addrtype --dst-type LOCAL ! --dst 127.0.0.0/8 -j DOCKER] 
DEBU[0000] /sbin/iptables, [--wait -t filter -n -L DOCKER] 
DEBU[0000] /sbin/iptables, [--wait -C FORWARD -o docker0 -j DOCKER] 
INFO[0000] -job init_networkdriver() = OK (0)           
DEBU[0000] Restarting containers...                     
INFO[0000] docker daemon: 1.5.0 a8a31ef-dirty; execdriver: native-0.2; graphdriver: aufs 
INFO[0000] +job acceptconnections()                     
INFO[0000] -job acceptconnections() = OK (0)    
umiddelb commented 9 years ago

But this is looking good now ...

kennethlimcp commented 9 years ago

That's the funny thing! 1.0.1 works well but not 1.5.0.

on a sidenote...this is my motivation for learning all these armv7 stuff: https://github.com/kennethlimcp/spark-server-automate

umiddelb commented 9 years ago

What is the exact error message you get?

If you want to set up your system from scratch, you may try this approach, but you need to compile the kernel from source once again afterwards.