나는 후속 조치를 취하고 있다이 가이드Ubuntu에 가상 ARM 환경을 설치합니다.
- linaro 및 qemu 패키지를 설치했습니다.
sudo add-apt-repository ppa:linaro-maintainers/tools
sudo apt-get install linaro-image-tools qemu-user-static qemu-system
- 크로스 컴파일러:
sudo apt-get install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi
- Linaro 버전 및 하드웨어 패키지 다운로드:
wget http://releases.linaro.org/platform/linaro-n/nano/alpha-3/linaro-natty-nano-tar-20110302-0.tar.gz
wget http://releases.linaro.org/platform/linaro-n/hwpacks/alpha-3/hwpack_linaro-vexpress_20110302-0_armel_supported.tar.gz
- 가상 머신 디스크 이미지를 만듭니다.
linaro-media-create --image_file vexpress.img --dev vexpress \
--binary linaro-natty-nano-tar-20110302-0.tar.gz \
--hwpack hwpack_linaro-vexpress_20110302-0_armel_supported.tar.gz
나는 실패했다커널 및 initrd 추출. 지침에는 다음을 실행하라고 나와 있습니다.
sudo mount -o loop,offset="$(file vexpress.img | awk 'BEGIN { RS=";"; } /partition 2/ { print $7*512; }')" \
-t auto vexpress.img /mnt/tmp
하지만 오류가 발생합니다.
설치: 설치 옵션을 확인할 수 없습니다.
가이드의 메모에는 다음과 같은 내용이 있습니다.
파일의 실제 이름은 빌드에 따라 약간 다를 수 있습니다.
그렇다면 우분투에 맞게 마지막 줄을 수정하는 방법을 아는 사람이 있습니까?
답변1
sudo mount -o loop,offset="$(file vexpress.img | awk 'BEGIN { RS=";"; } \
/partition 2/ { print $7*512; }')" \
-t auto vexpress.img /mnt/tmp
위 명령이 수행하는 작업은 실제로 매우 간단합니다. 이미지의 파티션 2의 시작 섹터를 찾아서 vexpress.img
512를 곱하고 결과를 루프 장치로서 오프셋으로 마운트합니다.
이 mount
명령은 오프셋 값을 허용합니다.바이트. 각 섹터에는 512바이트가 있으므로 시작 섹터 오프셋에 512를 곱하면 시작 오프셋(바이트)이 제공됩니다.
이를 수행하는 또 다른 방법은 다음과 같습니다. (원본 Raspbian 이미지를 예로 사용하고 있습니다)
오프셋 찾기:
$ fdisk -lu 2016-09-23-raspbian-jessie-lite.img Disk 2016-09-23-raspbian-jessie-lite.img: 1.3 GiB, 1389363200 bytes, 2713600 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x5a7089a1 Device Boot Start End Sectors Size Id Type 2016-09-23-raspbian-jessie-lite.img1 8192 137215 129024 63M c W95 FAT32 (LBA) 2016-09-23-raspbian-jessie-lite.img2 137216 2713599 2576384 1.2G 83 Linux
파티션 2의 시작 오프셋은 입니다 137216
. 귀하와 마찬가지로 vexpress.img
파티션 2는 우리가 관심 있는 루트 파티션입니다.
간단한 수학:
$ perl -e "print 137216*512" 70254592
설치하세요:
sudo mount -o loop,offset=70254592 vexpress.img /mnt/tmp