site: switch to Haunt.
TODO: - make a news page that gathers news. - remove other filters and move previously filtered files to the static dir. - handle unreviewd articles Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
This commit is contained in:
parent
8e5819b091
commit
b4a26ec0c3
|
@ -32,6 +32,7 @@
|
|||
/tmp/
|
||||
/version
|
||||
/versiondate
|
||||
/website/site/**
|
||||
Makefile
|
||||
Makefile.in
|
||||
aclocal.m4
|
||||
|
@ -41,3 +42,4 @@ config.status
|
|||
configure
|
||||
install-sh
|
||||
missing
|
||||
/web/
|
||||
|
|
|
@ -21,18 +21,18 @@
|
|||
distclean_website()
|
||||
{
|
||||
rm -rf \
|
||||
website-build/aclocal.m4 \
|
||||
website-build/autom4te.cache/ \
|
||||
website-build/config.log \
|
||||
website-build/config.status \
|
||||
website-build/configure \
|
||||
website-build/deploy/ \
|
||||
website-build/install-sh \
|
||||
website-build/Makefile \
|
||||
website-build/Makefile.in \
|
||||
website-build/missing \
|
||||
website-build/untitled/ \
|
||||
website-build/website.tar.gz
|
||||
website/aclocal.m4 \
|
||||
website/autom4te.cache/ \
|
||||
website/config.log \
|
||||
website/config.status \
|
||||
website/configure \
|
||||
website/deploy/ \
|
||||
website/install-sh \
|
||||
website/Makefile \
|
||||
website/Makefile.in \
|
||||
website/missing \
|
||||
website/untitled/ \
|
||||
website/website.tar.gz
|
||||
}
|
||||
|
||||
# shellcheck disable=SC2068
|
||||
|
|
|
@ -1,49 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
#
|
||||
# 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 3 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 <https://www.gnu.org/licenses/>.
|
||||
|
||||
. resources/scripts/misc/sysexits.sh
|
||||
|
||||
progname="resources/packages/website/download"
|
||||
|
||||
set -e
|
||||
|
||||
usage()
|
||||
{
|
||||
progname="$1"
|
||||
|
||||
printf "Usage: %s [options]\n\n" "${progname}"
|
||||
printf "Available options:\n"
|
||||
printf "\t-h, --help\n"
|
||||
printf "\t\tDisplay this help and exit.\n"
|
||||
}
|
||||
|
||||
download_untitled()
|
||||
{
|
||||
cd website-build
|
||||
./autogen.sh
|
||||
./configure --disable-guix --disable-lighttpd
|
||||
./build.sh --download-only
|
||||
}
|
||||
|
||||
if [ $# -eq 1 ] && { [ "$1" = "-h" ] || [ "$1" == "--help" ] ;} ; then
|
||||
usage "${progname}"
|
||||
exit 0
|
||||
elif [ $# -eq 0 ] ; then
|
||||
download_untitled
|
||||
else
|
||||
usage "${progname}"
|
||||
exit ${EX_USAGE}
|
||||
fi
|
|
@ -42,9 +42,6 @@ build_website()
|
|||
# Release website source and transformed files
|
||||
install -d ../release
|
||||
install -m 644 website.tar.gz ../release/gnuboot-website-"${version}".tar.gz
|
||||
|
||||
# Relase untitled source code
|
||||
git -C untitled bundle create ../../release/untitled-"${version}".bundle HEAD
|
||||
}
|
||||
|
||||
if [ $# -eq 1 ] && { [ "$1" = "-h" ] || [ "$1" == "--help" ] ;} ; then
|
||||
|
|
4
site.cfg
4
site.cfg
|
@ -1,4 +0,0 @@
|
|||
TITLE="GNU Boot"
|
||||
CSS="/software/gnuboot/web/global.css"
|
||||
DOMAIN="https://gnu.org/software/gnuboot/web/"
|
||||
BLOGDIR="news/"
|
|
@ -1,11 +0,0 @@
|
|||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
* [Edit this page](/software/gnuboot/web/git.md)
|
||||
* [License](/software/gnuboot/web/license.md)
|
||||
* [Template](/software/gnuboot/web/template-license.md)
|
||||
* [Logo](/software/gnuboot/web/logo-license.md)
|
||||
* [Authors](/software/gnuboot/web/contrib.md)
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
gnuboot-december-2023.md
|
||||
translations.md
|
||||
libreboot20211122.md
|
||||
libreboot20210522.md
|
||||
libreboot20160907.md
|
||||
libreboot20160902.md
|
||||
libreboot20160818.md
|
||||
libreboot20150518.md
|
||||
libreboot20150208.md
|
||||
libreboot20150126.md
|
||||
libreboot20150124.md
|
||||
libreboot20141015.md
|
||||
libreboot20140911.md
|
||||
libreboot20140903.md
|
||||
libreboot20140811.md
|
||||
libreboot20140729.md
|
||||
libreboot20140720.md
|
||||
libreboot20140716.md
|
||||
libreboot20140711.md
|
||||
libreboot20140622.md
|
||||
libreboot20140611.md
|
||||
libreboot20140605.md
|
||||
libreboot20140309.md
|
||||
libreboot20140221.md
|
||||
libreboot20131214.md
|
||||
libreboot20131213.md
|
||||
libreboot20131212.md
|
File diff suppressed because it is too large
Load Diff
|
@ -1,150 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2022-2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
#
|
||||
# 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 3 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 <https://www.gnu.org/licenses/>.
|
||||
|
||||
# For compatibility with sysexits.h (see man 3 sysexits.h for more details)
|
||||
EX_USAGE=64
|
||||
|
||||
untitled_uri="https://notabug.org/untitled/untitled.git"
|
||||
untitled_path=""
|
||||
untitled_commit="ee3cf7e29d672e5e5fc1a9409e7327ea9abe9325"
|
||||
|
||||
help()
|
||||
{
|
||||
echo "Usage: $0 [options]"
|
||||
echo ""
|
||||
echo "Available options:"
|
||||
echo -e "\t-h, --help"
|
||||
echo -e "\t\tDisplay this help and exit."
|
||||
echo -e "\t--with-untitled-path PATH"
|
||||
echo -e "\t\tUse a local untitled directory from PATH\n" \
|
||||
"\t\tinstead of downloading the latest version from\n" \
|
||||
"\t\t${untitled_uri}"
|
||||
echo -e "\t--download-only"
|
||||
echo -e "\t\tOnly download and setup Untitled. Does not build the"
|
||||
echo -e "\t\twebsite."
|
||||
|
||||
}
|
||||
|
||||
sync_repo()
|
||||
{
|
||||
dst_path="$1"
|
||||
src_uri="$2"
|
||||
src_path="$3"
|
||||
src_revision="$4"
|
||||
src_patches="$5"
|
||||
|
||||
if [ -z "${src_path}" ] && [ ! -d "${dst_path}" ] ; then
|
||||
git clone "${src_uri}" "${dst_path}"
|
||||
git -C "${dst_path}" checkout "${src_revision}"
|
||||
elif [ ! -d "${dst_path}" ] ; then
|
||||
mkdir -p "$(dirname ${dst_path})"
|
||||
cp -a "${src_path}" "${dst_path}"
|
||||
if [ -n "${src_revision}" ] ; then
|
||||
git -C "${dst_path}" checkout "${src_revision}"
|
||||
fi
|
||||
elif [ -z "${src_path}" ] ; then
|
||||
localrev="$(git -C "${dst_path}" --no-pager \
|
||||
log --oneline HEAD -1 --format='%H')"
|
||||
|
||||
git -C "${dst_path}" remote get-url origin || \
|
||||
git -C "${dst_path}" remote add origin "${src_uri}"
|
||||
git -C "${dst_path}" remote set-url origin "${src_uri}"
|
||||
git -C "${dst_path}" clean -dfx
|
||||
|
||||
if [ "${localrev}" != "${src_revision}" ] ; then
|
||||
git -C "${dst_path}" fetch origin
|
||||
git -C "${dst_path}" checkout "${src_revision}"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if git -C "${dst_path}" status | \
|
||||
grep '^rebase in progress;' > /dev/null ; then
|
||||
git -C "${dst_path}" am --abort
|
||||
fi
|
||||
|
||||
for patch in ${src_patches} ; do
|
||||
GIT_COMMITTER_EMAIL="noreply@gnuboot.gnu.org" \
|
||||
GIT_COMMITTER_NAME="website-build" \
|
||||
git -C "${dst_path}" am $(realpath ${patch})
|
||||
done
|
||||
else
|
||||
rm -rf "${dst_path}"
|
||||
cp -a "${src_path}" "${dst_path}"
|
||||
if [ -n "${src_revision}" ] ; then
|
||||
git -C "${dst_path}" checkout "${src_revision}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
copy_website()
|
||||
{
|
||||
dst_path="$1"
|
||||
|
||||
rm -rf "${dst_path}"
|
||||
mkdir -p "${dst_path}"
|
||||
cp "../site.cfg" "${dst_path}"
|
||||
cp -a "../site/" "${dst_path}"
|
||||
}
|
||||
|
||||
help_missing_arg()
|
||||
{
|
||||
printf "Error: Argument of %s is missing.\n\n" "$1"
|
||||
help
|
||||
}
|
||||
|
||||
download_only=0
|
||||
i=1
|
||||
while [ "$i" -le $# ] ; do
|
||||
opt="$(eval echo \$$i)"
|
||||
|
||||
case "${opt}" in
|
||||
-h|--help)
|
||||
help
|
||||
exit 0
|
||||
;;
|
||||
--download-only)
|
||||
download_only=1
|
||||
;;
|
||||
--with-untitled-path)
|
||||
if [ "$i" -ge $# ] ; then
|
||||
help_missing_arg "--with-untitled-path"
|
||||
exit ${EX_USAGE}
|
||||
fi
|
||||
untitled_path="$(eval echo \$$(expr $i + 1))"
|
||||
i="$(expr "$i" + 1)"
|
||||
;;
|
||||
*)
|
||||
help
|
||||
exit ${EX_USAGE}
|
||||
;;
|
||||
esac
|
||||
|
||||
i="$(expr "$i" + 1)"
|
||||
done
|
||||
|
||||
set -e
|
||||
|
||||
sync_repo "untitled" \
|
||||
"${untitled_uri}" "${untitled_path}" \
|
||||
"${untitled_commit}"
|
||||
|
||||
if [ "${download_only}" -eq 0 ] ; then
|
||||
copy_website "untitled/www/lbwww/"
|
||||
|
||||
cd untitled
|
||||
./build sites lbwww
|
||||
fi
|
|
@ -1,6 +1,5 @@
|
|||
/autom4te.cache/
|
||||
/untitled/
|
||||
/aclocal.m4
|
||||
/autom4te.cache/
|
||||
/config.log
|
||||
/config.status
|
||||
/configure
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright (C) 2022-2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
# Copyright (C) 2022-2024 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
#
|
||||
# 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
|
||||
|
@ -16,36 +16,17 @@
|
|||
|
||||
all: help
|
||||
|
||||
BUILD_OPTIONS :=
|
||||
GUIX_SHARE_OPTIONS := --share=`realpath ../`
|
||||
|
||||
if WANT_UNTITLED_PATH
|
||||
BUILD_OPTIONS += --with-untitled-path $(UNTITLED_PATH)
|
||||
GUIX_SHARE_OPTIONS += --share=`realpath $(UNTITLED_PATH)`
|
||||
endif
|
||||
|
||||
if WANT_GUIX
|
||||
build:
|
||||
guix time-machine \
|
||||
--commit=c15a1cd88f80a90437f4b0159f22dfc84b9e6851 \
|
||||
--commit=v1.4.0 \
|
||||
-- shell \
|
||||
--container \
|
||||
--network \
|
||||
--emulate-fhs \
|
||||
$(GUIX_SHARE_OPTIONS) \
|
||||
bash \
|
||||
coreutils \
|
||||
findutils \
|
||||
git \
|
||||
grep \
|
||||
nss-certs \
|
||||
pandoc \
|
||||
sed \
|
||||
haunt
|
||||
-- \
|
||||
./build.sh $(BUILD_OPTIONS)
|
||||
haunt build
|
||||
else
|
||||
build:
|
||||
./build.sh $(BUILD_OPTIONS)
|
||||
haunt build
|
||||
endif
|
||||
|
||||
if WANT_GUIX
|
||||
|
@ -77,27 +58,25 @@ help:
|
|||
"website.tar.gz # Create a tarball of the website"
|
||||
|
||||
if WANT_GUIX
|
||||
serve: website.tar.gz
|
||||
serve: build
|
||||
guix shell \
|
||||
--container \
|
||||
--network \
|
||||
--emulate-fhs \
|
||||
bash \
|
||||
coreutils \
|
||||
gzip \
|
||||
lighttpd \
|
||||
sed \
|
||||
tar \
|
||||
-- \
|
||||
./serve.sh website.tar.gz $(LIGHTTPD_PORT)
|
||||
./serve.sh $(LIGHTTPD_PORT)
|
||||
else
|
||||
if WANT_LIGHTTPD
|
||||
serve: website.tar.gz
|
||||
./serve.sh website.tar.gz $(LIGHTTPD_PORT)
|
||||
serve: build
|
||||
./serve.sh $(LIGHTTPD_PORT)
|
||||
else
|
||||
serve:
|
||||
@printf "%s %s\n" \
|
||||
"The test target is disabled." \
|
||||
"The serve target is disabled." \
|
||||
"To enable it, run './configure --enable-lighttpd'."
|
||||
@false
|
||||
endif
|
||||
|
@ -124,6 +103,4 @@ website.tar.gz: build
|
|||
--sort=name \
|
||||
-czf \
|
||||
website.tar.gz \
|
||||
untitled/www/lbwww/site \
|
||||
index.html \
|
||||
--transform="s#untitled/www/lbwww/site#web#"
|
||||
site
|
|
@ -68,6 +68,8 @@ run_tests()
|
|||
{
|
||||
test_pattern "html test" "${tarball}" '\.html$'
|
||||
test_pattern "jpg test" "${tarball}" '\.jpg$'
|
||||
test_pattern "jpg path" "${tarball}" \
|
||||
'web\/img\/d945gclf\/20160923_141521\.jpg$'
|
||||
test_savannah_cvs_constraints \
|
||||
"Savannah CVS: Only /index.html in root directory" \
|
||||
"${tarball}"
|
|
@ -54,19 +54,6 @@ AC_ARG_WITH([rsync-destination],
|
|||
[RSYNC_DESTINATION=$withval],
|
||||
[RSYNC_DESTINATION=wwwcvs@gnu.org:/var/www/software/gnuboot])
|
||||
|
||||
AM_CONDITIONAL( [WANT_UNTITLED_PATH], [test x"$UNTITLED_PATH" != x""])
|
||||
|
||||
# --with-untitled-path
|
||||
AC_ARG_WITH([untitled-path],
|
||||
[AS_HELP_STRING([--with-untitled-path=PATH],
|
||||
[Use a local untitled directory from PATH instead of downloading
|
||||
a specific version from
|
||||
https://git.sr.ht/~libreboot/untitled .])],
|
||||
[UNTITLED_PATH=$withval],
|
||||
[])
|
||||
|
||||
AM_CONDITIONAL( [WANT_UNTITLED_PATH], [test x"$UNTITLED_PATH" != x""])
|
||||
|
||||
# Check dependencies
|
||||
AC_CHECK_PROG([REALPATH], [realpath], [realpath])
|
||||
AC_CHECK_PROG([TAR], [tar], [tar])
|
||||
|
@ -75,42 +62,18 @@ AS_IF([test x"$guix" = x"yes"],
|
|||
[AC_CHECK_PROG([FOUND_GUIX], [guix], [guix])
|
||||
AS_IF([test x"$FOUND_GUIX" = x""],
|
||||
[AC_MSG_ERROR(
|
||||
[guix was not found in PATH ($PATH)])])],
|
||||
[guix was not found in PATH ($PATH)])])])
|
||||
|
||||
[AC_CHECK_PROG([FOUND_CAT], [cat], [cat])
|
||||
AS_IF([test x"$FOUND_CAT" = x""],
|
||||
[AC_MSG_ERROR(
|
||||
[cat was not found in PATH ($PATH)])])
|
||||
|
||||
AC_CHECK_PROG([FOUND_CP], [cp], [cp])
|
||||
AS_IF([test x"$FOUND_CP" = x""],
|
||||
[AC_MSG_ERROR(
|
||||
[cp was not found in PATH ($PATH)])])
|
||||
|
||||
AC_CHECK_PROG([FOUND_DATE], [date], [date])
|
||||
AS_IF([test x"$FOUND_DATE" = x""],
|
||||
[AC_MSG_ERROR(
|
||||
[date was not found in PATH ($PATH)])])
|
||||
|
||||
AC_CHECK_PROG([FOUND_FIND], [find], [find])
|
||||
AS_IF([test x"$FOUND_FIND" = x""],
|
||||
[AC_MSG_ERROR(
|
||||
[find was not found in PATH ($PATH)])])
|
||||
|
||||
AC_CHECK_PROG([FOUND_GREP], [grep], [grep])
|
||||
AS_IF([test x"$guix" != x"yes"],
|
||||
[AC_CHECK_PROG([FOUND_GREP], [grep], [grep])
|
||||
AS_IF([test x"$FOUND_GREP" = x""],
|
||||
[AC_MSG_ERROR(
|
||||
[grep was not found in PATH ($PATH)])])
|
||||
|
||||
AC_CHECK_PROG([FOUND_HEAD], [head], [head])
|
||||
AS_IF([test x"$FOUND_HEAD" = x""],
|
||||
AC_CHECK_PROG([FOUND_HAUNT], [haunt], [haunt])
|
||||
AS_IF([test x"$FOUND_HAUNT" = x""],
|
||||
[AC_MSG_ERROR(
|
||||
[head was not found in PATH ($PATH)])])
|
||||
|
||||
AC_CHECK_PROG([FOUND_GIT], [git], [git])
|
||||
AS_IF([test x"$FOUND_GIT" = x""],
|
||||
[AC_MSG_ERROR(
|
||||
[git was not found in PATH ($PATH)])])
|
||||
[haunt was not found in PATH ($PATH)])])
|
||||
|
||||
AC_CHECK_PROG([FOUND_GZIP], [gzip], [gzip])
|
||||
AS_IF([test x"$FOUND_GZIP" = x""],
|
||||
|
@ -132,16 +95,6 @@ AS_IF([test x"$guix" = x"yes"],
|
|||
[AC_MSG_ERROR(
|
||||
[mkdir was not found in PATH ($PATH)])])
|
||||
|
||||
AC_CHECK_PROG([FOUND_PANDOC], [pandoc], [pandoc])
|
||||
AS_IF([test x"$FOUND_PANDOC" = x""],
|
||||
[AC_MSG_ERROR(
|
||||
[pandoc was not found in PATH ($PATH)])])
|
||||
|
||||
AC_CHECK_PROG([FOUND_PRINTF], [printf], [printf])
|
||||
AS_IF([test x"$FOUND_PRINTF" = x""],
|
||||
[AC_MSG_ERROR(
|
||||
[printf was not found in PATH ($PATH)])])
|
||||
|
||||
AC_CHECK_PROG([FOUND_RM], [rm], [rm])
|
||||
AS_IF([test x"$FOUND_RM" = x""],
|
||||
[AC_MSG_ERROR(
|
||||
|
@ -152,11 +105,6 @@ AS_IF([test x"$guix" = x"yes"],
|
|||
[AC_MSG_ERROR(
|
||||
[sed was not found in PATH ($PATH)])])
|
||||
|
||||
AC_CHECK_PROG([FOUND_TAIL], [tail], [tail])
|
||||
AS_IF([test x"$FOUND_TAIL" = x""],
|
||||
[AC_MSG_ERROR(
|
||||
[tail was not found in PATH ($PATH)])])
|
||||
|
||||
AC_CHECK_PROG([FOUND_TEST], [test], [test])
|
||||
AS_IF([test x"$FOUND_TEST" = x""],
|
||||
[AC_MSG_ERROR(
|
||||
|
@ -165,9 +113,14 @@ AS_IF([test x"$guix" = x"yes"],
|
|||
AC_OUTPUT
|
||||
AS_ECHO(["Configuration options:"])
|
||||
|
||||
AS_ECHO([" LIGHTTPD_PORT: $LIGHTTPD_PORT"])
|
||||
AS_ECHO([" lighttpd port: $LIGHTTPD_PORT"])
|
||||
|
||||
AS_ECHO([" RSYNC_DESTINATION: $RSYNC_DESTINATION"])
|
||||
AS_ECHO([" rsync destination: $RSYNC_DESTINATION"])
|
||||
|
||||
AS_IF([test x"$UNTITLED_PATH" != x""],
|
||||
[AS_ECHO([" UNTITLED_PATH: $UNTITLED_PATH"])])
|
||||
AS_IF([test x"$guix" = x"yes"],
|
||||
[AS_ECHO([" with Guix: Yes"])],
|
||||
[AS_ECHO([" with Guix: No"])])
|
||||
|
||||
AS_IF([test x"$lighttpd" = x"yes"],
|
||||
[AS_ECHO([" with lighttpd: Yes"])],
|
||||
[AS_ECHO([" with lighttpd: No"])])
|
|
@ -0,0 +1,36 @@
|
|||
;;; Copyright © 2015 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
;;;
|
||||
;;; This file is based on haunt/builder/blog.scm,
|
||||
;;; haunt/reader/commonmark.scm and tests/post.scm and from Haunt
|
||||
;;; 2.6.0.
|
||||
;;;
|
||||
;;; Haunt 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 3 of the License, or
|
||||
;;; (at your option) any later version.
|
||||
;;;
|
||||
;;; Haunt 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 Haunt. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(use-modules (haunt builder assets)
|
||||
(haunt site)
|
||||
(website builders gnuboot)
|
||||
(website readers untitled))
|
||||
|
||||
(site #:title "GNU Boot"
|
||||
#:domain "gnu.org/software/gnuboot"
|
||||
#:default-metadata
|
||||
'((author . "GNU Boot contributors"))
|
||||
#:file-filter untitled-file-filter
|
||||
#:posts-directory "pages"
|
||||
#:readers (list untitled-reader)
|
||||
#:builders (list (gnuboot-website
|
||||
#:prefix "software/gnuboot/web")
|
||||
(static-directory "software/gnuboot/web/static")))
|
|
@ -1,6 +1,6 @@
|
|||
server.bind = "localhost"
|
||||
server.port = LIGHTTPD_PORT
|
||||
server.document-root = "TMPDIR"
|
||||
server.document-root = var.CWD + "/site/"
|
||||
dir-listing.activate = "enable"
|
||||
index-file.names = ( "index.html" )
|
||||
mimetype.assign = (
|
|
@ -45,11 +45,11 @@ Remarks about vendor bios:
|
|||
flashed there is no problem to update the firmware internally
|
||||
|
||||
Here is an image of the board:\
|
||||
![](/software/gnuboot/web/img/d945gclf/d945gclf.jpg)\
|
||||
![](/software/gnuboot/web/static/img/d945gclf/d945gclf.jpg)\
|
||||
Here is an image of the D945GCLF2 board:\
|
||||
![](/software/gnuboot/web/img/d945gclf/20160923_141521.jpg){width="80%" height="80%"}\
|
||||
![](/software/gnuboot/web/static/img/d945gclf/20160923_141521.jpg){width="80%" height="80%"}\
|
||||
And SPI SOIC8 flash chip\
|
||||
![](/software/gnuboot/web/img/d945gclf/20160923_141550.jpg){width="50%" height="50%"}
|
||||
![](/software/gnuboot/web/static/img/d945gclf/20160923_141550.jpg){width="50%" height="50%"}
|
||||
|
||||
How to replace thermal paste and fan
|
||||
------------------------------------
|
||||
|
@ -57,24 +57,24 @@ How to replace thermal paste and fan
|
|||
This board comes with very crappy disposable loud fan, that one has no
|
||||
bearings, which can not be repaired or oiled properly, do not waste your
|
||||
time trying to fix it, just buy one chinese same size fan\
|
||||
![](/software/gnuboot/web/img/d945gclf/20160923_141620.jpg){width="50%" height="50%"}
|
||||
![](/software/gnuboot/web/img/d945gclf/20160923_141614.jpg){width="50%" height="50%"}\
|
||||
![](/software/gnuboot/web/static/img/d945gclf/20160923_141620.jpg){width="50%" height="50%"}
|
||||
![](/software/gnuboot/web/static/img/d945gclf/20160923_141614.jpg){width="50%" height="50%"}\
|
||||
Make sure that new one has same wiring\
|
||||
![](/software/gnuboot/web/img/d945gclf/20160923_142618.jpg){width="50%" height="50%"}\
|
||||
![](/software/gnuboot/web/static/img/d945gclf/20160923_142618.jpg){width="50%" height="50%"}\
|
||||
This is a new one, with bearing and maintenable\
|
||||
![](/software/gnuboot/web/img/d945gclf/20160923_141738.jpg){width="50%" height="50%"}
|
||||
![](/software/gnuboot/web/img/d945gclf/20160923_141814.jpg){width="50%" height="50%"}\
|
||||
![](/software/gnuboot/web/static/img/d945gclf/20160923_141738.jpg){width="50%" height="50%"}
|
||||
![](/software/gnuboot/web/static/img/d945gclf/20160923_141814.jpg){width="50%" height="50%"}\
|
||||
Now remove the both coolers rotating them a bit, slowly, then clean both
|
||||
silicons and both coolers (removing cmos battery first is recommended)\
|
||||
![](/software/gnuboot/web/img/d945gclf/20160923_141601.jpg){width="50%" height="50%"}\
|
||||
![](/software/gnuboot/web/static/img/d945gclf/20160923_141601.jpg){width="50%" height="50%"}\
|
||||
Put a little bit of non conductive thermal paste on both silicons (only
|
||||
cpu silicon iis shown on that image)\
|
||||
![](/software/gnuboot/web/img/d945gclf/20160923_142031.jpg){width="50%" height="50%"}\
|
||||
![](/software/gnuboot/web/static/img/d945gclf/20160923_142031.jpg){width="50%" height="50%"}\
|
||||
|
||||
Before assembling new fan, some need new longer screws, make sure having
|
||||
these (on the left is original one, too short for new fan)\
|
||||
![](/software/gnuboot/web/img/d945gclf/20160923_141659.jpg){width="50%" height="50%"}\
|
||||
![](/software/gnuboot/web/static/img/d945gclf/20160923_141659.jpg){width="50%" height="50%"}\
|
||||
After that, assemble your new fan into CPU cooler\
|
||||
![](/software/gnuboot/web/img/d945gclf/20160923_141635.jpg){width="50%" height="50%"}\
|
||||
![](/software/gnuboot/web/static/img/d945gclf/20160923_141635.jpg){width="50%" height="50%"}\
|
||||
Finally assemle both coolers on both chips, do not forget put in the CPU
|
||||
fan connector back, and you are done.
|
|
@ -42,7 +42,7 @@ chip and re-flash it using external hardware.
|
|||
It has a 25XX NOR flash (SPI protocol) in a P-DIP 8 socket, which looks like
|
||||
this:
|
||||
|
||||
![](/software/gnuboot/web/img/dip8/dip8.jpg)
|
||||
![](/software/gnuboot/web/static/img/dip8/dip8.jpg)
|
||||
|
||||
The default chip is a 2MiB one, but we recommend upgrading it to a 16MiB chip.
|
||||
|
|
@ -58,7 +58,7 @@ The existing MAC address may be obtained by the following methods:
|
|||
|
||||
2. Otherwise you can read the white label that is often found on the
|
||||
motherboard under the memory sticks:
|
||||
![](/software/gnuboot/web/img/t400/macaddress1.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/macaddress1.jpg)
|
||||
|
||||
3. The MAC address is usually listed on the laptop chassis as well. This one
|
||||
will be incorrect if the motherboard was changed and the stickers were not
|
|
@ -71,7 +71,7 @@ guides](https://www.ifixit.com/Device/MacBook_Core_2_Duo)
|
|||
|
||||
Locate the flash. It'll be a SOIC8, which looks like this:
|
||||
|
||||
![](/software/gnuboot/web/img/chip/soic8.jpg)
|
||||
![](/software/gnuboot/web/static/img/chip/soic8.jpg)
|
||||
|
||||
motherboard. [How to remove the
|
||||
motherboard](https://www.ifixit.com/Guide/MacBook+Core+2+Duo+PRAM+Battery+Replacement/529).
|
|
@ -161,5 +161,5 @@ collect various logs useful in porting to new boards. Following are
|
|||
outputs from the X200:
|
||||
|
||||
- BIOS 3.15, EC 1.06
|
||||
- [hwdumps/x200/](hwdumps/x200/)
|
||||
- [hwdumps/x200/](/software/gnuboot/web/static/hwdumps/x200/)
|
||||
|
|
@ -108,8 +108,8 @@ part over, as shown on the picture below. The write protect screw is
|
|||
located next to the SPI flash chip, circled in red in the picture below.
|
||||
It has to be removed.
|
||||
|
||||
[![Screws](/software/gnuboot/web/img/c201/screws.jpg)](/software/gnuboot/web/img/c201/screws.jpg) [![WP
|
||||
screw](/software/gnuboot/web/img/c201/wp-screw.jpg)](/software/gnuboot/web/img/c201/wp-screw.jpg)
|
||||
[![Screws](/software/gnuboot/web/static/img/c201/screws.jpg)](/software/gnuboot/web/static/img/c201/screws.jpg) [![WP
|
||||
screw](/software/gnuboot/web/static/img/c201/wp-screw.jpg)](/software/gnuboot/web/static/img/c201/wp-screw.jpg)
|
||||
|
||||
The write protect screw can be put back in place later, when the device
|
||||
is known to be in a working state.
|
||||
|
@ -176,9 +176,9 @@ unscrewed from the rest of the case. It is located on
|
|||
the right and has colorful cables, as shown on the picture below.
|
||||
|
||||
[![SPI flash
|
||||
layout](/software/gnuboot/web/img/c201/spi-flash-layout.jpg)](/software/gnuboot/web/img/c201/spi-flash-layout.jpg)
|
||||
layout](/software/gnuboot/web/static/img/c201/spi-flash-layout.jpg)](/software/gnuboot/web/static/img/c201/spi-flash-layout.jpg)
|
||||
[![Battery
|
||||
connector](/software/gnuboot/web/img/c201/battery-connector.jpg)](/software/gnuboot/web/img/c201/battery-connector.jpg)
|
||||
connector](/software/gnuboot/web/static/img/c201/battery-connector.jpg)](/software/gnuboot/web/static/img/c201/battery-connector.jpg)
|
||||
|
||||
All the files from the `veyron_speedy` release (or build) have to be
|
||||
transferred to the host.
|
|
@ -17,4 +17,4 @@ Flashing instructions {#clip}
|
|||
Refer to [spi.html](spi.html) for how to re-flash externally.
|
||||
|
||||
Here is an image of the flash chip:\
|
||||
![](/software/gnuboot/web/img/d945gclf/d945gclf_spi.jpg)
|
||||
![](/software/gnuboot/web/static/img/d945gclf/d945gclf_spi.jpg)
|
|
@ -34,7 +34,7 @@ NOTE: You should use a resistor in series, between 1K to 10K ohms, for the 3.3v
|
|||
connection to the CS pin. This is to protect from over-current.
|
||||
|
||||
Here is an image of the flash chip:\
|
||||
![](/software/gnuboot/web/img/ga-g41m-es2l/ga-g41m-es2l.jpg)
|
||||
![](/software/gnuboot/web/static/img/ga-g41m-es2l/ga-g41m-es2l.jpg)
|
||||
|
||||
Internal flashing is possible. Boot with the proprietary BIOS and
|
||||
GNU+Linux. There are 2 flash chips (one is backup).
|
|
@ -307,7 +307,7 @@ Early notes {#early_notes}
|
|||
of disabling the descriptor.
|
||||
- **and the location of GPIO33 on the x200s: (was an external link.
|
||||
Putting it here instead)**
|
||||
[/software/gnuboot/web/img/x200/gpio33_location.jpg](/software/gnuboot/web/img/x200/gpio33_location.jpg) -
|
||||
[/software/gnuboot/web/static/img/x200/gpio33_location.jpg](/software/gnuboot/web/static/img/x200/gpio33_location.jpg) -
|
||||
it's above the number 7 on TP37 (which is above the big intel chip
|
||||
at the bottom)
|
||||
- The ME datasheet may not be for the mobile chipsets but it doesn't
|
|
@ -81,82 +81,82 @@ Disassembly
|
|||
-----------
|
||||
|
||||
Remove all screws:\
|
||||
![](/software/gnuboot/web/img/r400/0000.jpg)\
|
||||
![](/software/gnuboot/web/static/img/r400/0000.jpg)\
|
||||
Remove the HDD and optical drive:\
|
||||
![](/software/gnuboot/web/img/r400/0001.jpg)\
|
||||
![](/software/gnuboot/web/static/img/r400/0001.jpg)\
|
||||
Remove the hinge screws:\
|
||||
![](/software/gnuboot/web/img/r400/0002.jpg) ![](/software/gnuboot/web/img/r400/0003.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0002.jpg) ![](/software/gnuboot/web/static/img/r400/0003.jpg)
|
||||
|
||||
Remove the palm rest and keyboard:\
|
||||
![](/software/gnuboot/web/img/r400/0004.jpg) ![](/software/gnuboot/web/img/r400/0005.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0004.jpg) ![](/software/gnuboot/web/static/img/r400/0005.jpg)
|
||||
|
||||
Remove these screws, and then remove the bezel:\
|
||||
![](/software/gnuboot/web/img/r400/0006.jpg) ![](/software/gnuboot/web/img/r400/0007.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0006.jpg) ![](/software/gnuboot/web/static/img/r400/0007.jpg)
|
||||
|
||||
Remove the speaker screws, but don't remove the speakers yet (just set
|
||||
them loose):\
|
||||
![](/software/gnuboot/web/img/r400/0008.jpg) ![](/software/gnuboot/web/img/r400/0009.jpg)
|
||||
![](/software/gnuboot/web/img/r400/0010.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0008.jpg) ![](/software/gnuboot/web/static/img/r400/0009.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0010.jpg)
|
||||
|
||||
Remove these screws, and then remove the metal plate:\
|
||||
![](/software/gnuboot/web/img/r400/0011.jpg) ![](/software/gnuboot/web/img/r400/0012.jpg)
|
||||
![](/software/gnuboot/web/img/r400/0013.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0011.jpg) ![](/software/gnuboot/web/static/img/r400/0012.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0013.jpg)
|
||||
|
||||
Remove the antennas from the wifi card, and then start unrouting them:\
|
||||
![](/software/gnuboot/web/img/r400/0014.jpg) ![](/software/gnuboot/web/img/r400/0015.jpg)
|
||||
![](/software/gnuboot/web/img/r400/0016.jpg) ![](/software/gnuboot/web/img/r400/0017.jpg)
|
||||
![](/software/gnuboot/web/img/r400/0018.jpg) ![](/software/gnuboot/web/img/r400/0019.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0014.jpg) ![](/software/gnuboot/web/static/img/r400/0015.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0016.jpg) ![](/software/gnuboot/web/static/img/r400/0017.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0018.jpg) ![](/software/gnuboot/web/static/img/r400/0019.jpg)
|
||||
|
||||
Disconnect the LCD cable from the motherboard:\
|
||||
![](/software/gnuboot/web/img/r400/0020.jpg) ![](/software/gnuboot/web/img/r400/0021.jpg)
|
||||
![](/software/gnuboot/web/img/r400/0022.jpg) ![](/software/gnuboot/web/img/r400/0023.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0020.jpg) ![](/software/gnuboot/web/static/img/r400/0021.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0022.jpg) ![](/software/gnuboot/web/static/img/r400/0023.jpg)
|
||||
|
||||
Remove the hinge screws, and then remove the LCD panel:\
|
||||
![](/software/gnuboot/web/img/r400/0024.jpg) ![](/software/gnuboot/web/img/r400/0025.jpg)
|
||||
![](/software/gnuboot/web/img/r400/0026.jpg) ![](/software/gnuboot/web/img/r400/0027.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0024.jpg) ![](/software/gnuboot/web/static/img/r400/0025.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0026.jpg) ![](/software/gnuboot/web/static/img/r400/0027.jpg)
|
||||
|
||||
Remove this:\
|
||||
![](/software/gnuboot/web/img/r400/0028.jpg) ![](/software/gnuboot/web/img/r400/0029.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0028.jpg) ![](/software/gnuboot/web/static/img/r400/0029.jpg)
|
||||
|
||||
Remove this long cable (there are 3 connections):\
|
||||
![](/software/gnuboot/web/img/r400/0030.jpg) ![](/software/gnuboot/web/img/r400/0031.jpg)
|
||||
![](/software/gnuboot/web/img/r400/0032.jpg) ![](/software/gnuboot/web/img/r400/0033.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0030.jpg) ![](/software/gnuboot/web/static/img/r400/0031.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0032.jpg) ![](/software/gnuboot/web/static/img/r400/0033.jpg)
|
||||
|
||||
Disconnect the speaker cable, and remove the speakers:\
|
||||
![](/software/gnuboot/web/img/r400/0034.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0034.jpg)
|
||||
|
||||
Remove the heatsink screws, remove the fan and then remove the
|
||||
heatsink/fan:\
|
||||
![](/software/gnuboot/web/img/r400/0035.jpg) ![](/software/gnuboot/web/img/r400/0036.jpg)
|
||||
![](/software/gnuboot/web/img/r400/0037.jpg) ![](/software/gnuboot/web/img/r400/0038.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0035.jpg) ![](/software/gnuboot/web/static/img/r400/0036.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0037.jpg) ![](/software/gnuboot/web/static/img/r400/0038.jpg)
|
||||
|
||||
Remove the NVRAM battery:\
|
||||
![](/software/gnuboot/web/img/r400/0039.jpg) ![](/software/gnuboot/web/img/r400/0040.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0039.jpg) ![](/software/gnuboot/web/static/img/r400/0040.jpg)
|
||||
|
||||
Remove this screw:\
|
||||
![](/software/gnuboot/web/img/r400/0041.jpg) ![](/software/gnuboot/web/img/r400/0042.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0041.jpg) ![](/software/gnuboot/web/static/img/r400/0042.jpg)
|
||||
|
||||
Disconnect the AC jack:\
|
||||
![](/software/gnuboot/web/img/r400/0043.jpg) ![](/software/gnuboot/web/img/r400/0044.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0043.jpg) ![](/software/gnuboot/web/static/img/r400/0044.jpg)
|
||||
|
||||
Remove this screw and then remove what is under it:\
|
||||
![](/software/gnuboot/web/img/r400/0045.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0045.jpg)
|
||||
|
||||
Remove this:\
|
||||
![](/software/gnuboot/web/img/r400/0046.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0046.jpg)
|
||||
|
||||
Lift the motherboard (which is still inside the cage) from the side on
|
||||
the right, removing it completely:\
|
||||
![](/software/gnuboot/web/img/r400/0047.jpg) ![](/software/gnuboot/web/img/r400/0048.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0047.jpg) ![](/software/gnuboot/web/static/img/r400/0048.jpg)
|
||||
|
||||
Remove all screws, marking each hole so that you know where to re-insert
|
||||
them. You should place the screws in a layout corresponding to the order
|
||||
that they were in before removal: ![](/software/gnuboot/web/img/r400/0049.jpg)
|
||||
![](/software/gnuboot/web/img/r400/0050.jpg)
|
||||
that they were in before removal: ![](/software/gnuboot/web/static/img/r400/0049.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0050.jpg)
|
||||
|
||||
Remove the motherboard from the cage, and the SPI flash chip will be
|
||||
next to the memory slots:\
|
||||
![](/software/gnuboot/web/img/r400/0051.jpg) ![](/software/gnuboot/web/img/r400/0052.jpg)
|
||||
![](/software/gnuboot/web/static/img/r400/0051.jpg) ![](/software/gnuboot/web/static/img/r400/0052.jpg)
|
||||
|
||||
Now, you should be ready to install libreboot.
|
||||
|
||||
|
@ -174,7 +174,7 @@ When re-installing the heatsink, you must first clean off all old paste
|
|||
with the alcohol/cloth. Then apply new paste. Arctic MX-4 is also much
|
||||
better than the default paste used on these systems.
|
||||
|
||||
![](/software/gnuboot/web/img/t400/paste.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/paste.jpg)
|
||||
|
||||
NOTE: the photo above is for illustration purposes only, and does not
|
||||
show how to properly apply the thermal paste. Other guides online detail
|
||||
|
@ -199,13 +199,13 @@ be useful for RAM compatibility info (note: coreboot raminit is
|
|||
different, so this page might be BS)
|
||||
|
||||
The following photo shows 8GiB (2x4GiB) of RAM installed:\
|
||||
![](/software/gnuboot/web/img/t400/memory.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/memory.jpg)
|
||||
|
||||
Boot it!
|
||||
--------
|
||||
|
||||
You should see something like this:
|
||||
|
||||
![](/software/gnuboot/web/img/t400/boot0.jpg) ![](/software/gnuboot/web/img/t400/boot1.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/boot0.jpg) ![](/software/gnuboot/web/static/img/t400/boot1.jpg)
|
||||
|
||||
Now [install GNU+Linux](../gnulinux/).
|
|
@ -76,12 +76,12 @@ accomplish your goal, which is to read from and/or write to the boot flash.
|
|||
SOIC8
|
||||
-----
|
||||
|
||||
![](/software/gnuboot/web/img/chip/soic8.jpg)
|
||||
![](/software/gnuboot/web/static/img/chip/soic8.jpg)
|
||||
|
||||
SOIC16
|
||||
------
|
||||
|
||||
![](/software/gnuboot/web/img/chip/soic16.jpg)
|
||||
![](/software/gnuboot/web/static/img/chip/soic16.jpg)
|
||||
|
||||
SOIC8 and SOIC16 are the most common types, but there are others:
|
||||
|
||||
|
@ -90,16 +90,16 @@ WSON8
|
|||
|
||||
It will be like this on an X200S or X200 Tablet:\
|
||||
|
||||
![](/software/gnuboot/web/img/x200t_flash/X200T-flashchip-location.jpg)
|
||||
![](/software/gnuboot/web/static/img/x200t_flash/X200T-flashchip-location.jpg)
|
||||
|
||||
On T400S, it is in this location near the RAM:\
|
||||
![](/software/gnuboot/web/img/t400s/soic8.jpg)\
|
||||
![](/software/gnuboot/web/static/img/t400s/soic8.jpg)\
|
||||
NOTE: in this photo, the chip has been replaced with SOIC8
|
||||
|
||||
DIP8
|
||||
----
|
||||
|
||||
![](/software/gnuboot/web/img/dip8/dip8.jpg)
|
||||
![](/software/gnuboot/web/static/img/dip8/dip8.jpg)
|
||||
|
||||
Software configuration
|
||||
======================
|
||||
|
@ -437,7 +437,7 @@ GPIO pins on Raspberry Pi (RPi)
|
|||
Diagram of the 26 GPIO Pins of the Raspberry Pi Model B (for the Model
|
||||
B+ with 40 pins, start counting from the right and leave 14 pins):
|
||||
|
||||
![](/software/gnuboot/web/img/rpi/0012.png) ![](/software/gnuboot/web/img/rpi/0013.png)
|
||||
![](/software/gnuboot/web/static/img/rpi/0012.png) ![](/software/gnuboot/web/static/img/rpi/0013.png)
|
||||
|
||||
Use this as a reference for the other sections in this page, seen below:
|
||||
|
||||
|
@ -473,8 +473,8 @@ SOIC16 wiring diagram (Raspberry Pi)
|
|||
------------------------------------
|
||||
|
||||
RPi GPIO header:\
|
||||
![](/software/gnuboot/web/img/rpi/0009.png)
|
||||
![](/software/gnuboot/web/img/rpi/0010.png)
|
||||
![](/software/gnuboot/web/static/img/rpi/0009.png)
|
||||
![](/software/gnuboot/web/static/img/rpi/0010.png)
|
||||
|
||||
BBB P9 header:\
|
||||
<https://beagleboard.org/static/images/cape-headers.png>
|
||||
|
@ -609,13 +609,13 @@ SOIC8 is desirable; in that case, you might still want to dump the contents of
|
|||
the original WSON8.
|
||||
|
||||
Here is a SOIC8 in a socket, mounted to a breadboard, for flashing:\
|
||||
![](/software/gnuboot/web/img/rpi/soic8_socket.jpg)
|
||||
![](/software/gnuboot/web/static/img/rpi/soic8_socket.jpg)
|
||||
|
||||
Here is a photo of a DIP8 IC:\
|
||||
![](/software/gnuboot/web/img/dip8/dip8.jpg)
|
||||
![](/software/gnuboot/web/static/img/dip8/dip8.jpg)
|
||||
|
||||
Here is a photo of a SOIC8 in 1.27mm 208mil SOP to DIP adapter:\
|
||||
![](/software/gnuboot/web/img/dip8/sop8todip8.jpg)
|
||||
![](/software/gnuboot/web/static/img/dip8/sop8todip8.jpg)
|
||||
|
||||
NOTE: DIP8 and WSON8-in-socket, and SOIC16-in-socket, are basically the same,
|
||||
just adapt accordingly.
|
||||
|
@ -628,9 +628,9 @@ can just put the 2.54mm pins directly in the DIP8 socket and mount the SOIC8 +
|
|||
adapter onto that, and solder that. Use quality rosin flux (not acid based)
|
||||
and good 60/40 or 63/37 leaded solder (don't use lead-free):
|
||||
|
||||
![](/software/gnuboot/web/img/dip8/adapter_breadboard.jpg)
|
||||
![](/software/gnuboot/web/img/dip8/adapter.jpg)
|
||||
![](/software/gnuboot/web/img/dip8/sop8todip8.jpg)
|
||||
![](/software/gnuboot/web/static/img/dip8/adapter_breadboard.jpg)
|
||||
![](/software/gnuboot/web/static/img/dip8/adapter.jpg)
|
||||
![](/software/gnuboot/web/static/img/dip8/sop8todip8.jpg)
|
||||
|
||||
SOIC8/SOIC16 soldered to a mainboard
|
||||
------------------------------------
|
||||
|
@ -653,10 +653,10 @@ resistors needed. You do not need a decoupling capacitor for pin 2 (VCC) either
|
|||
because the mainboard will already have one.
|
||||
|
||||
Here is an example of a test clip connected for SOIC16:\
|
||||
![](/software/gnuboot/web/img/rpi/0002.jpg)
|
||||
![](/software/gnuboot/web/static/img/rpi/0002.jpg)
|
||||
|
||||
And here is an example photo for SOIC8:\
|
||||
![](/software/gnuboot/web/img/x60/th_bbb_flashing.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60/th_bbb_flashing.jpg)
|
||||
|
||||
DIP8 soldered to the mainboard
|
||||
------------------------------
|
||||
|
@ -725,13 +725,13 @@ In case you're not comfortable with soldering, we have some excellent videos
|
|||
linked on the [FAQ page](../../faq.html) which you can watch.
|
||||
|
||||
WSON8 IC:\
|
||||
![](/software/gnuboot/web/img/rpi/wson8/0001.jpg)
|
||||
![](/software/gnuboot/web/static/img/rpi/wson8/0001.jpg)
|
||||
|
||||
Surround a large area around the chip with layers of kapton tape, and then
|
||||
aluminium foil. This will act as a heat shield, to reduce the risk of re-flowing
|
||||
other solder joints (which can make them turn into cold joints, and you risk
|
||||
knocking them off of the board):\
|
||||
![](/software/gnuboot/web/img/rpi/wson8/0002.jpg)\
|
||||
![](/software/gnuboot/web/static/img/rpi/wson8/0002.jpg)\
|
||||
Notice that the kapton+foil does not cover the chip itself, or the solder pads.
|
||||
It's important that these are exposed to the heat.
|
||||
|
||||
|
@ -749,16 +749,16 @@ move freely. While in this state, the solder is fully melted and the chip can
|
|||
be lifted off with ease.
|
||||
|
||||
If you're doing it correctly, the chip will come off within 1 minute, like so:\
|
||||
![](/software/gnuboot/web/img/rpi/wson8/0003.jpg)
|
||||
![](/software/gnuboot/web/static/img/rpi/wson8/0003.jpg)
|
||||
|
||||
Add fresh solder to the pads, including the thermal pad:\
|
||||
![](/software/gnuboot/web/img/rpi/wson8/0004.jpg)
|
||||
![](/software/gnuboot/web/static/img/rpi/wson8/0004.jpg)
|
||||
|
||||
Now wick it out using a copper braid, dunked in rosin flux:\
|
||||
![](/software/gnuboot/web/img/rpi/wson8/0005.jpg)
|
||||
![](/software/gnuboot/web/static/img/rpi/wson8/0005.jpg)
|
||||
|
||||
Ensure that all of the solder is removed:\
|
||||
![](/software/gnuboot/web/img/rpi/wson8/0006.jpg)\
|
||||
![](/software/gnuboot/web/static/img/rpi/wson8/0006.jpg)\
|
||||
You will notice that one of the pads doesn't have all of the solder removed.
|
||||
The pad on the top-left in this photo. This is intentional, to show you a
|
||||
comparison for reference. The other pads are free of solder.
|
||||
|
@ -771,13 +771,13 @@ SPI flasher.
|
|||
|
||||
Align the new SOIC8, and tack it in the corner pins. Then solder it fully. Use
|
||||
lots of flux!\
|
||||
![](/software/gnuboot/web/img/rpi/wson8/0007.jpg)\
|
||||
![](/software/gnuboot/web/static/img/rpi/wson8/0007.jpg)\
|
||||
A T12-D08 tip is being used in this photo, but a mini chisel, mini hoof or
|
||||
knife (e.g. T12-K) tip would be ideal.
|
||||
|
||||
Ensure that all the joints are perfect. A good solder joint is shiny, and with
|
||||
concave fillets where the solder has flowed. Observe:\
|
||||
![](/software/gnuboot/web/img/rpi/wson8/0008.jpg)
|
||||
![](/software/gnuboot/web/static/img/rpi/wson8/0008.jpg)
|
||||
|
||||
After you're done, use a soft bristle brush and 99.9% isopropyl alcohol to
|
||||
break up the remaining flux, then soak up the flux using a cloth, while the
|
|
@ -82,94 +82,94 @@ The procedure
|
|||
-------------
|
||||
|
||||
Remove *all* screws, placing them in the order that you removed them:\
|
||||
![](/software/gnuboot/web/img/t400/0001.jpg) ![](/software/gnuboot/web/img/t400/0002.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0001.jpg) ![](/software/gnuboot/web/static/img/t400/0002.jpg)
|
||||
|
||||
Remove those three screws then remove the rear bezel:\
|
||||
![](/software/gnuboot/web/img/t400/0003.jpg) ![](/software/gnuboot/web/img/t400/0004.jpg)
|
||||
![](/software/gnuboot/web/img/t400/0005.jpg) ![](/software/gnuboot/web/img/t400/0006.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0003.jpg) ![](/software/gnuboot/web/static/img/t400/0004.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0005.jpg) ![](/software/gnuboot/web/static/img/t400/0006.jpg)
|
||||
|
||||
Remove the speakers:\
|
||||
![](/software/gnuboot/web/img/t400/0007.jpg) ![](/software/gnuboot/web/img/t400/0008.jpg)
|
||||
![](/software/gnuboot/web/img/t400/0009.jpg) ![](/software/gnuboot/web/img/t400/0010.jpg)
|
||||
![](/software/gnuboot/web/img/t400/0011.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0007.jpg) ![](/software/gnuboot/web/static/img/t400/0008.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0009.jpg) ![](/software/gnuboot/web/static/img/t400/0010.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0011.jpg)
|
||||
|
||||
Remove the wifi:\
|
||||
![](/software/gnuboot/web/img/t400/0012.jpg) ![](/software/gnuboot/web/img/t400/0013.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0012.jpg) ![](/software/gnuboot/web/static/img/t400/0013.jpg)
|
||||
|
||||
Remove this cable:\
|
||||
![](/software/gnuboot/web/img/t400/0014.jpg) ![](/software/gnuboot/web/img/t400/0015.jpg)
|
||||
![](/software/gnuboot/web/img/t400/0016.jpg) ![](/software/gnuboot/web/img/t400/0017.jpg)
|
||||
![](/software/gnuboot/web/img/t400/0018.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0014.jpg) ![](/software/gnuboot/web/static/img/t400/0015.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0016.jpg) ![](/software/gnuboot/web/static/img/t400/0017.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0018.jpg)
|
||||
|
||||
Unroute those antenna wires:\
|
||||
![](/software/gnuboot/web/img/t400/0019.jpg) ![](/software/gnuboot/web/img/t400/0020.jpg)
|
||||
![](/software/gnuboot/web/img/t400/0021.jpg) ![](/software/gnuboot/web/img/t400/0022.jpg)
|
||||
![](/software/gnuboot/web/img/t400/0023.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0019.jpg) ![](/software/gnuboot/web/static/img/t400/0020.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0021.jpg) ![](/software/gnuboot/web/static/img/t400/0022.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0023.jpg)
|
||||
|
||||
Remove the LCD assembly:\
|
||||
![](/software/gnuboot/web/img/t400/0024.jpg) ![](/software/gnuboot/web/img/t400/0025.jpg)
|
||||
![](/software/gnuboot/web/img/t400/0026.jpg) ![](/software/gnuboot/web/img/t400/0027.jpg)
|
||||
![](/software/gnuboot/web/img/t400/0028.jpg) ![](/software/gnuboot/web/img/t400/0029.jpg)
|
||||
![](/software/gnuboot/web/img/t400/0030.jpg) ![](/software/gnuboot/web/img/t400/0031.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0024.jpg) ![](/software/gnuboot/web/static/img/t400/0025.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0026.jpg) ![](/software/gnuboot/web/static/img/t400/0027.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0028.jpg) ![](/software/gnuboot/web/static/img/t400/0029.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0030.jpg) ![](/software/gnuboot/web/static/img/t400/0031.jpg)
|
||||
|
||||
Disconnect the NVRAM battery:\
|
||||
![](/software/gnuboot/web/img/t400/0033.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0033.jpg)
|
||||
|
||||
Disconnect the fan:\
|
||||
![](/software/gnuboot/web/img/t400/0034.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0034.jpg)
|
||||
|
||||
Unscrew these:\
|
||||
![](/software/gnuboot/web/img/t400/0035.jpg) ![](/software/gnuboot/web/img/t400/0036.jpg)
|
||||
![](/software/gnuboot/web/img/t400/0037.jpg) ![](/software/gnuboot/web/img/t400/0038.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0035.jpg) ![](/software/gnuboot/web/static/img/t400/0036.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0037.jpg) ![](/software/gnuboot/web/static/img/t400/0038.jpg)
|
||||
|
||||
Unscrew the heatsink, then lift it off:\
|
||||
![](/software/gnuboot/web/img/t400/0039.jpg) ![](/software/gnuboot/web/img/t400/0040.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0039.jpg) ![](/software/gnuboot/web/static/img/t400/0040.jpg)
|
||||
|
||||
Disconnect the power jack:\
|
||||
![](/software/gnuboot/web/img/t400/0041.jpg) ![](/software/gnuboot/web/img/t400/0042.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0041.jpg) ![](/software/gnuboot/web/static/img/t400/0042.jpg)
|
||||
|
||||
Loosen this:\
|
||||
![](/software/gnuboot/web/img/t400/0043.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0043.jpg)
|
||||
|
||||
Remove this:\
|
||||
![](/software/gnuboot/web/img/t400/0044.jpg) ![](/software/gnuboot/web/img/t400/0045.jpg)
|
||||
![](/software/gnuboot/web/img/t400/0046.jpg) ![](/software/gnuboot/web/img/t400/0047.jpg)
|
||||
![](/software/gnuboot/web/img/t400/0048.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0044.jpg) ![](/software/gnuboot/web/static/img/t400/0045.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0046.jpg) ![](/software/gnuboot/web/static/img/t400/0047.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0048.jpg)
|
||||
|
||||
Unscrew these:\
|
||||
![](/software/gnuboot/web/img/t400/0049.jpg) ![](/software/gnuboot/web/img/t400/0050.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0049.jpg) ![](/software/gnuboot/web/static/img/t400/0050.jpg)
|
||||
|
||||
Remove this:\
|
||||
![](/software/gnuboot/web/img/t400/0051.jpg) ![](/software/gnuboot/web/img/t400/0052.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0051.jpg) ![](/software/gnuboot/web/static/img/t400/0052.jpg)
|
||||
|
||||
Unscrew this:\
|
||||
![](/software/gnuboot/web/img/t400/0053.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0053.jpg)
|
||||
|
||||
Remove the motherboard (the cage is still attached) from the right hand
|
||||
side, then lift it out:\
|
||||
![](/software/gnuboot/web/img/t400/0054.jpg) ![](/software/gnuboot/web/img/t400/0055.jpg)
|
||||
![](/software/gnuboot/web/img/t400/0056.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0054.jpg) ![](/software/gnuboot/web/static/img/t400/0055.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0056.jpg)
|
||||
|
||||
Remove these screws, placing the screws in the same layout and marking
|
||||
each screw hole (so that you know what ones to put the screws back into
|
||||
later): ![](/software/gnuboot/web/img/t400/0057.jpg) ![](/software/gnuboot/web/img/t400/0058.jpg)
|
||||
![](/software/gnuboot/web/img/t400/0059.jpg) ![](/software/gnuboot/web/img/t400/0060.jpg)
|
||||
![](/software/gnuboot/web/img/t400/0061.jpg) ![](/software/gnuboot/web/img/t400/0062.jpg)
|
||||
later): ![](/software/gnuboot/web/static/img/t400/0057.jpg) ![](/software/gnuboot/web/static/img/t400/0058.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0059.jpg) ![](/software/gnuboot/web/static/img/t400/0060.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0061.jpg) ![](/software/gnuboot/web/static/img/t400/0062.jpg)
|
||||
|
||||
Separate the motherboard:\
|
||||
![](/software/gnuboot/web/img/t400/0063.jpg) ![](/software/gnuboot/web/img/t400/0064.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0063.jpg) ![](/software/gnuboot/web/static/img/t400/0064.jpg)
|
||||
|
||||
Connect your programmer, then connect GND and 3.3V\
|
||||
![](/software/gnuboot/web/img/t400/0065.jpg) ![](/software/gnuboot/web/img/t400/0066.jpg)
|
||||
![](/software/gnuboot/web/img/t400/0067.jpg) ![](/software/gnuboot/web/img/t400/0069.jpg)
|
||||
![](/software/gnuboot/web/img/t400/0070.jpg) ![](/software/gnuboot/web/img/t400/0071.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0065.jpg) ![](/software/gnuboot/web/static/img/t400/0066.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0067.jpg) ![](/software/gnuboot/web/static/img/t400/0069.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0070.jpg) ![](/software/gnuboot/web/static/img/t400/0071.jpg)
|
||||
|
||||
A dedicated 3.3V PSU was used to create this guide, but at ATX PSU is
|
||||
also fine:\
|
||||
![](/software/gnuboot/web/img/t400/0072.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0072.jpg)
|
||||
|
||||
Of course, make sure to turn on your PSU:\
|
||||
![](/software/gnuboot/web/img/x200/disassembly/0013.jpg)
|
||||
![](/software/gnuboot/web/static/img/x200/disassembly/0013.jpg)
|
||||
|
||||
Now, you should be ready to install libreboot.
|
||||
|
||||
|
@ -187,7 +187,7 @@ When re-installing the heatsink, you must first clean off all old paste
|
|||
with the alcohol/cloth. Then apply new paste. Arctic MX-4 is also much
|
||||
better than the default paste used on these systems.
|
||||
|
||||
![](/software/gnuboot/web/img/t400/paste.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/paste.jpg)
|
||||
|
||||
NOTE: the photo above is for illustration purposes only, and does not
|
||||
show how to properly apply the thermal paste. Other guides online detail
|
||||
|
@ -212,13 +212,13 @@ be useful for RAM compatibility info (note: coreboot raminit is
|
|||
different, so this page might be BS)
|
||||
|
||||
The following photo shows 8GiB (2x4GiB) of RAM installed:\
|
||||
![](/software/gnuboot/web/img/t400/memory.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/memory.jpg)
|
||||
|
||||
Boot it!
|
||||
--------
|
||||
|
||||
You should see something like this:
|
||||
|
||||
![](/software/gnuboot/web/img/t400/boot0.jpg) ![](/software/gnuboot/web/img/t400/boot1.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/boot0.jpg) ![](/software/gnuboot/web/static/img/t400/boot1.jpg)
|
||||
|
||||
Now [install GNU+Linux](../gnulinux/).
|
|
@ -119,109 +119,109 @@ The procedure
|
|||
-------------
|
||||
|
||||
Remove all screws:\
|
||||
![](/software/gnuboot/web/img/t500/0000.jpg)\
|
||||
![](/software/gnuboot/web/static/img/t500/0000.jpg)\
|
||||
It is also advisable to, throughout the disassembly, place any screws
|
||||
and/or components that you removed in the same layout or arrangement.
|
||||
The follow photos demonstrate this:\
|
||||
![](/software/gnuboot/web/img/t500/0001.jpg) ![](/software/gnuboot/web/img/t500/0002.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0001.jpg) ![](/software/gnuboot/web/static/img/t500/0002.jpg)
|
||||
|
||||
Remove the HDD/SSD and optical drive:\
|
||||
![](/software/gnuboot/web/img/t500/0003.jpg) ![](/software/gnuboot/web/img/t500/0004.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0003.jpg) ![](/software/gnuboot/web/static/img/t500/0004.jpg)
|
||||
|
||||
Remove the palm rest:\
|
||||
![](/software/gnuboot/web/img/t500/0005.jpg) ![](/software/gnuboot/web/img/t500/0006.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0005.jpg) ![](/software/gnuboot/web/static/img/t500/0006.jpg)
|
||||
|
||||
Remove the keyboard and rear bezel:\
|
||||
![](/software/gnuboot/web/img/t500/0007.jpg) ![](/software/gnuboot/web/img/t500/0008.jpg)
|
||||
![](/software/gnuboot/web/img/t500/0009.jpg) ![](/software/gnuboot/web/img/t500/0010.jpg)
|
||||
![](/software/gnuboot/web/img/t500/0011.jpg) ![](/software/gnuboot/web/img/t500/0012.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0007.jpg) ![](/software/gnuboot/web/static/img/t500/0008.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0009.jpg) ![](/software/gnuboot/web/static/img/t500/0010.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0011.jpg) ![](/software/gnuboot/web/static/img/t500/0012.jpg)
|
||||
|
||||
If you have a WWAN/3G card and/or sim card reader, remove them
|
||||
permanently. The WWAN-3G card has proprietary firmware inside; the
|
||||
technology is identical to what is used in mobile phones, so it can also
|
||||
track your movements:\
|
||||
![](/software/gnuboot/web/img/t500/0013.jpg) ![](/software/gnuboot/web/img/t500/0017.jpg)
|
||||
![](/software/gnuboot/web/img/t500/0018.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0013.jpg) ![](/software/gnuboot/web/static/img/t500/0017.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0018.jpg)
|
||||
|
||||
Remove this frame, and then remove the wifi chip:\
|
||||
![](/software/gnuboot/web/img/t500/0014.jpg) ![](/software/gnuboot/web/img/t500/0015.jpg)
|
||||
![](/software/gnuboot/web/img/t500/0016.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0014.jpg) ![](/software/gnuboot/web/static/img/t500/0015.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0016.jpg)
|
||||
|
||||
Remove the speakers:\
|
||||
![](/software/gnuboot/web/img/t500/0019.jpg) ![](/software/gnuboot/web/img/t500/0020.jpg)
|
||||
![](/software/gnuboot/web/img/t500/0021.jpg) ![](/software/gnuboot/web/img/t500/0022.jpg)
|
||||
![](/software/gnuboot/web/img/t500/0023.jpg) ![](/software/gnuboot/web/img/t500/0024.jpg)
|
||||
![](/software/gnuboot/web/img/t500/0025.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0019.jpg) ![](/software/gnuboot/web/static/img/t500/0020.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0021.jpg) ![](/software/gnuboot/web/static/img/t500/0022.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0023.jpg) ![](/software/gnuboot/web/static/img/t500/0024.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0025.jpg)
|
||||
|
||||
Remove the NVRAM battery (already removed in this photo):\
|
||||
![](/software/gnuboot/web/img/t500/0026.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0026.jpg)
|
||||
|
||||
When you re-assemble, you will be replacing the wifi chip with another.
|
||||
These two screws don't hold anything together, but they are included in
|
||||
your system because the screw holes for half-height cards are a
|
||||
different size, so use these if you will be installing a half-height
|
||||
card:\
|
||||
![](/software/gnuboot/web/img/t500/0027.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0027.jpg)
|
||||
|
||||
Unroute the antenna wires:\
|
||||
![](/software/gnuboot/web/img/t500/0028.jpg) ![](/software/gnuboot/web/img/t500/0029.jpg)
|
||||
![](/software/gnuboot/web/img/t500/0030.jpg) ![](/software/gnuboot/web/img/t500/0031.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0028.jpg) ![](/software/gnuboot/web/static/img/t500/0029.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0030.jpg) ![](/software/gnuboot/web/static/img/t500/0031.jpg)
|
||||
|
||||
Disconnect the LCD cable from the motherboard:\
|
||||
![](/software/gnuboot/web/img/t500/0032.jpg) ![](/software/gnuboot/web/img/t500/0033.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0032.jpg) ![](/software/gnuboot/web/static/img/t500/0033.jpg)
|
||||
|
||||
Remove the LCD assembly hinge screws, and then remove the LCD assembly:\
|
||||
![](/software/gnuboot/web/img/t500/0034.jpg) ![](/software/gnuboot/web/img/t500/0035.jpg)
|
||||
![](/software/gnuboot/web/img/t500/0036.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0034.jpg) ![](/software/gnuboot/web/static/img/t500/0035.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0036.jpg)
|
||||
|
||||
Remove the fan and heatsink:\
|
||||
![](/software/gnuboot/web/img/t500/0037.jpg) ![](/software/gnuboot/web/img/t500/0038.jpg)
|
||||
![](/software/gnuboot/web/img/t500/0039.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0037.jpg) ![](/software/gnuboot/web/static/img/t500/0038.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0039.jpg)
|
||||
|
||||
Remove this screw:\
|
||||
![](/software/gnuboot/web/img/t500/0040.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0040.jpg)
|
||||
|
||||
Remove these cables, keeping note of how and in what arrangement they
|
||||
are connected:\
|
||||
![](/software/gnuboot/web/img/t500/0041.jpg) ![](/software/gnuboot/web/img/t500/0042.jpg)
|
||||
![](/software/gnuboot/web/img/t500/0043.jpg) ![](/software/gnuboot/web/img/t500/0044.jpg)
|
||||
![](/software/gnuboot/web/img/t500/0045.jpg) ![](/software/gnuboot/web/img/t500/0046.jpg)
|
||||
![](/software/gnuboot/web/img/t500/0047.jpg) ![](/software/gnuboot/web/img/t500/0048.jpg)
|
||||
![](/software/gnuboot/web/img/t500/0049.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0041.jpg) ![](/software/gnuboot/web/static/img/t500/0042.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0043.jpg) ![](/software/gnuboot/web/static/img/t500/0044.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0045.jpg) ![](/software/gnuboot/web/static/img/t500/0046.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0047.jpg) ![](/software/gnuboot/web/static/img/t500/0048.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0049.jpg)
|
||||
|
||||
Disconnect the power jack:\
|
||||
![](/software/gnuboot/web/img/t500/0050.jpg) ![](/software/gnuboot/web/img/t500/0051.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0050.jpg) ![](/software/gnuboot/web/static/img/t500/0051.jpg)
|
||||
|
||||
Remove the motherboard and cage from the base (the marked hole is where
|
||||
those cables were routed through):\
|
||||
![](/software/gnuboot/web/img/t500/0052.jpg) ![](/software/gnuboot/web/img/t500/0053.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0052.jpg) ![](/software/gnuboot/web/static/img/t500/0053.jpg)
|
||||
|
||||
Remove all screws, arranging them in the same layout when placing the
|
||||
screws on a surface and marking each screw hole (this is to reduce the
|
||||
possibility of putting them back in the wrong holes):\
|
||||
![](/software/gnuboot/web/img/t500/0054.jpg) ![](/software/gnuboot/web/img/t500/0055.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0054.jpg) ![](/software/gnuboot/web/static/img/t500/0055.jpg)
|
||||
|
||||
Also remove this:\
|
||||
![](/software/gnuboot/web/img/t500/0056.jpg) ![](/software/gnuboot/web/img/t500/0057.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0056.jpg) ![](/software/gnuboot/web/static/img/t500/0057.jpg)
|
||||
|
||||
Separate the motherboard from the cage:\
|
||||
![](/software/gnuboot/web/img/t500/0058.jpg) ![](/software/gnuboot/web/img/t500/0059.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0058.jpg) ![](/software/gnuboot/web/static/img/t500/0059.jpg)
|
||||
|
||||
The flash chip is next to the memory slots. On this system, it was a
|
||||
SOIC-8 (4MiB or 32Mb) flash chip:\
|
||||
![](/software/gnuboot/web/img/t500/0060.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0060.jpg)
|
||||
|
||||
Connect your programmer, then connect GND and 3.3V\
|
||||
![](/software/gnuboot/web/img/t500/0061.jpg)\
|
||||
![](/software/gnuboot/web/img/t400/0067.jpg) ![](/software/gnuboot/web/img/t400/0069.jpg)
|
||||
![](/software/gnuboot/web/img/t400/0070.jpg) ![](/software/gnuboot/web/img/t400/0071.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0061.jpg)\
|
||||
![](/software/gnuboot/web/static/img/t400/0067.jpg) ![](/software/gnuboot/web/static/img/t400/0069.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0070.jpg) ![](/software/gnuboot/web/static/img/t400/0071.jpg)
|
||||
|
||||
A dedicated 3.3V PSU was used to create this guide, but at ATX PSU is
|
||||
also fine:\
|
||||
![](/software/gnuboot/web/img/t400/0072.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0072.jpg)
|
||||
|
||||
Of course, make sure to turn on your PSU:\
|
||||
![](/software/gnuboot/web/img/x200/disassembly/0013.jpg)
|
||||
![](/software/gnuboot/web/static/img/x200/disassembly/0013.jpg)
|
||||
|
||||
Now, you should be ready to install libreboot.
|
||||
|
||||
|
@ -281,7 +281,7 @@ Now flash it:
|
|||
|
||||
./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w path/to/libreboot/rom/image.rom -V
|
||||
|
||||
![](/software/gnuboot/web/img/x200/disassembly/0015.jpg)
|
||||
![](/software/gnuboot/web/static/img/x200/disassembly/0015.jpg)
|
||||
|
||||
You might see errors, but if it says `Verifying flash... VERIFIED` at
|
||||
the end, then it's flashed and should boot. If you see errors, try
|
||||
|
@ -313,7 +313,7 @@ When re-installing the heatsink, you must first clean off all old paste
|
|||
with the alcohol/cloth. Then apply new paste. Arctic MX-4 is also much
|
||||
better than the default paste used on these systems.
|
||||
|
||||
![](/software/gnuboot/web/img/t400/paste.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/paste.jpg)
|
||||
|
||||
NOTE: the photo above is for illustration purposes only, and does not
|
||||
show how to properly apply the thermal paste. Other guides online detail
|
||||
|
@ -337,7 +337,7 @@ whitelist of approved chips, and it will refuse to boot if you use an
|
|||
|
||||
The following photos show an Atheros AR5B95 being installed, to replace
|
||||
the Intel chip that this T500 came with:\
|
||||
![](/software/gnuboot/web/img/t400/0012.jpg) ![](/software/gnuboot/web/img/t400/ar5b95.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/0012.jpg) ![](/software/gnuboot/web/static/img/t400/ar5b95.jpg)
|
||||
|
||||
WWAN
|
||||
====
|
||||
|
@ -368,13 +368,13 @@ be useful for RAM compatibility info (note: coreboot raminit is
|
|||
different, so this page might be BS)
|
||||
|
||||
The following photo shows 8GiB (2x4GiB) of RAM installed:\
|
||||
![](/software/gnuboot/web/img/t400/memory.jpg)
|
||||
![](/software/gnuboot/web/static/img/t400/memory.jpg)
|
||||
|
||||
Boot it!
|
||||
--------
|
||||
|
||||
You should see something like this:
|
||||
|
||||
![](/software/gnuboot/web/img/t500/0062.jpg)
|
||||
![](/software/gnuboot/web/static/img/t500/0062.jpg)
|
||||
|
||||
Now [install GNU+Linux](../gnulinux/).
|
|
@ -41,7 +41,7 @@ you re-flash a second time and set it back to 0.
|
|||
In this case, unbricking is easy: reset BUC.TS to 0 by removing that
|
||||
yellow cmos coin (it's a battery) and putting it back after a minute or
|
||||
two:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0006.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0006.JPG)
|
||||
|
||||
\*Those dd commands should be applied to all newly compiled T60 ROM
|
||||
images (the ROM images in libreboot binary archives already have this
|
||||
|
@ -75,62 +75,62 @@ external hardware (see hardware requirements above) is needed which can
|
|||
flash the SPI chip (where libreboot resides).
|
||||
|
||||
Remove those screws and remove the HDD:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0001.JPG) ![](/software/gnuboot/web/img/t60_dev/0002.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0001.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0002.JPG)
|
||||
|
||||
Lift off the palm rest:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0003.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0003.JPG)
|
||||
|
||||
Lift up the keyboard, pull it back a bit, flip it over like that and
|
||||
then disconnect it from the board:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0004.JPG) ![](/software/gnuboot/web/img/t60_dev/0005.JPG)
|
||||
![](/software/gnuboot/web/img/t60_dev/0006.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0004.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0005.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0006.JPG)
|
||||
|
||||
Gently wedge both sides loose:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0007.JPG) ![](/software/gnuboot/web/img/t60_dev/0008.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0007.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0008.JPG)
|
||||
|
||||
Remove that cable from the position:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0009.JPG) ![](/software/gnuboot/web/img/t60_dev/0010.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0009.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0010.JPG)
|
||||
|
||||
Now remove that bezel. Remove wifi, nvram battery and speaker connector
|
||||
(also remove 56k modem, on the left of wifi):\
|
||||
![](/software/gnuboot/web/img/t60_dev/0011.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0011.JPG)
|
||||
|
||||
Remove those screws:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0012.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0012.JPG)
|
||||
|
||||
Disconnect the power jack:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0013.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0013.JPG)
|
||||
|
||||
Remove nvram battery:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0014.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0014.JPG)
|
||||
|
||||
Disconnect cable (for 56k modem) and disconnect the other cable:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0015.JPG) ![](/software/gnuboot/web/img/t60_dev/0016.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0015.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0016.JPG)
|
||||
|
||||
Disconnect speaker cable:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0017.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0017.JPG)
|
||||
|
||||
Disconnect the other end of the 56k modem cable:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0018.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0018.JPG)
|
||||
|
||||
Make sure you removed it:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0019.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0019.JPG)
|
||||
|
||||
Unscrew those:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0020.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0020.JPG)
|
||||
|
||||
Make sure you removed those:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0021.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0021.JPG)
|
||||
|
||||
Disconnect LCD cable from board:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0022.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0022.JPG)
|
||||
|
||||
Remove those screws then remove the LCD assembly:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0023.JPG) ![](/software/gnuboot/web/img/t60_dev/0024.JPG)
|
||||
![](/software/gnuboot/web/img/t60_dev/0025.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0023.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0024.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0025.JPG)
|
||||
|
||||
Once again, make sure you removed those:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0026.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0026.JPG)
|
||||
|
||||
Remove the shielding containing the motherboard, then flip it over.
|
||||
Remove these screws, placing them on a steady surface in the same layout
|
||||
|
@ -139,13 +139,13 @@ screw hole after removing the screw (a permanent marker pen will do),
|
|||
this is so that you have a point of reference when re-assembling the
|
||||
system:
|
||||
|
||||
![](/software/gnuboot/web/img/t60_dev/0027.JPG) ![](/software/gnuboot/web/img/t60_dev/0028.JPG)
|
||||
![](/software/gnuboot/web/img/t60_dev/0029.JPG) ![](/software/gnuboot/web/img/t60_dev/0031.JPG)
|
||||
![](/software/gnuboot/web/img/t60_dev/0032.JPG) ![](/software/gnuboot/web/img/t60_dev/0033.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0027.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0028.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0029.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0031.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0032.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0033.JPG)
|
||||
|
||||
This photo shows the flash chip, near the RAM, with numbers of pins written:
|
||||
|
||||
![](/software/gnuboot/web/img/t60_dev/0030.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0030.JPG)
|
||||
|
||||
Refer to the external flashing guide:
|
||||
|
||||
|
@ -174,48 +174,48 @@ complains about multiple flash chip definitions detected, then choose
|
|||
one of them following the instructions in the output.
|
||||
|
||||
Put those screws back:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0047.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0047.JPG)
|
||||
|
||||
Put it back into lower chassis:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0048.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0048.JPG)
|
||||
|
||||
Attach LCD and insert screws (also, attach the lcd cable to the board):\
|
||||
![](/software/gnuboot/web/img/t60_dev/0049.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0049.JPG)
|
||||
|
||||
Insert those screws:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0050.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0050.JPG)
|
||||
|
||||
On the CPU (and there is another chip south-east to it, sorry forgot to
|
||||
take pic) clean off the old thermal paste (with the alcohol) and apply
|
||||
new (Artic Silver 5 is good, others are good too) you should also clean
|
||||
the heatsink the same way\
|
||||
![](/software/gnuboot/web/img/t60_dev/0051.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0051.JPG)
|
||||
|
||||
Attach the heatsink and install the screws (also, make sure to install
|
||||
the AC jack as highlighted):\
|
||||
![](/software/gnuboot/web/img/t60_dev/0052.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0052.JPG)
|
||||
|
||||
Reinstall that upper bezel:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0053.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0053.JPG)
|
||||
|
||||
Do that:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0054.JPG) ![](/software/gnuboot/web/img/t60_dev/0055.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0054.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0055.JPG)
|
||||
|
||||
Re-attach modem, wifi, (wwan?), and all necessary cables. Sorry, forgot
|
||||
to take pics. Look at previous removal steps to see where they go back
|
||||
to.
|
||||
|
||||
Attach keyboard and install nvram battery:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0056.JPG) ![](/software/gnuboot/web/img/t60_dev/0057.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0056.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0057.JPG)
|
||||
|
||||
Place keyboard and (sorry, forgot to take pics) reinstall the palmrest
|
||||
and insert screws on the underside:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0058.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0058.JPG)
|
||||
|
||||
It lives!\
|
||||
![](/software/gnuboot/web/img/t60_dev/0071.JPG) ![](/software/gnuboot/web/img/t60_dev/0072.JPG)
|
||||
![](/software/gnuboot/web/img/t60_dev/0073.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0071.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0072.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0073.JPG)
|
||||
|
||||
Always stress test ('stress -c 2' and xsensors. below 90C is ok) when
|
||||
replacing cpu paste/heatsink:\
|
||||
![](/software/gnuboot/web/img/t60_dev/0074.JPG)
|
||||
![](/software/gnuboot/web/static/img/t60_dev/0074.JPG)
|
|
@ -35,25 +35,25 @@ Tablet (for those systems, you have to remove the motherboard
|
|||
completely, since the flash chip is on the other side of the board).
|
||||
|
||||
Remove these screws:\
|
||||
![](/software/gnuboot/web/img/x200/disassembly/0003.jpg)
|
||||
![](/software/gnuboot/web/static/img/x200/disassembly/0003.jpg)
|
||||
|
||||
Gently push the keyboard towards the screen, then lift it off, and optionally
|
||||
disconnect it from the board:\
|
||||
![](/software/gnuboot/web/img/x200/disassembly/0004.jpg)
|
||||
![](/software/gnuboot/web/img/x200/disassembly/0005.jpg)
|
||||
![](/software/gnuboot/web/static/img/x200/disassembly/0004.jpg)
|
||||
![](/software/gnuboot/web/static/img/x200/disassembly/0005.jpg)
|
||||
|
||||
Disconnect the cable of the fingerpring reader, and then pull up the palm rest,
|
||||
lifting up the left and right side of it:\
|
||||
![](/software/gnuboot/web/img/x200/disassembly/0006.1.jpg)
|
||||
![](/software/gnuboot/web/img/x200/disassembly/0006.jpg)
|
||||
![](/software/gnuboot/web/static/img/x200/disassembly/0006.1.jpg)
|
||||
![](/software/gnuboot/web/static/img/x200/disassembly/0006.jpg)
|
||||
|
||||
This shows the location of the flash chip, for both SOIC-8 and SOIC-16:\
|
||||
![](/software/gnuboot/web/img/x200/x200_soic16.jpg)
|
||||
![](/software/gnuboot/web/img/x200/x200_soic8.jpg)
|
||||
![](/software/gnuboot/web/static/img/x200/x200_soic16.jpg)
|
||||
![](/software/gnuboot/web/static/img/x200/x200_soic8.jpg)
|
||||
|
||||
Lift back the tape that covers a part of the flash chip, and then
|
||||
connect the clip:\
|
||||
![](/software/gnuboot/web/img/x200/disassembly/0008.jpg)
|
||||
![](/software/gnuboot/web/static/img/x200/disassembly/0008.jpg)
|
||||
|
||||
Now, you should be ready to install libreboot.
|
||||
|
||||
|
@ -78,14 +78,14 @@ Make sure that the RAM you buy is the 2Rx8 configuration when buying 4GiB sticks
|
|||
|
||||
In this photo, 8GiB of RAM (2x4GiB) is installed:
|
||||
|
||||
![](/software/gnuboot/web/img/x200/disassembly/0018.jpg)
|
||||
![](/software/gnuboot/web/static/img/x200/disassembly/0018.jpg)
|
||||
|
||||
Boot it!
|
||||
--------
|
||||
|
||||
You should see something like this:
|
||||
|
||||
![](/software/gnuboot/web/img/x200/disassembly/0019.jpg)
|
||||
![](/software/gnuboot/web/static/img/x200/disassembly/0019.jpg)
|
||||
|
||||
Now [install GNU+Linux](../gnulinux/).
|
||||
|
||||
|
@ -99,7 +99,7 @@ was proven correct; however, it is still useless in practise.
|
|||
|
||||
Look just above the 7 in TP37 (that's GPIO33):
|
||||
|
||||
![](/software/gnuboot/web/img/x200/gpio33_location.jpg)
|
||||
![](/software/gnuboot/web/static/img/x200/gpio33_location.jpg)
|
||||
|
||||
By default we would see this in lenovobios, when trying flashrom -p
|
||||
internal -w rom.rom:
|
|
@ -38,7 +38,7 @@ you re-flash a second time and set it back to 0.
|
|||
In this case, unbricking is easy: reset BUC.TS to 0 by removing that
|
||||
yellow cmos coin (it's a battery) and putting it back after a minute or
|
||||
two:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0004.jpg)\
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0004.jpg)\
|
||||
|
||||
\*Those dd commands should be applied to all newly compiled X60 ROM
|
||||
images (the ROM images in libreboot binary archives already have this
|
||||
|
@ -71,63 +71,63 @@ external hardware (see hardware requirements above) is needed which can
|
|||
flash the SPI chip (where libreboot resides).
|
||||
|
||||
Remove those screws:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0000.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0000.jpg)
|
||||
|
||||
Push the keyboard forward (carefully):\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0001.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0001.jpg)
|
||||
|
||||
Lift the keyboard up and disconnect it from the board:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0002.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0002.jpg)
|
||||
|
||||
Grab the right-hand side of the chassis and force it off (gently) and
|
||||
pry up the rest of the chassis:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0003.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0003.jpg)
|
||||
|
||||
You should now have this:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0004.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0004.jpg)
|
||||
|
||||
Disconnect the wifi antenna cables, the modem cable and the speaker:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0005.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0005.jpg)
|
||||
|
||||
Unroute the cables along their path, carefully lifting the tape that
|
||||
holds them in place. Then, disconnect the modem cable (other end) and
|
||||
power connection and unroute all the cables so that they dangle by the
|
||||
monitor hinge on the right-hand side:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0006.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0006.jpg)
|
||||
|
||||
Disconnect the monitor from the motherboard, and unroute the grey
|
||||
antenna cable, carefully lifting the tape that holds it into place:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0008.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0008.jpg)
|
||||
|
||||
Carefully lift the remaining tape and unroute the left antenna cable so
|
||||
that it is loose:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0009.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0009.jpg)
|
||||
|
||||
Remove the screw that is highlighted (do NOT remove the other one; it
|
||||
holds part of the heatsink (other side) into place):\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0011.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0011.jpg)
|
||||
|
||||
Remove those screws:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0012.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0012.jpg)
|
||||
|
||||
Carefully remove the plate, like so:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0013.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0013.jpg)
|
||||
|
||||
Remove the SATA connector:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0014.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0014.jpg)
|
||||
|
||||
Now remove the motherboard (gently) and cast the lcd/chassis aside:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0015.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0015.jpg)
|
||||
|
||||
Lift back that tape and hold it with something. Highlighted is the SPI
|
||||
flash chip:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0016.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0016.jpg)
|
||||
|
||||
Here is another photo, with the numbers of the pins written:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0017.jpg)\
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0017.jpg)\
|
||||
|
||||
This photo shows an SPI flasher used, with SOIC8 test clip:\
|
||||
![](/software/gnuboot/web/img/x60/th_bbb_flashing.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60/th_bbb_flashing.jpg)
|
||||
|
||||
Refer to the following guide:\
|
||||
[Externally rewrite 25xx NOR flash via SPI protocol](spi.html)
|
||||
|
@ -156,74 +156,74 @@ one of them following the instructions in the output.
|
|||
|
||||
Remove the programmer and put it away somewhere. Put back the tape and
|
||||
press firmly over it:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0026.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0026.jpg)
|
||||
|
||||
Your empty chassis:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0027.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0027.jpg)
|
||||
|
||||
Put the motherboard back in:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0028.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0028.jpg)
|
||||
|
||||
Reconnect SATA:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0029.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0029.jpg)
|
||||
|
||||
Put the plate back and re-insert those screws:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0030.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0030.jpg)
|
||||
|
||||
Re-route that antenna cable around the fan and apply the tape:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0031.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0031.jpg)
|
||||
|
||||
Route the cable here and then (not shown, due to error on my part)
|
||||
reconnect the monitor cable to the motherboard and re-insert the
|
||||
screws:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0032.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0032.jpg)
|
||||
|
||||
Re-insert that screw:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0033.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0033.jpg)
|
||||
|
||||
Route the black antenna cable like so:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0034.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0034.jpg)
|
||||
|
||||
Tuck it in neatly like so:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0035.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0035.jpg)
|
||||
|
||||
Route the modem cable like so:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0036.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0036.jpg)
|
||||
|
||||
Connect modem cable to board and tuck it in neatly like so:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0037.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0037.jpg)
|
||||
|
||||
Route the power connection and connect it to the board like so:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0038.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0038.jpg)
|
||||
|
||||
Route the antenna and modem cables neatly like so:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0039.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0039.jpg)
|
||||
|
||||
Connect the wifi antenna cables. At the start of the tutorial, this
|
||||
system had an Intel wifi chip. Here you see I've replaced it with an
|
||||
Atheros AR5B95 (supports 802.11n and can be used without blobs):\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0040.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0040.jpg)
|
||||
|
||||
Connect the modem cable:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0041.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0041.jpg)
|
||||
|
||||
Connect the speaker:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0042.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0042.jpg)
|
||||
|
||||
You should now have this:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0043.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0043.jpg)
|
||||
|
||||
Re-connect the upper chassis:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0044.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0044.jpg)
|
||||
|
||||
Re-connect the keyboard:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0045.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0045.jpg)
|
||||
|
||||
Re-insert the screws that you removed earlier:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0046.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0046.jpg)
|
||||
|
||||
Power on!\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0047.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0047.jpg)
|
||||
|
||||
Operating system:\
|
||||
![](/software/gnuboot/web/img/x60_unbrick/0049.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60_unbrick/0049.jpg)
|
|
@ -38,7 +38,7 @@ you re-flash a second time and set it back to 0.
|
|||
In this case, unbricking is easy: reset BUC.TS to 0 by removing that
|
||||
yellow cmos coin (it's a battery) and putting it back after a minute or
|
||||
two:\
|
||||
![](/software/gnuboot/web/img/x60t_unbrick/0008.JPG)\
|
||||
![](/software/gnuboot/web/static/img/x60t_unbrick/0008.JPG)\
|
||||
|
||||
\*Those dd commands should be applied to all newly compiled X60 ROM
|
||||
images (the ROM images in libreboot binary archives already have this
|
||||
|
@ -70,43 +70,43 @@ you can't boot the system, making this difficult. In this situation,
|
|||
external hardware (see hardware requirements above) is needed which can
|
||||
flash the SPI chip (where libreboot resides).
|
||||
|
||||
![](/software/gnuboot/web/img/x60t_unbrick/0000.JPG)
|
||||
![](/software/gnuboot/web/static/img/x60t_unbrick/0000.JPG)
|
||||
|
||||
Remove those screws:\
|
||||
![](/software/gnuboot/web/img/x60t_unbrick/0001.JPG)
|
||||
![](/software/gnuboot/web/static/img/x60t_unbrick/0001.JPG)
|
||||
|
||||
Remove the HDD:\
|
||||
![](/software/gnuboot/web/img/x60t_unbrick/0002.JPG)
|
||||
![](/software/gnuboot/web/static/img/x60t_unbrick/0002.JPG)
|
||||
|
||||
Push keyboard forward to loosen it:\
|
||||
![](/software/gnuboot/web/img/x60t_unbrick/0003.JPG)
|
||||
![](/software/gnuboot/web/static/img/x60t_unbrick/0003.JPG)
|
||||
|
||||
Lift:\
|
||||
![](/software/gnuboot/web/img/x60t_unbrick/0004.JPG)
|
||||
![](/software/gnuboot/web/static/img/x60t_unbrick/0004.JPG)
|
||||
|
||||
Remove those:\
|
||||
![](/software/gnuboot/web/img/x60t_unbrick/0005.JPG)
|
||||
![](/software/gnuboot/web/static/img/x60t_unbrick/0005.JPG)
|
||||
|
||||
![](/software/gnuboot/web/img/x60t_unbrick/0006.JPG)
|
||||
![](/software/gnuboot/web/static/img/x60t_unbrick/0006.JPG)
|
||||
|
||||
Also remove that (marked) and unroute the antenna cables:\
|
||||
![](/software/gnuboot/web/img/x60t_unbrick/0007.JPG)
|
||||
![](/software/gnuboot/web/static/img/x60t_unbrick/0007.JPG)
|
||||
|
||||
For some X60T laptops, you have to unroute those too:\
|
||||
![](/software/gnuboot/web/img/x60t_unbrick/0010.JPG)
|
||||
![](/software/gnuboot/web/static/img/x60t_unbrick/0010.JPG)
|
||||
|
||||
Remove the LCD extend board screws. Also remove those screws (see blue
|
||||
marks) and remove/unroute the cables and remove the metal plate:\
|
||||
![](/software/gnuboot/web/img/x60t_unbrick/0008.JPG)
|
||||
![](/software/gnuboot/web/static/img/x60t_unbrick/0008.JPG)
|
||||
|
||||
Remove that screw and then remove the board:\
|
||||
![](/software/gnuboot/web/img/x60t_unbrick/0009.JPG)
|
||||
![](/software/gnuboot/web/static/img/x60t_unbrick/0009.JPG)
|
||||
|
||||
This photo shows the flash location:\
|
||||
![](/software/gnuboot/web/img/x60t_unbrick/0011.JPG)
|
||||
![](/software/gnuboot/web/static/img/x60t_unbrick/0011.JPG)
|
||||
|
||||
This photo shows an SPI flasher used, with SOIC8 test clip:\
|
||||
![](/software/gnuboot/web/img/x60/th_bbb_flashing.jpg)
|
||||
![](/software/gnuboot/web/static/img/x60/th_bbb_flashing.jpg)
|
||||
|
||||
Refer to the external flashing guide:
|
||||
|
|
@ -832,18 +832,18 @@ You can find photos of various chip types on the following page:\
|
|||
Who did the logo?
|
||||
----------------------------------------------------------------
|
||||
|
||||
See the [license information](/software/gnuboot/web/img/logo/license.html).
|
||||
See the [license information](/software/gnuboot/web/static/img/logo/license.html).
|
||||
|
||||
The Libreboot logo is available as a [bitmap](/software/gnuboot/web/img/logo/logo.png), a
|
||||
[vector](/software/gnuboot/web/img/logo/logo.svg), or a [greyscale vector](/software/gnuboot/web/img/logo/logo_grey.svg).
|
||||
The Libreboot logo is available as a [bitmap](/software/gnuboot/web/static/img/logo/logo.png), a
|
||||
[vector](/software/gnuboot/web/static/img/logo/logo.svg), or a [greyscale vector](/software/gnuboot/web/static/img/logo/logo_grey.svg).
|
||||
|
||||
Libreboot Inside stickers are available as a
|
||||
[PDF](/software/gnuboot/web/img/logo/stickers/libreboot-inside-simple-bold-1.60cmx2.00cm-diecut-3.pdf) or
|
||||
[PDF](/software/gnuboot/web/static/img/logo/stickers/libreboot-inside-simple-bold-1.60cmx2.00cm-diecut-3.pdf) or
|
||||
a
|
||||
[vector](/software/gnuboot/web/img/logo/stickers/libreboot-inside-simple-bold-1.60cmx2.00cm-diecut-3.svg)
|
||||
[vector](/software/gnuboot/web/static/img/logo/stickers/libreboot-inside-simple-bold-1.60cmx2.00cm-diecut-3.svg)
|
||||
|
||||
You can find all of the available logos by browsing this directory:\
|
||||
</software/gnuboot/web/img/logo/>
|
||||
</software/gnuboot/web/static/img/logo/>
|
||||
|
||||
What other firmware exists outside of GNU Boot?
|
||||
==================================================
|
|
@ -0,0 +1,11 @@
|
|||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
* [Edit this page](/software/gnuboot/web/git.html)
|
||||
* [License](/software/gnuboot/web/license.html)
|
||||
* [Template](/software/gnuboot/web/template-license.html)
|
||||
* [Logo](/software/gnuboot/web/logo-license.html)
|
||||
* [Authors](/software/gnuboot/web/contrib.html)
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
|
@ -1,21 +1,7 @@
|
|||
.warning_banner {
|
||||
background:#000000;
|
||||
color:#ffffff;
|
||||
margin:0 auto;
|
||||
font-family:sans-serif;
|
||||
line-height:5
|
||||
}
|
||||
|
||||
html{
|
||||
background:#fff;
|
||||
color:#222;
|
||||
}
|
||||
|
||||
table, th, td {
|
||||
border: solid;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.date,.author,.h a{display:none}
|
||||
code,pre,#TOC,a:hover{background:#eee}
|
||||
:not(p),a:hover {
|
|
@ -16,4 +16,4 @@ A copy of this license (CC-0 1.0) can be found at:
|
|||
The font on the sticker designs is `lato`. Install this, otherwise the vectors
|
||||
won't look correct for the text.
|
||||
|
||||
You can see the logo files here: </software/gnuboot/web/img/logo/>
|
||||
You can see the logo files here: </software/gnuboot/web/static/img/logo/>
|
|
@ -0,0 +1,27 @@
|
|||
gnuboot-december-2023.html
|
||||
translations.html
|
||||
libreboot20211122.html
|
||||
libreboot20210522.html
|
||||
libreboot20160907.html
|
||||
libreboot20160902.html
|
||||
libreboot20160818.html
|
||||
libreboot20150518.html
|
||||
libreboot20150208.html
|
||||
libreboot20150126.html
|
||||
libreboot20150124.html
|
||||
libreboot20141015.html
|
||||
libreboot20140911.html
|
||||
libreboot20140903.html
|
||||
libreboot20140811.html
|
||||
libreboot20140729.html
|
||||
libreboot20140720.html
|
||||
libreboot20140716.html
|
||||
libreboot20140711.html
|
||||
libreboot20140622.html
|
||||
libreboot20140611.html
|
||||
libreboot20140605.html
|
||||
libreboot20140309.html
|
||||
libreboot20140221.html
|
||||
libreboot20131214.html
|
||||
libreboot20131213.html
|
||||
libreboot20131212.html
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue