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:
Denis 'GNUtoo' Carikli 2023-11-14 03:22:37 +01:00
parent 8e5819b091
commit b4a26ec0c3
Signed by: GNUtoo
GPG Key ID: 5F5DFCC14177E263
618 changed files with 1166 additions and 2958 deletions

2
.gitignore vendored
View File

@ -32,6 +32,7 @@
/tmp/
/version
/versiondate
/website/site/**
Makefile
Makefile.in
aclocal.m4
@ -41,3 +42,4 @@ config.status
configure
install-sh
missing
/web/

View File

@ -21,18 +21,18 @@
distclean_website()
{
rm -rf \
website-build/aclocal.m4 \
website-build/autom4te.cache/ \
website-build/config.log \
website-build/config.status \
website-build/configure \
website-build/deploy/ \
website-build/install-sh \
website-build/Makefile \
website-build/Makefile.in \
website-build/missing \
website-build/untitled/ \
website-build/website.tar.gz
website/aclocal.m4 \
website/autom4te.cache/ \
website/config.log \
website/config.status \
website/configure \
website/deploy/ \
website/install-sh \
website/Makefile \
website/Makefile.in \
website/missing \
website/untitled/ \
website/website.tar.gz
}
# shellcheck disable=SC2068

View File

@ -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

View File

@ -42,9 +42,6 @@ build_website()
# Release website source and transformed files
install -d ../release
install -m 644 website.tar.gz ../release/gnuboot-website-"${version}".tar.gz
# Relase untitled source code
git -C untitled bundle create ../../release/untitled-"${version}".bundle HEAD
}
if [ $# -eq 1 ] && { [ "$1" = "-h" ] || [ "$1" == "--help" ] ;} ; then

View File

@ -1,4 +0,0 @@
TITLE="GNU Boot"
CSS="/software/gnuboot/web/global.css"
DOMAIN="https://gnu.org/software/gnuboot/web/"
BLOGDIR="news/"

View File

@ -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)
-------------------------------------------------------------------------------

View File

@ -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

View File

@ -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

View File

@ -1,6 +1,5 @@
/autom4te.cache/
/untitled/
/aclocal.m4
/autom4te.cache/
/config.log
/config.status
/configure

View File

@ -1,4 +1,4 @@
# Copyright (C) 2022-2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
# Copyright (C) 2022-2024 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -16,36 +16,17 @@
all: help
BUILD_OPTIONS :=
GUIX_SHARE_OPTIONS := --share=`realpath ../`
if WANT_UNTITLED_PATH
BUILD_OPTIONS += --with-untitled-path $(UNTITLED_PATH)
GUIX_SHARE_OPTIONS += --share=`realpath $(UNTITLED_PATH)`
endif
if WANT_GUIX
build:
guix time-machine \
--commit=c15a1cd88f80a90437f4b0159f22dfc84b9e6851 \
--commit=v1.4.0 \
-- shell \
--container \
--network \
--emulate-fhs \
$(GUIX_SHARE_OPTIONS) \
bash \
coreutils \
findutils \
git \
grep \
nss-certs \
pandoc \
sed \
haunt
-- \
./build.sh $(BUILD_OPTIONS)
haunt build
else
build:
./build.sh $(BUILD_OPTIONS)
haunt build
endif
if WANT_GUIX
@ -77,27 +58,25 @@ help:
"website.tar.gz # Create a tarball of the website"
if WANT_GUIX
serve: website.tar.gz
serve: build
guix shell \
--container \
--network \
--emulate-fhs \
bash \
coreutils \
gzip \
lighttpd \
sed \
tar \
-- \
./serve.sh website.tar.gz $(LIGHTTPD_PORT)
./serve.sh $(LIGHTTPD_PORT)
else
if WANT_LIGHTTPD
serve: website.tar.gz
./serve.sh website.tar.gz $(LIGHTTPD_PORT)
serve: build
./serve.sh $(LIGHTTPD_PORT)
else
serve:
@printf "%s %s\n" \
"The test target is disabled." \
"The serve target is disabled." \
"To enable it, run './configure --enable-lighttpd'."
@false
endif
@ -124,6 +103,4 @@ website.tar.gz: build
--sort=name \
-czf \
website.tar.gz \
untitled/www/lbwww/site \
index.html \
--transform="s#untitled/www/lbwww/site#web#"
site

View File

@ -68,6 +68,8 @@ run_tests()
{
test_pattern "html test" "${tarball}" '\.html$'
test_pattern "jpg test" "${tarball}" '\.jpg$'
test_pattern "jpg path" "${tarball}" \
'web\/img\/d945gclf\/20160923_141521\.jpg$'
test_savannah_cvs_constraints \
"Savannah CVS: Only /index.html in root directory" \
"${tarball}"

View File

@ -54,19 +54,6 @@ AC_ARG_WITH([rsync-destination],
[RSYNC_DESTINATION=$withval],
[RSYNC_DESTINATION=wwwcvs@gnu.org:/var/www/software/gnuboot])
AM_CONDITIONAL( [WANT_UNTITLED_PATH], [test x"$UNTITLED_PATH" != x""])
# --with-untitled-path
AC_ARG_WITH([untitled-path],
[AS_HELP_STRING([--with-untitled-path=PATH],
[Use a local untitled directory from PATH instead of downloading
a specific version from
https://git.sr.ht/~libreboot/untitled .])],
[UNTITLED_PATH=$withval],
[])
AM_CONDITIONAL( [WANT_UNTITLED_PATH], [test x"$UNTITLED_PATH" != x""])
# Check dependencies
AC_CHECK_PROG([REALPATH], [realpath], [realpath])
AC_CHECK_PROG([TAR], [tar], [tar])
@ -75,42 +62,18 @@ AS_IF([test x"$guix" = x"yes"],
[AC_CHECK_PROG([FOUND_GUIX], [guix], [guix])
AS_IF([test x"$FOUND_GUIX" = x""],
[AC_MSG_ERROR(
[guix was not found in PATH ($PATH)])])],
[guix was not found in PATH ($PATH)])])])
[AC_CHECK_PROG([FOUND_CAT], [cat], [cat])
AS_IF([test x"$FOUND_CAT" = x""],
[AC_MSG_ERROR(
[cat was not found in PATH ($PATH)])])
AC_CHECK_PROG([FOUND_CP], [cp], [cp])
AS_IF([test x"$FOUND_CP" = x""],
[AC_MSG_ERROR(
[cp was not found in PATH ($PATH)])])
AC_CHECK_PROG([FOUND_DATE], [date], [date])
AS_IF([test x"$FOUND_DATE" = x""],
[AC_MSG_ERROR(
[date was not found in PATH ($PATH)])])
AC_CHECK_PROG([FOUND_FIND], [find], [find])
AS_IF([test x"$FOUND_FIND" = x""],
[AC_MSG_ERROR(
[find was not found in PATH ($PATH)])])
AC_CHECK_PROG([FOUND_GREP], [grep], [grep])
AS_IF([test x"$guix" != x"yes"],
[AC_CHECK_PROG([FOUND_GREP], [grep], [grep])
AS_IF([test x"$FOUND_GREP" = x""],
[AC_MSG_ERROR(
[grep was not found in PATH ($PATH)])])
AC_CHECK_PROG([FOUND_HEAD], [head], [head])
AS_IF([test x"$FOUND_HEAD" = x""],
AC_CHECK_PROG([FOUND_HAUNT], [haunt], [haunt])
AS_IF([test x"$FOUND_HAUNT" = x""],
[AC_MSG_ERROR(
[head was not found in PATH ($PATH)])])
AC_CHECK_PROG([FOUND_GIT], [git], [git])
AS_IF([test x"$FOUND_GIT" = x""],
[AC_MSG_ERROR(
[git was not found in PATH ($PATH)])])
[haunt was not found in PATH ($PATH)])])
AC_CHECK_PROG([FOUND_GZIP], [gzip], [gzip])
AS_IF([test x"$FOUND_GZIP" = x""],
@ -132,16 +95,6 @@ AS_IF([test x"$guix" = x"yes"],
[AC_MSG_ERROR(
[mkdir was not found in PATH ($PATH)])])
AC_CHECK_PROG([FOUND_PANDOC], [pandoc], [pandoc])
AS_IF([test x"$FOUND_PANDOC" = x""],
[AC_MSG_ERROR(
[pandoc was not found in PATH ($PATH)])])
AC_CHECK_PROG([FOUND_PRINTF], [printf], [printf])
AS_IF([test x"$FOUND_PRINTF" = x""],
[AC_MSG_ERROR(
[printf was not found in PATH ($PATH)])])
AC_CHECK_PROG([FOUND_RM], [rm], [rm])
AS_IF([test x"$FOUND_RM" = x""],
[AC_MSG_ERROR(
@ -152,11 +105,6 @@ AS_IF([test x"$guix" = x"yes"],
[AC_MSG_ERROR(
[sed was not found in PATH ($PATH)])])
AC_CHECK_PROG([FOUND_TAIL], [tail], [tail])
AS_IF([test x"$FOUND_TAIL" = x""],
[AC_MSG_ERROR(
[tail was not found in PATH ($PATH)])])
AC_CHECK_PROG([FOUND_TEST], [test], [test])
AS_IF([test x"$FOUND_TEST" = x""],
[AC_MSG_ERROR(
@ -165,9 +113,14 @@ AS_IF([test x"$guix" = x"yes"],
AC_OUTPUT
AS_ECHO(["Configuration options:"])
AS_ECHO([" LIGHTTPD_PORT: $LIGHTTPD_PORT"])
AS_ECHO([" lighttpd port: $LIGHTTPD_PORT"])
AS_ECHO([" RSYNC_DESTINATION: $RSYNC_DESTINATION"])
AS_ECHO([" rsync destination: $RSYNC_DESTINATION"])
AS_IF([test x"$UNTITLED_PATH" != x""],
[AS_ECHO([" UNTITLED_PATH: $UNTITLED_PATH"])])
AS_IF([test x"$guix" = x"yes"],
[AS_ECHO([" with Guix: Yes"])],
[AS_ECHO([" with Guix: No"])])
AS_IF([test x"$lighttpd" = x"yes"],
[AS_ECHO([" with lighttpd: Yes"])],
[AS_ECHO([" with lighttpd: No"])])

36
website/haunt.scm Normal file
View File

@ -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")))

View File

@ -1,6 +1,6 @@
server.bind = "localhost"
server.port = LIGHTTPD_PORT
server.document-root = "TMPDIR"
server.document-root = var.CWD + "/site/"
dir-listing.activate = "enable"
index-file.names = ( "index.html" )
mimetype.assign = (

View File

@ -45,11 +45,11 @@ Remarks about vendor bios:
flashed there is no problem to update the firmware internally
Here is an image of the board:\
![](/software/gnuboot/web/img/d945gclf/d945gclf.jpg)\
![](/software/gnuboot/web/static/img/d945gclf/d945gclf.jpg)\
Here is an image of the D945GCLF2 board:\
![](/software/gnuboot/web/img/d945gclf/20160923_141521.jpg){width="80%" height="80%"}\
![](/software/gnuboot/web/static/img/d945gclf/20160923_141521.jpg){width="80%" height="80%"}\
And SPI SOIC8 flash chip\
![](/software/gnuboot/web/img/d945gclf/20160923_141550.jpg){width="50%" height="50%"}
![](/software/gnuboot/web/static/img/d945gclf/20160923_141550.jpg){width="50%" height="50%"}
How to replace thermal paste and fan
------------------------------------
@ -57,24 +57,24 @@ How to replace thermal paste and fan
This board comes with very crappy disposable loud fan, that one has no
bearings, which can not be repaired or oiled properly, do not waste your
time trying to fix it, just buy one chinese same size fan\
![](/software/gnuboot/web/img/d945gclf/20160923_141620.jpg){width="50%" height="50%"}
![](/software/gnuboot/web/img/d945gclf/20160923_141614.jpg){width="50%" height="50%"}\
![](/software/gnuboot/web/static/img/d945gclf/20160923_141620.jpg){width="50%" height="50%"}
![](/software/gnuboot/web/static/img/d945gclf/20160923_141614.jpg){width="50%" height="50%"}\
Make sure that new one has same wiring\
![](/software/gnuboot/web/img/d945gclf/20160923_142618.jpg){width="50%" height="50%"}\
![](/software/gnuboot/web/static/img/d945gclf/20160923_142618.jpg){width="50%" height="50%"}\
This is a new one, with bearing and maintenable\
![](/software/gnuboot/web/img/d945gclf/20160923_141738.jpg){width="50%" height="50%"}
![](/software/gnuboot/web/img/d945gclf/20160923_141814.jpg){width="50%" height="50%"}\
![](/software/gnuboot/web/static/img/d945gclf/20160923_141738.jpg){width="50%" height="50%"}
![](/software/gnuboot/web/static/img/d945gclf/20160923_141814.jpg){width="50%" height="50%"}\
Now remove the both coolers rotating them a bit, slowly, then clean both
silicons and both coolers (removing cmos battery first is recommended)\
![](/software/gnuboot/web/img/d945gclf/20160923_141601.jpg){width="50%" height="50%"}\
![](/software/gnuboot/web/static/img/d945gclf/20160923_141601.jpg){width="50%" height="50%"}\
Put a little bit of non conductive thermal paste on both silicons (only
cpu silicon iis shown on that image)\
![](/software/gnuboot/web/img/d945gclf/20160923_142031.jpg){width="50%" height="50%"}\
![](/software/gnuboot/web/static/img/d945gclf/20160923_142031.jpg){width="50%" height="50%"}\
Before assembling new fan, some need new longer screws, make sure having
these (on the left is original one, too short for new fan)\
![](/software/gnuboot/web/img/d945gclf/20160923_141659.jpg){width="50%" height="50%"}\
![](/software/gnuboot/web/static/img/d945gclf/20160923_141659.jpg){width="50%" height="50%"}\
After that, assemble your new fan into CPU cooler\
![](/software/gnuboot/web/img/d945gclf/20160923_141635.jpg){width="50%" height="50%"}\
![](/software/gnuboot/web/static/img/d945gclf/20160923_141635.jpg){width="50%" height="50%"}\
Finally assemle both coolers on both chips, do not forget put in the CPU
fan connector back, and you are done.

View File

@ -42,7 +42,7 @@ chip and re-flash it using external hardware.
It has a 25XX NOR flash (SPI protocol) in a P-DIP 8 socket, which looks like
this:
![](/software/gnuboot/web/img/dip8/dip8.jpg)
![](/software/gnuboot/web/static/img/dip8/dip8.jpg)
The default chip is a 2MiB one, but we recommend upgrading it to a 16MiB chip.

View File

@ -58,7 +58,7 @@ The existing MAC address may be obtained by the following methods:
2. Otherwise you can read the white label that is often found on the
motherboard under the memory sticks:
![](/software/gnuboot/web/img/t400/macaddress1.jpg)
![](/software/gnuboot/web/static/img/t400/macaddress1.jpg)
3. The MAC address is usually listed on the laptop chassis as well. This one
will be incorrect if the motherboard was changed and the stickers were not

View File

@ -71,7 +71,7 @@ guides](https://www.ifixit.com/Device/MacBook_Core_2_Duo)
Locate the flash. It'll be a SOIC8, which looks like this:
![](/software/gnuboot/web/img/chip/soic8.jpg)
![](/software/gnuboot/web/static/img/chip/soic8.jpg)
motherboard. [How to remove the
motherboard](https://www.ifixit.com/Guide/MacBook+Core+2+Duo+PRAM+Battery+Replacement/529).

View File

@ -161,5 +161,5 @@ collect various logs useful in porting to new boards. Following are
outputs from the X200:
- BIOS 3.15, EC 1.06
- [hwdumps/x200/](hwdumps/x200/)
- [hwdumps/x200/](/software/gnuboot/web/static/hwdumps/x200/)

View File

@ -108,8 +108,8 @@ part over, as shown on the picture below. The write protect screw is
located next to the SPI flash chip, circled in red in the picture below.
It has to be removed.
[![Screws](/software/gnuboot/web/img/c201/screws.jpg)](/software/gnuboot/web/img/c201/screws.jpg) [![WP
screw](/software/gnuboot/web/img/c201/wp-screw.jpg)](/software/gnuboot/web/img/c201/wp-screw.jpg)
[![Screws](/software/gnuboot/web/static/img/c201/screws.jpg)](/software/gnuboot/web/static/img/c201/screws.jpg) [![WP
screw](/software/gnuboot/web/static/img/c201/wp-screw.jpg)](/software/gnuboot/web/static/img/c201/wp-screw.jpg)
The write protect screw can be put back in place later, when the device
is known to be in a working state.
@ -176,9 +176,9 @@ unscrewed from the rest of the case. It is located on
the right and has colorful cables, as shown on the picture below.
[![SPI flash
layout](/software/gnuboot/web/img/c201/spi-flash-layout.jpg)](/software/gnuboot/web/img/c201/spi-flash-layout.jpg)
layout](/software/gnuboot/web/static/img/c201/spi-flash-layout.jpg)](/software/gnuboot/web/static/img/c201/spi-flash-layout.jpg)
[![Battery
connector](/software/gnuboot/web/img/c201/battery-connector.jpg)](/software/gnuboot/web/img/c201/battery-connector.jpg)
connector](/software/gnuboot/web/static/img/c201/battery-connector.jpg)](/software/gnuboot/web/static/img/c201/battery-connector.jpg)
All the files from the `veyron_speedy` release (or build) have to be
transferred to the host.

View File

@ -17,4 +17,4 @@ Flashing instructions {#clip}
Refer to [spi.html](spi.html) for how to re-flash externally.
Here is an image of the flash chip:\
![](/software/gnuboot/web/img/d945gclf/d945gclf_spi.jpg)
![](/software/gnuboot/web/static/img/d945gclf/d945gclf_spi.jpg)

View File

@ -34,7 +34,7 @@ NOTE: You should use a resistor in series, between 1K to 10K ohms, for the 3.3v
connection to the CS pin. This is to protect from over-current.
Here is an image of the flash chip:\
![](/software/gnuboot/web/img/ga-g41m-es2l/ga-g41m-es2l.jpg)
![](/software/gnuboot/web/static/img/ga-g41m-es2l/ga-g41m-es2l.jpg)
Internal flashing is possible. Boot with the proprietary BIOS and
GNU+Linux. There are 2 flash chips (one is backup).

View File

@ -307,7 +307,7 @@ Early notes {#early_notes}
of disabling the descriptor.
- **and the location of GPIO33 on the x200s: (was an external link.
Putting it here instead)**
[/software/gnuboot/web/img/x200/gpio33_location.jpg](/software/gnuboot/web/img/x200/gpio33_location.jpg) -
[/software/gnuboot/web/static/img/x200/gpio33_location.jpg](/software/gnuboot/web/static/img/x200/gpio33_location.jpg) -
it's above the number 7 on TP37 (which is above the big intel chip
at the bottom)
- The ME datasheet may not be for the mobile chipsets but it doesn't

View File

@ -81,82 +81,82 @@ Disassembly
-----------
Remove all screws:\
![](/software/gnuboot/web/img/r400/0000.jpg)\
![](/software/gnuboot/web/static/img/r400/0000.jpg)\
Remove the HDD and optical drive:\
![](/software/gnuboot/web/img/r400/0001.jpg)\
![](/software/gnuboot/web/static/img/r400/0001.jpg)\
Remove the hinge screws:\
![](/software/gnuboot/web/img/r400/0002.jpg) ![](/software/gnuboot/web/img/r400/0003.jpg)
![](/software/gnuboot/web/static/img/r400/0002.jpg) ![](/software/gnuboot/web/static/img/r400/0003.jpg)
Remove the palm rest and keyboard:\
![](/software/gnuboot/web/img/r400/0004.jpg) ![](/software/gnuboot/web/img/r400/0005.jpg)
![](/software/gnuboot/web/static/img/r400/0004.jpg) ![](/software/gnuboot/web/static/img/r400/0005.jpg)
Remove these screws, and then remove the bezel:\
![](/software/gnuboot/web/img/r400/0006.jpg) ![](/software/gnuboot/web/img/r400/0007.jpg)
![](/software/gnuboot/web/static/img/r400/0006.jpg) ![](/software/gnuboot/web/static/img/r400/0007.jpg)
Remove the speaker screws, but don't remove the speakers yet (just set
them loose):\
![](/software/gnuboot/web/img/r400/0008.jpg) ![](/software/gnuboot/web/img/r400/0009.jpg)
![](/software/gnuboot/web/img/r400/0010.jpg)
![](/software/gnuboot/web/static/img/r400/0008.jpg) ![](/software/gnuboot/web/static/img/r400/0009.jpg)
![](/software/gnuboot/web/static/img/r400/0010.jpg)
Remove these screws, and then remove the metal plate:\
![](/software/gnuboot/web/img/r400/0011.jpg) ![](/software/gnuboot/web/img/r400/0012.jpg)
![](/software/gnuboot/web/img/r400/0013.jpg)
![](/software/gnuboot/web/static/img/r400/0011.jpg) ![](/software/gnuboot/web/static/img/r400/0012.jpg)
![](/software/gnuboot/web/static/img/r400/0013.jpg)
Remove the antennas from the wifi card, and then start unrouting them:\
![](/software/gnuboot/web/img/r400/0014.jpg) ![](/software/gnuboot/web/img/r400/0015.jpg)
![](/software/gnuboot/web/img/r400/0016.jpg) ![](/software/gnuboot/web/img/r400/0017.jpg)
![](/software/gnuboot/web/img/r400/0018.jpg) ![](/software/gnuboot/web/img/r400/0019.jpg)
![](/software/gnuboot/web/static/img/r400/0014.jpg) ![](/software/gnuboot/web/static/img/r400/0015.jpg)
![](/software/gnuboot/web/static/img/r400/0016.jpg) ![](/software/gnuboot/web/static/img/r400/0017.jpg)
![](/software/gnuboot/web/static/img/r400/0018.jpg) ![](/software/gnuboot/web/static/img/r400/0019.jpg)
Disconnect the LCD cable from the motherboard:\
![](/software/gnuboot/web/img/r400/0020.jpg) ![](/software/gnuboot/web/img/r400/0021.jpg)
![](/software/gnuboot/web/img/r400/0022.jpg) ![](/software/gnuboot/web/img/r400/0023.jpg)
![](/software/gnuboot/web/static/img/r400/0020.jpg) ![](/software/gnuboot/web/static/img/r400/0021.jpg)
![](/software/gnuboot/web/static/img/r400/0022.jpg) ![](/software/gnuboot/web/static/img/r400/0023.jpg)
Remove the hinge screws, and then remove the LCD panel:\
![](/software/gnuboot/web/img/r400/0024.jpg) ![](/software/gnuboot/web/img/r400/0025.jpg)
![](/software/gnuboot/web/img/r400/0026.jpg) ![](/software/gnuboot/web/img/r400/0027.jpg)
![](/software/gnuboot/web/static/img/r400/0024.jpg) ![](/software/gnuboot/web/static/img/r400/0025.jpg)
![](/software/gnuboot/web/static/img/r400/0026.jpg) ![](/software/gnuboot/web/static/img/r400/0027.jpg)
Remove this:\
![](/software/gnuboot/web/img/r400/0028.jpg) ![](/software/gnuboot/web/img/r400/0029.jpg)
![](/software/gnuboot/web/static/img/r400/0028.jpg) ![](/software/gnuboot/web/static/img/r400/0029.jpg)
Remove this long cable (there are 3 connections):\
![](/software/gnuboot/web/img/r400/0030.jpg) ![](/software/gnuboot/web/img/r400/0031.jpg)
![](/software/gnuboot/web/img/r400/0032.jpg) ![](/software/gnuboot/web/img/r400/0033.jpg)
![](/software/gnuboot/web/static/img/r400/0030.jpg) ![](/software/gnuboot/web/static/img/r400/0031.jpg)
![](/software/gnuboot/web/static/img/r400/0032.jpg) ![](/software/gnuboot/web/static/img/r400/0033.jpg)
Disconnect the speaker cable, and remove the speakers:\
![](/software/gnuboot/web/img/r400/0034.jpg)
![](/software/gnuboot/web/static/img/r400/0034.jpg)
Remove the heatsink screws, remove the fan and then remove the
heatsink/fan:\
![](/software/gnuboot/web/img/r400/0035.jpg) ![](/software/gnuboot/web/img/r400/0036.jpg)
![](/software/gnuboot/web/img/r400/0037.jpg) ![](/software/gnuboot/web/img/r400/0038.jpg)
![](/software/gnuboot/web/static/img/r400/0035.jpg) ![](/software/gnuboot/web/static/img/r400/0036.jpg)
![](/software/gnuboot/web/static/img/r400/0037.jpg) ![](/software/gnuboot/web/static/img/r400/0038.jpg)
Remove the NVRAM battery:\
![](/software/gnuboot/web/img/r400/0039.jpg) ![](/software/gnuboot/web/img/r400/0040.jpg)
![](/software/gnuboot/web/static/img/r400/0039.jpg) ![](/software/gnuboot/web/static/img/r400/0040.jpg)
Remove this screw:\
![](/software/gnuboot/web/img/r400/0041.jpg) ![](/software/gnuboot/web/img/r400/0042.jpg)
![](/software/gnuboot/web/static/img/r400/0041.jpg) ![](/software/gnuboot/web/static/img/r400/0042.jpg)
Disconnect the AC jack:\
![](/software/gnuboot/web/img/r400/0043.jpg) ![](/software/gnuboot/web/img/r400/0044.jpg)
![](/software/gnuboot/web/static/img/r400/0043.jpg) ![](/software/gnuboot/web/static/img/r400/0044.jpg)
Remove this screw and then remove what is under it:\
![](/software/gnuboot/web/img/r400/0045.jpg)
![](/software/gnuboot/web/static/img/r400/0045.jpg)
Remove this:\
![](/software/gnuboot/web/img/r400/0046.jpg)
![](/software/gnuboot/web/static/img/r400/0046.jpg)
Lift the motherboard (which is still inside the cage) from the side on
the right, removing it completely:\
![](/software/gnuboot/web/img/r400/0047.jpg) ![](/software/gnuboot/web/img/r400/0048.jpg)
![](/software/gnuboot/web/static/img/r400/0047.jpg) ![](/software/gnuboot/web/static/img/r400/0048.jpg)
Remove all screws, marking each hole so that you know where to re-insert
them. You should place the screws in a layout corresponding to the order
that they were in before removal: ![](/software/gnuboot/web/img/r400/0049.jpg)
![](/software/gnuboot/web/img/r400/0050.jpg)
that they were in before removal: ![](/software/gnuboot/web/static/img/r400/0049.jpg)
![](/software/gnuboot/web/static/img/r400/0050.jpg)
Remove the motherboard from the cage, and the SPI flash chip will be
next to the memory slots:\
![](/software/gnuboot/web/img/r400/0051.jpg) ![](/software/gnuboot/web/img/r400/0052.jpg)
![](/software/gnuboot/web/static/img/r400/0051.jpg) ![](/software/gnuboot/web/static/img/r400/0052.jpg)
Now, you should be ready to install libreboot.
@ -174,7 +174,7 @@ When re-installing the heatsink, you must first clean off all old paste
with the alcohol/cloth. Then apply new paste. Arctic MX-4 is also much
better than the default paste used on these systems.
![](/software/gnuboot/web/img/t400/paste.jpg)
![](/software/gnuboot/web/static/img/t400/paste.jpg)
NOTE: the photo above is for illustration purposes only, and does not
show how to properly apply the thermal paste. Other guides online detail
@ -199,13 +199,13 @@ be useful for RAM compatibility info (note: coreboot raminit is
different, so this page might be BS)
The following photo shows 8GiB (2x4GiB) of RAM installed:\
![](/software/gnuboot/web/img/t400/memory.jpg)
![](/software/gnuboot/web/static/img/t400/memory.jpg)
Boot it!
--------
You should see something like this:
![](/software/gnuboot/web/img/t400/boot0.jpg) ![](/software/gnuboot/web/img/t400/boot1.jpg)
![](/software/gnuboot/web/static/img/t400/boot0.jpg) ![](/software/gnuboot/web/static/img/t400/boot1.jpg)
Now [install GNU+Linux](../gnulinux/).

View File

@ -76,12 +76,12 @@ accomplish your goal, which is to read from and/or write to the boot flash.
SOIC8
-----
![](/software/gnuboot/web/img/chip/soic8.jpg)
![](/software/gnuboot/web/static/img/chip/soic8.jpg)
SOIC16
------
![](/software/gnuboot/web/img/chip/soic16.jpg)
![](/software/gnuboot/web/static/img/chip/soic16.jpg)
SOIC8 and SOIC16 are the most common types, but there are others:
@ -90,16 +90,16 @@ WSON8
It will be like this on an X200S or X200 Tablet:\
![](/software/gnuboot/web/img/x200t_flash/X200T-flashchip-location.jpg)
![](/software/gnuboot/web/static/img/x200t_flash/X200T-flashchip-location.jpg)
On T400S, it is in this location near the RAM:\
![](/software/gnuboot/web/img/t400s/soic8.jpg)\
![](/software/gnuboot/web/static/img/t400s/soic8.jpg)\
NOTE: in this photo, the chip has been replaced with SOIC8
DIP8
----
![](/software/gnuboot/web/img/dip8/dip8.jpg)
![](/software/gnuboot/web/static/img/dip8/dip8.jpg)
Software configuration
======================
@ -437,7 +437,7 @@ GPIO pins on Raspberry Pi (RPi)
Diagram of the 26 GPIO Pins of the Raspberry Pi Model B (for the Model
B+ with 40 pins, start counting from the right and leave 14 pins):
![](/software/gnuboot/web/img/rpi/0012.png) ![](/software/gnuboot/web/img/rpi/0013.png)
![](/software/gnuboot/web/static/img/rpi/0012.png) ![](/software/gnuboot/web/static/img/rpi/0013.png)
Use this as a reference for the other sections in this page, seen below:
@ -473,8 +473,8 @@ SOIC16 wiring diagram (Raspberry Pi)
------------------------------------
RPi GPIO header:\
![](/software/gnuboot/web/img/rpi/0009.png)
![](/software/gnuboot/web/img/rpi/0010.png)
![](/software/gnuboot/web/static/img/rpi/0009.png)
![](/software/gnuboot/web/static/img/rpi/0010.png)
BBB P9 header:\
<https://beagleboard.org/static/images/cape-headers.png>
@ -609,13 +609,13 @@ SOIC8 is desirable; in that case, you might still want to dump the contents of
the original WSON8.
Here is a SOIC8 in a socket, mounted to a breadboard, for flashing:\
![](/software/gnuboot/web/img/rpi/soic8_socket.jpg)
![](/software/gnuboot/web/static/img/rpi/soic8_socket.jpg)
Here is a photo of a DIP8 IC:\
![](/software/gnuboot/web/img/dip8/dip8.jpg)
![](/software/gnuboot/web/static/img/dip8/dip8.jpg)
Here is a photo of a SOIC8 in 1.27mm 208mil SOP to DIP adapter:\
![](/software/gnuboot/web/img/dip8/sop8todip8.jpg)
![](/software/gnuboot/web/static/img/dip8/sop8todip8.jpg)
NOTE: DIP8 and WSON8-in-socket, and SOIC16-in-socket, are basically the same,
just adapt accordingly.
@ -628,9 +628,9 @@ can just put the 2.54mm pins directly in the DIP8 socket and mount the SOIC8 +
adapter onto that, and solder that. Use quality rosin flux (not acid based)
and good 60/40 or 63/37 leaded solder (don't use lead-free):
![](/software/gnuboot/web/img/dip8/adapter_breadboard.jpg)
![](/software/gnuboot/web/img/dip8/adapter.jpg)
![](/software/gnuboot/web/img/dip8/sop8todip8.jpg)
![](/software/gnuboot/web/static/img/dip8/adapter_breadboard.jpg)
![](/software/gnuboot/web/static/img/dip8/adapter.jpg)
![](/software/gnuboot/web/static/img/dip8/sop8todip8.jpg)
SOIC8/SOIC16 soldered to a mainboard
------------------------------------
@ -653,10 +653,10 @@ resistors needed. You do not need a decoupling capacitor for pin 2 (VCC) either
because the mainboard will already have one.
Here is an example of a test clip connected for SOIC16:\
![](/software/gnuboot/web/img/rpi/0002.jpg)
![](/software/gnuboot/web/static/img/rpi/0002.jpg)
And here is an example photo for SOIC8:\
![](/software/gnuboot/web/img/x60/th_bbb_flashing.jpg)
![](/software/gnuboot/web/static/img/x60/th_bbb_flashing.jpg)
DIP8 soldered to the mainboard
------------------------------
@ -725,13 +725,13 @@ In case you're not comfortable with soldering, we have some excellent videos
linked on the [FAQ page](../../faq.html) which you can watch.
WSON8 IC:\
![](/software/gnuboot/web/img/rpi/wson8/0001.jpg)
![](/software/gnuboot/web/static/img/rpi/wson8/0001.jpg)
Surround a large area around the chip with layers of kapton tape, and then
aluminium foil. This will act as a heat shield, to reduce the risk of re-flowing
other solder joints (which can make them turn into cold joints, and you risk
knocking them off of the board):\
![](/software/gnuboot/web/img/rpi/wson8/0002.jpg)\
![](/software/gnuboot/web/static/img/rpi/wson8/0002.jpg)\
Notice that the kapton+foil does not cover the chip itself, or the solder pads.
It's important that these are exposed to the heat.
@ -749,16 +749,16 @@ move freely. While in this state, the solder is fully melted and the chip can
be lifted off with ease.
If you're doing it correctly, the chip will come off within 1 minute, like so:\
![](/software/gnuboot/web/img/rpi/wson8/0003.jpg)
![](/software/gnuboot/web/static/img/rpi/wson8/0003.jpg)
Add fresh solder to the pads, including the thermal pad:\
![](/software/gnuboot/web/img/rpi/wson8/0004.jpg)
![](/software/gnuboot/web/static/img/rpi/wson8/0004.jpg)
Now wick it out using a copper braid, dunked in rosin flux:\
![](/software/gnuboot/web/img/rpi/wson8/0005.jpg)
![](/software/gnuboot/web/static/img/rpi/wson8/0005.jpg)
Ensure that all of the solder is removed:\
![](/software/gnuboot/web/img/rpi/wson8/0006.jpg)\
![](/software/gnuboot/web/static/img/rpi/wson8/0006.jpg)\
You will notice that one of the pads doesn't have all of the solder removed.
The pad on the top-left in this photo. This is intentional, to show you a
comparison for reference. The other pads are free of solder.
@ -771,13 +771,13 @@ SPI flasher.
Align the new SOIC8, and tack it in the corner pins. Then solder it fully. Use
lots of flux!\
![](/software/gnuboot/web/img/rpi/wson8/0007.jpg)\
![](/software/gnuboot/web/static/img/rpi/wson8/0007.jpg)\
A T12-D08 tip is being used in this photo, but a mini chisel, mini hoof or
knife (e.g. T12-K) tip would be ideal.
Ensure that all the joints are perfect. A good solder joint is shiny, and with
concave fillets where the solder has flowed. Observe:\
![](/software/gnuboot/web/img/rpi/wson8/0008.jpg)
![](/software/gnuboot/web/static/img/rpi/wson8/0008.jpg)
After you're done, use a soft bristle brush and 99.9% isopropyl alcohol to
break up the remaining flux, then soak up the flux using a cloth, while the

View File

@ -82,94 +82,94 @@ The procedure
-------------
Remove *all* screws, placing them in the order that you removed them:\
![](/software/gnuboot/web/img/t400/0001.jpg) ![](/software/gnuboot/web/img/t400/0002.jpg)
![](/software/gnuboot/web/static/img/t400/0001.jpg) ![](/software/gnuboot/web/static/img/t400/0002.jpg)
Remove those three screws then remove the rear bezel:\
![](/software/gnuboot/web/img/t400/0003.jpg) ![](/software/gnuboot/web/img/t400/0004.jpg)
![](/software/gnuboot/web/img/t400/0005.jpg) ![](/software/gnuboot/web/img/t400/0006.jpg)
![](/software/gnuboot/web/static/img/t400/0003.jpg) ![](/software/gnuboot/web/static/img/t400/0004.jpg)
![](/software/gnuboot/web/static/img/t400/0005.jpg) ![](/software/gnuboot/web/static/img/t400/0006.jpg)
Remove the speakers:\
![](/software/gnuboot/web/img/t400/0007.jpg) ![](/software/gnuboot/web/img/t400/0008.jpg)
![](/software/gnuboot/web/img/t400/0009.jpg) ![](/software/gnuboot/web/img/t400/0010.jpg)
![](/software/gnuboot/web/img/t400/0011.jpg)
![](/software/gnuboot/web/static/img/t400/0007.jpg) ![](/software/gnuboot/web/static/img/t400/0008.jpg)
![](/software/gnuboot/web/static/img/t400/0009.jpg) ![](/software/gnuboot/web/static/img/t400/0010.jpg)
![](/software/gnuboot/web/static/img/t400/0011.jpg)
Remove the wifi:\
![](/software/gnuboot/web/img/t400/0012.jpg) ![](/software/gnuboot/web/img/t400/0013.jpg)
![](/software/gnuboot/web/static/img/t400/0012.jpg) ![](/software/gnuboot/web/static/img/t400/0013.jpg)
Remove this cable:\
![](/software/gnuboot/web/img/t400/0014.jpg) ![](/software/gnuboot/web/img/t400/0015.jpg)
![](/software/gnuboot/web/img/t400/0016.jpg) ![](/software/gnuboot/web/img/t400/0017.jpg)
![](/software/gnuboot/web/img/t400/0018.jpg)
![](/software/gnuboot/web/static/img/t400/0014.jpg) ![](/software/gnuboot/web/static/img/t400/0015.jpg)
![](/software/gnuboot/web/static/img/t400/0016.jpg) ![](/software/gnuboot/web/static/img/t400/0017.jpg)
![](/software/gnuboot/web/static/img/t400/0018.jpg)
Unroute those antenna wires:\
![](/software/gnuboot/web/img/t400/0019.jpg) ![](/software/gnuboot/web/img/t400/0020.jpg)
![](/software/gnuboot/web/img/t400/0021.jpg) ![](/software/gnuboot/web/img/t400/0022.jpg)
![](/software/gnuboot/web/img/t400/0023.jpg)
![](/software/gnuboot/web/static/img/t400/0019.jpg) ![](/software/gnuboot/web/static/img/t400/0020.jpg)
![](/software/gnuboot/web/static/img/t400/0021.jpg) ![](/software/gnuboot/web/static/img/t400/0022.jpg)
![](/software/gnuboot/web/static/img/t400/0023.jpg)
Remove the LCD assembly:\
![](/software/gnuboot/web/img/t400/0024.jpg) ![](/software/gnuboot/web/img/t400/0025.jpg)
![](/software/gnuboot/web/img/t400/0026.jpg) ![](/software/gnuboot/web/img/t400/0027.jpg)
![](/software/gnuboot/web/img/t400/0028.jpg) ![](/software/gnuboot/web/img/t400/0029.jpg)
![](/software/gnuboot/web/img/t400/0030.jpg) ![](/software/gnuboot/web/img/t400/0031.jpg)
![](/software/gnuboot/web/static/img/t400/0024.jpg) ![](/software/gnuboot/web/static/img/t400/0025.jpg)
![](/software/gnuboot/web/static/img/t400/0026.jpg) ![](/software/gnuboot/web/static/img/t400/0027.jpg)
![](/software/gnuboot/web/static/img/t400/0028.jpg) ![](/software/gnuboot/web/static/img/t400/0029.jpg)
![](/software/gnuboot/web/static/img/t400/0030.jpg) ![](/software/gnuboot/web/static/img/t400/0031.jpg)
Disconnect the NVRAM battery:\
![](/software/gnuboot/web/img/t400/0033.jpg)
![](/software/gnuboot/web/static/img/t400/0033.jpg)
Disconnect the fan:\
![](/software/gnuboot/web/img/t400/0034.jpg)
![](/software/gnuboot/web/static/img/t400/0034.jpg)
Unscrew these:\
![](/software/gnuboot/web/img/t400/0035.jpg) ![](/software/gnuboot/web/img/t400/0036.jpg)
![](/software/gnuboot/web/img/t400/0037.jpg) ![](/software/gnuboot/web/img/t400/0038.jpg)
![](/software/gnuboot/web/static/img/t400/0035.jpg) ![](/software/gnuboot/web/static/img/t400/0036.jpg)
![](/software/gnuboot/web/static/img/t400/0037.jpg) ![](/software/gnuboot/web/static/img/t400/0038.jpg)
Unscrew the heatsink, then lift it off:\
![](/software/gnuboot/web/img/t400/0039.jpg) ![](/software/gnuboot/web/img/t400/0040.jpg)
![](/software/gnuboot/web/static/img/t400/0039.jpg) ![](/software/gnuboot/web/static/img/t400/0040.jpg)
Disconnect the power jack:\
![](/software/gnuboot/web/img/t400/0041.jpg) ![](/software/gnuboot/web/img/t400/0042.jpg)
![](/software/gnuboot/web/static/img/t400/0041.jpg) ![](/software/gnuboot/web/static/img/t400/0042.jpg)
Loosen this:\
![](/software/gnuboot/web/img/t400/0043.jpg)
![](/software/gnuboot/web/static/img/t400/0043.jpg)
Remove this:\
![](/software/gnuboot/web/img/t400/0044.jpg) ![](/software/gnuboot/web/img/t400/0045.jpg)
![](/software/gnuboot/web/img/t400/0046.jpg) ![](/software/gnuboot/web/img/t400/0047.jpg)
![](/software/gnuboot/web/img/t400/0048.jpg)
![](/software/gnuboot/web/static/img/t400/0044.jpg) ![](/software/gnuboot/web/static/img/t400/0045.jpg)
![](/software/gnuboot/web/static/img/t400/0046.jpg) ![](/software/gnuboot/web/static/img/t400/0047.jpg)
![](/software/gnuboot/web/static/img/t400/0048.jpg)
Unscrew these:\
![](/software/gnuboot/web/img/t400/0049.jpg) ![](/software/gnuboot/web/img/t400/0050.jpg)
![](/software/gnuboot/web/static/img/t400/0049.jpg) ![](/software/gnuboot/web/static/img/t400/0050.jpg)
Remove this:\
![](/software/gnuboot/web/img/t400/0051.jpg) ![](/software/gnuboot/web/img/t400/0052.jpg)
![](/software/gnuboot/web/static/img/t400/0051.jpg) ![](/software/gnuboot/web/static/img/t400/0052.jpg)
Unscrew this:\
![](/software/gnuboot/web/img/t400/0053.jpg)
![](/software/gnuboot/web/static/img/t400/0053.jpg)
Remove the motherboard (the cage is still attached) from the right hand
side, then lift it out:\
![](/software/gnuboot/web/img/t400/0054.jpg) ![](/software/gnuboot/web/img/t400/0055.jpg)
![](/software/gnuboot/web/img/t400/0056.jpg)
![](/software/gnuboot/web/static/img/t400/0054.jpg) ![](/software/gnuboot/web/static/img/t400/0055.jpg)
![](/software/gnuboot/web/static/img/t400/0056.jpg)
Remove these screws, placing the screws in the same layout and marking
each screw hole (so that you know what ones to put the screws back into
later): ![](/software/gnuboot/web/img/t400/0057.jpg) ![](/software/gnuboot/web/img/t400/0058.jpg)
![](/software/gnuboot/web/img/t400/0059.jpg) ![](/software/gnuboot/web/img/t400/0060.jpg)
![](/software/gnuboot/web/img/t400/0061.jpg) ![](/software/gnuboot/web/img/t400/0062.jpg)
later): ![](/software/gnuboot/web/static/img/t400/0057.jpg) ![](/software/gnuboot/web/static/img/t400/0058.jpg)
![](/software/gnuboot/web/static/img/t400/0059.jpg) ![](/software/gnuboot/web/static/img/t400/0060.jpg)
![](/software/gnuboot/web/static/img/t400/0061.jpg) ![](/software/gnuboot/web/static/img/t400/0062.jpg)
Separate the motherboard:\
![](/software/gnuboot/web/img/t400/0063.jpg) ![](/software/gnuboot/web/img/t400/0064.jpg)
![](/software/gnuboot/web/static/img/t400/0063.jpg) ![](/software/gnuboot/web/static/img/t400/0064.jpg)
Connect your programmer, then connect GND and 3.3V\
![](/software/gnuboot/web/img/t400/0065.jpg) ![](/software/gnuboot/web/img/t400/0066.jpg)
![](/software/gnuboot/web/img/t400/0067.jpg) ![](/software/gnuboot/web/img/t400/0069.jpg)
![](/software/gnuboot/web/img/t400/0070.jpg) ![](/software/gnuboot/web/img/t400/0071.jpg)
![](/software/gnuboot/web/static/img/t400/0065.jpg) ![](/software/gnuboot/web/static/img/t400/0066.jpg)
![](/software/gnuboot/web/static/img/t400/0067.jpg) ![](/software/gnuboot/web/static/img/t400/0069.jpg)
![](/software/gnuboot/web/static/img/t400/0070.jpg) ![](/software/gnuboot/web/static/img/t400/0071.jpg)
A dedicated 3.3V PSU was used to create this guide, but at ATX PSU is
also fine:\
![](/software/gnuboot/web/img/t400/0072.jpg)
![](/software/gnuboot/web/static/img/t400/0072.jpg)
Of course, make sure to turn on your PSU:\
![](/software/gnuboot/web/img/x200/disassembly/0013.jpg)
![](/software/gnuboot/web/static/img/x200/disassembly/0013.jpg)
Now, you should be ready to install libreboot.
@ -187,7 +187,7 @@ When re-installing the heatsink, you must first clean off all old paste
with the alcohol/cloth. Then apply new paste. Arctic MX-4 is also much
better than the default paste used on these systems.
![](/software/gnuboot/web/img/t400/paste.jpg)
![](/software/gnuboot/web/static/img/t400/paste.jpg)
NOTE: the photo above is for illustration purposes only, and does not
show how to properly apply the thermal paste. Other guides online detail
@ -212,13 +212,13 @@ be useful for RAM compatibility info (note: coreboot raminit is
different, so this page might be BS)
The following photo shows 8GiB (2x4GiB) of RAM installed:\
![](/software/gnuboot/web/img/t400/memory.jpg)
![](/software/gnuboot/web/static/img/t400/memory.jpg)
Boot it!
--------
You should see something like this:
![](/software/gnuboot/web/img/t400/boot0.jpg) ![](/software/gnuboot/web/img/t400/boot1.jpg)
![](/software/gnuboot/web/static/img/t400/boot0.jpg) ![](/software/gnuboot/web/static/img/t400/boot1.jpg)
Now [install GNU+Linux](../gnulinux/).

View File

@ -119,109 +119,109 @@ The procedure
-------------
Remove all screws:\
![](/software/gnuboot/web/img/t500/0000.jpg)\
![](/software/gnuboot/web/static/img/t500/0000.jpg)\
It is also advisable to, throughout the disassembly, place any screws
and/or components that you removed in the same layout or arrangement.
The follow photos demonstrate this:\
![](/software/gnuboot/web/img/t500/0001.jpg) ![](/software/gnuboot/web/img/t500/0002.jpg)
![](/software/gnuboot/web/static/img/t500/0001.jpg) ![](/software/gnuboot/web/static/img/t500/0002.jpg)
Remove the HDD/SSD and optical drive:\
![](/software/gnuboot/web/img/t500/0003.jpg) ![](/software/gnuboot/web/img/t500/0004.jpg)
![](/software/gnuboot/web/static/img/t500/0003.jpg) ![](/software/gnuboot/web/static/img/t500/0004.jpg)
Remove the palm rest:\
![](/software/gnuboot/web/img/t500/0005.jpg) ![](/software/gnuboot/web/img/t500/0006.jpg)
![](/software/gnuboot/web/static/img/t500/0005.jpg) ![](/software/gnuboot/web/static/img/t500/0006.jpg)
Remove the keyboard and rear bezel:\
![](/software/gnuboot/web/img/t500/0007.jpg) ![](/software/gnuboot/web/img/t500/0008.jpg)
![](/software/gnuboot/web/img/t500/0009.jpg) ![](/software/gnuboot/web/img/t500/0010.jpg)
![](/software/gnuboot/web/img/t500/0011.jpg) ![](/software/gnuboot/web/img/t500/0012.jpg)
![](/software/gnuboot/web/static/img/t500/0007.jpg) ![](/software/gnuboot/web/static/img/t500/0008.jpg)
![](/software/gnuboot/web/static/img/t500/0009.jpg) ![](/software/gnuboot/web/static/img/t500/0010.jpg)
![](/software/gnuboot/web/static/img/t500/0011.jpg) ![](/software/gnuboot/web/static/img/t500/0012.jpg)
If you have a WWAN/3G card and/or sim card reader, remove them
permanently. The WWAN-3G card has proprietary firmware inside; the
technology is identical to what is used in mobile phones, so it can also
track your movements:\
![](/software/gnuboot/web/img/t500/0013.jpg) ![](/software/gnuboot/web/img/t500/0017.jpg)
![](/software/gnuboot/web/img/t500/0018.jpg)
![](/software/gnuboot/web/static/img/t500/0013.jpg) ![](/software/gnuboot/web/static/img/t500/0017.jpg)
![](/software/gnuboot/web/static/img/t500/0018.jpg)
Remove this frame, and then remove the wifi chip:\
![](/software/gnuboot/web/img/t500/0014.jpg) ![](/software/gnuboot/web/img/t500/0015.jpg)
![](/software/gnuboot/web/img/t500/0016.jpg)
![](/software/gnuboot/web/static/img/t500/0014.jpg) ![](/software/gnuboot/web/static/img/t500/0015.jpg)
![](/software/gnuboot/web/static/img/t500/0016.jpg)
Remove the speakers:\
![](/software/gnuboot/web/img/t500/0019.jpg) ![](/software/gnuboot/web/img/t500/0020.jpg)
![](/software/gnuboot/web/img/t500/0021.jpg) ![](/software/gnuboot/web/img/t500/0022.jpg)
![](/software/gnuboot/web/img/t500/0023.jpg) ![](/software/gnuboot/web/img/t500/0024.jpg)
![](/software/gnuboot/web/img/t500/0025.jpg)
![](/software/gnuboot/web/static/img/t500/0019.jpg) ![](/software/gnuboot/web/static/img/t500/0020.jpg)
![](/software/gnuboot/web/static/img/t500/0021.jpg) ![](/software/gnuboot/web/static/img/t500/0022.jpg)
![](/software/gnuboot/web/static/img/t500/0023.jpg) ![](/software/gnuboot/web/static/img/t500/0024.jpg)
![](/software/gnuboot/web/static/img/t500/0025.jpg)
Remove the NVRAM battery (already removed in this photo):\
![](/software/gnuboot/web/img/t500/0026.jpg)
![](/software/gnuboot/web/static/img/t500/0026.jpg)
When you re-assemble, you will be replacing the wifi chip with another.
These two screws don't hold anything together, but they are included in
your system because the screw holes for half-height cards are a
different size, so use these if you will be installing a half-height
card:\
![](/software/gnuboot/web/img/t500/0027.jpg)
![](/software/gnuboot/web/static/img/t500/0027.jpg)
Unroute the antenna wires:\
![](/software/gnuboot/web/img/t500/0028.jpg) ![](/software/gnuboot/web/img/t500/0029.jpg)
![](/software/gnuboot/web/img/t500/0030.jpg) ![](/software/gnuboot/web/img/t500/0031.jpg)
![](/software/gnuboot/web/static/img/t500/0028.jpg) ![](/software/gnuboot/web/static/img/t500/0029.jpg)
![](/software/gnuboot/web/static/img/t500/0030.jpg) ![](/software/gnuboot/web/static/img/t500/0031.jpg)
Disconnect the LCD cable from the motherboard:\
![](/software/gnuboot/web/img/t500/0032.jpg) ![](/software/gnuboot/web/img/t500/0033.jpg)
![](/software/gnuboot/web/static/img/t500/0032.jpg) ![](/software/gnuboot/web/static/img/t500/0033.jpg)
Remove the LCD assembly hinge screws, and then remove the LCD assembly:\
![](/software/gnuboot/web/img/t500/0034.jpg) ![](/software/gnuboot/web/img/t500/0035.jpg)
![](/software/gnuboot/web/img/t500/0036.jpg)
![](/software/gnuboot/web/static/img/t500/0034.jpg) ![](/software/gnuboot/web/static/img/t500/0035.jpg)
![](/software/gnuboot/web/static/img/t500/0036.jpg)
Remove the fan and heatsink:\
![](/software/gnuboot/web/img/t500/0037.jpg) ![](/software/gnuboot/web/img/t500/0038.jpg)
![](/software/gnuboot/web/img/t500/0039.jpg)
![](/software/gnuboot/web/static/img/t500/0037.jpg) ![](/software/gnuboot/web/static/img/t500/0038.jpg)
![](/software/gnuboot/web/static/img/t500/0039.jpg)
Remove this screw:\
![](/software/gnuboot/web/img/t500/0040.jpg)
![](/software/gnuboot/web/static/img/t500/0040.jpg)
Remove these cables, keeping note of how and in what arrangement they
are connected:\
![](/software/gnuboot/web/img/t500/0041.jpg) ![](/software/gnuboot/web/img/t500/0042.jpg)
![](/software/gnuboot/web/img/t500/0043.jpg) ![](/software/gnuboot/web/img/t500/0044.jpg)
![](/software/gnuboot/web/img/t500/0045.jpg) ![](/software/gnuboot/web/img/t500/0046.jpg)
![](/software/gnuboot/web/img/t500/0047.jpg) ![](/software/gnuboot/web/img/t500/0048.jpg)
![](/software/gnuboot/web/img/t500/0049.jpg)
![](/software/gnuboot/web/static/img/t500/0041.jpg) ![](/software/gnuboot/web/static/img/t500/0042.jpg)
![](/software/gnuboot/web/static/img/t500/0043.jpg) ![](/software/gnuboot/web/static/img/t500/0044.jpg)
![](/software/gnuboot/web/static/img/t500/0045.jpg) ![](/software/gnuboot/web/static/img/t500/0046.jpg)
![](/software/gnuboot/web/static/img/t500/0047.jpg) ![](/software/gnuboot/web/static/img/t500/0048.jpg)
![](/software/gnuboot/web/static/img/t500/0049.jpg)
Disconnect the power jack:\
![](/software/gnuboot/web/img/t500/0050.jpg) ![](/software/gnuboot/web/img/t500/0051.jpg)
![](/software/gnuboot/web/static/img/t500/0050.jpg) ![](/software/gnuboot/web/static/img/t500/0051.jpg)
Remove the motherboard and cage from the base (the marked hole is where
those cables were routed through):\
![](/software/gnuboot/web/img/t500/0052.jpg) ![](/software/gnuboot/web/img/t500/0053.jpg)
![](/software/gnuboot/web/static/img/t500/0052.jpg) ![](/software/gnuboot/web/static/img/t500/0053.jpg)
Remove all screws, arranging them in the same layout when placing the
screws on a surface and marking each screw hole (this is to reduce the
possibility of putting them back in the wrong holes):\
![](/software/gnuboot/web/img/t500/0054.jpg) ![](/software/gnuboot/web/img/t500/0055.jpg)
![](/software/gnuboot/web/static/img/t500/0054.jpg) ![](/software/gnuboot/web/static/img/t500/0055.jpg)
Also remove this:\
![](/software/gnuboot/web/img/t500/0056.jpg) ![](/software/gnuboot/web/img/t500/0057.jpg)
![](/software/gnuboot/web/static/img/t500/0056.jpg) ![](/software/gnuboot/web/static/img/t500/0057.jpg)
Separate the motherboard from the cage:\
![](/software/gnuboot/web/img/t500/0058.jpg) ![](/software/gnuboot/web/img/t500/0059.jpg)
![](/software/gnuboot/web/static/img/t500/0058.jpg) ![](/software/gnuboot/web/static/img/t500/0059.jpg)
The flash chip is next to the memory slots. On this system, it was a
SOIC-8 (4MiB or 32Mb) flash chip:\
![](/software/gnuboot/web/img/t500/0060.jpg)
![](/software/gnuboot/web/static/img/t500/0060.jpg)
Connect your programmer, then connect GND and 3.3V\
![](/software/gnuboot/web/img/t500/0061.jpg)\
![](/software/gnuboot/web/img/t400/0067.jpg) ![](/software/gnuboot/web/img/t400/0069.jpg)
![](/software/gnuboot/web/img/t400/0070.jpg) ![](/software/gnuboot/web/img/t400/0071.jpg)
![](/software/gnuboot/web/static/img/t500/0061.jpg)\
![](/software/gnuboot/web/static/img/t400/0067.jpg) ![](/software/gnuboot/web/static/img/t400/0069.jpg)
![](/software/gnuboot/web/static/img/t400/0070.jpg) ![](/software/gnuboot/web/static/img/t400/0071.jpg)
A dedicated 3.3V PSU was used to create this guide, but at ATX PSU is
also fine:\
![](/software/gnuboot/web/img/t400/0072.jpg)
![](/software/gnuboot/web/static/img/t400/0072.jpg)
Of course, make sure to turn on your PSU:\
![](/software/gnuboot/web/img/x200/disassembly/0013.jpg)
![](/software/gnuboot/web/static/img/x200/disassembly/0013.jpg)
Now, you should be ready to install libreboot.
@ -281,7 +281,7 @@ Now flash it:
./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w path/to/libreboot/rom/image.rom -V
![](/software/gnuboot/web/img/x200/disassembly/0015.jpg)
![](/software/gnuboot/web/static/img/x200/disassembly/0015.jpg)
You might see errors, but if it says `Verifying flash... VERIFIED` at
the end, then it's flashed and should boot. If you see errors, try
@ -313,7 +313,7 @@ When re-installing the heatsink, you must first clean off all old paste
with the alcohol/cloth. Then apply new paste. Arctic MX-4 is also much
better than the default paste used on these systems.
![](/software/gnuboot/web/img/t400/paste.jpg)
![](/software/gnuboot/web/static/img/t400/paste.jpg)
NOTE: the photo above is for illustration purposes only, and does not
show how to properly apply the thermal paste. Other guides online detail
@ -337,7 +337,7 @@ whitelist of approved chips, and it will refuse to boot if you use an
The following photos show an Atheros AR5B95 being installed, to replace
the Intel chip that this T500 came with:\
![](/software/gnuboot/web/img/t400/0012.jpg) ![](/software/gnuboot/web/img/t400/ar5b95.jpg)
![](/software/gnuboot/web/static/img/t400/0012.jpg) ![](/software/gnuboot/web/static/img/t400/ar5b95.jpg)
WWAN
====
@ -368,13 +368,13 @@ be useful for RAM compatibility info (note: coreboot raminit is
different, so this page might be BS)
The following photo shows 8GiB (2x4GiB) of RAM installed:\
![](/software/gnuboot/web/img/t400/memory.jpg)
![](/software/gnuboot/web/static/img/t400/memory.jpg)
Boot it!
--------
You should see something like this:
![](/software/gnuboot/web/img/t500/0062.jpg)
![](/software/gnuboot/web/static/img/t500/0062.jpg)
Now [install GNU+Linux](../gnulinux/).

View File

@ -41,7 +41,7 @@ you re-flash a second time and set it back to 0.
In this case, unbricking is easy: reset BUC.TS to 0 by removing that
yellow cmos coin (it's a battery) and putting it back after a minute or
two:\
![](/software/gnuboot/web/img/t60_dev/0006.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0006.JPG)
\*Those dd commands should be applied to all newly compiled T60 ROM
images (the ROM images in libreboot binary archives already have this
@ -75,62 +75,62 @@ external hardware (see hardware requirements above) is needed which can
flash the SPI chip (where libreboot resides).
Remove those screws and remove the HDD:\
![](/software/gnuboot/web/img/t60_dev/0001.JPG) ![](/software/gnuboot/web/img/t60_dev/0002.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0001.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0002.JPG)
Lift off the palm rest:\
![](/software/gnuboot/web/img/t60_dev/0003.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0003.JPG)
Lift up the keyboard, pull it back a bit, flip it over like that and
then disconnect it from the board:\
![](/software/gnuboot/web/img/t60_dev/0004.JPG) ![](/software/gnuboot/web/img/t60_dev/0005.JPG)
![](/software/gnuboot/web/img/t60_dev/0006.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0004.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0005.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0006.JPG)
Gently wedge both sides loose:\
![](/software/gnuboot/web/img/t60_dev/0007.JPG) ![](/software/gnuboot/web/img/t60_dev/0008.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0007.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0008.JPG)
Remove that cable from the position:\
![](/software/gnuboot/web/img/t60_dev/0009.JPG) ![](/software/gnuboot/web/img/t60_dev/0010.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0009.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0010.JPG)
Now remove that bezel. Remove wifi, nvram battery and speaker connector
(also remove 56k modem, on the left of wifi):\
![](/software/gnuboot/web/img/t60_dev/0011.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0011.JPG)
Remove those screws:\
![](/software/gnuboot/web/img/t60_dev/0012.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0012.JPG)
Disconnect the power jack:\
![](/software/gnuboot/web/img/t60_dev/0013.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0013.JPG)
Remove nvram battery:\
![](/software/gnuboot/web/img/t60_dev/0014.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0014.JPG)
Disconnect cable (for 56k modem) and disconnect the other cable:\
![](/software/gnuboot/web/img/t60_dev/0015.JPG) ![](/software/gnuboot/web/img/t60_dev/0016.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0015.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0016.JPG)
Disconnect speaker cable:\
![](/software/gnuboot/web/img/t60_dev/0017.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0017.JPG)
Disconnect the other end of the 56k modem cable:\
![](/software/gnuboot/web/img/t60_dev/0018.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0018.JPG)
Make sure you removed it:\
![](/software/gnuboot/web/img/t60_dev/0019.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0019.JPG)
Unscrew those:\
![](/software/gnuboot/web/img/t60_dev/0020.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0020.JPG)
Make sure you removed those:\
![](/software/gnuboot/web/img/t60_dev/0021.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0021.JPG)
Disconnect LCD cable from board:\
![](/software/gnuboot/web/img/t60_dev/0022.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0022.JPG)
Remove those screws then remove the LCD assembly:\
![](/software/gnuboot/web/img/t60_dev/0023.JPG) ![](/software/gnuboot/web/img/t60_dev/0024.JPG)
![](/software/gnuboot/web/img/t60_dev/0025.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0023.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0024.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0025.JPG)
Once again, make sure you removed those:\
![](/software/gnuboot/web/img/t60_dev/0026.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0026.JPG)
Remove the shielding containing the motherboard, then flip it over.
Remove these screws, placing them on a steady surface in the same layout
@ -139,13 +139,13 @@ screw hole after removing the screw (a permanent marker pen will do),
this is so that you have a point of reference when re-assembling the
system:
![](/software/gnuboot/web/img/t60_dev/0027.JPG) ![](/software/gnuboot/web/img/t60_dev/0028.JPG)
![](/software/gnuboot/web/img/t60_dev/0029.JPG) ![](/software/gnuboot/web/img/t60_dev/0031.JPG)
![](/software/gnuboot/web/img/t60_dev/0032.JPG) ![](/software/gnuboot/web/img/t60_dev/0033.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0027.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0028.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0029.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0031.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0032.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0033.JPG)
This photo shows the flash chip, near the RAM, with numbers of pins written:
![](/software/gnuboot/web/img/t60_dev/0030.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0030.JPG)
Refer to the external flashing guide:
@ -174,48 +174,48 @@ complains about multiple flash chip definitions detected, then choose
one of them following the instructions in the output.
Put those screws back:\
![](/software/gnuboot/web/img/t60_dev/0047.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0047.JPG)
Put it back into lower chassis:\
![](/software/gnuboot/web/img/t60_dev/0048.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0048.JPG)
Attach LCD and insert screws (also, attach the lcd cable to the board):\
![](/software/gnuboot/web/img/t60_dev/0049.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0049.JPG)
Insert those screws:\
![](/software/gnuboot/web/img/t60_dev/0050.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0050.JPG)
On the CPU (and there is another chip south-east to it, sorry forgot to
take pic) clean off the old thermal paste (with the alcohol) and apply
new (Artic Silver 5 is good, others are good too) you should also clean
the heatsink the same way\
![](/software/gnuboot/web/img/t60_dev/0051.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0051.JPG)
Attach the heatsink and install the screws (also, make sure to install
the AC jack as highlighted):\
![](/software/gnuboot/web/img/t60_dev/0052.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0052.JPG)
Reinstall that upper bezel:\
![](/software/gnuboot/web/img/t60_dev/0053.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0053.JPG)
Do that:\
![](/software/gnuboot/web/img/t60_dev/0054.JPG) ![](/software/gnuboot/web/img/t60_dev/0055.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0054.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0055.JPG)
Re-attach modem, wifi, (wwan?), and all necessary cables. Sorry, forgot
to take pics. Look at previous removal steps to see where they go back
to.
Attach keyboard and install nvram battery:\
![](/software/gnuboot/web/img/t60_dev/0056.JPG) ![](/software/gnuboot/web/img/t60_dev/0057.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0056.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0057.JPG)
Place keyboard and (sorry, forgot to take pics) reinstall the palmrest
and insert screws on the underside:\
![](/software/gnuboot/web/img/t60_dev/0058.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0058.JPG)
It lives!\
![](/software/gnuboot/web/img/t60_dev/0071.JPG) ![](/software/gnuboot/web/img/t60_dev/0072.JPG)
![](/software/gnuboot/web/img/t60_dev/0073.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0071.JPG) ![](/software/gnuboot/web/static/img/t60_dev/0072.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0073.JPG)
Always stress test ('stress -c 2' and xsensors. below 90C is ok) when
replacing cpu paste/heatsink:\
![](/software/gnuboot/web/img/t60_dev/0074.JPG)
![](/software/gnuboot/web/static/img/t60_dev/0074.JPG)

View File

@ -35,25 +35,25 @@ Tablet (for those systems, you have to remove the motherboard
completely, since the flash chip is on the other side of the board).
Remove these screws:\
![](/software/gnuboot/web/img/x200/disassembly/0003.jpg)
![](/software/gnuboot/web/static/img/x200/disassembly/0003.jpg)
Gently push the keyboard towards the screen, then lift it off, and optionally
disconnect it from the board:\
![](/software/gnuboot/web/img/x200/disassembly/0004.jpg)
![](/software/gnuboot/web/img/x200/disassembly/0005.jpg)
![](/software/gnuboot/web/static/img/x200/disassembly/0004.jpg)
![](/software/gnuboot/web/static/img/x200/disassembly/0005.jpg)
Disconnect the cable of the fingerpring reader, and then pull up the palm rest,
lifting up the left and right side of it:\
![](/software/gnuboot/web/img/x200/disassembly/0006.1.jpg)
![](/software/gnuboot/web/img/x200/disassembly/0006.jpg)
![](/software/gnuboot/web/static/img/x200/disassembly/0006.1.jpg)
![](/software/gnuboot/web/static/img/x200/disassembly/0006.jpg)
This shows the location of the flash chip, for both SOIC-8 and SOIC-16:\
![](/software/gnuboot/web/img/x200/x200_soic16.jpg)
![](/software/gnuboot/web/img/x200/x200_soic8.jpg)
![](/software/gnuboot/web/static/img/x200/x200_soic16.jpg)
![](/software/gnuboot/web/static/img/x200/x200_soic8.jpg)
Lift back the tape that covers a part of the flash chip, and then
connect the clip:\
![](/software/gnuboot/web/img/x200/disassembly/0008.jpg)
![](/software/gnuboot/web/static/img/x200/disassembly/0008.jpg)
Now, you should be ready to install libreboot.
@ -78,14 +78,14 @@ Make sure that the RAM you buy is the 2Rx8 configuration when buying 4GiB sticks
In this photo, 8GiB of RAM (2x4GiB) is installed:
![](/software/gnuboot/web/img/x200/disassembly/0018.jpg)
![](/software/gnuboot/web/static/img/x200/disassembly/0018.jpg)
Boot it!
--------
You should see something like this:
![](/software/gnuboot/web/img/x200/disassembly/0019.jpg)
![](/software/gnuboot/web/static/img/x200/disassembly/0019.jpg)
Now [install GNU+Linux](../gnulinux/).
@ -99,7 +99,7 @@ was proven correct; however, it is still useless in practise.
Look just above the 7 in TP37 (that's GPIO33):
![](/software/gnuboot/web/img/x200/gpio33_location.jpg)
![](/software/gnuboot/web/static/img/x200/gpio33_location.jpg)
By default we would see this in lenovobios, when trying flashrom -p
internal -w rom.rom:

View File

@ -38,7 +38,7 @@ you re-flash a second time and set it back to 0.
In this case, unbricking is easy: reset BUC.TS to 0 by removing that
yellow cmos coin (it's a battery) and putting it back after a minute or
two:\
![](/software/gnuboot/web/img/x60_unbrick/0004.jpg)\
![](/software/gnuboot/web/static/img/x60_unbrick/0004.jpg)\
\*Those dd commands should be applied to all newly compiled X60 ROM
images (the ROM images in libreboot binary archives already have this
@ -71,63 +71,63 @@ external hardware (see hardware requirements above) is needed which can
flash the SPI chip (where libreboot resides).
Remove those screws:\
![](/software/gnuboot/web/img/x60_unbrick/0000.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0000.jpg)
Push the keyboard forward (carefully):\
![](/software/gnuboot/web/img/x60_unbrick/0001.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0001.jpg)
Lift the keyboard up and disconnect it from the board:\
![](/software/gnuboot/web/img/x60_unbrick/0002.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0002.jpg)
Grab the right-hand side of the chassis and force it off (gently) and
pry up the rest of the chassis:\
![](/software/gnuboot/web/img/x60_unbrick/0003.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0003.jpg)
You should now have this:\
![](/software/gnuboot/web/img/x60_unbrick/0004.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0004.jpg)
Disconnect the wifi antenna cables, the modem cable and the speaker:\
![](/software/gnuboot/web/img/x60_unbrick/0005.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0005.jpg)
Unroute the cables along their path, carefully lifting the tape that
holds them in place. Then, disconnect the modem cable (other end) and
power connection and unroute all the cables so that they dangle by the
monitor hinge on the right-hand side:\
![](/software/gnuboot/web/img/x60_unbrick/0006.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0006.jpg)
Disconnect the monitor from the motherboard, and unroute the grey
antenna cable, carefully lifting the tape that holds it into place:\
![](/software/gnuboot/web/img/x60_unbrick/0008.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0008.jpg)
Carefully lift the remaining tape and unroute the left antenna cable so
that it is loose:\
![](/software/gnuboot/web/img/x60_unbrick/0009.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0009.jpg)
Remove the screw that is highlighted (do NOT remove the other one; it
holds part of the heatsink (other side) into place):\
![](/software/gnuboot/web/img/x60_unbrick/0011.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0011.jpg)
Remove those screws:\
![](/software/gnuboot/web/img/x60_unbrick/0012.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0012.jpg)
Carefully remove the plate, like so:\
![](/software/gnuboot/web/img/x60_unbrick/0013.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0013.jpg)
Remove the SATA connector:\
![](/software/gnuboot/web/img/x60_unbrick/0014.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0014.jpg)
Now remove the motherboard (gently) and cast the lcd/chassis aside:\
![](/software/gnuboot/web/img/x60_unbrick/0015.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0015.jpg)
Lift back that tape and hold it with something. Highlighted is the SPI
flash chip:\
![](/software/gnuboot/web/img/x60_unbrick/0016.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0016.jpg)
Here is another photo, with the numbers of the pins written:\
![](/software/gnuboot/web/img/x60_unbrick/0017.jpg)\
![](/software/gnuboot/web/static/img/x60_unbrick/0017.jpg)\
This photo shows an SPI flasher used, with SOIC8 test clip:\
![](/software/gnuboot/web/img/x60/th_bbb_flashing.jpg)
![](/software/gnuboot/web/static/img/x60/th_bbb_flashing.jpg)
Refer to the following guide:\
[Externally rewrite 25xx NOR flash via SPI protocol](spi.html)
@ -156,74 +156,74 @@ one of them following the instructions in the output.
Remove the programmer and put it away somewhere. Put back the tape and
press firmly over it:\
![](/software/gnuboot/web/img/x60_unbrick/0026.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0026.jpg)
Your empty chassis:\
![](/software/gnuboot/web/img/x60_unbrick/0027.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0027.jpg)
Put the motherboard back in:\
![](/software/gnuboot/web/img/x60_unbrick/0028.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0028.jpg)
Reconnect SATA:\
![](/software/gnuboot/web/img/x60_unbrick/0029.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0029.jpg)
Put the plate back and re-insert those screws:\
![](/software/gnuboot/web/img/x60_unbrick/0030.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0030.jpg)
Re-route that antenna cable around the fan and apply the tape:\
![](/software/gnuboot/web/img/x60_unbrick/0031.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0031.jpg)
Route the cable here and then (not shown, due to error on my part)
reconnect the monitor cable to the motherboard and re-insert the
screws:\
![](/software/gnuboot/web/img/x60_unbrick/0032.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0032.jpg)
Re-insert that screw:\
![](/software/gnuboot/web/img/x60_unbrick/0033.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0033.jpg)
Route the black antenna cable like so:\
![](/software/gnuboot/web/img/x60_unbrick/0034.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0034.jpg)
Tuck it in neatly like so:\
![](/software/gnuboot/web/img/x60_unbrick/0035.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0035.jpg)
Route the modem cable like so:\
![](/software/gnuboot/web/img/x60_unbrick/0036.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0036.jpg)
Connect modem cable to board and tuck it in neatly like so:\
![](/software/gnuboot/web/img/x60_unbrick/0037.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0037.jpg)
Route the power connection and connect it to the board like so:\
![](/software/gnuboot/web/img/x60_unbrick/0038.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0038.jpg)
Route the antenna and modem cables neatly like so:\
![](/software/gnuboot/web/img/x60_unbrick/0039.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0039.jpg)
Connect the wifi antenna cables. At the start of the tutorial, this
system had an Intel wifi chip. Here you see I've replaced it with an
Atheros AR5B95 (supports 802.11n and can be used without blobs):\
![](/software/gnuboot/web/img/x60_unbrick/0040.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0040.jpg)
Connect the modem cable:\
![](/software/gnuboot/web/img/x60_unbrick/0041.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0041.jpg)
Connect the speaker:\
![](/software/gnuboot/web/img/x60_unbrick/0042.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0042.jpg)
You should now have this:\
![](/software/gnuboot/web/img/x60_unbrick/0043.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0043.jpg)
Re-connect the upper chassis:\
![](/software/gnuboot/web/img/x60_unbrick/0044.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0044.jpg)
Re-connect the keyboard:\
![](/software/gnuboot/web/img/x60_unbrick/0045.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0045.jpg)
Re-insert the screws that you removed earlier:\
![](/software/gnuboot/web/img/x60_unbrick/0046.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0046.jpg)
Power on!\
![](/software/gnuboot/web/img/x60_unbrick/0047.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0047.jpg)
Operating system:\
![](/software/gnuboot/web/img/x60_unbrick/0049.jpg)
![](/software/gnuboot/web/static/img/x60_unbrick/0049.jpg)

View File

@ -38,7 +38,7 @@ you re-flash a second time and set it back to 0.
In this case, unbricking is easy: reset BUC.TS to 0 by removing that
yellow cmos coin (it's a battery) and putting it back after a minute or
two:\
![](/software/gnuboot/web/img/x60t_unbrick/0008.JPG)\
![](/software/gnuboot/web/static/img/x60t_unbrick/0008.JPG)\
\*Those dd commands should be applied to all newly compiled X60 ROM
images (the ROM images in libreboot binary archives already have this
@ -70,43 +70,43 @@ you can't boot the system, making this difficult. In this situation,
external hardware (see hardware requirements above) is needed which can
flash the SPI chip (where libreboot resides).
![](/software/gnuboot/web/img/x60t_unbrick/0000.JPG)
![](/software/gnuboot/web/static/img/x60t_unbrick/0000.JPG)
Remove those screws:\
![](/software/gnuboot/web/img/x60t_unbrick/0001.JPG)
![](/software/gnuboot/web/static/img/x60t_unbrick/0001.JPG)
Remove the HDD:\
![](/software/gnuboot/web/img/x60t_unbrick/0002.JPG)
![](/software/gnuboot/web/static/img/x60t_unbrick/0002.JPG)
Push keyboard forward to loosen it:\
![](/software/gnuboot/web/img/x60t_unbrick/0003.JPG)
![](/software/gnuboot/web/static/img/x60t_unbrick/0003.JPG)
Lift:\
![](/software/gnuboot/web/img/x60t_unbrick/0004.JPG)
![](/software/gnuboot/web/static/img/x60t_unbrick/0004.JPG)
Remove those:\
![](/software/gnuboot/web/img/x60t_unbrick/0005.JPG)
![](/software/gnuboot/web/static/img/x60t_unbrick/0005.JPG)
![](/software/gnuboot/web/img/x60t_unbrick/0006.JPG)
![](/software/gnuboot/web/static/img/x60t_unbrick/0006.JPG)
Also remove that (marked) and unroute the antenna cables:\
![](/software/gnuboot/web/img/x60t_unbrick/0007.JPG)
![](/software/gnuboot/web/static/img/x60t_unbrick/0007.JPG)
For some X60T laptops, you have to unroute those too:\
![](/software/gnuboot/web/img/x60t_unbrick/0010.JPG)
![](/software/gnuboot/web/static/img/x60t_unbrick/0010.JPG)
Remove the LCD extend board screws. Also remove those screws (see blue
marks) and remove/unroute the cables and remove the metal plate:\
![](/software/gnuboot/web/img/x60t_unbrick/0008.JPG)
![](/software/gnuboot/web/static/img/x60t_unbrick/0008.JPG)
Remove that screw and then remove the board:\
![](/software/gnuboot/web/img/x60t_unbrick/0009.JPG)
![](/software/gnuboot/web/static/img/x60t_unbrick/0009.JPG)
This photo shows the flash location:\
![](/software/gnuboot/web/img/x60t_unbrick/0011.JPG)
![](/software/gnuboot/web/static/img/x60t_unbrick/0011.JPG)
This photo shows an SPI flasher used, with SOIC8 test clip:\
![](/software/gnuboot/web/img/x60/th_bbb_flashing.jpg)
![](/software/gnuboot/web/static/img/x60/th_bbb_flashing.jpg)
Refer to the external flashing guide:

View File

@ -832,18 +832,18 @@ You can find photos of various chip types on the following page:\
Who did the logo?
----------------------------------------------------------------
See the [license information](/software/gnuboot/web/img/logo/license.html).
See the [license information](/software/gnuboot/web/static/img/logo/license.html).
The Libreboot logo is available as a [bitmap](/software/gnuboot/web/img/logo/logo.png), a
[vector](/software/gnuboot/web/img/logo/logo.svg), or a [greyscale vector](/software/gnuboot/web/img/logo/logo_grey.svg).
The Libreboot logo is available as a [bitmap](/software/gnuboot/web/static/img/logo/logo.png), a
[vector](/software/gnuboot/web/static/img/logo/logo.svg), or a [greyscale vector](/software/gnuboot/web/static/img/logo/logo_grey.svg).
Libreboot Inside stickers are available as a
[PDF](/software/gnuboot/web/img/logo/stickers/libreboot-inside-simple-bold-1.60cmx2.00cm-diecut-3.pdf) or
[PDF](/software/gnuboot/web/static/img/logo/stickers/libreboot-inside-simple-bold-1.60cmx2.00cm-diecut-3.pdf) or
a
[vector](/software/gnuboot/web/img/logo/stickers/libreboot-inside-simple-bold-1.60cmx2.00cm-diecut-3.svg)
[vector](/software/gnuboot/web/static/img/logo/stickers/libreboot-inside-simple-bold-1.60cmx2.00cm-diecut-3.svg)
You can find all of the available logos by browsing this directory:\
</software/gnuboot/web/img/logo/>
</software/gnuboot/web/static/img/logo/>
What other firmware exists outside of GNU Boot?
==================================================

View File

@ -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)
-------------------------------------------------------------------------------

View File

@ -1,21 +1,7 @@
.warning_banner {
background:#000000;
color:#ffffff;
margin:0 auto;
font-family:sans-serif;
line-height:5
}
html{
background:#fff;
color:#222;
}
table, th, td {
border: solid;
border-collapse: collapse;
}
.date,.author,.h a{display:none}
code,pre,#TOC,a:hover{background:#eee}
:not(p),a:hover {
@ -27,7 +13,7 @@ code,pre,#TOC,a:hover{background:#eee}
a{color:#22d}
.title>*, header ul>li, .nav ul>li,
#footer ul>li, .h:hover>*
ul>li
ul>li
{
display:inline;
margin:.7%;

View File

@ -16,4 +16,4 @@ A copy of this license (CC-0 1.0) can be found at:
The font on the sticker designs is `lato`. Install this, otherwise the vectors
won't look correct for the text.
You can see the logo files here: </software/gnuboot/web/img/logo/>
You can see the logo files here: </software/gnuboot/web/static/img/logo/>

View File

@ -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