Merged packages from development

This commit is contained in:
Igor Pecovnik 2018-05-27 10:17:03 +00:00
parent 62af6c9073
commit 312ec0ba91
41 changed files with 3779 additions and 179 deletions

View File

@ -0,0 +1,14 @@
<!DOCTYPE NETSCAPE-Bookmark-file-1>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<TITLE>Bookmarks</TITLE>
<H1>Bookmarks</H1>
<DL><p>
<DT><H3 PERSONAL_TOOLBAR_FOLDER="true">Bookmarks Bar</H3>
<DL><p>
<DT><A HREF="https://www.armbian.com" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRFNjg2RUVDRTBEQTExRTc4RTU3RUNCMTYzNTlCODNCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRFNjg2RUVERTBEQTExRTc4RTU3RUNCMTYzNTlCODNCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEU2ODZFRUFFMERBMTFFNzhFNTdFQ0IxNjM1OUI4M0IiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEU2ODZFRUJFMERBMTFFNzhFNTdFQ0IxNjM1OUI4M0IiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6cwntOAAAHP0lEQVR42rxXa2xU1Rbe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">armbian</A>
<DT><A HREF="https://docs.armbian.com" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRFNjg2RUVDRTBEQTExRTc4RTU3RUNCMTYzNTlCODNCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRFNjg2RUVERTBEQTExRTc4RTU3RUNCMTYzNTlCODNCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEU2ODZFRUFFMERBMTFFNzhFNTdFQ0IxNjM1OUI4M0IiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEU2ODZFRUJFMERBMTFFNzhFNTdFQ0IxNjM1OUI4M0IiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6cwntOAAAHP0lEQVR42rxXa2xU1Rbe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">+documentation</A>
<DT><A HREF="https://forum.armbian.com/forum/26-research-guides-tutorials/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRFNjg2RUVDRTBEQTExRTc4RTU3RUNCMTYzNTlCODNCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRFNjg2RUVERTBEQTExRTc4RTU3RUNCMTYzNTlCODNCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEU2ODZFRUFFMERBMTFFNzhFNTdFQ0IxNjM1OUI4M0IiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEU2ODZFRUJFMERBMTFFNzhFNTdFQ0IxNjM1OUI4M0IiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6cwntOAAAHP0lEQVR42rxXa2xU1Rbe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">+guides</A>
<DT><A HREF="https://www.armbian.com/logbook" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRFNjg2RUVDRTBEQTExRTc4RTU3RUNCMTYzNTlCODNCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRFNjg2RUVERTBEQTExRTc4RTU3RUNCMTYzNTlCODNCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEU2ODZFRUFFMERBMTFFNzhFNTdFQ0IxNjM1OUI4M0IiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEU2ODZFRUJFMERBMTFFNzhFNTdFQ0IxNjM1OUI4M0IiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6cwntOAAAHP0lEQVR42rxXa2xU1Rbe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">+news</A>
<DT><A HREF="https://www.armbian.com/donate" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRFNjg2RUVDRTBEQTExRTc4RTU3RUNCMTYzNTlCODNCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRFNjg2RUVERTBEQTExRTc4RTU3RUNCMTYzNTlCODNCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEU2ODZFRUFFMERBMTFFNzhFNTdFQ0IxNjM1OUI4M0IiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEU2ODZFRUJFMERBMTFFNzhFNTdFQ0IxNjM1OUI4M0IiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6cwntOAAAHP0lEQVR42rxXa2xU1Rbe5/2Yh51OZ1qmvdCZMgMK7aBypfeWC5qiCaKxaqJVE4PxhxqiApqbGzExMd5fXhON0fsKvlBRjPxQqBgf0BKLUipYKdIpbWfa0nnP9MzrzJwzD9ee9tQD4k9mJZM5+7X22mt/61trE5VKBWGRJAmdGhpC+z/48B8TExOhLVu6kcFoNNZZLNloOCJCn+BZ5YkN9B8veDzupnprPd3W1hYZPHFCTcbj1lg0Xryl+5YSIggxL8uJoZNDxetvuMHKsoxgMpmmeV6gjx096lr/5/Uv3tfbixwOR3VfGi1KPBazD5086Z6enr4xl83Gzp8/XxEEQRQNBlmal4RIOMyXSqWkNJ9UpqamrJFIhIb+eGDKX4L5ZlmWS+dGR8skSQoFRZGSiURp3Oe7hqZpnue5ZSzL0cHgXMvc3Nxm2GsSDJjB+xK5XA7FYrFlDz/40HcTFy44WY5DFEWhYrGIKpUywg4iCAKBYlQulxEoRGAIwp7T2ljwOF6DsEMJVO2vthcFz6/qVYvIZreFPzn46aYVK1b4KG9HB3rt1Ve9P50+8wzLsdXN8GT8TxBkVTH+rlp7ydiCUfoNqv0k8bt5+rl4HDxgFA3iD0VV/ZkSBfGF2ZnZOzOZ9Bq9wqsl2BjsnUQiafD5xlbScE8haX6+CbtHA+TVFnzQTDo9PyZJYXLbHdvK3nXryqqqoloJxkbbypWVnp6eMgnoNPICL6IaCvY0wzAchIeRNBoNssAL+Vq5XzOA4znFZDbJZDgUFhOJuFALAOoxABzCA/hFMgwEM5+cZ7VQq4XgvdLpNBMKhTiy1emMNzY2SphU/shdV7qeK/Xr+/5oHRa8l9VqTbtcrjgpCHwB0KBcbmGhUEB5OY+AjFXsMsyYGrngiMFIxt9YGWZGPJ9l2RL+1+bCujJQ9BUN4ThOBd0Knclk7LDIoh9UQIl3nXfk7nvufQV4X3I6nbLfP3Xb++/t220yGsfu6ul5vcPrlYA55/e98+7fbY32g+3t7YLdbh+BvRq/PHLkwQ2dnfsczY6Z0bNn73p771tPY57RM2q+kDfnclkbPTk5yUOC4DUQVvmdYYpP79y5a3Bw8I7/vPHGY8AT0//+33/XD58avg0Ulv/S9dc3f/5p5PWBgf5OkqSS9/f2vtZ3uG//W//fu+PDAx/fedOGDd89un37Z41NTZGXX/nX1mPfHt0K2dQDHloCYTQS5cbpcYGGxhQknTo9QsEI+plduw84mpsntm67/VCDzR6IxxOs2WxKMTRtGOjvdx3p+2JHMpkk1q5dexQQ7TnS19cLjIoOH/p8fSQcoS+Mj68KBAKt/f391iaHIzY+Pu7Rexk8EgJPTNKjo6OmtJQy6D0AJJF/8aWXHqMZOnl84HjXxdnZNYBaEyyqkODK7wdP8IABFfiDhXWVmZlpHEVlIDUSp2W/3y8ArvBhFMAHzkzk78JQkoRYNGqina1OYe7iRQ42WEipADC3xzNlb2r8dOeTT82cHRlp6dq4caLD2xGUczK+xArMU2FDDVkVSC5LbfguwQFKupMWdXOXDglFCmuxWEQawAQKKAR3tJCpGAYF/P7WWCRy93N79jxw7tyou7mlpfT94GA7w7JBUL4aiom6aDS6oKxSYeR8fuEKwTww0ggGiotRQGTSmbp8Pk/reQZHjc1mQx0dHWUa0jNYT6oaOhdDUNi9c9dBp8t5Cp8g4A/cCP0KgEgF1xvhbg/DRBauCIH3NhzY/9HnoJSC0AIMHPonVoUBBwYY3t6799ucLNdpANSFegk8oVJGg3Hz9HTAkc1mvZqVWvUDSHVAtdQC3xRszIJhPB6GuQaSqAo+DQ0nNGiFi6IoPPCEFlUEYMIA3qD0HqiOEcQFYOEQzXFsiqaZ7JX4+nKrdfd6CWnp25fnFP3Yb5QJWKGoHOiXyE0336wAiSj6+u1qi1pUkautrdi9pVshU1KqAdjQUtNkBMADujanUqkG0jc2xgCQ6FqmY4qkcGFK/XLuF5YEAM0BaKK1TscQvkk5l7tIKkoBVdmqxlICzMEDhiDhyeSmaLql1iUZ/JYJPL+S3P7II8/XW61vQvzWzAC4drRx09/273722T0EkAGampx07nj8ieHZ2VmLKIpLz6yqVyoLqNXICcc1/teeZlqeXySlpacZ7q+2F+MezlztwwWL2WyWP/rkQNeq1atPE5rrfxwe9nzz9Tc3ff3VVw8DOJLNzc0VhmWgchYKwHxcIpHggL9TkGpVURTqINtRUFZJwWCwBPONAOQy5P8S2MHBxplYNFa21FtMYDgLOqKQpCgobhq7urr2dd+65cymzZvPXPI6bm1t9XV2dvrOnD69HL+W3B53xWy+xmix1mdDc0F4RvmEa6+7NhYKhvJ/Wr58WYOtgYasGe4/dkxNxBNWoO3imva1JaBoA8R4HAwout2eBnjsClD6++GhzSSSiTZ4mL7jdLmq3sNe/VWAAQAU7eAhHggSlgAAAABJRU5ErkJggg==">+donate</A>
</DL><p>
</DL><p>

