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/
|
/tmp/
|
||||||
/version
|
/version
|
||||||
/versiondate
|
/versiondate
|
||||||
|
/website/site/**
|
||||||
Makefile
|
Makefile
|
||||||
Makefile.in
|
Makefile.in
|
||||||
aclocal.m4
|
aclocal.m4
|
||||||
|
@ -41,3 +42,4 @@ config.status
|
||||||
configure
|
configure
|
||||||
install-sh
|
install-sh
|
||||||
missing
|
missing
|
||||||
|
/web/
|
||||||
|
|
|
@ -21,18 +21,18 @@
|
||||||
distclean_website()
|
distclean_website()
|
||||||
{
|
{
|
||||||
rm -rf \
|
rm -rf \
|
||||||
website-build/aclocal.m4 \
|
website/aclocal.m4 \
|
||||||
website-build/autom4te.cache/ \
|
website/autom4te.cache/ \
|
||||||
website-build/config.log \
|
website/config.log \
|
||||||
website-build/config.status \
|
website/config.status \
|
||||||
website-build/configure \
|
website/configure \
|
||||||
website-build/deploy/ \
|
website/deploy/ \
|
||||||
website-build/install-sh \
|
website/install-sh \
|
||||||
website-build/Makefile \
|
website/Makefile \
|
||||||
website-build/Makefile.in \
|
website/Makefile.in \
|
||||||
website-build/missing \
|
website/missing \
|
||||||
website-build/untitled/ \
|
website/untitled/ \
|
||||||
website-build/website.tar.gz
|
website/website.tar.gz
|
||||||
}
|
}
|
||||||
|
|
||||||
# shellcheck disable=SC2068
|
# 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
|
# Release website source and transformed files
|
||||||
install -d ../release
|
install -d ../release
|
||||||
install -m 644 website.tar.gz ../release/gnuboot-website-"${version}".tar.gz
|
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
|
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
|
/aclocal.m4
|
||||||
|
/autom4te.cache/
|
||||||
/config.log
|
/config.log
|
||||||
/config.status
|
/config.status
|
||||||
/configure
|
/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
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -16,36 +16,17 @@
|
||||||
|
|
||||||
all: help
|
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
|
if WANT_GUIX
|
||||||
build:
|
build:
|
||||||
guix time-machine \
|
guix time-machine \
|
||||||
--commit=c15a1cd88f80a90437f4b0159f22dfc84b9e6851 \
|
--commit=v1.4.0 \
|
||||||
-- shell \
|
-- shell \
|
||||||
--container \
|
haunt
|
||||||
--network \
|
|
||||||
--emulate-fhs \
|
|
||||||
$(GUIX_SHARE_OPTIONS) \
|
|
||||||
bash \
|
|
||||||
coreutils \
|
|
||||||
findutils \
|
|
||||||
git \
|
|
||||||
grep \
|
|
||||||
nss-certs \
|
|
||||||
pandoc \
|
|
||||||
sed \
|
|
||||||
-- \
|
-- \
|
||||||
./build.sh $(BUILD_OPTIONS)
|
haunt build
|
||||||
else
|
else
|
||||||
build:
|
build:
|
||||||
./build.sh $(BUILD_OPTIONS)
|
haunt build
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if WANT_GUIX
|
if WANT_GUIX
|
||||||
|
@ -77,27 +58,25 @@ help:
|
||||||
"website.tar.gz # Create a tarball of the website"
|
"website.tar.gz # Create a tarball of the website"
|
||||||
|
|
||||||
if WANT_GUIX
|
if WANT_GUIX
|
||||||
serve: website.tar.gz
|
serve: build
|
||||||
guix shell \
|
guix shell \
|
||||||
--container \
|
--container \
|
||||||
--network \
|
--network \
|
||||||
--emulate-fhs \
|
--emulate-fhs \
|
||||||
bash \
|
bash \
|
||||||
coreutils \
|
coreutils \
|
||||||
gzip \
|
|
||||||
lighttpd \
|
lighttpd \
|
||||||
sed \
|
sed \
|
||||||
tar \
|
|
||||||
-- \
|
-- \
|
||||||
./serve.sh website.tar.gz $(LIGHTTPD_PORT)
|
./serve.sh $(LIGHTTPD_PORT)
|
||||||
else
|
else
|
||||||
if WANT_LIGHTTPD
|
if WANT_LIGHTTPD
|
||||||
serve: website.tar.gz
|
serve: build
|
||||||
./serve.sh website.tar.gz $(LIGHTTPD_PORT)
|
./serve.sh $(LIGHTTPD_PORT)
|
||||||
else
|
else
|
||||||
serve:
|
serve:
|
||||||
@printf "%s %s\n" \
|
@printf "%s %s\n" \
|
||||||
"The test target is disabled." \
|
"The serve target is disabled." \
|
||||||
"To enable it, run './configure --enable-lighttpd'."
|
"To enable it, run './configure --enable-lighttpd'."
|
||||||
@false
|
@false
|
||||||
endif
|
endif
|
||||||
|
@ -124,6 +103,4 @@ website.tar.gz: build
|
||||||
--sort=name \
|
--sort=name \
|
||||||
-czf \
|
-czf \
|
||||||
website.tar.gz \
|
website.tar.gz \
|
||||||
untitled/www/lbwww/site \
|
site
|
||||||
index.html \
|
|
||||||
--transform="s#untitled/www/lbwww/site#web#"
|
|
|
@ -68,6 +68,8 @@ run_tests()
|
||||||
{
|
{
|
||||||
test_pattern "html test" "${tarball}" '\.html$'
|
test_pattern "html test" "${tarball}" '\.html$'
|
||||||
test_pattern "jpg test" "${tarball}" '\.jpg$'
|
test_pattern "jpg test" "${tarball}" '\.jpg$'
|
||||||
|
test_pattern "jpg path" "${tarball}" \
|
||||||
|
'web\/img\/d945gclf\/20160923_141521\.jpg$'
|
||||||
test_savannah_cvs_constraints \
|
test_savannah_cvs_constraints \
|
||||||
"Savannah CVS: Only /index.html in root directory" \
|
"Savannah CVS: Only /index.html in root directory" \
|
||||||
"${tarball}"
|
"${tarball}"
|
|
@ -54,19 +54,6 @@ AC_ARG_WITH([rsync-destination],
|
||||||
[RSYNC_DESTINATION=$withval],
|
[RSYNC_DESTINATION=$withval],
|
||||||
[RSYNC_DESTINATION=wwwcvs@gnu.org:/var/www/software/gnuboot])
|
[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
|
# Check dependencies
|
||||||
AC_CHECK_PROG([REALPATH], [realpath], [realpath])
|
AC_CHECK_PROG([REALPATH], [realpath], [realpath])
|
||||||
AC_CHECK_PROG([TAR], [tar], [tar])
|
AC_CHECK_PROG([TAR], [tar], [tar])
|
||||||
|
@ -75,42 +62,18 @@ AS_IF([test x"$guix" = x"yes"],
|
||||||
[AC_CHECK_PROG([FOUND_GUIX], [guix], [guix])
|
[AC_CHECK_PROG([FOUND_GUIX], [guix], [guix])
|
||||||
AS_IF([test x"$FOUND_GUIX" = x""],
|
AS_IF([test x"$FOUND_GUIX" = x""],
|
||||||
[AC_MSG_ERROR(
|
[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"$guix" != x"yes"],
|
||||||
AS_IF([test x"$FOUND_CAT" = x""],
|
[AC_CHECK_PROG([FOUND_GREP], [grep], [grep])
|
||||||
[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"$FOUND_GREP" = x""],
|
AS_IF([test x"$FOUND_GREP" = x""],
|
||||||
[AC_MSG_ERROR(
|
[AC_MSG_ERROR(
|
||||||
[grep was not found in PATH ($PATH)])])
|
[grep was not found in PATH ($PATH)])])
|
||||||
|
|
||||||
AC_CHECK_PROG([FOUND_HEAD], [head], [head])
|
AC_CHECK_PROG([FOUND_HAUNT], [haunt], [haunt])
|
||||||
AS_IF([test x"$FOUND_HEAD" = x""],
|
AS_IF([test x"$FOUND_HAUNT" = x""],
|
||||||
[AC_MSG_ERROR(
|
[AC_MSG_ERROR(
|
||||||
[head was not found in PATH ($PATH)])])
|
[haunt 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)])])
|
|
||||||
|
|
||||||
AC_CHECK_PROG([FOUND_GZIP], [gzip], [gzip])
|
AC_CHECK_PROG([FOUND_GZIP], [gzip], [gzip])
|
||||||
AS_IF([test x"$FOUND_GZIP" = x""],
|
AS_IF([test x"$FOUND_GZIP" = x""],
|
||||||
|
@ -132,16 +95,6 @@ AS_IF([test x"$guix" = x"yes"],
|
||||||
[AC_MSG_ERROR(
|
[AC_MSG_ERROR(
|
||||||
[mkdir was not found in PATH ($PATH)])])
|
[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])
|
AC_CHECK_PROG([FOUND_RM], [rm], [rm])
|
||||||
AS_IF([test x"$FOUND_RM" = x""],
|
AS_IF([test x"$FOUND_RM" = x""],
|
||||||
[AC_MSG_ERROR(
|
[AC_MSG_ERROR(
|
||||||
|
@ -152,11 +105,6 @@ AS_IF([test x"$guix" = x"yes"],
|
||||||
[AC_MSG_ERROR(
|
[AC_MSG_ERROR(
|
||||||
[sed was not found in PATH ($PATH)])])
|
[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])
|
AC_CHECK_PROG([FOUND_TEST], [test], [test])
|
||||||
AS_IF([test x"$FOUND_TEST" = x""],
|
AS_IF([test x"$FOUND_TEST" = x""],
|
||||||
[AC_MSG_ERROR(
|
[AC_MSG_ERROR(
|
||||||
|
@ -165,9 +113,14 @@ AS_IF([test x"$guix" = x"yes"],
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
AS_ECHO(["Configuration options:"])
|
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_IF([test x"$guix" = x"yes"],
|
||||||
[AS_ECHO([" UNTITLED_PATH: $UNTITLED_PATH"])])
|
[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.bind = "localhost"
|
||||||
server.port = LIGHTTPD_PORT
|
server.port = LIGHTTPD_PORT
|
||||||
server.document-root = "TMPDIR"
|
server.document-root = var.CWD + "/site/"
|
||||||
dir-listing.activate = "enable"
|
dir-listing.activate = "enable"
|
||||||
index-file.names = ( "index.html" )
|
index-file.names = ( "index.html" )
|
||||||
mimetype.assign = (
|
mimetype.assign = (
|
|
@ -45,11 +45,11 @@ Remarks about vendor bios:
|
||||||
flashed there is no problem to update the firmware internally
|
flashed there is no problem to update the firmware internally
|
||||||
|
|
||||||
Here is an image of the board:\
|
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:\
|
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\
|
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
|
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
|
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
|
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\
|
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/static/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_141614.jpg){width="50%" height="50%"}\
|
||||||
Make sure that new one has same wiring\
|
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\
|
This is a new one, with bearing and maintenable\
|
||||||
![](/software/gnuboot/web/img/d945gclf/20160923_141738.jpg){width="50%" height="50%"}
|
![](/software/gnuboot/web/static/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_141814.jpg){width="50%" height="50%"}\
|
||||||
Now remove the both coolers rotating them a bit, slowly, then clean both
|
Now remove the both coolers rotating them a bit, slowly, then clean both
|
||||||
silicons and both coolers (removing cmos battery first is recommended)\
|
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
|
Put a little bit of non conductive thermal paste on both silicons (only
|
||||||
cpu silicon iis shown on that image)\
|
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
|
Before assembling new fan, some need new longer screws, make sure having
|
||||||
these (on the left is original one, too short for new fan)\
|
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\
|
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
|
Finally assemle both coolers on both chips, do not forget put in the CPU
|
||||||
fan connector back, and you are done.
|
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
|
It has a 25XX NOR flash (SPI protocol) in a P-DIP 8 socket, which looks like
|
||||||
this:
|
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.
|
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
|
2. Otherwise you can read the white label that is often found on the
|
||||||
motherboard under the memory sticks:
|
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
|
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
|
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:
|
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. [How to remove the
|
||||||
motherboard](https://www.ifixit.com/Guide/MacBook+Core+2+Duo+PRAM+Battery+Replacement/529).
|
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:
|
outputs from the X200:
|
||||||
|
|
||||||
- BIOS 3.15, EC 1.06
|
- 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.
|
located next to the SPI flash chip, circled in red in the picture below.
|
||||||
It has to be removed.
|
It has to be removed.
|
||||||
|
|
||||||
[![Screws](/software/gnuboot/web/img/c201/screws.jpg)](/software/gnuboot/web/img/c201/screws.jpg) [![WP
|
[![Screws](/software/gnuboot/web/static/img/c201/screws.jpg)](/software/gnuboot/web/static/img/c201/screws.jpg) [![WP
|
||||||
screw](/software/gnuboot/web/img/c201/wp-screw.jpg)](/software/gnuboot/web/img/c201/wp-screw.jpg)
|
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
|
The write protect screw can be put back in place later, when the device
|
||||||
is known to be in a working state.
|
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.
|
the right and has colorful cables, as shown on the picture below.
|
||||||
|
|
||||||
[![SPI flash
|
[![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
|
[![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
|
All the files from the `veyron_speedy` release (or build) have to be
|
||||||
transferred to the host.
|
transferred to the host.
|
|
@ -17,4 +17,4 @@ Flashing instructions {#clip}
|
||||||
Refer to [spi.html](spi.html) for how to re-flash externally.
|
Refer to [spi.html](spi.html) for how to re-flash externally.
|
||||||
|
|
||||||
Here is an image of the flash chip:\
|
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.
|
connection to the CS pin. This is to protect from over-current.
|
||||||
|
|
||||||
Here is an image of the flash chip:\
|
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
|
Internal flashing is possible. Boot with the proprietary BIOS and
|
||||||
GNU+Linux. There are 2 flash chips (one is backup).
|
GNU+Linux. There are 2 flash chips (one is backup).
|
|
@ -307,7 +307,7 @@ Early notes {#early_notes}
|
||||||
of disabling the descriptor.
|
of disabling the descriptor.
|
||||||
- **and the location of GPIO33 on the x200s: (was an external link.
|
- **and the location of GPIO33 on the x200s: (was an external link.
|
||||||
Putting it here instead)**
|
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
|
it's above the number 7 on TP37 (which is above the big intel chip
|
||||||
at the bottom)
|
at the bottom)
|
||||||
- The ME datasheet may not be for the mobile chipsets but it doesn't
|
- The ME datasheet may not be for the mobile chipsets but it doesn't
|
|
@ -81,82 +81,82 @@ Disassembly
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
Remove all screws:\
|
Remove all screws:\
|
||||||
![](/software/gnuboot/web/img/r400/0000.jpg)\
|
![](/software/gnuboot/web/static/img/r400/0000.jpg)\
|
||||||
Remove the HDD and optical drive:\
|
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:\
|
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:\
|
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:\
|
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
|
Remove the speaker screws, but don't remove the speakers yet (just set
|
||||||
them loose):\
|
them loose):\
|
||||||
![](/software/gnuboot/web/img/r400/0008.jpg) ![](/software/gnuboot/web/img/r400/0009.jpg)
|
![](/software/gnuboot/web/static/img/r400/0008.jpg) ![](/software/gnuboot/web/static/img/r400/0009.jpg)
|
||||||
![](/software/gnuboot/web/img/r400/0010.jpg)
|
![](/software/gnuboot/web/static/img/r400/0010.jpg)
|
||||||
|
|
||||||
Remove these screws, and then remove the metal plate:\
|
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/static/img/r400/0011.jpg) ![](/software/gnuboot/web/static/img/r400/0012.jpg)
|
||||||
![](/software/gnuboot/web/img/r400/0013.jpg)
|
![](/software/gnuboot/web/static/img/r400/0013.jpg)
|
||||||
|
|
||||||
Remove the antennas from the wifi card, and then start unrouting them:\
|
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/static/img/r400/0014.jpg) ![](/software/gnuboot/web/static/img/r400/0015.jpg)
|
||||||
![](/software/gnuboot/web/img/r400/0016.jpg) ![](/software/gnuboot/web/img/r400/0017.jpg)
|
![](/software/gnuboot/web/static/img/r400/0016.jpg) ![](/software/gnuboot/web/static/img/r400/0017.jpg)
|
||||||
![](/software/gnuboot/web/img/r400/0018.jpg) ![](/software/gnuboot/web/img/r400/0019.jpg)
|
![](/software/gnuboot/web/static/img/r400/0018.jpg) ![](/software/gnuboot/web/static/img/r400/0019.jpg)
|
||||||
|
|
||||||
Disconnect the LCD cable from the motherboard:\
|
Disconnect the LCD cable from the motherboard:\
|
||||||
![](/software/gnuboot/web/img/r400/0020.jpg) ![](/software/gnuboot/web/img/r400/0021.jpg)
|
![](/software/gnuboot/web/static/img/r400/0020.jpg) ![](/software/gnuboot/web/static/img/r400/0021.jpg)
|
||||||
![](/software/gnuboot/web/img/r400/0022.jpg) ![](/software/gnuboot/web/img/r400/0023.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:\
|
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/static/img/r400/0024.jpg) ![](/software/gnuboot/web/static/img/r400/0025.jpg)
|
||||||
![](/software/gnuboot/web/img/r400/0026.jpg) ![](/software/gnuboot/web/img/r400/0027.jpg)
|
![](/software/gnuboot/web/static/img/r400/0026.jpg) ![](/software/gnuboot/web/static/img/r400/0027.jpg)
|
||||||
|
|
||||||
Remove this:\
|
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):\
|
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/static/img/r400/0030.jpg) ![](/software/gnuboot/web/static/img/r400/0031.jpg)
|
||||||
![](/software/gnuboot/web/img/r400/0032.jpg) ![](/software/gnuboot/web/img/r400/0033.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:\
|
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
|
Remove the heatsink screws, remove the fan and then remove the
|
||||||
heatsink/fan:\
|
heatsink/fan:\
|
||||||
![](/software/gnuboot/web/img/r400/0035.jpg) ![](/software/gnuboot/web/img/r400/0036.jpg)
|
![](/software/gnuboot/web/static/img/r400/0035.jpg) ![](/software/gnuboot/web/static/img/r400/0036.jpg)
|
||||||
![](/software/gnuboot/web/img/r400/0037.jpg) ![](/software/gnuboot/web/img/r400/0038.jpg)
|
![](/software/gnuboot/web/static/img/r400/0037.jpg) ![](/software/gnuboot/web/static/img/r400/0038.jpg)
|
||||||
|
|
||||||
Remove the NVRAM battery:\
|
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:\
|
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:\
|
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:\
|
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:\
|
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
|
Lift the motherboard (which is still inside the cage) from the side on
|
||||||
the right, removing it completely:\
|
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
|
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
|
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)
|
that they were in before removal: ![](/software/gnuboot/web/static/img/r400/0049.jpg)
|
||||||
![](/software/gnuboot/web/img/r400/0050.jpg)
|
![](/software/gnuboot/web/static/img/r400/0050.jpg)
|
||||||
|
|
||||||
Remove the motherboard from the cage, and the SPI flash chip will be
|
Remove the motherboard from the cage, and the SPI flash chip will be
|
||||||
next to the memory slots:\
|
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.
|
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
|
with the alcohol/cloth. Then apply new paste. Arctic MX-4 is also much
|
||||||
better than the default paste used on these systems.
|
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
|
NOTE: the photo above is for illustration purposes only, and does not
|
||||||
show how to properly apply the thermal paste. Other guides online detail
|
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)
|
different, so this page might be BS)
|
||||||
|
|
||||||
The following photo shows 8GiB (2x4GiB) of RAM installed:\
|
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!
|
Boot it!
|
||||||
--------
|
--------
|
||||||
|
|
||||||
You should see something like this:
|
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/).
|
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
|
SOIC8
|
||||||
-----
|
-----
|
||||||
|
|
||||||
![](/software/gnuboot/web/img/chip/soic8.jpg)
|
![](/software/gnuboot/web/static/img/chip/soic8.jpg)
|
||||||
|
|
||||||
SOIC16
|
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:
|
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:\
|
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:\
|
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
|
NOTE: in this photo, the chip has been replaced with SOIC8
|
||||||
|
|
||||||
DIP8
|
DIP8
|
||||||
----
|
----
|
||||||
|
|
||||||
![](/software/gnuboot/web/img/dip8/dip8.jpg)
|
![](/software/gnuboot/web/static/img/dip8/dip8.jpg)
|
||||||
|
|
||||||
Software configuration
|
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
|
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):
|
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:
|
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:\
|
RPi GPIO header:\
|
||||||
![](/software/gnuboot/web/img/rpi/0009.png)
|
![](/software/gnuboot/web/static/img/rpi/0009.png)
|
||||||
![](/software/gnuboot/web/img/rpi/0010.png)
|
![](/software/gnuboot/web/static/img/rpi/0010.png)
|
||||||
|
|
||||||
BBB P9 header:\
|
BBB P9 header:\
|
||||||
<https://beagleboard.org/static/images/cape-headers.png>
|
<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.
|
the original WSON8.
|
||||||
|
|
||||||
Here is a SOIC8 in a socket, mounted to a breadboard, for flashing:\
|
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:\
|
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:\
|
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,
|
NOTE: DIP8 and WSON8-in-socket, and SOIC16-in-socket, are basically the same,
|
||||||
just adapt accordingly.
|
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)
|
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):
|
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/static/img/dip8/adapter_breadboard.jpg)
|
||||||
![](/software/gnuboot/web/img/dip8/adapter.jpg)
|
![](/software/gnuboot/web/static/img/dip8/adapter.jpg)
|
||||||
![](/software/gnuboot/web/img/dip8/sop8todip8.jpg)
|
![](/software/gnuboot/web/static/img/dip8/sop8todip8.jpg)
|
||||||
|
|
||||||
SOIC8/SOIC16 soldered to a mainboard
|
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.
|
because the mainboard will already have one.
|
||||||
|
|
||||||
Here is an example of a test clip connected for SOIC16:\
|
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:\
|
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
|
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.
|
linked on the [FAQ page](../../faq.html) which you can watch.
|
||||||
|
|
||||||
WSON8 IC:\
|
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
|
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
|
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
|
other solder joints (which can make them turn into cold joints, and you risk
|
||||||
knocking them off of the board):\
|
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.
|
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.
|
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.
|
be lifted off with ease.
|
||||||
|
|
||||||
If you're doing it correctly, the chip will come off within 1 minute, like so:\
|
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:\
|
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:\
|
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:\
|
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.
|
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
|
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.
|
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
|
Align the new SOIC8, and tack it in the corner pins. Then solder it fully. Use
|
||||||
lots of flux!\
|
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
|
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.
|
knife (e.g. T12-K) tip would be ideal.
|
||||||
|
|
||||||
Ensure that all the joints are perfect. A good solder joint is shiny, and with
|
Ensure that all the joints are perfect. A good solder joint is shiny, and with
|
||||||
concave fillets where the solder has flowed. Observe:\
|
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
|
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
|
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:\
|
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:\
|
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/static/img/t400/0003.jpg) ![](/software/gnuboot/web/static/img/t400/0004.jpg)
|
||||||
![](/software/gnuboot/web/img/t400/0005.jpg) ![](/software/gnuboot/web/img/t400/0006.jpg)
|
![](/software/gnuboot/web/static/img/t400/0005.jpg) ![](/software/gnuboot/web/static/img/t400/0006.jpg)
|
||||||
|
|
||||||
Remove the speakers:\
|
Remove the speakers:\
|
||||||
![](/software/gnuboot/web/img/t400/0007.jpg) ![](/software/gnuboot/web/img/t400/0008.jpg)
|
![](/software/gnuboot/web/static/img/t400/0007.jpg) ![](/software/gnuboot/web/static/img/t400/0008.jpg)
|
||||||
![](/software/gnuboot/web/img/t400/0009.jpg) ![](/software/gnuboot/web/img/t400/0010.jpg)
|
![](/software/gnuboot/web/static/img/t400/0009.jpg) ![](/software/gnuboot/web/static/img/t400/0010.jpg)
|
||||||
![](/software/gnuboot/web/img/t400/0011.jpg)
|
![](/software/gnuboot/web/static/img/t400/0011.jpg)
|
||||||
|
|
||||||
Remove the wifi:\
|
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:\
|
Remove this cable:\
|
||||||
![](/software/gnuboot/web/img/t400/0014.jpg) ![](/software/gnuboot/web/img/t400/0015.jpg)
|
![](/software/gnuboot/web/static/img/t400/0014.jpg) ![](/software/gnuboot/web/static/img/t400/0015.jpg)
|
||||||
![](/software/gnuboot/web/img/t400/0016.jpg) ![](/software/gnuboot/web/img/t400/0017.jpg)
|
![](/software/gnuboot/web/static/img/t400/0016.jpg) ![](/software/gnuboot/web/static/img/t400/0017.jpg)
|
||||||
![](/software/gnuboot/web/img/t400/0018.jpg)
|
![](/software/gnuboot/web/static/img/t400/0018.jpg)
|
||||||
|
|
||||||
Unroute those antenna wires:\
|
Unroute those antenna wires:\
|
||||||
![](/software/gnuboot/web/img/t400/0019.jpg) ![](/software/gnuboot/web/img/t400/0020.jpg)
|
![](/software/gnuboot/web/static/img/t400/0019.jpg) ![](/software/gnuboot/web/static/img/t400/0020.jpg)
|
||||||
![](/software/gnuboot/web/img/t400/0021.jpg) ![](/software/gnuboot/web/img/t400/0022.jpg)
|
![](/software/gnuboot/web/static/img/t400/0021.jpg) ![](/software/gnuboot/web/static/img/t400/0022.jpg)
|
||||||
![](/software/gnuboot/web/img/t400/0023.jpg)
|
![](/software/gnuboot/web/static/img/t400/0023.jpg)
|
||||||
|
|
||||||
Remove the LCD assembly:\
|
Remove the LCD assembly:\
|
||||||
![](/software/gnuboot/web/img/t400/0024.jpg) ![](/software/gnuboot/web/img/t400/0025.jpg)
|
![](/software/gnuboot/web/static/img/t400/0024.jpg) ![](/software/gnuboot/web/static/img/t400/0025.jpg)
|
||||||
![](/software/gnuboot/web/img/t400/0026.jpg) ![](/software/gnuboot/web/img/t400/0027.jpg)
|
![](/software/gnuboot/web/static/img/t400/0026.jpg) ![](/software/gnuboot/web/static/img/t400/0027.jpg)
|
||||||
![](/software/gnuboot/web/img/t400/0028.jpg) ![](/software/gnuboot/web/img/t400/0029.jpg)
|
![](/software/gnuboot/web/static/img/t400/0028.jpg) ![](/software/gnuboot/web/static/img/t400/0029.jpg)
|
||||||
![](/software/gnuboot/web/img/t400/0030.jpg) ![](/software/gnuboot/web/img/t400/0031.jpg)
|
![](/software/gnuboot/web/static/img/t400/0030.jpg) ![](/software/gnuboot/web/static/img/t400/0031.jpg)
|
||||||
|
|
||||||
Disconnect the NVRAM battery:\
|
Disconnect the NVRAM battery:\
|
||||||
![](/software/gnuboot/web/img/t400/0033.jpg)
|
![](/software/gnuboot/web/static/img/t400/0033.jpg)
|
||||||
|
|
||||||
Disconnect the fan:\
|
Disconnect the fan:\
|
||||||
![](/software/gnuboot/web/img/t400/0034.jpg)
|
![](/software/gnuboot/web/static/img/t400/0034.jpg)
|
||||||
|
|
||||||
Unscrew these:\
|
Unscrew these:\
|
||||||
![](/software/gnuboot/web/img/t400/0035.jpg) ![](/software/gnuboot/web/img/t400/0036.jpg)
|
![](/software/gnuboot/web/static/img/t400/0035.jpg) ![](/software/gnuboot/web/static/img/t400/0036.jpg)
|
||||||
![](/software/gnuboot/web/img/t400/0037.jpg) ![](/software/gnuboot/web/img/t400/0038.jpg)
|
![](/software/gnuboot/web/static/img/t400/0037.jpg) ![](/software/gnuboot/web/static/img/t400/0038.jpg)
|
||||||
|
|
||||||
Unscrew the heatsink, then lift it off:\
|
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:\
|
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:\
|
Loosen this:\
|
||||||
![](/software/gnuboot/web/img/t400/0043.jpg)
|
![](/software/gnuboot/web/static/img/t400/0043.jpg)
|
||||||
|
|
||||||
Remove this:\
|
Remove this:\
|
||||||
![](/software/gnuboot/web/img/t400/0044.jpg) ![](/software/gnuboot/web/img/t400/0045.jpg)
|
![](/software/gnuboot/web/static/img/t400/0044.jpg) ![](/software/gnuboot/web/static/img/t400/0045.jpg)
|
||||||
![](/software/gnuboot/web/img/t400/0046.jpg) ![](/software/gnuboot/web/img/t400/0047.jpg)
|
![](/software/gnuboot/web/static/img/t400/0046.jpg) ![](/software/gnuboot/web/static/img/t400/0047.jpg)
|
||||||
![](/software/gnuboot/web/img/t400/0048.jpg)
|
![](/software/gnuboot/web/static/img/t400/0048.jpg)
|
||||||
|
|
||||||
Unscrew these:\
|
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:\
|
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:\
|
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
|
Remove the motherboard (the cage is still attached) from the right hand
|
||||||
side, then lift it out:\
|
side, then lift it out:\
|
||||||
![](/software/gnuboot/web/img/t400/0054.jpg) ![](/software/gnuboot/web/img/t400/0055.jpg)
|
![](/software/gnuboot/web/static/img/t400/0054.jpg) ![](/software/gnuboot/web/static/img/t400/0055.jpg)
|
||||||
![](/software/gnuboot/web/img/t400/0056.jpg)
|
![](/software/gnuboot/web/static/img/t400/0056.jpg)
|
||||||
|
|
||||||
Remove these screws, placing the screws in the same layout and marking
|
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
|
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)
|
later): ![](/software/gnuboot/web/static/img/t400/0057.jpg) ![](/software/gnuboot/web/static/img/t400/0058.jpg)
|
||||||
![](/software/gnuboot/web/img/t400/0059.jpg) ![](/software/gnuboot/web/img/t400/0060.jpg)
|
![](/software/gnuboot/web/static/img/t400/0059.jpg) ![](/software/gnuboot/web/static/img/t400/0060.jpg)
|
||||||
![](/software/gnuboot/web/img/t400/0061.jpg) ![](/software/gnuboot/web/img/t400/0062.jpg)
|
![](/software/gnuboot/web/static/img/t400/0061.jpg) ![](/software/gnuboot/web/static/img/t400/0062.jpg)
|
||||||
|
|
||||||
Separate the motherboard:\
|
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\
|
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/static/img/t400/0065.jpg) ![](/software/gnuboot/web/static/img/t400/0066.jpg)
|
||||||
![](/software/gnuboot/web/img/t400/0067.jpg) ![](/software/gnuboot/web/img/t400/0069.jpg)
|
![](/software/gnuboot/web/static/img/t400/0067.jpg) ![](/software/gnuboot/web/static/img/t400/0069.jpg)
|
||||||
![](/software/gnuboot/web/img/t400/0070.jpg) ![](/software/gnuboot/web/img/t400/0071.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
|
A dedicated 3.3V PSU was used to create this guide, but at ATX PSU is
|
||||||
also fine:\
|
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:\
|
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.
|
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
|
with the alcohol/cloth. Then apply new paste. Arctic MX-4 is also much
|
||||||
better than the default paste used on these systems.
|
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
|
NOTE: the photo above is for illustration purposes only, and does not
|
||||||
show how to properly apply the thermal paste. Other guides online detail
|
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)
|
different, so this page might be BS)
|
||||||
|
|
||||||
The following photo shows 8GiB (2x4GiB) of RAM installed:\
|
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!
|
Boot it!
|
||||||
--------
|
--------
|
||||||
|
|
||||||
You should see something like this:
|
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/).
|
Now [install GNU+Linux](../gnulinux/).
|
|
@ -119,109 +119,109 @@ The procedure
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
Remove all screws:\
|
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
|
It is also advisable to, throughout the disassembly, place any screws
|
||||||
and/or components that you removed in the same layout or arrangement.
|
and/or components that you removed in the same layout or arrangement.
|
||||||
The follow photos demonstrate this:\
|
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:\
|
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:\
|
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:\
|
Remove the keyboard and rear bezel:\
|
||||||
![](/software/gnuboot/web/img/t500/0007.jpg) ![](/software/gnuboot/web/img/t500/0008.jpg)
|
![](/software/gnuboot/web/static/img/t500/0007.jpg) ![](/software/gnuboot/web/static/img/t500/0008.jpg)
|
||||||
![](/software/gnuboot/web/img/t500/0009.jpg) ![](/software/gnuboot/web/img/t500/0010.jpg)
|
![](/software/gnuboot/web/static/img/t500/0009.jpg) ![](/software/gnuboot/web/static/img/t500/0010.jpg)
|
||||||
![](/software/gnuboot/web/img/t500/0011.jpg) ![](/software/gnuboot/web/img/t500/0012.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
|
If you have a WWAN/3G card and/or sim card reader, remove them
|
||||||
permanently. The WWAN-3G card has proprietary firmware inside; the
|
permanently. The WWAN-3G card has proprietary firmware inside; the
|
||||||
technology is identical to what is used in mobile phones, so it can also
|
technology is identical to what is used in mobile phones, so it can also
|
||||||
track your movements:\
|
track your movements:\
|
||||||
![](/software/gnuboot/web/img/t500/0013.jpg) ![](/software/gnuboot/web/img/t500/0017.jpg)
|
![](/software/gnuboot/web/static/img/t500/0013.jpg) ![](/software/gnuboot/web/static/img/t500/0017.jpg)
|
||||||
![](/software/gnuboot/web/img/t500/0018.jpg)
|
![](/software/gnuboot/web/static/img/t500/0018.jpg)
|
||||||
|
|
||||||
Remove this frame, and then remove the wifi chip:\
|
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/static/img/t500/0014.jpg) ![](/software/gnuboot/web/static/img/t500/0015.jpg)
|
||||||
![](/software/gnuboot/web/img/t500/0016.jpg)
|
![](/software/gnuboot/web/static/img/t500/0016.jpg)
|
||||||
|
|
||||||
Remove the speakers:\
|
Remove the speakers:\
|
||||||
![](/software/gnuboot/web/img/t500/0019.jpg) ![](/software/gnuboot/web/img/t500/0020.jpg)
|
![](/software/gnuboot/web/static/img/t500/0019.jpg) ![](/software/gnuboot/web/static/img/t500/0020.jpg)
|
||||||
![](/software/gnuboot/web/img/t500/0021.jpg) ![](/software/gnuboot/web/img/t500/0022.jpg)
|
![](/software/gnuboot/web/static/img/t500/0021.jpg) ![](/software/gnuboot/web/static/img/t500/0022.jpg)
|
||||||
![](/software/gnuboot/web/img/t500/0023.jpg) ![](/software/gnuboot/web/img/t500/0024.jpg)
|
![](/software/gnuboot/web/static/img/t500/0023.jpg) ![](/software/gnuboot/web/static/img/t500/0024.jpg)
|
||||||
![](/software/gnuboot/web/img/t500/0025.jpg)
|
![](/software/gnuboot/web/static/img/t500/0025.jpg)
|
||||||
|
|
||||||
Remove the NVRAM battery (already removed in this photo):\
|
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.
|
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
|
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
|
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
|
different size, so use these if you will be installing a half-height
|
||||||
card:\
|
card:\
|
||||||
![](/software/gnuboot/web/img/t500/0027.jpg)
|
![](/software/gnuboot/web/static/img/t500/0027.jpg)
|
||||||
|
|
||||||
Unroute the antenna wires:\
|
Unroute the antenna wires:\
|
||||||
![](/software/gnuboot/web/img/t500/0028.jpg) ![](/software/gnuboot/web/img/t500/0029.jpg)
|
![](/software/gnuboot/web/static/img/t500/0028.jpg) ![](/software/gnuboot/web/static/img/t500/0029.jpg)
|
||||||
![](/software/gnuboot/web/img/t500/0030.jpg) ![](/software/gnuboot/web/img/t500/0031.jpg)
|
![](/software/gnuboot/web/static/img/t500/0030.jpg) ![](/software/gnuboot/web/static/img/t500/0031.jpg)
|
||||||
|
|
||||||
Disconnect the LCD cable from the motherboard:\
|
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:\
|
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/static/img/t500/0034.jpg) ![](/software/gnuboot/web/static/img/t500/0035.jpg)
|
||||||
![](/software/gnuboot/web/img/t500/0036.jpg)
|
![](/software/gnuboot/web/static/img/t500/0036.jpg)
|
||||||
|
|
||||||
Remove the fan and heatsink:\
|
Remove the fan and heatsink:\
|
||||||
![](/software/gnuboot/web/img/t500/0037.jpg) ![](/software/gnuboot/web/img/t500/0038.jpg)
|
![](/software/gnuboot/web/static/img/t500/0037.jpg) ![](/software/gnuboot/web/static/img/t500/0038.jpg)
|
||||||
![](/software/gnuboot/web/img/t500/0039.jpg)
|
![](/software/gnuboot/web/static/img/t500/0039.jpg)
|
||||||
|
|
||||||
Remove this screw:\
|
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
|
Remove these cables, keeping note of how and in what arrangement they
|
||||||
are connected:\
|
are connected:\
|
||||||
![](/software/gnuboot/web/img/t500/0041.jpg) ![](/software/gnuboot/web/img/t500/0042.jpg)
|
![](/software/gnuboot/web/static/img/t500/0041.jpg) ![](/software/gnuboot/web/static/img/t500/0042.jpg)
|
||||||
![](/software/gnuboot/web/img/t500/0043.jpg) ![](/software/gnuboot/web/img/t500/0044.jpg)
|
![](/software/gnuboot/web/static/img/t500/0043.jpg) ![](/software/gnuboot/web/static/img/t500/0044.jpg)
|
||||||
![](/software/gnuboot/web/img/t500/0045.jpg) ![](/software/gnuboot/web/img/t500/0046.jpg)
|
![](/software/gnuboot/web/static/img/t500/0045.jpg) ![](/software/gnuboot/web/static/img/t500/0046.jpg)
|
||||||
![](/software/gnuboot/web/img/t500/0047.jpg) ![](/software/gnuboot/web/img/t500/0048.jpg)
|
![](/software/gnuboot/web/static/img/t500/0047.jpg) ![](/software/gnuboot/web/static/img/t500/0048.jpg)
|
||||||
![](/software/gnuboot/web/img/t500/0049.jpg)
|
![](/software/gnuboot/web/static/img/t500/0049.jpg)
|
||||||
|
|
||||||
Disconnect the power jack:\
|
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
|
Remove the motherboard and cage from the base (the marked hole is where
|
||||||
those cables were routed through):\
|
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
|
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
|
screws on a surface and marking each screw hole (this is to reduce the
|
||||||
possibility of putting them back in the wrong holes):\
|
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:\
|
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:\
|
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
|
The flash chip is next to the memory slots. On this system, it was a
|
||||||
SOIC-8 (4MiB or 32Mb) flash chip:\
|
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\
|
Connect your programmer, then connect GND and 3.3V\
|
||||||
![](/software/gnuboot/web/img/t500/0061.jpg)\
|
![](/software/gnuboot/web/static/img/t500/0061.jpg)\
|
||||||
![](/software/gnuboot/web/img/t400/0067.jpg) ![](/software/gnuboot/web/img/t400/0069.jpg)
|
![](/software/gnuboot/web/static/img/t400/0067.jpg) ![](/software/gnuboot/web/static/img/t400/0069.jpg)
|
||||||
![](/software/gnuboot/web/img/t400/0070.jpg) ![](/software/gnuboot/web/img/t400/0071.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
|
A dedicated 3.3V PSU was used to create this guide, but at ATX PSU is
|
||||||
also fine:\
|
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:\
|
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.
|
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
|
./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
|
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
|
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
|
with the alcohol/cloth. Then apply new paste. Arctic MX-4 is also much
|
||||||
better than the default paste used on these systems.
|
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
|
NOTE: the photo above is for illustration purposes only, and does not
|
||||||
show how to properly apply the thermal paste. Other guides online detail
|
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 following photos show an Atheros AR5B95 being installed, to replace
|
||||||
the Intel chip that this T500 came with:\
|
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
|
WWAN
|
||||||
====
|
====
|
||||||
|
@ -368,13 +368,13 @@ be useful for RAM compatibility info (note: coreboot raminit is
|
||||||
different, so this page might be BS)
|
different, so this page might be BS)
|
||||||
|
|
||||||
The following photo shows 8GiB (2x4GiB) of RAM installed:\
|
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!
|
Boot it!
|
||||||
--------
|
--------
|
||||||
|
|
||||||
You should see something like this:
|
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/).
|
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
|
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
|
yellow cmos coin (it's a battery) and putting it back after a minute or
|
||||||
two:\
|
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
|
\*Those dd commands should be applied to all newly compiled T60 ROM
|
||||||
images (the ROM images in libreboot binary archives already have this
|
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).
|
flash the SPI chip (where libreboot resides).
|
||||||
|
|
||||||
Remove those screws and remove the HDD:\
|
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:\
|
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
|
Lift up the keyboard, pull it back a bit, flip it over like that and
|
||||||
then disconnect it from the board:\
|
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/static/img/t60_dev/0004.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0005.JPG)
|
||||||
![](/software/gnuboot/web/img/t60_dev/0006.JPG)
|
![](/software/gnuboot/web/static/img/t60_dev/0006.JPG)
|
||||||
|
|
||||||
Gently wedge both sides loose:\
|
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:\
|
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
|
Now remove that bezel. Remove wifi, nvram battery and speaker connector
|
||||||
(also remove 56k modem, on the left of wifi):\
|
(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:\
|
Remove those screws:\
|
||||||
![](/software/gnuboot/web/img/t60_dev/0012.JPG)
|
![](/software/gnuboot/web/static/img/t60_dev/0012.JPG)
|
||||||
|
|
||||||
Disconnect the power jack:\
|
Disconnect the power jack:\
|
||||||
![](/software/gnuboot/web/img/t60_dev/0013.JPG)
|
![](/software/gnuboot/web/static/img/t60_dev/0013.JPG)
|
||||||
|
|
||||||
Remove nvram battery:\
|
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:\
|
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:\
|
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:\
|
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:\
|
Make sure you removed it:\
|
||||||
![](/software/gnuboot/web/img/t60_dev/0019.JPG)
|
![](/software/gnuboot/web/static/img/t60_dev/0019.JPG)
|
||||||
|
|
||||||
Unscrew those:\
|
Unscrew those:\
|
||||||
![](/software/gnuboot/web/img/t60_dev/0020.JPG)
|
![](/software/gnuboot/web/static/img/t60_dev/0020.JPG)
|
||||||
|
|
||||||
Make sure you removed those:\
|
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:\
|
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:\
|
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/static/img/t60_dev/0023.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0024.JPG)
|
||||||
![](/software/gnuboot/web/img/t60_dev/0025.JPG)
|
![](/software/gnuboot/web/static/img/t60_dev/0025.JPG)
|
||||||
|
|
||||||
Once again, make sure you removed those:\
|
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 the shielding containing the motherboard, then flip it over.
|
||||||
Remove these screws, placing them on a steady surface in the same layout
|
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
|
this is so that you have a point of reference when re-assembling the
|
||||||
system:
|
system:
|
||||||
|
|
||||||
![](/software/gnuboot/web/img/t60_dev/0027.JPG) ![](/software/gnuboot/web/img/t60_dev/0028.JPG)
|
![](/software/gnuboot/web/static/img/t60_dev/0027.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0028.JPG)
|
||||||
![](/software/gnuboot/web/img/t60_dev/0029.JPG) ![](/software/gnuboot/web/img/t60_dev/0031.JPG)
|
![](/software/gnuboot/web/static/img/t60_dev/0029.JPG) ![](/software/gnuboot/web/static/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/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:
|
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:
|
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.
|
one of them following the instructions in the output.
|
||||||
|
|
||||||
Put those screws back:\
|
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:\
|
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):\
|
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:\
|
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
|
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
|
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
|
new (Artic Silver 5 is good, others are good too) you should also clean
|
||||||
the heatsink the same way\
|
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
|
Attach the heatsink and install the screws (also, make sure to install
|
||||||
the AC jack as highlighted):\
|
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:\
|
Reinstall that upper bezel:\
|
||||||
![](/software/gnuboot/web/img/t60_dev/0053.JPG)
|
![](/software/gnuboot/web/static/img/t60_dev/0053.JPG)
|
||||||
|
|
||||||
Do that:\
|
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
|
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 take pics. Look at previous removal steps to see where they go back
|
||||||
to.
|
to.
|
||||||
|
|
||||||
Attach keyboard and install nvram battery:\
|
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
|
Place keyboard and (sorry, forgot to take pics) reinstall the palmrest
|
||||||
and insert screws on the underside:\
|
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!\
|
It lives!\
|
||||||
![](/software/gnuboot/web/img/t60_dev/0071.JPG) ![](/software/gnuboot/web/img/t60_dev/0072.JPG)
|
![](/software/gnuboot/web/static/img/t60_dev/0071.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0072.JPG)
|
||||||
![](/software/gnuboot/web/img/t60_dev/0073.JPG)
|
![](/software/gnuboot/web/static/img/t60_dev/0073.JPG)
|
||||||
|
|
||||||
Always stress test ('stress -c 2' and xsensors. below 90C is ok) when
|
Always stress test ('stress -c 2' and xsensors. below 90C is ok) when
|
||||||
replacing cpu paste/heatsink:\
|
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).
|
completely, since the flash chip is on the other side of the board).
|
||||||
|
|
||||||
Remove these screws:\
|
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
|
Gently push the keyboard towards the screen, then lift it off, and optionally
|
||||||
disconnect it from the board:\
|
disconnect it from the board:\
|
||||||
![](/software/gnuboot/web/img/x200/disassembly/0004.jpg)
|
![](/software/gnuboot/web/static/img/x200/disassembly/0004.jpg)
|
||||||
![](/software/gnuboot/web/img/x200/disassembly/0005.jpg)
|
![](/software/gnuboot/web/static/img/x200/disassembly/0005.jpg)
|
||||||
|
|
||||||
Disconnect the cable of the fingerpring reader, and then pull up the palm rest,
|
Disconnect the cable of the fingerpring reader, and then pull up the palm rest,
|
||||||
lifting up the left and right side of it:\
|
lifting up the left and right side of it:\
|
||||||
![](/software/gnuboot/web/img/x200/disassembly/0006.1.jpg)
|
![](/software/gnuboot/web/static/img/x200/disassembly/0006.1.jpg)
|
||||||
![](/software/gnuboot/web/img/x200/disassembly/0006.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:\
|
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/static/img/x200/x200_soic16.jpg)
|
||||||
![](/software/gnuboot/web/img/x200/x200_soic8.jpg)
|
![](/software/gnuboot/web/static/img/x200/x200_soic8.jpg)
|
||||||
|
|
||||||
Lift back the tape that covers a part of the flash chip, and then
|
Lift back the tape that covers a part of the flash chip, and then
|
||||||
connect the clip:\
|
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.
|
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:
|
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!
|
Boot it!
|
||||||
--------
|
--------
|
||||||
|
|
||||||
You should see something like this:
|
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/).
|
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):
|
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
|
By default we would see this in lenovobios, when trying flashrom -p
|
||||||
internal -w rom.rom:
|
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
|
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
|
yellow cmos coin (it's a battery) and putting it back after a minute or
|
||||||
two:\
|
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
|
\*Those dd commands should be applied to all newly compiled X60 ROM
|
||||||
images (the ROM images in libreboot binary archives already have this
|
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).
|
flash the SPI chip (where libreboot resides).
|
||||||
|
|
||||||
Remove those screws:\
|
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):\
|
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:\
|
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
|
Grab the right-hand side of the chassis and force it off (gently) and
|
||||||
pry up the rest of the chassis:\
|
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:\
|
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:\
|
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
|
Unroute the cables along their path, carefully lifting the tape that
|
||||||
holds them in place. Then, disconnect the modem cable (other end) and
|
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
|
power connection and unroute all the cables so that they dangle by the
|
||||||
monitor hinge on the right-hand side:\
|
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
|
Disconnect the monitor from the motherboard, and unroute the grey
|
||||||
antenna cable, carefully lifting the tape that holds it into place:\
|
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
|
Carefully lift the remaining tape and unroute the left antenna cable so
|
||||||
that it is loose:\
|
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
|
Remove the screw that is highlighted (do NOT remove the other one; it
|
||||||
holds part of the heatsink (other side) into place):\
|
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:\
|
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:\
|
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:\
|
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:\
|
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
|
Lift back that tape and hold it with something. Highlighted is the SPI
|
||||||
flash chip:\
|
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:\
|
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:\
|
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:\
|
Refer to the following guide:\
|
||||||
[Externally rewrite 25xx NOR flash via SPI protocol](spi.html)
|
[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
|
Remove the programmer and put it away somewhere. Put back the tape and
|
||||||
press firmly over it:\
|
press firmly over it:\
|
||||||
![](/software/gnuboot/web/img/x60_unbrick/0026.jpg)
|
![](/software/gnuboot/web/static/img/x60_unbrick/0026.jpg)
|
||||||
|
|
||||||
Your empty chassis:\
|
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:\
|
Put the motherboard back in:\
|
||||||
![](/software/gnuboot/web/img/x60_unbrick/0028.jpg)
|
![](/software/gnuboot/web/static/img/x60_unbrick/0028.jpg)
|
||||||
|
|
||||||
Reconnect SATA:\
|
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:\
|
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:\
|
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)
|
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
|
reconnect the monitor cable to the motherboard and re-insert the
|
||||||
screws:\
|
screws:\
|
||||||
![](/software/gnuboot/web/img/x60_unbrick/0032.jpg)
|
![](/software/gnuboot/web/static/img/x60_unbrick/0032.jpg)
|
||||||
|
|
||||||
Re-insert that screw:\
|
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:\
|
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:\
|
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:\
|
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:\
|
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:\
|
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:\
|
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
|
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
|
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):\
|
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:\
|
Connect the modem cable:\
|
||||||
![](/software/gnuboot/web/img/x60_unbrick/0041.jpg)
|
![](/software/gnuboot/web/static/img/x60_unbrick/0041.jpg)
|
||||||
|
|
||||||
Connect the speaker:\
|
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:\
|
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:\
|
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:\
|
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:\
|
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!\
|
Power on!\
|
||||||
![](/software/gnuboot/web/img/x60_unbrick/0047.jpg)
|
![](/software/gnuboot/web/static/img/x60_unbrick/0047.jpg)
|
||||||
|
|
||||||
Operating system:\
|
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
|
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
|
yellow cmos coin (it's a battery) and putting it back after a minute or
|
||||||
two:\
|
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
|
\*Those dd commands should be applied to all newly compiled X60 ROM
|
||||||
images (the ROM images in libreboot binary archives already have this
|
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
|
external hardware (see hardware requirements above) is needed which can
|
||||||
flash the SPI chip (where libreboot resides).
|
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:\
|
Remove those screws:\
|
||||||
![](/software/gnuboot/web/img/x60t_unbrick/0001.JPG)
|
![](/software/gnuboot/web/static/img/x60t_unbrick/0001.JPG)
|
||||||
|
|
||||||
Remove the HDD:\
|
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:\
|
Push keyboard forward to loosen it:\
|
||||||
![](/software/gnuboot/web/img/x60t_unbrick/0003.JPG)
|
![](/software/gnuboot/web/static/img/x60t_unbrick/0003.JPG)
|
||||||
|
|
||||||
Lift:\
|
Lift:\
|
||||||
![](/software/gnuboot/web/img/x60t_unbrick/0004.JPG)
|
![](/software/gnuboot/web/static/img/x60t_unbrick/0004.JPG)
|
||||||
|
|
||||||
Remove those:\
|
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:\
|
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:\
|
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
|
Remove the LCD extend board screws. Also remove those screws (see blue
|
||||||
marks) and remove/unroute the cables and remove the metal plate:\
|
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:\
|
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:\
|
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:\
|
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:
|
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?
|
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
|
The Libreboot logo is available as a [bitmap](/software/gnuboot/web/static/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).
|
[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
|
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
|
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:\
|
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?
|
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{
|
html{
|
||||||
background:#fff;
|
background:#fff;
|
||||||
color:#222;
|
color:#222;
|
||||||
}
|
}
|
||||||
|
|
||||||
table, th, td {
|
|
||||||
border: solid;
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
|
|
||||||
.date,.author,.h a{display:none}
|
.date,.author,.h a{display:none}
|
||||||
code,pre,#TOC,a:hover{background:#eee}
|
code,pre,#TOC,a:hover{background:#eee}
|
||||||
:not(p),a:hover {
|
:not(p),a:hover {
|
||||||
|
@ -27,7 +13,7 @@ code,pre,#TOC,a:hover{background:#eee}
|
||||||
a{color:#22d}
|
a{color:#22d}
|
||||||
.title>*, header ul>li, .nav ul>li,
|
.title>*, header ul>li, .nav ul>li,
|
||||||
#footer ul>li, .h:hover>*
|
#footer ul>li, .h:hover>*
|
||||||
ul>li
|
ul>li
|
||||||
{
|
{
|
||||||
display:inline;
|
display:inline;
|
||||||
margin:.7%;
|
margin:.7%;
|
|
@ -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
|
The font on the sticker designs is `lato`. Install this, otherwise the vectors
|
||||||
won't look correct for the text.
|
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