From 7de3bb739c76dc4167a9726c3352829123b4a520 Mon Sep 17 00:00:00 2001 From: DTux Date: Wed, 6 Jun 2018 09:47:11 +0000 Subject: [PATCH] initial commit --- files/boot.ini | 224 ++++++++++++++++++++++++++++++++++ files/brcmfmac43430-sdio.txt | 66 ++++++++++ files/modprobe.conf | 3 + files/second_stage_install.sh | 34 ++++++ 4 files changed, 327 insertions(+) create mode 100644 files/boot.ini create mode 100644 files/brcmfmac43430-sdio.txt create mode 100644 files/modprobe.conf create mode 100644 files/second_stage_install.sh diff --git a/files/boot.ini b/files/boot.ini new file mode 100644 index 0000000..273134c --- /dev/null +++ b/files/boot.ini @@ -0,0 +1,224 @@ +ODROIDXU-UBOOT-CONFIG + +# U-Boot Parameters +setenv initrd_high "0xffffffff" +setenv fdt_high "0xffffffff" + +# Mac address configuration +setenv macaddr "00:1e:06:61:7a:87 + +#------------------------------------------------------------------------------------------------------ +# Basic Ubuntu Setup. Don't touch unless you know what you are doing. +# -------------------------------- + + + +setenv bootrootfs "console=tty1 console=ttySAC2,115200n8 root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro fsck.repair=yes net.ifnames=0" + + + +# --- Screen Configuration for HDMI --- # +# --------------------------------------- +# Uncomment only ONE line! Leave all commented for automatic selection. +# Uncomment only the setenv line! +# --------------------------------------- +# ODROID-VU forced resolution +# setenv videoconfig "video=HDMI-A-1:1280x800@60" +# ----------------------------------------------- +# ODROID-VU forced EDID +# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1280x800.bin" +# ----------------------------------------------- +# 1920x1080 (1080P) with monitor provided EDID information. (1080p-edid) +# setenv videoconfig "video=HDMI-A-1:1920x1080@60" +# ----------------------------------------------- +# 1920x1080 (1080P) without monitor data using generic information (1080p-noedid) +# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1920x1080.bin" +# ----------------------------------------------- +# 1920x1080 50hz (1080P) with monitor provided EDID information. (1080p 50hz-edid) +# setenv videoconfig "video=HDMI-A-1:1920x1080@50" +# ----------------------------------------------- +# 1920x1080 50hz (1080P) without monitor data using generic information (1080p 50hz-noedid) +# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1920x1080_50hz.bin" +# ----------------------------------------------- +# 1440x900 with monitor provided EDID information. +# setenv videoconfig "video=HDMI-A-1:1440x900@60" +# ----------------------------------------------- +# 1440x900 without monitor data using generic information +# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1440x900.bin" +# ----------------------------------------------- +# 1280x1024 without monitor data using generic information +# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1280x1024.bin" +# ----------------------------------------------- +# 1280x720 (720P) with monitor provided EDID information. (720p-edid) +# setenv videoconfig "video=HDMI-A-1:1280x720@60" +# ----------------------------------------------- +# 1280x720 (720P) without monitor data using generic information (720p-noedid) +# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1280x720.bin" +# ----------------------------------------------- +# 1024x768 without monitor data using generic information +# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1024x768.bin" +# ----------------------------------------------- +# 1024x600 without monitor data using generic information (ODROID VU7+) +# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1024x600.bin" +# ----------------------------------------------- +# 800x600 without monitor data using generic information +# setenv videoconfig "drm_kms_helper.edid_firmware=edid/800x600.bin" +# ----------------------------------------------- +# 800x480 without monitor data using generic information (ODROID 7") +# setenv videoconfig "drm_kms_helper.edid_firmware=edid/800x480.bin" +# ----------------------------------------------- +# 720x576 without monitor data using generic information +# setenv videoconfig "drm_kms_helper.edid_firmware=edid/720x576.bin" +# ----------------------------------------------- +# 720x480 without monitor data using generic information +# setenv videoconfig "drm_kms_helper.edid_firmware=edid/720x480.bin" +# ----------------------------------------------- +# 640x480 without monitor data using generic information +# setenv videoconfig "drm_kms_helper.edid_firmware=edid/640x480.bin" + + +# --- HDMI / DVI Mode Selection --- +# ------------------------------------------ +# - HDMI Mode +setenv vout "hdmi" +# - DVI Mode (disables sound over HDMI as per DVI compat) +# setenv vout "dvi" + + +# --- HDMI CEC Configuration --- +# ------------------------------------------ +setenv cecenable "false" # false or true +# set to true to enable HDMI CEC + + +# --- CPU Governor Setup --- +# Uncomment only one line. New governor is set after 90secs after boot. +# ------------------------------------------ +# - Performance (Keep all the CPU's at Maximum frequency) +setenv governor "performance" +# ------------------------------------------ +# - Ondemand +# setenv governor "ondemand" +# ------------------------------------------ +# - Interactive (Pretty much just like ondemand with more possible customization via sysfs.) +# setenv governor "interactive" +# ------------------------------------------ +# - Conservative (Like ondemand, but do the frequency transitions more slowly, great for battery powered applications) +# setenv governor "conservative" +# ------------------------------------------ +# - Powersave (Keeps the CPU's to the lowest possible temps) +# setenv governor "powersave" + +# Enable/Disable ODROID-VU7 Touchsreen +setenv disable_vu7 "true" # false + + +#------------------------------------------------------------------------------ +# +# HDMI-PHY Parameter Control +# +#------------------------------------------------------------------------------ +#------------------------------------------------------------------------------ +# +# HDMI Hot Plug detection +# +#------------------------------------------------------------------------------ +# +# Forces the HDMI subsystem to ignore the check if the cable is connected or +# not. +# false : disable the detection and force it as connected. +# true : let cable, board and monitor decide the connection status. +# +# default: true +# +#------------------------------------------------------------------------------ +setenv HPD "true" + +#------------------------------------------------------------------------------ +# +# TMDS data amplitude control. +# +#------------------------------------------------------------------------------ +# +# 1LSB corresponds to 20 mVdiff amplitude level. +# tx_amp_lvl : 0 = 760 mVdiff(Min), 31 = 1380 mVdiff(Max) +# +# Hardkernel default hdmi_tx_amp_lvl = 31(1380 mVdiff); +#------------------------------------------------------------------------------ +setenv hdmi_tx_amp_lvl "31" + +#------------------------------------------------------------------------------ +# +# TMDS data amplitude fine control for each channel. +# +#------------------------------------------------------------------------------ +# +# 1LSB corresponds to 20 mVdiff amplitude level. +# tx_lvl : 0 = 0 mVdiff(Min), 3 = 60 mVdiff(Max) +# +# Hardkernel default +# hdmi_tx_lvl_ch0 = 3, hdmi_tx_lvl_ch1 = 3, hdmi_tx_lvl_ch2 = 3, +#------------------------------------------------------------------------------ +setenv hdmi_tx_lvl_ch0 "3" +setenv hdmi_tx_lvl_ch1 "3" +setenv hdmi_tx_lvl_ch2 "3" + +#------------------------------------------------------------------------------ +# +# TMDS data pre-emphasis level control. +# +#------------------------------------------------------------------------------ +# +# 1LSB corresponds to -0.45dB emphasis level except for 1 +# tx_emp_lvl : 0 = 0 db(Min), 1 = -0.25 db, 2 = 0.7 db, 15 = -7.45 db(Max) +# +# Hardkernel default hdmi_tx_emp_lvl = 6 (-2.50 db); +#------------------------------------------------------------------------------ +setenv hdmi_tx_emp_lvl "6" + +#------------------------------------------------------------------------------ +# +# TMDS clock amplitude control. +# +#------------------------------------------------------------------------------ +# +# 1LSB corresponds to 20 mVdiff amplitude level. +# clk_amp_lvl : 0 = 790 mVdiff(Min), 31 = 1410 mVdiff(Max) +# +# Hardkernel default hdmi_clk_amp_lvl = 31 (1410 mVdiff) +#------------------------------------------------------------------------------ +setenv hdmi_clk_amp_lvl "31" + +#------------------------------------------------------------------------------ +# +# TMDS data source termination resistor control. +# +#------------------------------------------------------------------------------ +# +# tx_res : +# 0 = Source Termination OFF(Min), 1 = 200 ohm, 2 = 300 ohm, 3 = 120 ohm(Max) +# +# Hardkernrel default hdmi_tx_res = 0 (Source Termination OFF) +#------------------------------------------------------------------------------ +setenv hdmi_tx_res "0" + +#------------------------------------------------------------------------------ + +setenv hdmi_phy_control "hdmi_tx_amp_lvl=${hdmi_tx_amp_lvl} hdmi_tx_lvl_ch0=${hdmi_tx_lvl_ch0} hdmi_tx_lvl_ch1=${hdmi_tx_lvl_ch1} hdmi_tx_lvl_ch2=${hdmi_tx_lvl_ch2} hdmi_tx_emp_lvl=${hdmi_tx_emp_lvl} hdmi_clk_amp_lvl=${hdmi_clk_amp_lvl} hdmi_tx_res=${hdmi_tx_res} HPD=${HPD} vout=${vout}" + +# Load kernel, initrd and dtb in that sequence +fatload mmc 0:1 0x40008000 zImage +fatload mmc 0:1 0x42000000 uInitrd +fatload mmc 0:1 0x44000000 exynos5422-odroidxu3.dtb + +# set FDT address +fdt addr 0x44000000 + +if test "${cecenable}" = "false"; then fdt rm /cec@101B0000; fi +if test "${disable_vu7}" = "false"; then setenv hid_quirks "usbhid.quirks=0x0eef:0x0005:0x0004"; fi + +# final boot args +setenv bootargs "${bootrootfs} ${videoconfig} smsc95xx.macaddr=${macaddr} governor=${governor} ${hdmi_phy_control} ${hid_quirks}" +# drm.debug=0xff" +# Boot the board +bootz 0x40008000 0x42000000 0x44000000 diff --git a/files/brcmfmac43430-sdio.txt b/files/brcmfmac43430-sdio.txt new file mode 100644 index 0000000..ea4f648 --- /dev/null +++ b/files/brcmfmac43430-sdio.txt @@ -0,0 +1,66 @@ +# NVRAM file for BCM943430WLPTH +# 2.4 GHz, 20 MHz BW mode + +# The following parameter values are just placeholders, need to be updated. +manfid=0x2d0 +prodid=0x0727 +vendid=0x14e4 +devid=0x43e2 +boardtype=0x0727 +boardrev=0x1101 +boardnum=22 +macaddr=00:90:4c:c5:12:38 +sromrev=11 +boardflags=0x00404201 +boardflags3=0x08000000 +xtalfreq=37400 +nocrc=1 +ag0=255 +aa2g=1 +ccode=ALL + +pa0itssit=0x20 +extpagain2g=0 +#PA parameters for 2.4GHz, measured at CHIP OUTPUT +pa2ga0=-168,7161,-820 +AvVmid_c0=0x0,0xc8 +cckpwroffset0=5 + +# PPR params +maxp2ga0=84 +txpwrbckof=6 +cckbw202gpo=0 +legofdmbw202gpo=0x66111111 +mcsbw202gpo=0x77711111 +propbw202gpo=0xdd + +# OFDM IIR : +ofdmdigfilttype=18 +ofdmdigfilttypebe=18 +# PAPD mode: +papdmode=1 +papdvalidtest=1 +pacalidx2g=42 +papdepsoffset=-22 +papdendidx=58 + +# LTECX flags +ltecxmux=0 +ltecxpadnum=0x0102 +ltecxfnsel=0x44 +ltecxgcigpio=0x01 + +il0macaddr=00:90:4c:c5:12:38 +wl0id=0x431b + +deadman_to=0xffffffff +# muxenab: 0x1 for UART enable, 0x2 for GPIOs, 0x8 for JTAG +muxenab=0x1 +# CLDO PWM voltage settings - 0x4 - 1.1 volt +#cldo_pwm=0x4 + +#VCO freq 326.4MHz +spurconfig=0x3 + +edonthd20l=-75 +edoffthd20ul=-80 diff --git a/files/modprobe.conf b/files/modprobe.conf new file mode 100644 index 0000000..7725dae --- /dev/null +++ b/files/modprobe.conf @@ -0,0 +1,3 @@ +alias wlan0 brcmfmac +alias eth0 smsc95xx +alias usb0 rndis_host diff --git a/files/second_stage_install.sh b/files/second_stage_install.sh new file mode 100644 index 0000000..1ae2316 --- /dev/null +++ b/files/second_stage_install.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# Copyright (C) 2017-2018 Daniel Tartavel-jeannot +# + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +/usr/bin/chown :shadow /etc/shadow /etc/gshadow /etc/login.defs /etc/pam.d/chage-chfn-chsh /etc/pam.d/chpasswd-newusers /etc/pam.d/system-auth /etc/pam.d/user-group-mod /bin/passwd /bin/chage + +/usr/bin/chown :systemd-journal -R /var/log/journal + +#Install all packages you need + +/usr/sbin/urpmi --auto --no-verify-rpm basesystem chrony rng-tools man openssh-server rfkill wireless-tools bluez wpa_supplicant make dracut u-boot-tools +/usr/sbin/urpmi --urpmi-root "$BUILD_PATH" --ignorearch --no-verify-rpm --auto --split-level 200 --split-length 200 ./kernel-odroid-4.14.y-1.armv7hl.rpm + +/usr/bin/chown :chrony -R /etc/chrony.keys /var/log/chrony +/usr/bin/chown :daemon /etc/wpa_supplicant.conf +/usr/bin/chown :tty /bin/write /bin/wall +/usr/bin/chown :lock /sbin/lockdev +/usr/bin/chown :bin /sbin/traceroute +/usr/bin/chown polkitd /etc/polkit-1/rules.d +