#!/bin/bash set -o nounset set -o errexit UPDATE=${UPDATE:-1} UPDATE_URI="https://github.com/Hexxeh/rpi-update/raw/master/rpi-update" ROOT_PATH=${ROOT_PATH:-"/"} BOOT_PATH=${BOOT_PATH:-"/boot"} SKIP_KERNEL=${SKIP_KERNEL:-0} FW_REPO="git://github.com/Hexxeh/rpi-firmware.git" FW_REPOLOCAL="${ROOT_PATH}/root/.rpi-firmware" FW_PATH="${BOOT_PATH}" FW_MODPATH="${ROOT_PATH}/lib/modules" FW_RAM=${1:-0} GITCMD="git --git-dir=\"${FW_REPOLOCAL}/.git\" --work-tree=\"${FW_REPOLOCAL}\"" function detect_split() { if [[ -f "$FW_PATH/start.elf" && ${FW_RAM} -eq 0 ]]; then echo "Autodetecting memory split" FW_RAM=240 for R in 128 192 224 240 do if [[ -f "$FW_PATH/arm${R}_start.elf" ]] then if diff "$FW_PATH/arm${R}_start.elf" "$FW_PATH/start.elf" >/dev/null then FW_RAM=$R break fi fi done fi FW_GPU=$((256-FW_RAM)) } function update_self() { echo "Performing self-update" _tempFileName="$0.tmp" if ! wget --quiet --output-document="${_tempFileName}" "${UPDATE_URI}"; then echo "Failed to download update for rpi-update!" echo "Make sure you have ca-certificates installed and that the time is set correctly" exit 1 fi OCTAL_MODE=$(stat -c '%a' "$0") if ! chmod ${OCTAL_MODE} "${_tempFileName}" ; then echo "Failed: Error while trying to set mode on ${_tempFileName}" exit 1 fi cat > /tmp/updateScript.sh << EOF #!/bin/bash if mv "${_tempFileName}" "$0"; then rm -- "\$0" exec env UPDATE=0 /bin/bash "$0" "$FW_RAM" else echo "Failed!" fi EOF exec /bin/bash /tmp/updateScript.sh } function update_modules { if [[ ${SKIP_KERNEL} -eq 0 ]]; then cp -R "${FW_REPOLOCAL}/modules/"* "${FW_MODPATH}/" find "${FW_REPOLOCAL}/modules" -mindepth 1 -maxdepth 1 -type d | while read DIR; do depmod -b "${ROOT_PATH}" -a $(basename "${DIR}") done fi } function update_sdk { if [[ -f /etc/init.d/vcfiled ]]; then /etc/init.d/vcfiled stop fi ELFOUTPUT=$(readelf -a "${ROOT_PATH}/bin/bash") if [ "${ELFOUTPUT}" != "${ELFOUTPUT/VFP_args/}" ]; then echo "Using HardFP libraries" cp -R "${FW_REPOLOCAL}/vc/hardfp/"* "${ROOT_PATH}/" else echo "Using SoftFP libraries" cp -R "${FW_REPOLOCAL}/vc/softfp/"* "${ROOT_PATH}/" fi cp -R "${FW_REPOLOCAL}/vc/sdk/"* "${ROOT_PATH}/" if [[ -f /etc/init.d/vcfiled ]]; then /etc/init.d/vcfiled start fi } function set_split { cp "${FW_PATH}/arm${FW_RAM}_start.elf" "${FW_PATH}/start.elf" } function update_firmware { cp "${FW_REPOLOCAL}/"*.elf "${FW_PATH}/" cp "${FW_REPOLOCAL}/"*.bin "${FW_PATH}/" if [[ ${SKIP_KERNEL} -eq 0 ]]; then cp "${FW_REPOLOCAL}/"*.img "${FW_PATH}/" else echo "Skipping kernel/modules updated as requested" fi } function finalise { ldconfig -r "${ROOT_PATH}" eval ${GITCMD} rev-parse master > "${FW_PATH}/.firmware_revision" sync } function download_repo { echo "Setting up firmware (this will take a few minutes)" mkdir -p "${FW_REPOLOCAL}" git clone "${FW_REPO}" "${FW_REPOLOCAL}" --depth=1 --quiet RETVAL=$? if [[ ${RETVAL} -ne 0 ]]; then echo "Failed to download new firmware files" exit 1 fi } function update_repo { echo "Updating firmware (this will take a few minutes)" eval ${GITCMD} fetch --quiet RETVAL=$? if [[ ${RETVAL} -ne 0 ]]; then echo "Failed to download updated firmware files" exit 1 fi eval ${GITCMD} merge origin/master -m "automerge" --quiet RETVAL=$? if [[ ${RETVAL} -ne 0 ]]; then echo "Failed to download updated firmware files" exit 1 fi } function do_backup { cp -a "${FW_PATH}" "${FW_PATH}.bak" cp -a "${FW_MODPATH}" "${FW_MODPATH}.bak" } function do_update { update_firmware update_modules update_sdk set_split finalise echo "If no errors appeared, your firmware was successfully $1" if [[ "${ROOT_PATH}" == "/" ]]; then echo "A reboot is needed to activate the new firmware" fi } if [[ ${EUID} -ne 0 ]]; then echo "This tool must be run as root" exit 1 fi if [[ ${UPDATE} -ne 0 ]]; then echo "Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS" update_self fi if [[ ( "${ROOT_PATH}" == "/" && "${BOOT_PATH}" != "/boot" ) ]] || [[ ( "${BOOT_PATH}" == "/boot" && "${ROOT_PATH}" != "/" ) ]]; then echo "You need to specify both ROOT_PATH and BOOT_PATH, or neither" exit 1 fi if [[ ! -d "${FW_PATH}" ]]; then echo "${FW_PATH} doesn't exist" exit 1 fi if [[ ! -f "${FW_PATH}/start.elf" ]]; then echo "${FW_PATH}/start.elf doesn't exist." exit 1 fi if [[ ! -d "${FW_MODPATH}" ]]; then echo "${FW_MODPATH} doesn't exist" exit 1 fi command -v git >/dev/null 2>&1 || { echo "This tool requires you have Git installed, please install it first" echo "In Debian, try: sudo apt-get install git-core" echo "In Arch, try: pacman -S git" exit 1 } command -v readelf >/dev/null 2>&1 || { echo "This tool requires you have readelf installed, please install it first" echo "In Debian, try: sudo apt-get install binutils" echo "In Arch, try: pacman -S binutils" exit 1 } detect_split if [[ ${FW_RAM} -ne 240 ]] &&[[ ${FW_RAM} -ne 224 ]] && [[ ${FW_RAM} -ne 192 ]] && [[ ${FW_RAM} -ne 128 ]]; then echo "RAM value must be one of: 240, 224, 192, 128" exit 1 fi echo "Using ARM/GPU memory split of ${FW_RAM}MB/${FW_GPU}MB" if [[ -f "${FW_REPOLOCAL}/.git/config" ]]; then update_repo if [[ -f "${FW_PATH}/.firmware_revision" ]] && [[ $(cat "${FW_PATH}/.firmware_revision") == $(eval ${GITCMD} rev-parse master) ]]; then echo "Your firmware is already up to date" set_split finalise else do_update "updated" fi else echo "We're running for the first time" download_repo do_backup do_update "setup" fi
Monday, 17 September 2012
rpi-update
https://raw.github.com/Hexxeh/rpi-update/master/rpi-update
Raspberry pi - Update
- CODE: SELECT ALL
sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install git-core
sudo rpi-update
sudo reboot
Monday, 10 September 2012
Unmanage CRM 2011 solution
-- Update the "managed" flag in the database
-- List the managed solutions
select isvisible,IsManaged,Description,UniqueName,* from Solution
where IsManaged = 1 and IsVisible = 1
--
begin transaction
update Solution
set IsManaged = 0
where UniqueName = <solution name to change>
commit transaction
-- List the managed solutions
select isvisible,IsManaged,Description,UniqueName,* from Solution
where IsManaged = 1 and IsVisible = 1
--
begin transaction
update Solution
set IsManaged = 0
where UniqueName = <solution name to change>
commit transaction
Friday, 7 September 2012
Load an external JavaScript file CRM 2011/4
try {
var docs = document.getElementById('eb.script.201200906');
if (docs == null) {
var script = document.createElement('script');
script.id = 'eb.script.201200906';
script.language = 'javascript';
script.src = '/ISV/EB/ScriptFile.js';
document.getElementsByTagName('head')[0].appendChild(script);
var f = function () {
if (event.srcElement.readyState == 'loaded' || event.srcElement.readyState == 'complete')
ScriptStart(); // Entry function
}
script.attachEvent('onreadystatechange', f);
}
}
catch (err) { }
Wednesday, 5 September 2012
CRM 2011: Accessing hidden mappings opportunity/quote/order/invoice
declare @maPID AS NVARCHAR(50)
declare @maPORT as int ; set @maPORT = 5555
-- -------------------------------------------------------
SET @maPID = (SELECT EntityMapId FROM EntityMapBase
WHERE TargetEntityName='quotedetail' AND SourceEntityName='opportunityproduct')
print 'http://' + @@Servername + ':' +
cast(@maPORT as nvarchar(30)) + '/Tools/SystemCustomization/Relationships/Mappings/mappingList.aspx?mappingId=' + @mapid
-- -------------------------------------------------------
SET @maPID = (SELECT EntityMapId FROM EntityMapBase
WHERE TargetEntityName='salesorderdetail' AND SourceEntityName='quotedetail')
print 'http://' + @@Servername + ':' +
cast(@maPORT as nvarchar(30)) + '/Tools/SystemCustomization/Relationships/Mappings/mappingList.aspx?mappingId=' + @mapid
-- -------------------------------------------------------
SET @maPID = (SELECT EntityMapId FROM EntityMapBase
WHERE TargetEntityName='invoicedetail' AND SourceEntityName='salesorderdetail')
print 'http://' + @@Servername + ':' +
cast(@maPORT as nvarchar(30)) + '/Tools/SystemCustomization/Relationships/Mappings/mappingList.aspx?mappingId=' + @mapid
Subscribe to:
Posts (Atom)