View File

@ -0,0 +1,32 @@
{
"distribution": {
"import_bookmarks": false,
"import_bookmarks_from_file": "/usr/share/chromium/initial_bookmarks.html",
"skip_first_run_ui": true,
"show_welcome_page": false,
"suppress_first_run_default_browser_prompt": true,
"suppress_first_run_bubble": true,
"make_chrome_default": false,
"make_chrome_default_for_user": false,
"create_all_shortcuts": true,
"show_welcome_page": false
},
"first_run_tabs": [
"https://www.armbian.com"
],
"browser": {
"show_home_button": true,
"check_default_browser" : false
},
"bookmark_bar": {
"show_on_all_tabs": true
},
"safebrowsing": {
"enabled": false
},
"alternate_error_pages": {
"enabled": false
},
"homepage": "https://www.armbian.com",
"AudioCaptureAllowed" : false
}

View File

@ -0,0 +1,9 @@
[greeter]
background = #888a85
theme-name = Numix
icon-theme-name = Numix
default-user-image=/usr/share/pixmaps/armbian.png
indicators = ~language;~power
screensaver-timeout = 0
font-name = Sans 11
user-background = false

View File

@ -0,0 +1,5 @@
[SeatDefaults]
user-session=ubuntu
greeter-show-manual-login=false
greeter-hide-users=false
allow-guest=false

View File

@ -3,9 +3,9 @@ Version=1.0
Type=Application
Name=Armbian config
Comment=Basic system settings
Exec=gksu "xfce4-terminal --hide-menubar --fullscreen -e armbian-config"
Exec=sudo armbian-config
Icon=preferences-system
Path=
Terminal=false
Terminal=true
StartupNotify=false
Categories=GTK;GNOME;Settings;HardwareSettings;
Categories=GTK;GNOME;Settings;HardwareSettings;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -8,28 +8,34 @@
#-----------------------------------------------------------------
# General:
# 1 = delete this file, after first run setup is completed.
# SECURITY WARN: Even if this file is deleted, it may still be accessible by recovery methods.
FR_general_delete_this_file_after_completion=1
#-----------------------------------------------------------------
#Networking:
# Change default network settings
# Set to 1 to apply any network related settings below
FR_net_change_defaults=0
# Enable WiFi or Ethernet.
# NB: If both are enabled, WiFi will take priority and Ethernet will be disabled.
FR_net_ethernet_enabled=1
FR_net_wifi_enabled=0
#Enter your WiFi creds
# SECURITY WARN: Your wifi keys will be stored in plaintext, no encryption.
FR_net_wifi_ssid='MySSID'
FR_net_wifi_key='MyWiFiKEY'
# Country code to enable power ratings and channels for your country. eg: GB US DE | https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
FR_net_wifi_countrycode='GB'
#If you want to use a static ip, set it here
FR_net_use_static=0
FR_net_static_ip='192.168.0.100'
FR_net_static_mask='255.255.255.0'

View File

@ -0,0 +1,2 @@
Acquire::GzipIndexes "true";
Acquire::CompressionTypes::Order:: "gz";

View File

@ -0,0 +1,17 @@
// Enable the update/upgrade script (0=disable)
APT::Periodic::Enable "1";
// Do "apt-get update" automatically every n-days (0=disable)
APT::Periodic::Update-Package-Lists "7";
// Do "apt-get upgrade --download-only" every n-days (0=disable)
APT::Periodic::Download-Upgradeable-Packages "0";
// Run the "unattended-upgrade" security upgrade script
// every n-days (0=disabled)
// Requires the package "unattended-upgrades" and will write
// a log in /var/log/unattended-upgrades
APT::Periodic::Unattended-Upgrade "1";
// Do "apt-get autoclean" every n-days (0=disable)
APT::Periodic::AutocleanInterval "21";

View File

