문서의 이전 판입니다!
Linux From Scratch
Grep && Tar
특정 문자열을 가진 파일을 아카이브 처리
“python3_11” 문자열이 있는 파일을 검색하고 $HOME에 아카이브 파일 생성
grep
- r 재귀 탐색
- l 파일명을 상대경로로 출력
tar
- T 입력된 파일에서 아카이브 대상 불러옴
- - 파이프로 전달받은 표준 입력
- a 확장자로 압축 방법 자동 선택
- c 아카이브 생성
- f 아카이브 파일명
Configure Options #1
사용해본 결과 생각처럼 편한것은 아니었음.
패키지마다 다르지만 사용하지 않는 옵션이 주어지면 Fail이 발생하는 경우가 있었음.
–docdir=/usr/share/doc/<package name> 입력이 귀찮아서 해보려고 했지만
결과적으로는 그냥 타이핑 하는것이 적합했음.
Find script
Patch with Wget
사용법
예시 1
docbook-xsl-nons-1.79.2 patch
예시 2
libpng patch
PS1 설정
최초
1차 개선
2차 개선
Debian 설치 후 추가적인 사항
LFS 진행에 필요한 패키지 설치
<codelang=bash > sudo apt install build-essentials bison gawk m4 texinfo texinfo ## 필수 사항 sudo apt install gettext libisl-dev ## 선택 사항 sudo ln -sf bash /usr/bin/sh && file /usr/bin/sh ## 필수 사항 /usr/bin/sh: symbolic link to bash </code>
화면 출력 로그파일로 저장
형식으로 화면 출력 내용 모아놓을것.
Qemu에서 부팅중 마운트 에러가 발생하는 경우
Qemu에서 가상머신 시작시 디바이스 순서가 바뀌는 일이 발생
다음과 같이 처리했음.
UUID 설정도 가능하지만 그럴때는 주석으로 확실하게 어떤 장치인지 명시할것.
Putty에서 Ncurses 설치 후 <Home>,<End> Key 사용 설정
~/.profie or ~/.bashrc
이렇게 적용 할 것.Glibc-2.35 Compile
컴파일중 알 수 없는 에러가 발생하고 매번 발생 위치가 다르다면 -j1 인자로 병렬처리 없이 make 실행
LFS로 Booting후 ''su'' 명령이 안되는 경우
root
로 다음과 같이 실행
su
파일에 setuid를 설정해서 묹제를 해결.
LFS로 부팅하기 전에 준비할 것들
OpenSSH
Wget
소스 패키지 다운로드에 필요
Wget-1.24.5
설치 순서 : Libunistring - Libidn2 - Libpsl - Libtasn1 - P11-kit - SQLite - NSPR - NSS -Make-ca - Wget
DEPS
- Libpsl-0.21.5 REQ
- Libunistring-1.2 REQ
- Libidn2-2.3.7 REQ
- Libunistring-1.2 REQ
- Make-ca-1.13 Runtime REQ
- Libtasn1-4.19.0 REQ
- P11-kit-0.25.3 REQ
- Libtasn1-4.19.0 REQ
- Make-ca-1.13 Runtime REQ
- NSS-3.99 Runtime REQ
- NSPR-4.35 REQ
- SQLite-3.45.3 REC
- P11-kit-0.25.3 Runtime REC
NFS-UTILS
NFS-Utils-2.6.4
필요한 패키지를 아래의 순서대로 설치 후 설치
DEPS
- libtirpc-1.3.4 REQ
- libevent-2.1.12 REQ
- SQLite-3.45.1 REQ
- rpcbind-1.2.6 REQ
SSHFS (NFS 사용 안하는 경우)
N40L에 있는 소스 디렉토리 마운트에 필요
sshfs-3.7.3
설치 순서 : ICU - Libxml2 - Sgml-common - UnZip - Docbook-xsl-nons - Docbook-xml - Libxslt - Docutil - Packing - PCRE2 - Glib - OpenSSH - Fuse - SSHFS
DEPS
- Fuse-3.16-1 REQ
- Glib-2.80.0 REQ
- Libxslt-1.1.39 REC
- Libxml2-2.12.6 REQ
- ICU-75.1 REC
- Docbook-xml-4.5 Runtime REC
- Libxml2-2.12.6 REQ
- UnZip-6.0 REQ
- Docbook-xsl-nons-1.79.2 Runtime REC
- Libxml2-2.12.6 REQ
- Pcre2-10.43 REC
- OpenSSH 9.6p1 REQ
Glibc 2.39 Testsuite Fail
8.5 Glibc 2.39 make check
Fail
다음의 두 가지 경우는 넘겨도 상관없음
ndbm.h가 없어서 Fail.
8.37. GDBM-1.23 을 설치하면 해결
GCC에서 더 이상 지원하지 않는 <varargs.h>를 사용해서 발생하는 Fail
Textinfo Dir File Rebuild
Swap file
Binutils 설치하기 전에 ISL 설치하기 (실패)
BLFS 시작하기 전에 필요한 패키지
sudo, nfs-utils(또는 sshfs), openssh, wget
$LFS/sources에서 디렉토리 검색
SBU 측정
짜투리
tar를 이용한 복사
find example
grep example
Gawk
참고
wget
Firmware Blob Kernel config
Man page count