この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
mae3xx_tips:setup_docker:create_bootable_sd:start [2018/12/18 13:40] admin [パッケージ更新] |
mae3xx_tips:setup_docker:create_bootable_sd:start [2019/01/13 09:23] (現在) admin |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
+ | ====== Boot 用 SD カードの準備 ====== | ||
+ | |||
+ | Docker の導入には、本体 Flash Memory では容量が不足するため、SD カードから起動する形で導入します。\\ | ||
+ | 以下 SD カード作成の方法には、Docker をサポートした Kernel が導入されているファームウェア (v4.0.0β1 以降) が必要です。 | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== パーティション作成 ===== | ||
+ | |||
+ | 購入した状態の SD カードは、Windows 用のパーティション構成(FAT32) となっていますので、fdisk コマンドにより下記パーティション構成に変更します。 | ||
+ | |||
+ | |< 25em 3em 6em 6em 4em>| | ||
+ | ^ No. ^ Partition type ^ 容量 ^ Note ^ | ||
+ | | 1 | 0x06 | 100MiB程度 | active | | ||
+ | | 2 | 0x83 | 残り全部((swap を利用したい場合、その分を残して使うこともありだと思います)) | | | ||
+ | |||
+ | \\ | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# fdisk /dev/mmcblk0 | ||
+ | |||
+ | Welcome to fdisk (util-linux 2.31.1). | ||
+ | Changes will remain in memory only, until you decide to write them. | ||
+ | Be careful before using the write command. | ||
+ | |||
+ | |||
+ | Command (m for help): d <---------- (1) FAT32 パーティションの削除 | ||
+ | Selected partition 1 | ||
+ | Partition 1 has been deleted. | ||
+ | |||
+ | Command (m for help): n <---------- (2) FAT16 パーティション作成 (for bootloader, /boot) | ||
+ | Partition type | ||
+ | p primary (0 primary, 0 extended, 4 free) | ||
+ | e extended (container for logical partitions) | ||
+ | Select (default p): p | ||
+ | Partition number (1-4, default 1): 1 | ||
+ | First sector (2048-3911679, default 2048): | ||
+ | Last sector, +sectors or +size{K,M,G,T,P} (2048-3911679, default 3911679): +100M | ||
+ | |||
+ | Created a new partition 1 of type 'Linux' and of size 100 MiB. | ||
+ | |||
+ | Command (m for help): n <---------- (3) Linux 用パーティション作成 (for root filesystem) | ||
+ | Partition type | ||
+ | p primary (1 primary, 0 extended, 3 free) | ||
+ | e extended (container for logical partitions) | ||
+ | Select (default p): p | ||
+ | Partition number (2-4, default 2): 2 | ||
+ | First sector (206848-3911679, default 206848): | ||
+ | Last sector, +sectors or +size{K,M,G,T,P} (206848-3911679, default 3911679): | ||
+ | |||
+ | Created a new partition 2 of type 'Linux' and of size 1.8 GiB. | ||
+ | |||
+ | Command (m for help): t <---------- (4) No.1 のパーティションタイプ変更 (Linux -> FAT16 へ) | ||
+ | Partition number (1,2, default 2): 1 | ||
+ | Hex code (type L to list all codes): L | ||
+ | |||
+ | 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris | ||
+ | 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT- | ||
+ | 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- | ||
+ | 3 XENIX usr 3c PartitionMagic 84 OS/2 hidden or c6 DRDOS/sec (FAT- | ||
+ | 4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx | ||
+ | 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data | ||
+ | 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / . | ||
+ | 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility | ||
+ | 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt | ||
+ | 9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access | ||
+ | a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O | ||
+ | b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor | ||
+ | c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi ea Rufus alignment | ||
+ | e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fs | ||
+ | f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ee GPT | ||
+ | 10 OPUS 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16/ | ||
+ | 11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f0 Linux/PA-RISC b | ||
+ | 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f1 SpeedStor | ||
+ | 14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f4 SpeedStor | ||
+ | 16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ f2 DOS secondary | ||
+ | 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fb VMware VMFS | ||
+ | 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fc VMware VMKCORE | ||
+ | 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fd Linux raid auto | ||
+ | 1c Hidden W95 FAT3 75 PC/IX bc Acronis FAT32 L fe LANstep | ||
+ | 1e Hidden W95 FAT1 80 Old Minix be Solaris boot ff BBT | ||
+ | Hex code (type L to list all codes): 6 | ||
+ | |||
+ | Changed type of partition 'Linux' to 'FAT16'. | ||
+ | |||
+ | Command (m for help): a <---------- (5) No.1 パーティションに active フラグをセットする | ||
+ | Partition number (1,2, default 2): 1 | ||
+ | |||
+ | The bootable flag on partition 1 is enabled now. | ||
+ | |||
+ | Command (m for help): p <---------- (6) パーティション構成の確認 | ||
+ | Disk /dev/mmcblk0: 1.9 GiB, 2002780160 bytes, 3911680 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: 0x00073ed7 | ||
+ | |||
+ | Device Boot Start End Sectors Size Id Type | ||
+ | /dev/mmcblk0p1 * 2048 206847 204800 100M 6 FAT16 | ||
+ | /dev/mmcblk0p2 206848 3911679 3704832 1.8G 83 Linux | ||
+ | |||
+ | Command (m for help): w <---------- (7) パーティション構成を SD カードに書き込み、終了 | ||
+ | The partition table has been altered. | ||
+ | Calling ioctl() to re-read partition table. | ||
+ | Syncing disks. | ||
+ | |||
+ | root@plum:~# | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== ファイルシステム作成 ===== | ||
+ | |||
+ | ==== No.1 パーティションのフォーマット(FAT) ==== | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# mkfs.vfat /dev/mmcblk0p1 | ||
+ | mkfs.fat 4.1 (2017-01-24) | ||
+ | root@plum:~# | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== No.2 パーティションのフォーマット(ext4) ==== | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# mkfs.ext4 /dev/mmcblk0p2 | ||
+ | mke2fs 1.44.1 (24-Mar-2018) | ||
+ | Discarding device blocks: done | ||
+ | Creating filesystem with 463104 4k blocks and 115920 inodes | ||
+ | Filesystem UUID: 68c04c1f-5803-4164-b911-422e645a2885 | ||
+ | Superblock backups stored on blocks: | ||
+ | 32768, 98304, 163840, 229376, 294912 | ||
+ | |||
+ | Allocating group tables: done | ||
+ | Writing inode tables: done | ||
+ | Creating journal (8192 blocks): done | ||
+ | Writing superblocks and filesystem accounting information: done | ||
+ | |||
+ | root@plum:~# | ||
+ | </code> | ||
+ | |||
+ | ※ [[mae3xx_tips:create_rootfs_on_sd:start]] に書いたとおり、**mkfs.ext4** に **-i 4096** のオプションを追加しておいたほうが良いと思います。 | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== Bootloader ファイルのコピー ==== | ||
+ | |||
+ | No.1 パーティションを mount し、Bootloader のファイルをコピーします。\\ | ||
+ | Bootloader の 2 段目は、実機の Flash Memory からコピーします。 | ||
+ | |||
+ | |||
+ | ^ File ^ STAT ^ SHA1SUM ^ Info | | ||
+ | |{{:mae3xx_tips:setup_docker:mlo.zip|}}|2018/12/18 11:52 31.6 KB|dd42d4ade113c16a71815d312275695f218270bc|MLO(bootloader 1段目)| | ||
+ | |||
+ | |||
+ | \\ | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# mount /dev/mmcblk0p1 /mnt/sd/ <----- (1) No.1 パーティション (FAT) を mount | ||
+ | root@plum:~# cp /tmp/MLO /mnt/sd <----- (2) MLO (Bootloader 1段目) をコピー | ||
+ | root@plum:~# cat /proc/mtd | ||
+ | dev: size erasesize name | ||
+ | mtd0: 0ff00000 00020000 "UBI" | ||
+ | mtd1: 00100000 00020000 "OOPS" | ||
+ | mtd2: 0040f800 0001f800 "kernel.0" | ||
+ | mtd3: 0040f800 0001f800 "kernel.1" | ||
+ | mtd4: 00217800 0001f800 "initramfs.0" | ||
+ | mtd5: 00217800 0001f800 "initramfs.1" | ||
+ | mtd6: 00217800 0001f800 "kmod.0" | ||
+ | mtd7: 00217800 0001f800 "kmod.1" | ||
+ | mtd8: 0501a800 0001f800 "rootfs.0" | ||
+ | mtd9: 0501a800 0001f800 "rootfs.1" | ||
+ | mtd10: 0191a000 0001f800 "opt" | ||
+ | mtd11: 02bce000 0001f800 "overlay" | ||
+ | mtd12: 00020000 00010000 "MLO" | ||
+ | mtd13: 00080000 00010000 "barebox.bin" | ||
+ | mtd14: 00020000 00010000 "barebox.env" | ||
+ | mtd15: 00020000 00010000 "dtb.0" | ||
+ | mtd16: 00020000 00010000 "dtb.1" | ||
+ | mtd17: 00020000 00010000 "hist_firmup" | ||
+ | mtd18: 000e0000 00010000 "hist_boot" | ||
+ | root@plum:~# cp /dev/mtdblock13 /mnt/sd/barebox.bin <----- (3) FlashMemory から Bootloader 2段目 をコピー | ||
+ | root@plum:~# ls -l /mnt/sd/ | ||
+ | total 562 | ||
+ | -rwxr-xr-x 1 root root 524288 Dec 18 11:54 barebox.bin | ||
+ | -rwxr-xr-x 1 root root 49304 Dec 18 11:54 MLO | ||
+ | root@plum:~# | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== Kernel, DeviceTree のコピー ==== | ||
+ | |||
+ | Kernel, DeviceTree を本体 FlashMemory からコピーします。\\ | ||
+ | 起動している側のエリアのファイルをコピーします。 | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# cat /proc/cmdline | ||
+ | ubi.mtd=UBI mtdoops.mtddev=OOPS mtdoops.record_size=8192 zswap.enabled=1 root=AREA=0 omap_wdt.start_at_boot=1 | ||
+ | omap_wdt.timer_margin=180 console=ttyO0,115200 overlay=tmpfs overlay_driver=aufs rootdelay=1 reset_cause=POR | ||
+ | usbcore.autosuspend=-1 xio_id=3 mtdparts=omap2-nand.0:255M(UBI),-(OOPS) | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ''root=AREA=0'' となっていますので、AREA0 の領域からコピーします。 | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# cat /proc/mtd | ||
+ | dev: size erasesize name | ||
+ | mtd0: 0ff00000 00020000 "UBI" | ||
+ | mtd1: 00100000 00020000 "OOPS" | ||
+ | mtd2: 0040f800 0001f800 "kernel.0" <----- Kernel | ||
+ | mtd3: 0040f800 0001f800 "kernel.1" | ||
+ | mtd4: 00217800 0001f800 "initramfs.0" | ||
+ | mtd5: 00217800 0001f800 "initramfs.1" | ||
+ | mtd6: 00217800 0001f800 "kmod.0" | ||
+ | mtd7: 00217800 0001f800 "kmod.1" | ||
+ | mtd8: 0501a800 0001f800 "rootfs.0" | ||
+ | mtd9: 0501a800 0001f800 "rootfs.1" | ||
+ | mtd10: 0191a000 0001f800 "opt" | ||
+ | mtd11: 02bce000 0001f800 "overlay" | ||
+ | mtd12: 00020000 00010000 "MLO" | ||
+ | mtd13: 00080000 00010000 "barebox.bin" | ||
+ | mtd14: 00020000 00010000 "barebox.env" | ||
+ | mtd15: 00020000 00010000 "dtb.0" <----- DeviceTree | ||
+ | mtd16: 00020000 00010000 "dtb.1" | ||
+ | mtd17: 00020000 00010000 "hist_firmup" | ||
+ | mtd18: 000e0000 00010000 "hist_boot" | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | root@plum:/mnt/sd# cp /dev/mtdblock2 uImage | ||
+ | root@plum:/mnt/sd# cp /dev/mtdblock15 plum-ma.dtb | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ここまでの作業で、No.1 パーティションには下記のファイルが配置されました。 | ||
+ | |||
+ | <code> | ||
+ | root@plum:/mnt/sd# ls -l | ||
+ | total 4848 | ||
+ | -rwxr-xr-x 1 root root 524288 Dec 18 11:54 barebox.bin | ||
+ | -rwxr-xr-x 1 root root 49304 Dec 18 11:54 MLO | ||
+ | -rwxr-xr-x 1 root root 131072 Dec 18 12:38 plum-ma.dtb | ||
+ | -rwxr-xr-x 1 root root 4257792 Dec 18 12:38 uImage | ||
+ | root@plum:/mnt/sd# | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | No.1 パーティションは umount しておきます。 | ||
+ | |||
+ | <code> | ||
+ | root@plum:/mnt/sd# cd | ||
+ | root@plum:~# umount /mnt/sd | ||
+ | root@plum:~# | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== root filesystem の作成 ==== | ||
+ | |||
+ | Ubuntu 18.04LTS の root filesystem を、No.2 パーティションに作成します。\\ | ||
+ | まず、mount します。 | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# mount /dev/mmcblk0p2 /mnt/sd | ||
+ | root@plum:~# | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | Debootstrap コマンドで、Ubuntu 18.04LTS のベース部分を作成しますので、debootstrap パッケージを導入します。\\ | ||
+ | インターネットに接続できるように設定しておく必要があります。 | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# apt update | ||
+ | Get:1 http://ports.ubuntu.com/ubuntu-ports bionic InRelease [242 kB] | ||
+ | Get:2 http://ports.ubuntu.com/ubuntu-ports bionic-updates InRelease [88.7 kB] | ||
+ | Get:3 http://ports.ubuntu.com/ubuntu-ports bionic-security InRelease [83.2 kB] | ||
+ | Get:4 http://ports.ubuntu.com/ubuntu-ports bionic/main armhf Packages [968 kB] | ||
+ | Get:5 http://ports.ubuntu.com/ubuntu-ports bionic/main Translation-en [516 kB] | ||
+ | Get:6 http://ports.ubuntu.com/ubuntu-ports bionic/restricted armhf Packages [8,360 B] | ||
+ | Get:7 http://ports.ubuntu.com/ubuntu-ports bionic/restricted Translation-en [3,584 B] | ||
+ | Get:8 http://ports.ubuntu.com/ubuntu-ports bionic/universe armhf Packages [8,269 kB] | ||
+ | Get:9 http://ports.ubuntu.com/ubuntu-ports bionic/universe Translation-en [4,941 kB] | ||
+ | Get:10 http://ports.ubuntu.com/ubuntu-ports bionic/multiverse armhf Packages [129 kB] | ||
+ | Get:11 http://ports.ubuntu.com/ubuntu-ports bionic/multiverse Translation-en [108 kB] | ||
+ | Get:12 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main armhf Packages [368 kB] | ||
+ | Get:13 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main Translation-en [172 kB] | ||
+ | Get:14 http://ports.ubuntu.com/ubuntu-ports bionic-updates/restricted armhf Packages [6,460 B] | ||
+ | Get:15 http://ports.ubuntu.com/ubuntu-ports bionic-updates/restricted Translation-en [3,076 B] | ||
+ | Get:16 http://ports.ubuntu.com/ubuntu-ports bionic-updates/universe armhf Packages [559 kB] | ||
+ | Get:17 http://ports.ubuntu.com/ubuntu-ports bionic-updates/universe Translation-en [171 kB] | ||
+ | Get:18 http://ports.ubuntu.com/ubuntu-ports bionic-updates/multiverse armhf Packages [3,128 B] | ||
+ | Get:19 http://ports.ubuntu.com/ubuntu-ports bionic-updates/multiverse Translation-en [3,356 B] | ||
+ | Get:20 http://ports.ubuntu.com/ubuntu-ports bionic-security/main armhf Packages [150 kB] | ||
+ | Get:21 http://ports.ubuntu.com/ubuntu-ports bionic-security/main Translation-en [85.0 kB] | ||
+ | Get:22 http://ports.ubuntu.com/ubuntu-ports bionic-security/universe armhf Packages [107 kB] | ||
+ | Get:23 http://ports.ubuntu.com/ubuntu-ports bionic-security/universe Translation-en [61.4 kB] | ||
+ | Get:24 http://ports.ubuntu.com/ubuntu-ports bionic-security/multiverse armhf Packages [644 B] | ||
+ | Get:25 http://ports.ubuntu.com/ubuntu-ports bionic-security/multiverse Translation-en [996 B] | ||
+ | Fetched 17.0 MB in 28s (613 kB/s) | ||
+ | Reading package lists... Done | ||
+ | Building dependency tree | ||
+ | Reading state information... Done | ||
+ | 3 packages can be upgraded. Run 'apt list --upgradable' to see them. | ||
+ | root@plum:~# | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# apt install debootstrap | ||
+ | Reading package lists... Done | ||
+ | Building dependency tree | ||
+ | Reading state information... Done | ||
+ | The following additional packages will be installed: | ||
+ | dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm | ||
+ | libassuan0 libksba8 libnpth0 pinentry-curses | ||
+ | Suggested packages: | ||
+ | ubuntu-archive-keyring dbus-user-session pinentry-gnome3 tor parcimonie xloadimage scdaemon | ||
+ | pinentry-doc | ||
+ | The following NEW packages will be installed: | ||
+ | debootstrap dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf | ||
+ | gpgsm libassuan0 libksba8 libnpth0 pinentry-curses | ||
+ | 0 upgraded, 15 newly installed, 0 to remove and 4 not upgraded. | ||
+ | Need to get 1,893 kB of archives. | ||
+ | After this operation, 4,613 kB of additional disk space will be used. | ||
+ | Do you want to continue? [Y/n] | ||
+ | Get:1 http://ports.ubuntu.com/ubuntu-ports bionic/main armhf libassuan0 armhf 2.5.1-2 [28.3 kB] | ||
+ | Get:2 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main armhf gpgconf armhf 2.2.4-1ubuntu1.1 [105 kB] | ||
+ | ... 略 ... | ||
+ | Setting up gpg-wks-server (2.2.4-1ubuntu1.1) ... | ||
+ | Setting up gpg-wks-client (2.2.4-1ubuntu1.1) ... | ||
+ | Setting up gnupg (2.2.4-1ubuntu1.1) ... | ||
+ | Processing triggers for libc-bin (2.27-3ubuntu1) ... | ||
+ | root@plum:~# | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | debootstrap コマンドを実行します。 | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# debootstrap bionic /mnt/sd http://ports.ubuntu.com | ||
+ | I: Retrieving InRelease | ||
+ | I: Checking Release signature | ||
+ | I: Valid Release signature (key id 790BC7277767219C42C86F933B4FE6ACC0B21F32) | ||
+ | I: Retrieving Packages | ||
+ | I: Validating Packages | ||
+ | ... 略 ... | ||
+ | I: Configuring console-setup-linux... | ||
+ | I: Configuring console-setup... | ||
+ | I: Configuring ubuntu-minimal... | ||
+ | I: Configuring libc-bin... | ||
+ | I: Configuring systemd... | ||
+ | I: Configuring ca-certificates... | ||
+ | I: Configuring initramfs-tools... | ||
+ | I: Base system installed successfully. | ||
+ | root@plum:~# | ||
+ | </code> | ||
+ | |||
+ | Ubuntu の root filesystem が作成されました。 | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== Kernel module のコピー ==== | ||
+ | |||
+ | 実機から、Kernel module をコピーします。 | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# cd /mnt/sd/lib/ | ||
+ | root@plum:/mnt/sd/lib# mkdir modules | ||
+ | root@plum:/mnt/sd/lib# cd modules/ | ||
+ | root@plum:/mnt/sd/lib/modules# cp -af /lib/modules/4.19.9+ . | ||
+ | root@plum:/mnt/sd/lib/modules# ls -l | ||
+ | total 4 | ||
+ | drwxr-xr-x 3 root root 4096 Dec 18 09:21 4.19.9+ | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== apt line のコピー ==== | ||
+ | |||
+ | debootstrap しただけですと、apt line に **main** しか設定されていない状態なのでコピーしておきます。 | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# cat /mnt/sd/etc/apt/sources.list | ||
+ | deb http://ports.ubuntu.com bionic main | ||
+ | root@plum:~# | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# cp /etc/apt/sources.list /mnt/sd/etc/apt/ | ||
+ | root@plum:~# | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== ネットワークの設定 ===== | ||
+ | |||
+ | ネットワークの設定がカラの状態なので、実機からコピーしておきます。 | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# cp /etc/network/interfaces /mnt/sd/etc/network/interfaces | ||
+ | root@plum:~# | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== 初期設定 ===== | ||
+ | |||
+ | root filesystem に chroot し、Ubuntu の各種設定を行います。 | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# chroot /mnt/sd | ||
+ | root@plum:/# | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== パッケージ更新 ==== | ||
+ | |||
+ | セキュリティアップデートなどが適用されていない状態なので、パッケージの更新をしておきます。 | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# apt update | ||
+ | Get:1 http://ports.ubuntu.com/ubuntu-ports bionic InRelease [242 kB] | ||
+ | Get:2 http://ports.ubuntu.com/ubuntu-ports bionic-updates InRelease [88.7 kB] | ||
+ | Get:3 http://ports.ubuntu.com/ubuntu-ports bionic-security InRelease [83.2 kB] | ||
+ | Get:4 http://ports.ubuntu.com/ubuntu-ports bionic/main armhf Packages [968 kB] | ||
+ | Get:5 http://ports.ubuntu.com/ubuntu-ports bionic/main Translation-en [516 kB] | ||
+ | Get:6 http://ports.ubuntu.com/ubuntu-ports bionic/restricted armhf Packages [8360 B] | ||
+ | Get:7 http://ports.ubuntu.com/ubuntu-ports bionic/restricted Translation-en [3584 B] | ||
+ | Get:8 http://ports.ubuntu.com/ubuntu-ports bionic/universe armhf Packages [8269 kB] | ||
+ | Get:9 http://ports.ubuntu.com/ubuntu-ports bionic/universe Translation-en [4941 kB] | ||
+ | Get:10 http://ports.ubuntu.com/ubuntu-ports bionic/multiverse armhf Packages [129 kB] | ||
+ | Get:11 http://ports.ubuntu.com/ubuntu-ports bionic/multiverse Translation-en [108 kB] | ||
+ | Get:12 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main armhf Packages [368 kB] | ||
+ | Get:13 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main Translation-en [172 kB] | ||
+ | Get:14 http://ports.ubuntu.com/ubuntu-ports bionic-updates/restricted armhf Packages [6460 B] | ||
+ | Get:15 http://ports.ubuntu.com/ubuntu-ports bionic-updates/restricted Translation-en [3076 B] | ||
+ | Get:16 http://ports.ubuntu.com/ubuntu-ports bionic-updates/universe armhf Packages [559 kB] | ||
+ | Get:17 http://ports.ubuntu.com/ubuntu-ports bionic-updates/universe Translation-en [171 kB] | ||
+ | Get:18 http://ports.ubuntu.com/ubuntu-ports bionic-updates/multiverse armhf Packages [3128 B] | ||
+ | Get:19 http://ports.ubuntu.com/ubuntu-ports bionic-updates/multiverse Translation-en [3356 B] | ||
+ | Get:20 http://ports.ubuntu.com/ubuntu-ports bionic-security/main armhf Packages [150 kB] | ||
+ | Get:21 http://ports.ubuntu.com/ubuntu-ports bionic-security/main Translation-en [85.0 kB] | ||
+ | Get:22 http://ports.ubuntu.com/ubuntu-ports bionic-security/universe armhf Packages [107 kB] | ||
+ | Get:23 http://ports.ubuntu.com/ubuntu-ports bionic-security/universe Translation-en [61.4 kB] | ||
+ | Get:24 http://ports.ubuntu.com/ubuntu-ports bionic-security/multiverse armhf Packages [644 B] | ||
+ | Get:25 http://ports.ubuntu.com/ubuntu-ports bionic-security/multiverse Translation-en [996 B] | ||
+ | Fetched 17.0 MB in 32s (534 kB/s) | ||
+ | Reading package lists... Done | ||
+ | Building dependency tree... Done | ||
+ | 69 packages can be upgraded. Run 'apt list --upgradable' to see them. | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# apt upgrade | ||
+ | Reading package lists... Done | ||
+ | Building dependency tree... Done | ||
+ | Calculating upgrade... Done | ||
+ | The following NEW packages will be installed: | ||
+ | python3-netifaces | ||
+ | The following packages will be upgraded: | ||
+ | apt apt-utils base-files bsdutils console-setup console-setup-linux distro-info-data dpkg fdisk file | ||
+ | gcc-8-base gpgv initramfs-tools initramfs-tools-bin initramfs-tools-core keyboard-configuration kmod | ||
+ | libapparmor1 libapt-inst2.0 libapt-pkg5.0 libblkid1 libcryptsetup12 libdns-export1100 libfdisk1 | ||
+ | libgcc1 libgcrypt20 libglib2.0-0 libglib2.0-data libisc-export169 libkmod2 libmagic-mgc libmagic1 | ||
+ | libmount1 libncurses5 libncursesw5 libnss-systemd libpam-systemd libprocps6 libpython3-stdlib | ||
+ | libpython3.6-minimal libpython3.6-stdlib libsmartcols1 libssl1.1 libstdc++6 libsystemd0 libtinfo5 | ||
+ | libudev1 libuuid1 libxml2 mount ncurses-base ncurses-bin netcat-openbsd netplan.io | ||
+ | networkd-dispatcher nplan openssl perl-base procps python3 python3-minimal python3.6 | ||
+ | python3.6-minimal systemd systemd-sysv tzdata ubuntu-keyring udev util-linux | ||
+ | 69 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. | ||
+ | Need to get 22.0 MB of archives. | ||
+ | After this operation, 295 kB of additional disk space will be used. | ||
+ | Do you want to continue? [Y/n] | ||
+ | ... 略 ... | ||
+ | Setting up file (1:5.32-2ubuntu0.1) ... | ||
+ | Setting up python3-netifaces (0.10.4-0.1build4) ... | ||
+ | Setting up networkd-dispatcher (1.7-0ubuntu3.3) ... | ||
+ | Installing new version of config file /etc/default/networkd-dispatcher ... | ||
+ | Setting up netplan.io (0.40.1~18.04.3) ... | ||
+ | Setting up nplan (0.40.1~18.04.3) ... | ||
+ | Processing triggers for libc-bin (2.27-3ubuntu1) ... | ||
+ | Processing triggers for initramfs-tools (0.130ubuntu3.5) ... | ||
+ | root@plum:~# | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | |||
+ | ==== Timezone 設定 ==== | ||
+ | |||
+ | Timezone を **Asia/Tokyo** に設定します。 | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# dpkg-reconfigure tzdata | ||
+ | perl: warning: Setting locale failed. | ||
+ | perl: warning: Please check that your locale settings: | ||
+ | LANGUAGE = (unset), | ||
+ | LC_ALL = (unset), | ||
+ | LANG = "en_US.UTF-8" | ||
+ | are supported and installed on your system. | ||
+ | perl: warning: Falling back to the standard locale ("C"). | ||
+ | locale: Cannot set LC_CTYPE to default locale: No such file or directory | ||
+ | locale: Cannot set LC_MESSAGES to default locale: No such file or directory | ||
+ | locale: Cannot set LC_ALL to default locale: No such file or directory | ||
+ | /usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory | ||
+ | /usr/bin/locale: Cannot set LC_MESSAGES to default locale: No such file or directory | ||
+ | /usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory | ||
+ | |||
+ | Current default time zone: 'Asia/Tokyo' | ||
+ | Local time is now: Tue Dec 18 13:41:44 JST 2018. | ||
+ | Universal Time is now: Tue Dec 18 04:41:44 UTC 2018. | ||
+ | |||
+ | root@plum:~# | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== locale 設定 ==== | ||
+ | |||
+ | 必要な locale を作成しておきます。 | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# dpkg-reconfigure locales | ||
+ | perl: warning: Setting locale failed. | ||
+ | perl: warning: Please check that your locale settings: | ||
+ | LANGUAGE = (unset), | ||
+ | LC_ALL = (unset), | ||
+ | LANG = "en_US.UTF-8" | ||
+ | are supported and installed on your system. | ||
+ | perl: warning: Falling back to the standard locale ("C"). | ||
+ | locale: Cannot set LC_CTYPE to default locale: No such file or directory | ||
+ | locale: Cannot set LC_MESSAGES to default locale: No such file or directory | ||
+ | locale: Cannot set LC_ALL to default locale: No such file or directory | ||
+ | /usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory | ||
+ | /usr/bin/locale: Cannot set LC_MESSAGES to default locale: No such file or directory | ||
+ | /usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory | ||
+ | Generating locales (this might take a while)... | ||
+ | en_US.UTF-8... done | ||
+ | ja_JP.UTF-8... done | ||
+ | Generation complete. | ||
+ | root@plum:~# | ||
+ | </code> | ||
+ | |||
+ | en_US, ja_JP の UTF8 だけ作成しました。 | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== ユーザーの作成 ==== | ||
+ | |||
+ | ユーザー((例では user1 にしていますが、任意です。))を作成しておきます。sudo も実行できるよう、sudo group へ追加しておきます。 | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# adduser user1 | ||
+ | Adding user `user1' ... | ||
+ | Adding new group `user1' (1000) ... | ||
+ | Adding new user `user1' (1000) with group `user1' ... | ||
+ | Creating home directory `/home/user1' ... | ||
+ | Copying files from `/etc/skel' ... | ||
+ | Enter new UNIX password: | ||
+ | Retype new UNIX password: | ||
+ | passwd: password updated successfully | ||
+ | Changing the user information for user1 | ||
+ | Enter the new value, or press ENTER for the default | ||
+ | Full Name []: MA-E3xx User | ||
+ | Room Number []: | ||
+ | Work Phone []: | ||
+ | Home Phone []: | ||
+ | Other []: | ||
+ | Is the information correct? [Y/n] y | ||
+ | root@plum:~# usermod -a -G sudo user1 | ||
+ | root@plum:~# | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== 追加パッケージの導入(任意) ==== | ||
+ | |||
+ | 従来とおなじ方式で Network の設定をしたい場合、パッケージを追加で導入しておきます。 | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# apt install ifupdown net-tools | ||
+ | Reading package lists... Done | ||
+ | Building dependency tree | ||
+ | Reading state information... Done | ||
+ | Suggested packages: | ||
+ | ppp rdnssd | ||
+ | The following NEW packages will be installed: | ||
+ | ifupdown net-tools | ||
+ | 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. | ||
+ | Need to get 220 kB of archives. | ||
+ | After this operation, 790 kB of additional disk space will be used. | ||
+ | Get:1 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main armhf ifupdown armhf 0.8.17ubuntu1.1 [51.5 kB] | ||
+ | Get:2 http://ports.ubuntu.com/ubuntu-ports bionic/main armhf net-tools armhf 1.60+git20161116.90da8a0-1ubuntu1 [169 kB] | ||
+ | Fetched 220 kB in 2s (143 kB/s) | ||
+ | E: Can not write log (Is /dev/pts mounted?) - posix_openpt (19: No such device) | ||
+ | Selecting previously unselected package ifupdown. | ||
+ | (Reading database ... 11107 files and directories currently installed.) | ||
+ | Preparing to unpack .../ifupdown_0.8.17ubuntu1.1_armhf.deb ... | ||
+ | Unpacking ifupdown (0.8.17ubuntu1.1) ... | ||
+ | Selecting previously unselected package net-tools. | ||
+ | Preparing to unpack .../net-tools_1.60+git20161116.90da8a0-1ubuntu1_armhf.deb ... | ||
+ | Unpacking net-tools (1.60+git20161116.90da8a0-1ubuntu1) ... | ||
+ | Setting up ifupdown (0.8.17ubuntu1.1) ... | ||
+ | Created symlink /etc/systemd/system/multi-user.target.wants/networking.service → /lib/systemd/system/networking.service. | ||
+ | Created symlink /etc/systemd/system/network-online.target.wants/networking.service → /lib/systemd/system/networking.service. | ||
+ | Processing triggers for systemd (237-3ubuntu10.9) ... | ||
+ | Setting up net-tools (1.60+git20161116.90da8a0-1ubuntu1) ... | ||
+ | root@plum:~# | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ssh でログインして作業する場合、ssh を導入しておきます。 | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# apt install ssh | ||
+ | Reading package lists... Done | ||
+ | Building dependency tree | ||
+ | Reading state information... Done | ||
+ | The following additional packages will be installed: | ||
+ | krb5-locales libedit2 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libpsl5 | ||
+ | libssl1.0.0 libwrap0 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxext6 libxmuu1 | ||
+ | multiarch-support ncurses-term openssh-client openssh-server openssh-sftp-server publicsuffix | ||
+ | python3-certifi python3-chardet python3-idna python3-pkg-resources python3-requests python3-six | ||
+ | python3-urllib3 ssh-import-id wget xauth | ||
+ | Suggested packages: | ||
+ | krb5-doc krb5-user keychain libpam-ssh monkeysphere ssh-askpass molly-guard rssh ufw | ||
+ | python3-setuptools python3-cryptography python3-openssl python3-socks | ||
+ | The following NEW packages will be installed: | ||
+ | krb5-locales libedit2 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libpsl5 | ||
+ | libssl1.0.0 libwrap0 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxext6 libxmuu1 | ||
+ | multiarch-support ncurses-term openssh-client openssh-server openssh-sftp-server publicsuffix | ||
+ | python3-certifi python3-chardet python3-idna python3-pkg-resources python3-requests python3-six | ||
+ | python3-urllib3 ssh ssh-import-id wget xauth | ||
+ | 0 upgraded, 34 newly installed, 0 to remove and 0 not upgraded. | ||
+ | Need to get 4,145 kB of archives. | ||
+ | After this operation, 19.1 MB of additional disk space will be used. | ||
+ | Do you want to continue? [Y/n] | ||
+ | ... 略 ... | ||
+ | Creating config file /etc/ssh/sshd_config with new version | ||
+ | Creating SSH2 RSA key; this may take some time ... | ||
+ | 2048 SHA256:k/J+bgGuWMsUN9GNQFTJI9segZYZpEcm5J25JzuW8XM root@plum (RSA) | ||
+ | Creating SSH2 ECDSA key; this may take some time ... | ||
+ | 256 SHA256:247qQgDiEwrKEIVXJWHicy3LrPeVBfLhASsfbYefp/U root@plum (ECDSA) | ||
+ | Creating SSH2 ED25519 key; this may take some time ... | ||
+ | 256 SHA256:DsMLBgUCShnQ3DEb9ICFGGFgydPnbG8yN+rFrLVtn1E root@plum (ED25519) | ||
+ | Created symlink /etc/systemd/system/sshd.service → /lib/systemd/system/ssh.service. | ||
+ | Created symlink /etc/systemd/system/multi-user.target.wants/ssh.service → /lib/systemd/system/ssh.service. | ||
+ | invoke-rc.d: could not determine current runlevel | ||
+ | Setting up ssh (1:7.6p1-4ubuntu0.1) ... | ||
+ | Processing triggers for libc-bin (2.27-3ubuntu1) ... | ||
+ | Processing triggers for systemd (237-3ubuntu10.9) ... | ||
+ | root@plum:~# | ||
+ | </code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | これで完了です。chroot 環境から exit し、shutdown しておきます。 | ||