@ -61,6 +61,9 @@ prepare_temp_monitoring() {
if [[ -d "/sys/devices/platform/a20-tp-hwmon" ]]; then
# sun7i legacy
ln -fs /sys/devices/platform/a20-tp-hwmon/temp1_input /etc/armbianmonitor/datasources/soctemp
elif [[ -d /sys/class/hwmon/hwmon0/temp1_input ]]; then
# usual convention with modern kernels
ln -fs /sys/class/hwmon/hwmon0/temp1_input /etc/armbianmonitor/datasources/soctemp
else
# all other boards/kernels use the same sysfs node except of Actions Semi S500:
[[ ${BOARDFAMILY} == s500 ]] && THERMAL_ZONE="thermal_zone1" || THERMAL_ZONE="thermal_zone0"
@ -295,7 +298,7 @@ log_hardware_info() {
echo -e "### partitions:\n" >>${Log}
egrep -v " ram| zram" /proc/partitions >>${Log}
echo -e "\n### df:\n" >>${Log}
df -h >>${Log}
df -h | egrep '^udev|^tmpfs|^/dev/|log2ram|folder2ram' >>${Log}
which zpool >/dev/null 2>&1 && echo -e "\n### zpools:\n\n$(zpool list)\n\n### zfs datasets:\n\n$(zfs list)" >>${Log}
echo -e "\n### lsblk:\n" >>${Log}
lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,UUID | grep -v "^zram" >>${Log}
@ -371,10 +374,7 @@ add_usb_storage_quirks() {
read USBQUIRKS <${TMPFILE}
sed -i '/^usbstoragequirks/d' /boot/armbianEnv.txt
echo "usbstoragequirks=${USBQUIRKS}" >>/boot/armbianEnv.txt
# Make sure /boot/armbianEnv.txt is completely written to disk given
# we flush to disk infrequently and corruption of this file can have
# nasty side-effects
sync
sync &
if [ -f /sys/module/usb_storage/parameters/quirks ]; then
echo ${USBQUIRKS} >/sys/module/usb_storage/parameters/quirks
fi
@ -388,7 +388,7 @@ activate_zram() {
cpu_cores=$(grep -c '^processor' /proc/cpuinfo | sed 's/^0$/1/')
[[ ${cpu_cores} -gt 4 ]] && zram_devices=4 || zram_devices=${cpu_cores}
module_args="$(modinfo zram | awk -F" " '/num_devices/ {print $2}' | cut -f1 -d:)"
[[ -n ${module_args} ]] && modprobe zram ${module_args}=${zram_devices} || return
[[ -n ${module_args} ]] && modprobe zram ${module_args}=$(( ${zram_devices} + 1 )) || return
# Use half of the real memory by default --> 1/${ram_divisor}
ram_divisor=2
@ -396,13 +396,23 @@ activate_zram() {
memory_total=$(awk '{printf("%d",$2*1024)}' <<<${mem_info})
mem_per_zram_device=$(( ${memory_total} / ${zram_devices} / ${ram_divisor} ))
for (( i=0; i<zram_devices; i++ )); do
echo -n ${mem_per_zram_device} > /sys/block/zram${i}/disksize
for (( i=1; i<=zram_devices; i++ )); do
[[ -f /sys/block/zram${i}/comp_algorithm ]] && echo lz4 >/sys/block/zram${i}/comp_algorithm 2>/dev/null
echo -n ${mem_per_zram_device} > /sys/block/zram${i}/disksize
mkswap /dev/zram${i}
swapon -p 5 /dev/zram${i}
done
echo -e "\n### Activated ${zram_devices} zram swap devices with ${mem_per_zram_device} MB each\n" >>${Log}
# Dedicate 300 MB (uncompressed) /dev/zram0 device for log2ram and choose most efficient
# compression scheme available -- https://patchwork.kernel.org/patch/9918897/
for algo in lz4 quicklz zlib brotli zstd ; do
echo ${algo} >/sys/block/zram0/comp_algorithm 2>/dev/null
done
echo -n 314572800 > /sys/block/zram0/disksize
mkfs.btrfs -s 1024 -L log2ram /dev/zram0
read algo </sys/block/zram0/comp_algorithm
echo -e "### Activated log2ram partition with ${algo} compression\n" >>${Log}
} # activate_zram
case $1 in

View File

@ -1,34 +1,4 @@
source /etc/network/interfaces.d/*
# Wired adapter #1
allow-hotplug eth0
#no-auto-down eth0
iface eth0 inet dhcp
#address 192.168.0.100
#netmask 255.255.255.0
#gateway 192.168.0.1
#dns-nameservers 8.8.8.8 8.8.4.4
# hwaddress ether # if you want to set MAC manually
# pre-up /sbin/ifconfig eth0 mtu 3838 # setting MTU for DHCP, static just: mtu 3838
# Wireless adapter #1
# Armbian ships with network-manager installed by default. To save you time
# and hassles consider using 'sudo nmtui' instead of configuring Wi-Fi settings
# manually. The below lines are only meant as an example how configuration could
# be done in an anachronistic way:
#
#allow-hotplug wlan0
#iface wlan0 inet dhcp
#address 192.168.0.100
#netmask 255.255.255.0
#gateway 192.168.0.1
#dns-nameservers 8.8.8.8 8.8.4.4
# wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
# Disable power saving on compatible chipsets (prevents SSH/connection dropouts over WiFi)
#wireless-mode Managed
#wireless-power off
# Local loopback
# Network is managed by Network manager
auto lo
iface lo inet loopback

View File

@ -40,7 +40,7 @@ add_user()
[ -z "$RealUserName" ] && return
echo "Trying to add user $RealUserName"
adduser $RealUserName || return
for additionalgroup in sudo netdev audio video dialout plugdev bluetooth systemd-journal ssh; do
for additionalgroup in sudo netdev audio video dialout plugdev input bluetooth systemd-journal ssh; do
usermod -aG ${additionalgroup} ${RealUserName} 2>/dev/null
done
# fix for gksu in Xenial

View File

@ -18,7 +18,7 @@ done
KERNELID=$(uname -r)
if [ $(echo $BOARD_NAME | wc -c) -ge 18 ]; then
TERM=linux toilet -f standard -F metal $(echo $BOARD_NAME | sed 's/Orange Pi/OPi/')
TERM=linux toilet -f standard -F metal $(echo $BOARD_NAME | sed 's/Orange Pi/OPi/' | sed 's/Nanopi/NPi/')
else
TERM=linux toilet -f standard -F metal $BOARD_NAME
fi

View File

@ -105,8 +105,8 @@ function get_ip_addresses() {
local ips=()
for f in /sys/class/net/*; do
local intf=$(basename $f)
# match only interface names starting with e (Ethernet), b (bridge), w (wireless), r (some Ralink drivers use ra<number> format)
if [[ $intf =~ ^[ebwr].* ]]; then
# match only interface names starting with e (Ethernet), br (bridge), w (wireless), r (some Ralink drivers use ra<number> format)
if [[ $intf =~ ^[ewr].*|^br.* ]]; then
local tmp=$(ip -4 addr show dev $intf | awk '/inet/ {print $2}' | cut -d'/' -f1)
# add both name and IP - can be informative but becomes ugly with long persistent/predictable device names
#[[ -n $tmp ]] && ips+=("$intf: $tmp")
@ -126,7 +126,6 @@ function storage_info() {
if [[ -n "${StorageInfo}" && ${RootInfo} != *$storage* ]]; then
storage_usage=$(awk '/\// {print $(NF-1)}' <<<${StorageInfo} | sed 's/%//g')
storage_total=$(awk '/\// {print $(NF-4)}' <<<${StorageInfo})
[[ "$storage" == */sd* ]] && hdd_temp=$(hddtemp -u C -nq $storage)
fi
} # storage_info
@ -173,9 +172,8 @@ printf "\x1B[92m%s\x1B[0m" "$ip_address"
echo "" # fixed newline
a=0;b=0;c=0
display "CPU temp" "$board_temp" "45" "0" "°C" "" ; a=$?
display "HDD temp" "$hdd_temp" "45" "0" "°C" "" ; b=$?
display "Ambient temp" "$amb_temp" "40" "0" "°C" "" ; c=$?
(( ($a+$b+$c) >0 )) && echo "" # new line only if some value is displayed
display "Ambient temp" "$amb_temp" "40" "0" "°C" "" ; b=$?
(( ($a+$b) >0 )) && echo "" # new line only if some value is displayed
display "Usage of /" "$root_usage" "90" "1" "%" " of $root_total"
display "storage/" "$storage_usage" "90" "1" "%" " of $storage_total"
display "Battery" "$battery_percent" "20" "1" "%" "$status_battery_text"

View File

@ -3,13 +3,10 @@
[Unit]
Description=Armbian first run optional user configuration
Before=network-pre.target network.target
Wants=NetworkManager.service
After=local-fs.target
Wants=network-online.target
After=network.target network-online.target
ConditionPathExists=/boot/armbian_first_run.txt
ConditionPathExists=/root/.not_logged_in_yet
# This is not supported on Jessie
#ConditionFirstBoot=true
[Service]
Type=oneshot

View File

@ -3,6 +3,28 @@
# TODO: convert this to use nmcli, improve network interfaces names handling (wl*, en*)
# or drop support for this and remove all related files
# Function calculates number of bit in a netmask
#
mask2cidr() {
nbits=0
IFS=.
for dec in $1 ; do
case $dec in
255) let nbits+=8;;
254) let nbits+=7;;
252) let nbits+=6;;
248) let nbits+=5;;
240) let nbits+=4;;
224) let nbits+=3;;
192) let nbits+=2;;
128) let nbits+=1;;
0);;
*) echo "Error: $dec is not recognised"; exit 1
esac
done
echo "$nbits"
}
do_firstrun_automated_user_configuration()
{
#-----------------------------------------------------------------------------
@ -27,6 +49,10 @@ do_firstrun_automated_user_configuration()
# Load vars directly from file
source "$fp_config"
# Obtain backward configuration compatibility
FR_net_static_dns=${FR_net_static_dns// /,}
FR_net_static_mask=$(mask2cidr $FR_net_static_mask)
#-----------------------------------------------------------------------------
# - Remove configuration file
if [[ $FR_general_delete_this_file_after_completion == 1 ]]; then
@ -42,102 +68,65 @@ do_firstrun_automated_user_configuration()
if [[ $FR_net_change_defaults == 1 ]]; then
# - Get 1st index of available wlan and eth adapters
local fp_ifconfig_tmp='/tmp/.ifconfig'
ifconfig -a > "$fp_ifconfig_tmp" #export to file, should be quicker in loop than calling ifconfig each time.
ifconfig -a | sed 's/[ \t].*//;/^\(lo\|\|bond0\|sit0\|ip6tnl0\)$/d' > "$fp_ifconfig_tmp" #export to file, should be quicker in loop than calling ifconfig each time.
# find eth[0-9]
for ((i=0; i<=9; i++))
do
if (( $(cat "$fp_ifconfig_tmp" | grep -ci -m1 "eth$i") )); then
eth_index=$i
eth_index=eth${i}
break
fi
done
# Predictable Network Interface Names
[[ -z $eth_index ]] && eth_index=$(cat "$fp_ifconfig_tmp" | grep -m1 "en" | cut -f1 -d":" | head -1)
# find wlan[0-9]
for ((i=0; i<=9; i++))
do
if (( $(cat "$fp_ifconfig_tmp" | grep -ci -m1 "wlan$i") )); then
wlan_index=$i
wlan_index=wlan${i}
break
fi
done
# Predictable Network Interface Names
[[ -z $wlan_index ]] && wlan_index=$(cat "$fp_ifconfig_tmp" | grep -m1 "wl" | cut -f1 -d":" | head -1)
rm "$fp_ifconfig_tmp"
# - Kill dhclient
killall -w dhclient
# - Drop Connections
ifdown eth$eth_index --force
ifdown wlan$wlan_index --force
# - Wifi enable
if [[ $FR_net_wifi_enabled == 1 ]]; then
#Enable Wlan, disable Eth
FR_net_ethernet_enabled=0
sed -i "/allow-hotplug wlan$wlan_index/c\allow-hotplug wlan$wlan_index" /etc/network/interfaces
sed -i "/allow-hotplug eth$eth_index/c\#allow-hotplug eth$eth_index" /etc/network/interfaces
#Set SSid (covers both WEP and WPA)
sed -i "/wireless-essid /c\ wireless-essid $FR_net_wifi_ssid" /etc/network/interfaces
sed -i "/wpa-ssid /c\ wpa-ssid $FR_net_wifi_ssid" /etc/network/interfaces
#Set Key (covers both WEP and WPA)
sed -i "/wireless-key /c\ wireless-key $FR_net_wifi_key" /etc/network/interfaces
sed -i "/wpa-psk /c\ wpa-psk $FR_net_wifi_key" /etc/network/interfaces
#Set wifi country code
iw reg set "$FR_net_wifi_countrycode"
#Disable powersaving for known chips that suffer from powersaving features causing connection dropouts.
# This is espically true for the 8192cu and 8188eu.
#FOURDEE: This may be better located as default in ARMbian during build (eg: common), as currently, not active until after a reboot.
# - Realtek | all use the same option, so create array.
local realtek_array=(
"8192cu"
"8188eu"
)
for ((i=0; i<${#realtek_array[@]}; i++))
do
echo -e "options ${realtek_array[$i]} rtw_power_mgnt=0" > /etc/modprobe.d/realtek_"${realtek_array[$i]}".conf
done
unset realtek_array
# - Ethernet enable
elif [[ $FR_net_ethernet_enabled == 1 ]]; then
#Enable Eth, disable Wlan
FR_net_wifi_enabled=0
sed -i "/allow-hotplug eth$eth_index/c\allow-hotplug eth$eth_index" /etc/network/interfaces
#sed -i "/allow-hotplug wlan$wlan_index/c\#allow-hotplug wlan$wlan_index" /etc/network/interfaces
fi
# - Static IP enable
# for static IP we only append settings
if [[ $FR_net_use_static == 1 ]]; then
if [[ $FR_net_wifi_enabled == 1 ]]; then
sed -i "/iface wlan$wlan_index inet/c\iface wlan$wlan_index inet static" /etc/network/interfaces
elif [[ $FR_net_ethernet_enabled == 1 ]]; then
sed -i "/iface eth$eth_index inet/c\iface eth$eth_index inet static" /etc/network/interfaces
fi
#This will change both eth and wlan entries, however, as only 1 adapater is enabled by this feature, should be fine.
sed -i "/^#address/c\address $FR_net_static_ip" /etc/network/interfaces
sed -i "/^#netmask/c\netmask $FR_net_static_mask" /etc/network/interfaces
sed -i "/^#gateway/c\gateway $FR_net_static_gateway" /etc/network/interfaces
sed -i "/^#dns-nameservers/c\dns-nameservers $FR_net_static_dns" /etc/network/interfaces
local FIXED_IP_SETTINGS="ipv4.method manual ipv4.address ${FR_net_static_ip}/${FR_net_static_mask} ipv4.dns ${FR_net_static_dns} ipv4.gateway ${FR_net_static_gateway}"
fi
#This service should be executed before network is started, so don't restart anything
if [[ -n $eth_index || -n $wlan_index ]]; then
# delete all current connections
LC_ALL=C nmcli -t -f UUID,DEVICE connection show | awk '{print $1}' | cut -f1 -d":" | xargs nmcli connection delete
# - Manually bring up adapters (just incase)
if [[ $FR_net_wifi_enabled == 1 ]]; then
ifup wlan$wlan_index
elif [[ $FR_net_ethernet_enabled == 1 ]]; then
ifup eth$eth_index
# - Wifi enable
if [[ $FR_net_wifi_enabled == 1 ]]; then
#Set wifi country code
iw reg set "$FR_net_wifi_countrycode"
nmcli con add con-name "Armbian wireless" type wifi ifname ${wlan_index} ssid "$FR_net_wifi_ssid" -- wifi-sec.key-mgmt wpa-psk wifi-sec.psk "$FR_net_wifi_key" ${FIXED_IP_SETTINGS}
nmcli con up "Armbian wireless"
#Enable Wlan, disable Eth
FR_net_ethernet_enabled=0
# - Ethernet enable
elif [[ $FR_net_ethernet_enabled == 1 ]]; then
nmcli con add con-name "Armbian ethernet" type ethernet ifname ${eth_index} -- ${FIXED_IP_SETTINGS}
nmcli con up "Armbian ethernet"
#Enable Eth, disable Wlan
FR_net_wifi_enabled=0
fi
fi
fi
fi

View File

@ -15,6 +15,7 @@
# script configuration
CWD="/usr/lib/nand-sata-install"
EX_LIST="${CWD}/exclude.txt"
FIRSTSECTOR="8192s"
[ -f /etc/default/openmediavault ] && echo '/srv/*' >>"${EX_LIST}"
nanddevice="/dev/nand"
logfile="/var/log/nand-sata-install.log"
@ -29,6 +30,8 @@ if grep -q 'sun4i' /proc/cpuinfo; then DEVICE_TYPE="a10";
elif grep -q 'sun5i' /proc/cpuinfo; then DEVICE_TYPE="a13";
else DEVICE_TYPE="a20"; fi
BOOTLOADER="${CWD}/${DEVICE_TYPE}/bootloader"
[[ $LINUXFAMILY == rk3328 ]] && FIRSTSECTOR="32768s"
#recognize_root
root_uuid=$(sed -e 's/^.*root=//' -e 's/ .*$//' < /proc/cmdline)
@ -47,11 +50,13 @@ mkopts[ext2]='-qF'
mkopts[ext3]='-qF'
mkopts[ext4]='-qF'
mkopts[btrfs]='-f'
mkopts[f2fs]=''
mountopts[ext2]='defaults,noatime,nodiratime,commit=600,errors=remount-ro,x-gvfs-hide 0 1'
mountopts[ext3]='defaults,noatime,nodiratime,commit=600,errors=remount-ro,x-gvfs-hide 0 1'
mountopts[ext4]='defaults,noatime,nodiratime,commit=600,errors=remount-ro,x-gvfs-hide 0 1'
mountopts[btrfs]='defaults,noatime,nodiratime,commit=600,compress=lzo,x-gvfs-hide 0 2'
mountopts[f2fs]='defaults,noatime,nodiratime,x-gvfs-hide 0 2'
# Create boot and root file system $1 = boot, $2 = root (Example: create_armbian "/dev/nand1" "/dev/sda3")
create_armbian()
@ -59,7 +64,7 @@ create_armbian()
# create mount points, mount and clean
TempDir=$(mktemp -d /mnt/${0##*/}.XXXXXX || exit 1)
sync && mkdir -p ${TempDir}/bootfs ${TempDir}/rootfs
if [[ $eMMCFilesystemChoosen == "btrfs" ]]; then
if [[ $eMMCFilesystemChoosen =~ ^(btrfs|f2fs)$ ]]; then
[[ -n $1 ]] && mount ${1::-1}"1" ${TempDir}/bootfs
[[ -n $2 ]] && ( mount -o compress-force=zlib $2 ${TempDir}/rootfs || mount $2 ${TempDir}/rootfs )
else
@ -190,7 +195,7 @@ create_armbian()
local targetuuid=$satauuid
local choosen_fs=$FilesystemChoosen
echo "Finalizing: boot from eMMC, rootfs on USB/SATA." >> $logfile
if [[ $eMMCFilesystemChoosen == "btrfs" ]]; then
if [[ $eMMCFilesystemChoosen =~ ^(btrfs|f2fs)$ ]]; then
echo "$emmcuuid /media/mmcroot $eMMCFilesystemChoosen ${mountopts[$eMMCFilesystemChoosen]}" >> ${TempDir}/rootfs/etc/fstab
fi
else
@ -220,7 +225,7 @@ create_armbian()
fi
if [[ $eMMCFilesystemChoosen == "btrfs" ]]; then
if [[ $eMMCFilesystemChoosen =~ ^(btrfs|f2fs)$ ]]; then
echo "$targetuuid / $choosen_fs ${mountopts[$choosen_fs]}" >> ${TempDir}/rootfs/etc/fstab
# swap file not supported under btrfs but we might have made a partition
[[ -n ${emmcswapuuid} ]] && sed -e 's,/var/swap.*,'$emmcswapuuid' none swap sw 0 0,g' -i ${TempDir}/rootfs/etc/fstab
@ -355,8 +360,8 @@ formatemmc()
# choose and create fs
IFS=" "
BTRFS=$(grep -o btrfs /proc/filesystems)
FilesystemTargets="1 ext4 2 ext3 3 ext2"
[[ -n $BTRFS && `uname -r | grep '^4.' ` ]] && FilesystemTargets=$FilesystemTargets" 4 $BTRFS"
FilesystemTargets="1 ext4 2 ext3 3 ext2 4 f2fs"
[[ -n $BTRFS && `uname -r | grep '^4.' ` ]] && FilesystemTargets=$FilesystemTargets" 5 $BTRFS"
FilesystemOptions=($FilesystemTargets)
FilesystemCmd=(dialog --title "Select filesystem type for eMMC $1" --backtitle "$backtitle" --menu "\n$infos" 10 60 16)
@ -382,37 +387,41 @@ formatemmc()
parted -s $1 -- mklabel msdos
dialog --title "$title" --backtitle "$backtitle" --infobox "\nFormating $1 to $eMMCFilesystemChoosen ... please wait." 5 60
# we can't boot from btrfs
if [[ $eMMCFilesystemChoosen == "btrfs" ]]; then
# we can't boot from btrfs or f2fs
if [[ $eMMCFilesystemChoosen =~ ^(btrfs|f2fs)$ ]]; then
local partedFsType="${eMMCFilesystemChoosen}"
if [[ $eMMCFilesystemChoosen == "f2fs" ]]; then
partedFsType=''
fi
# check whether swap is currently defined and a new swap partition is needed
grep -q swap /etc/fstab
case $? in
0)
parted -s $1 -- mkpart primary $eMMCFilesystemChoosen 8192s 139263s
parted -s $1 -- mkpart primary $eMMCFilesystemChoosen 139264s 401407s
parted -s $1 -- mkpart primary $eMMCFilesystemChoosen 401408s ${LASTSECTOR}s
parted -s $1 -- mkpart primary $partedFsType ${FIRSTSECTOR} 139263s
parted -s $1 -- mkpart primary $partedFsType 139264s 401407s
parted -s $1 -- mkpart primary $partedFsType 401408s ${LASTSECTOR}s
partprobe $1
mkfs.ext4 ${mkopts[ext4]} $1"p1" >> $logfile 2>&1
mkswap $1"p2" >> $logfile 2>&1
mkfs.btrfs $1"p3" ${mkopts[$eMMCFilesystemChoosen]} >> $logfile 2>&1
mkfs.${eMMCFilesystemChoosen} $1"p3" ${mkopts[$eMMCFilesystemChoosen]} >> $logfile 2>&1
emmcbootuuid=$(blkid -o export $1"p1" | grep -w UUID)
emmcswapuuid=$(blkid -o export $1"p2" | grep -w UUID)
emmcuuid=$(blkid -o export $1"p3" | grep -w UUID)
dest_root=$emmccheck"p3"
;;
*)
parted -s $1 -- mkpart primary $eMMCFilesystemChoosen 8192s 139263s
parted -s $1 -- mkpart primary $eMMCFilesystemChoosen 139264s ${LASTSECTOR}s
parted -s $1 -- mkpart primary $partedFsType ${FIRSTSECTOR} 139263s
parted -s $1 -- mkpart primary $partedFsType 139264s ${LASTSECTOR}s
partprobe $1
mkfs.ext4 ${mkopts[ext4]} $1"p1" >> $logfile 2>&1
mkfs.btrfs $1"p2" ${mkopts[$eMMCFilesystemChoosen]} >> $logfile 2>&1
mkfs.${eMMCFilesystemChoosen} $1"p2" ${mkopts[$eMMCFilesystemChoosen]} >> $logfile 2>&1
emmcbootuuid=$(blkid -o export $1"p1" | grep -w UUID)
emmcuuid=$(blkid -o export $1"p2" | grep -w UUID)
dest_root=$emmccheck"p2"
;;
esac
else
parted -s $1 -- mkpart primary $eMMCFilesystemChoosen 8192s ${LASTSECTOR}s
parted -s $1 -- mkpart primary $eMMCFilesystemChoosen ${FIRSTSECTOR} ${LASTSECTOR}s
partprobe $1
mkfs.${eMMCFilesystemChoosen} ${mkopts[$eMMCFilesystemChoosen]} $1"p1" >> $logfile 2>&1
emmcuuid=$(blkid -o export $1"p1" | grep -w UUID)
@ -536,7 +545,7 @@ main()
[[ $(type -t write_uboot_platform_mtd) == function && -b /dev/mtd0 && -f /usr/sbin/flashcp ]] && options+=(5 "Install the bootloader to SPI Flash")
[[ -n $spicheck ]] && options+=(6 "Boot from SPI - system on SATA or USB")
[[ ${#options[@]} -eq 0 || "$root_uuid" == "$emmcuuid" || "$root_uuid" == "/dev/nand2" ]] && \
dialog --title "$title" --backtitle "$backtitle" --colors --no-collapse --msgbox "\n\Z1There are no targets. Please check your drives.\Zn" 7 54
dialog --ok-label "Cancel" --title " Warning " --backtitle "$backtitle" --colors --no-collapse --msgbox "\n\Z1There are no targets. Please check your drives.\Zn" 7 52
cmd=(dialog --title "Choose an option:" --backtitle "$backtitle" --menu "\nCurrent root: $root_uuid \n \n" 14 60 7)
choices=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)
[[ $? -ne 0 ]] && exit 1

View File

@ -0,0 +1,4 @@
Section "Device"
Identifier "Device0"
Driver "fbdev"
EndSection

View File

@ -0,0 +1,9 @@
[Unit]
Description=Realtek H5 bluetooth support
Before=bluetooth.service
[Service]
ExecStart=/usr/bin/rtk_hciattach -n -s 115200 /dev/ttyS1 rtk_h5
[Install]
WantedBy=multi-user.target

Binary file not shown.

View File

@ -0,0 +1,29 @@
#!/bin/bash
exec </dev/null </dev/null 2>/dev/null
export LANG=C LC_ALL=C
# In all cases, we want the media to be in quiescent, clean state.
sync
[ -x /sbin/mdadm ] && /sbin/mdadm --wait-clean --scan
# Function used to park all SATA disks.
function ParkDisks() {
if [ -x /sbin/hdparm ]; then
Wait=0
for Dev in /sys/block/sd* ; do
[ -e $Dev ] && /sbin/hdparm -y /dev/${Dev##*/} && Wait=2
sleep $Wait
echo 1 > /sys/class/block/${Dev##*/}/device/delete
done
sleep $Wait
fi
}
case "$1" in
# reboot|kexec)
# Do not park disks when rebooting or switching kernels.
# ;;
*)
ParkDisks
;;
esac

View File

@ -0,0 +1,51 @@
#!/bin/bash
GPIO_CONFIGURED_CHECK_DIRECTORY="/var/run/rtk_bt"
GPIO_CONFIGURED_CHECK_FILE="/var/run/rtk_bt/gpio_configured"
function die_on_error {
if [ ! $? = 0 ]; then
echo $1
exit 1
fi
}
# Kill any rtk_hciattach actually running.
# Do not complain if we didn't kill anything.
killall -q -SIGTERM rtk_hciattach
# If the GPIO are not yet configured
if [ ! -f "$GPIO_CONFIGURED_CHECK_FILE" ];
then
# We'll create the directory first
# So that, if the user is not root
# he'll get a user permission error
mkdir -p "$GPIO_CONFIGURED_CHECK_DIRECTORY" || die_on_error "Could not create$GPIO_CONFIGURED_CHECK_DIRECTORY"
echo 146 > /sys/class/gpio/export
echo 149 > /sys/class/gpio/export
echo 151 > /sys/class/gpio/export
echo high > /sys/class/gpio/gpio146/direction
echo high > /sys/class/gpio/gpio149/direction
echo high > /sys/class/gpio/gpio151/direction
echo 1 > $GPIO_CONFIGURED_CHECK_FILE || die_on_error "Could not write to $GPIO_CONFIGURED_CHECK_FILE !"
fi
# If you run the rtk_hciattach once
# you cannot run it again before`
# resetting the device.
# Since resetting the device before
# the first launch generates no issue,
# we always reset the device.
echo "Resetting the Bluetooth chip"
echo 0 > /sys/class/gpio/gpio149/value &&
echo -e "\tBluetooth chip power down..." &&
sleep 1 &&
echo 1 > /sys/class/gpio/gpio149/value &&
echo -e "\tBluetooth chip power up..." &&
sleep 1
echo -e "\tResetting done"
/usr/bin/rtk_hciattach -n -s 115200 /dev/ttyS0 rtk_h5 || die_on_error "Could not create hci0 through rtk_hciattach"

View File

@ -3,7 +3,9 @@ Description=Realtek H5 bluetooth support
Before=bluetooth.service
[Service]
ExecStart=/usr/bin/rtk_hciattach -n -s 115200 /dev/ttyS0 rtk_h5
ExecStartPre=/usr/sbin/rfkill unblock all
ExecStart=/bin/bash /usr/local/bin/start_bt.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target

View File

@ -11,11 +11,11 @@ local package_component="${release}-desktop"
package_checkbuild()
{
# we don't support running kernels < 3.13 on Stretch
[[ $release != stretch ]]
# we don't support running kernels < 3.13 on Stretch or Bionic
[[ $release != stretch && $release != bionic ]]
}
package_checkinstall()
{
[[ ( $LINUXFAMILY == sun*i || $LINUXFAMILY == pine64 ) && $BRANCH == default && $RELEASE != stretch && $BUILD_DESKTOP == yes ]]
[[ ( $LINUXFAMILY == sun*i || $LINUXFAMILY == pine64 ) && $BRANCH == default && $RELEASE != stretch && $RELEASE != bionic && $BUILD_DESKTOP == yes ]]
}

View File

@ -11,11 +11,11 @@ local package_component="${release}-desktop"
package_checkbuild()
{
# we don't support running kernels < 3.13 on Stretch
[[ $arch == armhf && $release != stretch ]]
# we don't support running kernels < 3.13 on Stretch or Bionic
[[ $arch == armhf && $release != stretch && $release != bionic ]]
}
package_checkinstall()
{
[[ $LINUXFAMILY == sun*i && $BRANCH == default && $RELEASE != stretch && $BUILD_DESKTOP == yes ]]
[[ $LINUXFAMILY == sun*i && $BRANCH == default && $RELEASE != stretch && $RELEASE != bionic && $BUILD_DESKTOP == yes ]]
}

View File

@ -11,11 +11,11 @@ local package_component="${release}-desktop"
package_checkbuild()
{
# we don't support running kernels < 3.13 on Stretch
[[ $release != stretch ]]
# we don't support running kernels < 3.13 on Stretch or Bionic
[[ $release != stretch && $release != bionic ]]
}
package_checkinstall()
{
[[ ( $LINUXFAMILY == sun*i || $LINUXFAMILY == pine64 ) && $RELEASE != stretch && $BRANCH == default && $BUILD_DESKTOP == yes ]]
[[ ( $LINUXFAMILY == sun*i || $LINUXFAMILY == pine64 ) && $RELEASE != stretch && $RELEASE != bionic && $BRANCH == default && $BUILD_DESKTOP == yes ]]
}

View File

@ -11,11 +11,11 @@ local package_component="${release}-desktop"
package_checkbuild()
{
# may be enabled on Stretch in the future
[[ $release != stretch ]]
# we don't support running kernels < 3.13 on Stretch or Bionic
[[ $release != stretch && $release != bionic ]]
}
package_checkinstall()
{
[[ ( $LINUXFAMILY == sun*i || $LINUXFAMILY == pine64 ) && $RELEASE != stretch && $BUILD_DESKTOP == yes && $BRANCH == default ]]
[[ ( $LINUXFAMILY == sun*i || $LINUXFAMILY == pine64 ) && $RELEASE != stretch && $RELEASE != bionic && $BUILD_DESKTOP == yes && $BRANCH == default ]]
}

View File

@ -8,11 +8,11 @@ local package_component="${release}-utils"
package_checkbuild()
{
# we don't support running kernels < 3.13 on Stretch
# we don't support running kernels < 3.13 on Stretch or Bionic
[[ $arch == armhf && $release == jessie ]]
}
package_checkinstall()
{
[[ ( $LINUXFAMILY == sun4i || $LINUXFAMILY == sun7i ) && $RELEASE != stretch && $BRANCH == default ]]
[[ ( $LINUXFAMILY == sun4i || $LINUXFAMILY == sun7i ) && $RELEASE != stretch && $RELEASE != bionic && $BRANCH == default ]]
}

View File

@ -9,8 +9,8 @@ local package_component="${release}-desktop"
package_checkbuild()
{
# we don't support running kernels < 3.13 on Stretch
[[ $arch == armhf && $release != stretch ]]
# we don't support running kernels < 3.13 on Stretch or Bionic
[[ $arch == armhf && $release != stretch && $release != bionic ]]
}
package_checkinstall()

View File

@ -10,8 +10,8 @@ local package_component="${release}-desktop"
package_checkbuild()
{
# we don't support running kernels < 3.13 on Stretch
[[ $arch == armhf && $release != stretch ]]
# we don't support running kernels < 3.13 on Stretch or Bionic
[[ $arch == armhf && $release != stretch && $release != bionic ]]
}
package_checkinstall()

View File

@ -2,7 +2,7 @@
local package_name="hostapd-realtek"
local package_repo="http://w1.fi/hostap.git"
local package_ref="tag:hostap_2_5"
local package_upstream_version="2:2.5-1"
local package_upstream_version="3:2.5-1"
local package_builddeps="pkg-config libreadline-dev libpcsclite-dev libnl-route-3-dev libnl-genl-3-dev libnl-3-dev libncurses5-dev libdbus-1-dev docbook-utils docbook-to-man"
local package_builddeps_jessie="libssl-dev"
local package_builddeps_xenial="libssl-dev"

View File

@ -2,7 +2,7 @@
local package_name="hostapd"
local package_repo="http://w1.fi/hostap.git"
local package_ref="tag:hostap_2_6"
local package_upstream_version="2:2.6-4"
local package_upstream_version="3:2.6-4"
local package_builddeps="pkg-config libssl-dev libreadline-dev libpcsclite-dev libnl-route-3-dev libnl-genl-3-dev libnl-3-dev libncurses5-dev libdbus-1-dev docbook-utils docbook-to-man"
local package_install_target="hostapd"
local package_component="${release}-utils"

View File

@ -9,11 +9,11 @@ local package_component="${release}-desktop"
package_checkbuild()
{
# we don't support running kernels < 3.13 on Stretch
[[ $arch == armhf && $release != stretch ]]
# we don't support running kernels < 3.13 on Stretch or Bionic
[[ $arch == armhf && $release != stretch && $release != bionic ]]
}
package_checkinstall()
{
[[ $LINUXFAMILY == sun[4578]i && $BRANCH == default && $RELEASE != stretch && $BUILD_DESKTOP == yes ]]
[[ $LINUXFAMILY == sun[4578]i && $BRANCH == default && $RELEASE != stretch && $RELEASE != bionic && $BUILD_DESKTOP == yes ]]
}

View File

@ -11,11 +11,11 @@ local package_component="${release}-desktop"
package_checkbuild()
{
# we don't support running kernels < 3.13 on Stretch
[[ $arch == armhf && $release != stretch ]]
# we don't support running kernels < 3.13 on Stretch or Bionic
[[ $arch == armhf && $release != stretch && $release != bionic ]]
}
package_checkinstall()
{
[[ $LINUXFAMILY == sun[4578]i && $BRANCH == default && $RELEASE != stretch && $BUILD_DESKTOP == yes ]]
[[ $LINUXFAMILY == sun[4578]i && $BRANCH == default && $RELEASE != stretch && $RELEASE != bionic && $BUILD_DESKTOP == yes ]]
}

View File

@ -12,11 +12,11 @@ local package_component="${release}-desktop"
package_checkbuild()
{
# we don't support running kernels < 3.13 on Stretch
[[ $release != stretch ]]
# we don't support running kernels < 3.13 on Stretch or Bionic
[[ $release != stretch && $release != bionic ]]
}
package_checkinstall()
{
[[ ( $LINUXFAMILY == sun*i || $LINUXFAMILY == pine64 ) && $RELEASE != stretch && $BRANCH == default && $BUILD_DESKTOP == yes ]]
[[ ( $LINUXFAMILY == sun*i || $LINUXFAMILY == pine64 ) && $RELEASE != stretch && $RELEASE != bionic && $BRANCH == default && $BUILD_DESKTOP == yes ]]
}

View File

@ -9,7 +9,7 @@ local package_component="${release}-utils"
package_checkbuild()
{
# we don't support running kernels < 3.13 on Stretch
# we don't support running kernels < 3.13 on Stretch or Bionic
# matching kernel headers on Xenial is complicated and R1 is not supported anymore anyway
[[ $arch == armhf && $release == jessie ]]
}

View File

@ -13,7 +13,7 @@ compile_armbian-config()
display_alert "Building deb" "armbian-config" "info"
fetch_from_repo "https://github.com/armbian/config" "armbian-config" "branch:master"
fetch_from_repo "https://github.com/armbian/config" "armbian-config" "branch:development"
mkdir -p $tmpdir/{DEBIAN,usr/bin/,usr/sbin/,usr/lib/armbian-config/}
@ -24,8 +24,10 @@ compile_armbian-config()
Architecture: all
Maintainer: $MAINTAINER <$MAINTAINERMAIL>
Replaces: armbian-bsp
Depends: bash, bc, expect, rcconf, dialog, unzip, build-essential, apt-transport-https
Recommends: network-manager, armbian-bsp
Depends: bash, iperf3, psmisc, curl, bc, expect, dialog, sunxi-tools, iptables, resolvconf, \
debconf-utils, unzip, build-essential, html2text, apt-transport-https, html2text, dirmngr, software-properties-common
Recommends: armbian-bsp
Suggests: libpam-google-authenticator, qrencode, network-manager
Section: utils
Priority: optional
Description: Armbian configuration utility
@ -35,6 +37,8 @@ compile_armbian-config()
install -m 755 $SRC/cache/sources/armbian-config/debian-config $tmpdir/usr/sbin/armbian-config
install -m 644 $SRC/cache/sources/armbian-config/debian-config-jobs $tmpdir/usr/lib/armbian-config/jobs.sh
install -m 644 $SRC/cache/sources/armbian-config/debian-config-submenu $tmpdir/usr/lib/armbian-config/submenu.sh
install -m 644 $SRC/cache/sources/armbian-config/debian-config-functions $tmpdir/usr/lib/armbian-config/functions.sh
install -m 644 $SRC/cache/sources/armbian-config/debian-config-functions-network $tmpdir/usr/lib/armbian-config/functions-network.sh
install -m 755 $SRC/cache/sources/armbian-config/softy $tmpdir/usr/sbin/softy
# fallback to replace armbian-config in BSP
ln -sf /usr/sbin/armbian-config $tmpdir/usr/bin/armbian-config