Site Tools


Hotfix release available: 2025-05-14b "Librarian". upgrade now! [56.2] (what's this?)
Hotfix release available: 2025-05-14a "Librarian". upgrade now! [56.1] (what's this?)
New release available: 2025-05-14 "Librarian". upgrade now! [56] (what's this?)
Hotfix release available: 2024-02-06b "Kaos". upgrade now! [55.2] (what's this?)
Hotfix release available: 2024-02-06a "Kaos". upgrade now! [55.1] (what's this?)
New release available: 2024-02-06 "Kaos". upgrade now! [55] (what's this?)
Hotfix release available: 2023-04-04b "Jack Jackrum". upgrade now! [54.2] (what's this?)
Hotfix release available: 2023-04-04a "Jack Jackrum". upgrade now! [54.1] (what's this?)
New release available: 2023-04-04 "Jack Jackrum". upgrade now! [54] (what's this?)
Hotfix release available: 2022-07-31b "Igor". upgrade now! [53.1] (what's this?)
Hotfix release available: 2022-07-31a "Igor". upgrade now! [53] (what's this?)
New release available: 2022-07-31 "Igor". upgrade now! [52.2] (what's this?)
New release candidate 2 available: rc2022-06-26 "Igor". upgrade now! [52.1] (what's this?)
New release candidate available: 2022-06-26 "Igor". upgrade now! [52] (what's this?)
Hotfix release available: 2020-07-29a "Hogfather". upgrade now! [51.4] (what's this?)
New release available: 2020-07-29 "Hogfather". upgrade now! [51.3] (what's this?)
New release candidate 3 available: 2020-06-09 "Hogfather". upgrade now! [51.2] (what's this?)
New release candidate 2 available: 2020-06-01 "Hogfather". upgrade now! [51.1] (what's this?)
New release candidate available: 2020-06-01 "Hogfather". upgrade now! [51] (what's this?)
Hotfix release available: 2018-04-22c "Greebo". upgrade now! [50.3] (what's this?)
Hotfix release available: 2018-04-22b "Greebo". upgrade now! [50.2] (what's this?)
Hotfix release available: 2018-04-22a "Greebo". upgrade now! [50.1] (what's this?)
New release available: 2018-04-22 "Greebo". upgrade now! [50] (what's this?)
Hotfix release available: 2017-02-19g "Frusterick Manners". upgrade now! [49.7] (what's this?)
Hotfix release available: 2017-02-19f "Frusterick Manners". upgrade now! [49.6] (what's this?)
Hotfix release available: 2017-02-19e "Frusterick Manners". upgrade now! [49.5] (what's this?)
Hotfix release available fixing CVE-2017-12979 and CVE-2017-12980: 2017-02-19d "Frusterick Manners". upgrade now! [49.4] (what's this?)
Hotfix release available fixing CVE-2017-12583: 2017-02-19c "Frusterick Manners". upgrade now! [49.3] (what's this?)
file_system

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
file_system [2017/08/14 20:42]
1.241.172.144
file_system [2017/08/14 21:35] (current)
1.241.172.144
Line 35: Line 35:
 {{wiki:​atmel_sama5d42:​rootfs:​rootfs_006.jpg}} {{wiki:​atmel_sama5d42:​rootfs:​rootfs_006.jpg}}
  
-BusyBox ​Settings->​Build static library\\+Settings--->Build static library\\
  
 {{wiki:​atmel_sama5d42:​rootfs:​rootfs_007.jpg}} {{wiki:​atmel_sama5d42:​rootfs:​rootfs_007.jpg}}
  
-BusyBox ​Settings->​Cross Compile prefix : /​home/​stephanos/​VI/​gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf\bin\arm-linux-gnueabihf-\\+Settings->​Cross Compile prefix : ~/​VI/​gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf\bin\arm-linux-gnueabihf-\\
 ->​설치된 자신의 크로스 컴파일러의 경로를 사용한다. ->​설치된 자신의 크로스 컴파일러의 경로를 사용한다.
  
Line 45: Line 45:
 {{wiki:​atmel_sama5d42:​rootfs:​rootfs_009.jpg}} {{wiki:​atmel_sama5d42:​rootfs:​rootfs_009.jpg}}
  
-BusyBox ​Settings->​Destination path for 'make install'​ : /home/​stephanos/rootfs\\+Settings->​Destination path for 'make install'​ : ~/VI/rootfs\\
 ->​위에서 만들었던 root file system 폴더 ->​위에서 만들었던 root file system 폴더
  
 {{wiki:​atmel_sama5d42:​rootfs:​rootfs_010.jpg}} {{wiki:​atmel_sama5d42:​rootfs:​rootfs_010.jpg}}
 {{wiki:​atmel_sama5d42:​rootfs:​rootfs_011.jpg}} {{wiki:​atmel_sama5d42:​rootfs:​rootfs_011.jpg}}
 +{{wiki:​atmel_sama5d42:​rootfs:​rootfs_012.jpg}}
  
 5. Busybox 를 빌드하고 인스톨 5. Busybox 를 빌드하고 인스톨
  
 +  $ make
 +  $ make install
  
-  ​make make install+6. 이제 BusyBox나 그 외 실행파일들이 사용하는 Shared library를 lib 폴더로 복사한다.  
 + 
 +  ​cp -a ~/​x-tools/​arm-cortexa5-linux-uclibcgnueabihf/​arm-cortexa5-linux-uclibcgnueabihf/​sysroot/​lib/​* ./lib 
 + 
 +7. 이제 inittab 파일과 rcS 파일을 설정하여,​ /proc /sys 폴더를 마운트한다. 
 +inittab 파일 샘플은 busybox 소스폴더의 example 폴더에 있다. 
 +우선 이 파일을 복사한 후 수정한다.  
 + 
 +  ​cd ~/​VI/​busybox/​examples 
 +  $ cp inittab ~/​VI/​rootfs/​etc 
 +  $ cd ~/​VI/​rootfs/​etc 
 +  $ vi inittab 
 + 
 +  ::​sysinit:/​etc/​init.d/​rcS 
 +   
 +  # Start an "​askfirst"​ shell on the console (whatever that may be) 
 +  ttyS0::​askfirst:/​bin/​sh 
 +   
 +  # Start an "​askfirst"​ shell on /​dev/​tty2-4 
 +  tty2::​askfirst:/​bin/​sh 
 +  tty3::​askfirst:/​bin/​sh 
 +  tty4::​askfirst:/​bin/​sh 
 +   
 +  # Stuff to do when restarting the init process 
 +  ::​restart:/​sbin/​init 
 +   
 +  # Stuff to do before rebooting 
 +  ::​ctrlaltdel:/​sbin/​reboot 
 +  ::​shutdown:/​bin/​umount -a -r 
 +  ::​shutdown:/​sbin/​swapoff -a 
 + 
 +  $ cd ~/​VI/​rootfs/​etc/​init.d 
 +  $ vi rcS 
 + 
 +  #!/bin/sh 
 +  mount -t proc proc /proc 
 +  mount -t sysfs sysfs /sys 
 + 
 +8. 앞서 구성했던 레이아웃을 다시 한번 살펴보면 아래와 같이 구성되어진 것을 확인할 수 있다. 
 +  $ tree -d 
 +  . 
 +  ├── bin => BusyBox에 의해서 구성 
 +  ├── dev => Kernel의 devtmpfs 에 의해서 구성 
 +  ├── etc => inittab 파일 추가 
 +  │   ​└── init.d => rc.S 파일 추가 
 +  ├── lib => sysroot/lib 폴더에서 파일 복사 
 +  ├── proc => rcS 파일에서 마운트 
 +  ├── sbin => BusyBox에 의해서 구성 
 +  ├── sys => rcS 파일에서 마운트 
 +  ├── usr => BusyBox에 의해서 구성 
 +      ├── bin 
 +      └── sbin 
 + 
 +이를 NFS로 하여 사용해 본다.
  
  
 ===== Buildroot로 rootfs 만드는 법 ===== ===== Buildroot로 rootfs 만드는 법 =====
 +
 +===== Yocto Poky로 rootfs 만드는 법 =====
  
  
  
file_system.1502710940.txt.gz · Last modified: 2017/08/14 20:42 by 1.241.172.144