āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ āĻ‡āĻ‰āĻœāĻžāĻ° āĻŽā§‹āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻļā§āĻ°ā§ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻ…āĻ¨ā§āĻŦāĻžāĻĻāĻ•ā§‡āĻ° āĻ•āĻžāĻ› āĻĨā§‡āĻ•ā§‡ āĻ­ā§‚āĻŽāĻŋāĻ•āĻž: āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœā§€āĻŦāĻ¨ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻŖā§‡āĻ° āĻĒāĻžāĻ¤ā§āĻ°ā§‡āĻ° āĻŦā§āĻ¯āĻžāĻĒāĻ• āĻĒā§āĻ°āĻŦā§‡āĻļā§‡āĻ° āĻĒāĻŸāĻ­ā§‚āĻŽāĻŋāĻ¤ā§‡, āĻ•ā§‹āĻ¨ āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŦāĻžāĻ°ā§‡ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¤āĻž āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻž āĻŦā§‡āĻļ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•āĻŋāĻ›ā§ āĻ†āĻœ āĻ…āĻŦāĻ§āĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¤āĻŦā§‡ āĻ¸āĻŦāĻžāĻ‡ āĻāĻ‡ āĻœāĻžāĻ¤ā§€āĻ¯āĻŧ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–ā§‡ āĻ¨āĻž (āĻŦāĻž āĻœāĻžāĻ¨ā§‡, āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻ°āĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻĻā§āĻ°ā§āĻ¤ āĻŦāĻŋāĻ•āĻžāĻļā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ§āĻ°āĻž āĻ¨āĻž āĻĒāĻĄāĻŧā§‡)āĨ¤ āĻāĻ°āĻ•āĻŽ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻšāĻ˛ āĻ‡āĻ‰āĻœāĻžāĻ° āĻŽā§‹āĻĄ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸āĨ¤ āĻŽā§‚āĻ˛āĻŸāĻŋāĻ° āĻ˛ā§‡āĻ–āĻ• āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻ–āĻ¨āĻ¨ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨, āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻŸāĻŋ āĻāĻ–āĻ¨āĻ“ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ•ā§‹āĻ¨āĻŸāĻŋ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¨āĻž āĻ¤āĻž āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°ā§‡, āĻāĻŦāĻ‚ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦāĻĻā§‡āĻļā§€ āĻ‡āĻ‰āĻāĻŽāĻāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ§āĻžāĻĒā§‡ āĻ§āĻžāĻĒā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€āĻ° āĻŽāĻ¤ā§‹ āĻ•āĻŋāĻ›ā§ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨ā§ˇ 2k19āĨ¤ āĻāĻŦāĻ‚ āĻšā§āĻ¯āĻžāĻ, āĻ†āĻŽāĻ°āĻž āĻŽā§‚āĻ˛ āĻĒā§‹āĻ¸ā§āĻŸā§‡āĻ° āĻ˛ā§‡āĻ–āĻ•āĻ•ā§‡ āĻšāĻžāĻŦāĻ°ā§‡ āĻ†āĻŽāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻœāĻžāĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ āĻ•ā§āĻ¯āĻžāĻĄā§‡, āĻ¤āĻžāĻ‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻĨāĻžāĻ•ā§‡, āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§‡ āĻ‡āĻ‚āĻ°ā§‡āĻœāĻŋāĻ¤ā§‡ āĻœāĻŋāĻœā§āĻžāĻžāĻ¸āĻž āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ āĻ‡āĻ‰āĻœāĻžāĻ° āĻŽā§‹āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻļā§āĻ°ā§ āĻ•āĻ°āĻŦā§‡āĻ¨

āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ āĻ‡āĻ‰āĻœāĻžāĻ° āĻŽā§‹āĻĄ āĻ†āĻ¸āĻ˛ā§‡ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§‹āĻ°ā§āĻŸāĨ¤ āĻāĻ‡ āĻŽā§‹āĻĄāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻ°āĻž āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ¤āĻŦā§‡ āĻāĻ‡ āĻŽā§‹āĻĄāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨āĻ¤āĻž āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡āĻ“ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°, āĻ¯āĻžāĻ° āĻ¨ā§€āĻ¤āĻŋāĻŸāĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒāĨ¤ āĻāĻ‡ āĻŽā§‹āĻĄāĻŸāĻŋ āĻĄāĻ•āĻžāĻ°ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨āĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡, āĻ¤āĻŦā§‡ āĻ•ā§‡āĻ­āĻŋāĻāĻŽ āĻŦāĻž āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŦāĻ•ā§āĻ¸ā§‡āĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻŸāĻŋ āĻĒā§‚āĻ°ā§āĻŖāĻžāĻ™ā§āĻ— āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ•āĻŽāĨ¤

āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ•āĻ­āĻžāĻŦā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻŽā§‹āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ…āĻĻā§āĻ­ā§āĻ¤ āĻāĻŦāĻ‚ āĻ•āĻ āĻŋāĻ¨ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽā§‡āĻ° āĻŽāĻ¤ā§‹ āĻŽāĻ¨ā§‡ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¸āĻ°ā§āĻŦā§‹āĻĒāĻ°āĻŋ, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§‚āĻ°ā§āĻŖāĻžāĻ™ā§āĻ— āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻŦāĻŋāĻšā§€āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻšāĻ˛āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋ āĻšā§‹āĻ¸ā§āĻŸ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻšā§āĻŽāĻ•āĻŋ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ…āĻŦāĻŋāĻļā§āĻŦāĻ¸ā§āĻ¤ āĻ•ā§‹āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻāĻŦāĻ‚ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§‚āĻ°ā§āĻŖāĻžāĻ™ā§āĻ— āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛, āĻ¤āĻžāĻ‡ āĻāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋ āĻšā§‹āĻ¸ā§āĻŸ āĻŽā§‡āĻļāĻŋāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻŽā§‹āĻĄā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋ āĻšā§‹āĻ¸ā§āĻŸā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻĻā§ƒāĻļā§āĻ¯āĻŽāĻžāĻ¨ āĻšāĻŦā§‡ āĻ¨āĻž. āĻāĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĄāĻ•āĻžāĻ° āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°ā§‡āĻ° āĻŽāĻ¤ā§‹ āĻ¨āĻ¯āĻŧ, āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻšā§‹āĻ¸ā§āĻŸ āĻŽā§‡āĻļāĻŋāĻ¨ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–ā§‡āĨ¤ āĻ†āĻŽāĻžāĻ° āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ pstree āĻāĻ° āĻāĻ‡ āĻ…āĻ‚āĻļāĻŸāĻŋ āĻĻā§‡āĻ–ā§āĻ¨:

containerd─â”Ŧ─containerd-shim─â”Ŧ─tini─â”Ŧ─dnsd───19*[{dnsd}]
           │                 │      └─s6-svscan───s6-supervise
           │                 └─10*[{containerd-shim}]
           ├─containerd-shim─â”Ŧ─tini─â”Ŧ─aerial───21*[{aerial}]
           │                 │      └─s6-svscan───s6-supervise
           │                 └─10*[{containerd-shim}]
           ├─containerd-shim─â”Ŧ─tini─â”Ŧ─s6-svscan───s6-supervise
           │                 │      └─surl
           │                 └─9*[{containerd-shim}]
           ├─containerd-shim─â”Ŧ─tini─â”Ŧ─h───13*[{h}]
           │                 │      └─s6-svscan───s6-supervise
           │                 └─10*[{containerd-shim}]
           ├─containerd-shim─â”Ŧ─goproxy───14*[{goproxy}]
           │                 └─9*[{containerd-shim}]
           └─32*[{containerd}]

āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ•ā§‡ āĻ‡āĻ‰āĻœāĻžāĻ° āĻŽā§‹āĻĄā§‡ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡āĻ° pstree-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°ā§āĻ¨:

linux─â”Ŧ─5*[linux]
      └─slirp

āĻĄāĻ•āĻžāĻ° āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ†āĻŽāĻŋ āĻšā§‹āĻ¸ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¤āĻŋāĻĨāĻŋāĻ¤ā§‡ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻ¨āĻžāĻŽ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻŽā§‹āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡, āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻŦ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻ•ā§€? āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻ¯ā§‡ āĻŽāĻ¨āĻŋāĻŸāĻ°āĻŋāĻ‚ āĻŸā§āĻ˛ āĻ¯āĻž Linux āĻāĻ° āĻ…āĻĄāĻŋāĻŸāĻŋāĻ‚ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻšāĻ˛ā§‡ āĻĻā§‡āĻ–ā§‹ āĻ¨āĻž āĻ—ā§‡āĻ¸ā§āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•āĻŋāĻ›ā§ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡ āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĻā§āĻŦāĻŋ-āĻ§āĻžāĻ°ā§€ āĻ¤āĻ˛ā§‹āĻ¯āĻŧāĻžāĻ° āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡, āĻ¨ā§€āĻšā§‡āĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĒā§‹āĻ¸ā§āĻŸāĻŸāĻŋ āĻ•āĻžāĻ™ā§āĻ•ā§āĻˇāĻŋāĻ¤ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ…āĻ°ā§āĻœāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ—āĻŦā§‡āĻˇāĻŖāĻž āĻāĻŦāĻ‚ āĻŽā§‹āĻŸāĻžāĻŽā§āĻŸāĻŋ āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻžāĻ•ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻžāĻšā§€āĻ¨ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡āĻ° āĻ‰āĻ¤ā§āĻ¸āĻ—ā§āĻ˛āĻŋ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ†āĻŽāĻŋ āĻ¯āĻ–āĻ¨ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻŦāĻŋāĻĻā§āĻ¯āĻžāĻ˛āĻ¯āĻŧā§‡ āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ¤āĻ–āĻ¨ āĻ˛ā§‡āĻ–āĻž āĻ•ā§‹āĻĄā§‡āĻ° āĻ¨āĻŋāĻŦāĻŋāĻĄāĻŧ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚āĻ¯āĻŧā§‡ āĻ¨āĻŋāĻ¯ā§āĻ•ā§āĻ¤ āĻšāĻ¤ā§‡ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ Heroku āĻŦāĻŋāĻ˛ā§āĻĄāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻŸāĻŋāĻ™ā§āĻ•āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ā§ˇ āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻžāĻœā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻ†āĻŽāĻžāĻ° āĻ†āĻ‡āĻ†āĻ°āĻ¸āĻŋ-āĻāĻ° āĻ˛ā§‹āĻ•ā§‡āĻ°āĻž āĻ†āĻŽāĻžāĻ•ā§‡ āĻœāĻžāĻĻā§āĻ•āĻ° āĻŦāĻ˛ā§‡ āĻĄāĻžāĻ•ā§‡āĨ¤ āĻ†āĻŽāĻŋ āĻ†āĻļāĻž āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻāĻ‡ āĻĒā§‹āĻ¸ā§āĻŸāĻŸāĻŋ āĻ•āĻžāĻ°āĻ“ āĻ•āĻžāĻ›ā§‡ āĻāĻ•āĻ‡ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¯ā§‹āĻ—ā§āĻ¯ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡, āĻ¤āĻŦā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻāĻŦāĻ‚ āĻ“āĻāĻ¸ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¸āĻšāĨ¤

āĻ¸āĻŽāĻ¨ā§āĻŦāĻ¯āĻŧ

āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻŽā§‹āĻĄ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒ āĻœāĻĄāĻŧāĻŋāĻ¤:

  • āĻšā§‹āĻ¸ā§āĻŸā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž;
  • āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡;
  • āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¸ā§‡āĻŸāĻ†āĻĒ;
  • āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¸āĻŽāĻžāĻŦā§‡āĻļ;
  • āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨;
  • āĻ—ā§‡āĻ¸ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž;
  • āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ˛āĻžā§āĻš āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨;
  • āĻāĻ•āĻŸāĻŋ āĻ—ā§‡āĻ¸ā§āĻŸ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸ā§‡āĻŸ āĻ†āĻĒ;
  • āĻ—ā§‡āĻ¸ā§āĻŸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤

āĻ†āĻŽāĻŋ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻŋāĻœā§‡ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨ā§‡āĻ¨, āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻŦāĻž āĻĄā§‡āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨-āĻāĻ° āĻŽāĻ¤ā§‹ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻŋāĻ›ā§ āĻ•āĻ°āĻŦā§‡āĻ¨āĨ¤ āĻ†āĻŽāĻŋ āĻ†āĻŽāĻžāĻ° āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨ - āĻ†āĻ˛ā§āĻĒāĻžāĻ‡āĻ¨ā§‡ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤āĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•āĻŋāĻ›ā§āĻ‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ¨āĻŋ, āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ¤āĻ‡ āĻ•āĻžāĻ°āĻŖ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻŽā§‹āĻĄā§‡ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ glibc-isms āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻļāĻ•ā§āĻ¤āĻ­āĻžāĻŦā§‡ āĻ†āĻŦāĻĻā§āĻ§āĨ¤ āĻ†āĻŽāĻŋ āĻ…āĻŦāĻļā§‡āĻˇā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻŦā§‡āĻ° āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻ†āĻĒāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽā§‡ āĻāĻŸāĻŋ āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ•āĻ°āĻ›āĻŋāĨ¤

āĻšā§‹āĻ¸ā§āĻŸā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§āĻ° āĻ•āĻŽāĻĒāĻ•ā§āĻˇā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœāĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ (āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°ā§‡):

- 'build-essential'
- 'flex'
- 'bison'
- 'xz-utils'
- 'wget'
- 'ca-certificates'
- 'bc'
- 'linux-headers'

āĻ†āĻĒāĻ¨āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ (āĻ°ā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻž āĻ¸ā§āĻĄā§‹ āĻ¸āĻš):

apt-get -y install build-essential flex bison xz-utils wget ca-certificates bc 
                   linux-headers-$(uname -r)

āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ Linux āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽā§‡āĻ¨ā§ āĻ•āĻžāĻ¸ā§āĻŸāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡ libncurses-dev. āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (āĻ°ā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻž sudo āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡):

apt-get -y install libncurses-dev

āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻāĻ‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ†āĻ¨ā§āĻŽāĻžāĻ¨āĻŋāĻ• 1,3 GB āĻšāĻžāĻ°ā§āĻĄ āĻĄā§āĻ°āĻžāĻ‡āĻ­ āĻ¸ā§āĻĨāĻžāĻ¨ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ¤āĻžāĻ‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻāĻŸāĻŋ āĻ†āĻ›ā§‡ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻĒāĻ° kernel.org āĻāĻŦāĻ‚ āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§€āĻ˛ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ URL āĻĒāĻžāĻ¨āĨ¤ āĻāĻ‡ āĻĒā§‹āĻ¸ā§āĻŸ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ: https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.1.16.tar.xz

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨ 'wget':

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.1.16.tar.xz

āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻāĻ•ā§āĻ¸āĻŸā§āĻ°āĻžāĻ•ā§āĻŸ āĻ•āĻ°ā§āĻ¨ 'tar':

tar xJf linux-5.1.16.tar.xz

āĻāĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻŸāĻžāĻ°āĻŦāĻ˛ āĻ†āĻ¨āĻĒā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ˛āĻŋāĻ–āĻŋ:

cd linux-5.1.16

āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻŽā§‡āĻ•āĻĢāĻžāĻ‡āĻ˛āĻ¸ Ņ āĻ…āĻ¨ā§‡āĻ• āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡ āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻāĻŦāĻ‚ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ. āĻĒā§āĻ°āĻĨāĻŽā§‡, āĻ‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ•ā§āĻŸāĻŋāĻ­ āĻ¸ā§‡āĻŸāĻ†āĻĒ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ–ā§āĻ˛ā§āĻ¨:

make ARCH=um menuconfig

āĻāĻŸāĻŋ āĻ†āĻ‚āĻļāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻ¯āĻŧāĻžāĻ˛āĻ— āĻŦāĻ•ā§āĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ•āĻ–āĻ¨ '[Select]', āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§āĻĒā§‡āĻ¸āĻŦāĻžāĻ° āĻŦāĻž āĻāĻ¨ā§āĻŸāĻžāĻ° āĻ•ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ•ā§€āĻŦā§‹āĻ°ā§āĻĄ āĻ¤ā§€āĻ°āĻ—ā§āĻ˛āĻŋ "āĻ‰āĻĒāĻ°" āĻāĻŦāĻ‚ "āĻ¨āĻŋāĻšā§‡" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻ° āĻšāĻžāĻ°āĻĒāĻžāĻļā§‡ āĻ¨ā§‡āĻ­āĻŋāĻ—ā§‡āĻļāĻ¨ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•, āĻāĻŦāĻ‚ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻž "āĻŦāĻžāĻŽ" āĻŦāĻž "āĻĄāĻžāĻ¨"āĨ¤

āĻ­āĻŋāĻ‰ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° —> āĻŽāĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŦāĻŽā§‡āĻ¨ā§āĻ¤ā§‡ āĻ†āĻ›ā§‡āĻ¨, āĻāĻ¨ā§āĻŸāĻžāĻ° āĻ•ā§€ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ° āĻĨā§‡āĻ•ā§‡ āĻŦā§‡āĻ°āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ¸āĻžāĻ° āĻĒāĻĨ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ¤āĻ‡ '[Exit]'.

'āĻ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨[Select]' āĻāĻŦāĻ‚ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒāĻžāĻļā§‡ āĻāĻ•āĻŸāĻŋ '[*]' āĻ†āĻ›ā§‡:

UML-specific Options:
  - Host filesystem
Networking support (enable this to get the submenu to show up):
  - Networking options:
    - TCP/IP Networking
UML Network devices:
  - Virtual network device
  - SLiRP transport

āĻāĻŸāĻžāĻ‡, āĻ†āĻĒāĻ¨āĻŋ āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ­āĻžāĻŦā§‡ 'āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§‡ āĻāĻ‡ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨[Exit]' āĻļā§āĻ§ā§ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻļā§‡āĻˇā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ 'āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§āĻ¨[Yes]'.

āĻ†āĻŽāĻŋ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻĒā§‹āĻ¸ā§āĻŸāĻŸāĻŋ āĻĒāĻĄāĻŧāĻžāĻ° āĻĒāĻ°ā§‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŦāĻŋāĻ˛ā§āĻĄ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ–ā§‡āĻ˛ā§āĻ¨āĨ¤ āĻāĻ‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŽā§‡āĻ•āĻžāĻ¨āĻŋāĻ•ā§āĻ¸ā§‡āĻ° āĻ•āĻžāĻœ āĻāĻŦāĻ‚ āĻāĻ° āĻ¸āĻŽāĻžāĻŦā§‡āĻļā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ¤āĻžāĻ•āĻžāĻ° āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻŦā§‹āĻāĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ•āĻŋāĻ›ā§ āĻļāĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻ‚

āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ¯āĻž āĻ…āĻ¨ā§‡āĻ• āĻ•āĻŋāĻ›ā§ āĻ•āĻ°ā§‡āĨ¤ āĻāĻŽāĻ¨āĻ•āĻŋ āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻš, āĻāĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§‡āĻļ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨:

make ARCH=um -j$(nproc)

āĻ•āĻŋ āĻœāĻ¨ā§āĻ¯? āĻāĻ‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻ¤āĻžāĻ•ā§‡ āĻŦāĻŋāĻ˛ā§āĻĄ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻ˛āĻžāĻ•āĻžāĻ˛ā§€āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ CPU āĻ•ā§‹āĻ° āĻāĻŦāĻ‚ āĻĨā§āĻ°ā§‡āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻ˛āĻŦā§‡āĨ¤ āĻŸā§€āĻŽ $(nproc) Build āĻāĻ° āĻļā§‡āĻˇā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ•āĻ°āĻžāĻ¯āĻŧ nproc, āĻ¯āĻž āĻ…āĻ‚āĻļ coreutils āĻāĻ•āĻŸāĻŋ āĻ†āĻĻāĻ°ā§āĻļ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻŦāĻŋāĻ˛ā§āĻĄā§‡āĨ¤

āĻ•āĻŋāĻ›ā§ āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ°ā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻāĻ•āĻŸāĻŋ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻž āĻšāĻŦā§‡ ./linux.

āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ āĻ‡āĻ‰āĻœāĻžāĻ° āĻŽā§‹āĻĄ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋāĻ° āĻŽāĻ¤ā§‹ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ†āĻŽāĻŋ āĻāĻŸāĻŋ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¤āĻž āĻāĻ–āĻžāĻ¨ā§‡:

mkdir -p ~/bin
cp linux ~/bin/linux

āĻāĻŸāĻŋ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ“ āĻŽā§‚āĻ˛ā§āĻ¯āĻŦāĻžāĻ¨ ~/bin āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ†āĻ›ā§‡ $PATH:

export PATH=$PATH:$HOME/bin

āĻ—ā§‡āĻ¸ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ—ā§‡āĻ¸ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨:

mkdir -p $HOME/prefix/uml-demo
cd $HOME/prefix

alpinelinux.org āĻāĻŦāĻ‚ āĻ‡āĻ¨ āĻ–ā§āĻ˛ā§āĻ¨ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻŦāĻŋāĻ­āĻžāĻ— āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ˛āĻŋāĻ™ā§āĻ• āĻ–ā§āĻāĻœā§āĻ¨ MINI ROOT FILESYSTEM. āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŸāĻŋ āĻ›āĻŋāĻ˛:

http://dl-cdn.alpinelinux.org/alpine/v3.10/releases/x86_64/alpine-minirootfs-3.10.0-x86_64.tar.gz

wget āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ‡ āĻŸāĻžāĻ°āĻŦāĻ˛ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨:

wget -O alpine-rootfs.tgz http://dl-cdn.alpinelinux.org/alpine/v3.10/releases/x86_64/alpine-minirootfs-3.10.0-x86_64.tar.gz

āĻāĻ–āĻ¨ āĻ—ā§‡āĻ¸ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻ—āĻžāĻ°āĻŸāĻŋ āĻŦā§‡āĻ° āĻ•āĻ°ā§āĻ¨:

cd uml-demo
tar xf ../alpine-rootfs.tgz

āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒāĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¯ā§‡āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¤āĻžāĻ° āĻ•āĻžāĻ°āĻŖā§‡, Alpine apk āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ•āĻ āĻŋāĻ¨ āĻšāĻŦā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ‡ FS āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ§āĻžāĻ°āĻŖāĻž āĻŽā§‚āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻšāĻŦā§‡āĨ¤

āĻ†āĻŽāĻžāĻĻā§‡āĻ°āĻ“ āĻāĻ•āĻŸāĻž āĻŸā§āĻ˛ āĻĻāĻ°āĻ•āĻžāĻ° āĻŸāĻŋāĻ¨āĻŋ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ–āĻ°āĻš āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻ¤ā§‡ āĻœāĻŽā§āĻŦāĻŋ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻ¤āĻŋāĻĨāĻŋ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛āĨ¤

wget -O tini https://github.com/krallin/tini/releases/download/v0.18.0/tini-static
chmod +x tini

āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛, āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻŽāĻ¤ā§‹, āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ•ā§€ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ --help.

āĻ¨āĻŋāĻœā§‡āĻ‡ — āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯

linux --help
User Mode Linux v5.1.16
        available at http://user-mode-linux.sourceforge.net/

--showconfig
    Prints the config file that this UML binary was generated from.

iomem=<name>,<file>
    Configure <file> as an IO memory region named <name>.

mem=<Amount of desired ram>
    This controls how much "physical" memory the kernel allocates
    for the system. The size is specified as a number followed by
    one of 'k', 'K', 'm', 'M', which have the obvious meanings.
    This is not related to the amount of memory in the host.  It can
    be more, and the excess, if it's ever used, will just be swapped out.
        Example: mem=64M

--help
    Prints this message.

debug
    this flag is not needed to run gdb on UML in skas mode

root=<file containing the root fs>
    This is actually used by the generic kernel in exactly the same
    way as in any other kernel. If you configure a number of block
    devices and want to boot off something other than ubd0, you
    would use something like:
        root=/dev/ubd5

--version
    Prints the version number of the kernel.

umid=<name>
    This is used to assign a unique identity to this UML machine and
    is used for naming the pid file and management console socket.

con[0-9]*=<channel description>
    Attach a console or serial line to a host channel.  See
    http://user-mode-linux.sourceforge.net/old/input.html for a complete
    description of this switch.

eth[0-9]+=<transport>,<options>
    Configure a network device.
    
aio=2.4
    This is used to force UML to use 2.4-style AIO even when 2.6 AIO is
    available.  2.4 AIO is a single thread that handles one request at a
    time, synchronously.  2.6 AIO is a thread which uses the 2.6 AIO
    interface to handle an arbitrary number of pending requests.  2.6 AIO
    is not available in tt mode, on 2.4 hosts, or when UML is built with
    /usr/include/linux/aio_abi.h not available.  Many distributions don't
    include aio_abi.h, so you will need to copy it from a kernel tree to
    your /usr/include/linux in order to build an AIO-capable UML

nosysemu
    Turns off syscall emulation patch for ptrace (SYSEMU).
    SYSEMU is a performance-patch introduced by Laurent Vivier. It changes
    behaviour of ptrace() and helps reduce host context switch rates.
    To make it work, you need a kernel patch for your host, too.
    See http://perso.wanadoo.fr/laurent.vivier/UML/ for further
    information.

uml_dir=<directory>
    The location to place the pid and umid files.

quiet
    Turns off information messages during boot.

hostfs=<root dir>,<flags>,...
    This is used to set hostfs parameters.  The root directory argument
    is used to confine all hostfs mounts to within the specified directory
    tree on the host.  If this isn't specified, then a user inside UML can
    mount anything on the host that's accessible to the user that's running
    it.
    The only flag currently supported is 'append', which specifies that all
    files opened by hostfs will be opened in append mode.

āĻāĻ‡ āĻĒā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ˛āĻžā§āĻš āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻšāĻžāĻ‡āĻ˛āĻžāĻ‡āĻŸ. āĻ†āĻ¸ā§āĻ¨ āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸ā§‡āĻŸ āĻ¸āĻš āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛āĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ‡:

linux 
  root=/dev/root 
  rootfstype=hostfs 
  rootflags=$HOME/prefix/uml-demo 
  rw 
  mem=64M 
  init=/bin/sh

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ˛āĻžāĻ‡āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛āĻ•ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻŸāĻŋ āĻŦāĻ˛ā§‡:

  • āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°ā§āĻ¨ āĻ°ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻ•āĻŸāĻŋ āĻ›āĻĻā§āĻŽ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ /dev/root.
  • āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°āĻž āĻšā§‹āĻ¸ā§āĻŸāĻāĻĢāĻāĻ¸ āĻāĻ•āĻŸāĻŋ āĻ°ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡āĨ¤
  • āĻ†āĻŽāĻ°āĻž āĻ°ā§āĻŸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ āĻ—ā§‡āĻ¸ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤
  • āĻāĻŦāĻ‚ āĻšā§āĻ¯āĻžāĻ, āĻ°āĻŋāĻĄ-āĻ°āĻžāĻ‡āĻŸ āĻŽā§‹āĻĄā§‡āĨ¤
  • āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° 64 āĻŽā§‡āĻ—āĻžāĻŦāĻžāĻ‡āĻŸ RAM āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ (āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻž āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ•āĻ°āĻ›ā§‡āĻ¨ āĻ¤āĻžāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻ¨ā§‡āĻ• āĻ•āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¤āĻŦā§‡ 64 MB āĻ¸āĻ°ā§āĻŦā§‹āĻ¤ā§āĻ¤āĻŽ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻŦāĻ˛ā§‡ āĻŽāĻ¨ā§‡ āĻšāĻšā§āĻ›ā§‡)āĨ¤
  • āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ /bin/sh āĻ•āĻŋāĻ­āĻžāĻŦā§‡ init- āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĨ¤

āĻāĻ‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŽāĻ¤ āĻ•āĻŋāĻ›ā§ āĻĒā§‡āĻ¤ā§‡ āĻšāĻŦā§‡:

āĻ†āĻ°āĻ“ āĻāĻ•āĻŸāĻŋ āĻļā§€āĻŸ

Core dump limits :
        soft - 0
        hard - NONE
Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...OK
Checking advanced syscall emulation patch for ptrace...OK
Checking environment variables for a tempdir...none found
Checking if /dev/shm is on tmpfs...OK
Checking PROT_EXEC mmap in /dev/shm...OK
Adding 32137216 bytes to physical memory to account for exec-shield gap
Linux version 5.1.16 (cadey@kahless) (gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)) #30 Sun Jul 7 18:57:19 UTC 2019
Built 1 zonelists, mobility grouping on.  Total pages: 23898
Kernel command line: root=/dev/root rootflags=/home/cadey/dl/uml/alpine rootfstype=hostfs rw mem=64M init=/bin/sh
Dentry cache hash table entries: 16384 (order: 5, 131072 bytes)
Inode-cache hash table entries: 8192 (order: 4, 65536 bytes)
Memory: 59584K/96920K available (2692K kernel code, 708K rwdata, 588K rodata, 104K init, 244K bss, 37336K reserved, 0K cma-reserved)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS: 15
clocksource: timer: mask: 0xffffffffffffffff max_cycles: 0x1cd42e205, max_idle_ns: 881590404426 ns
Calibrating delay loop... 7479.29 BogoMIPS (lpj=37396480)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes)
Checking that host ptys support output SIGIO...Yes
Checking that host ptys support SIGIO on close...No, enabling workaround
devtmpfs: initialized
random: get_random_bytes called from setup_net+0x48/0x1e0 with crng_init=0
Using 2.6 host AIO
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 256 (order: 0, 6144 bytes)
NET: Registered protocol family 16
clocksource: Switched to clocksource timer
NET: Registered protocol family 2
tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
console [stderr0] disabled
mconsole (version 2) initialized on /home/cadey/.uml/tEwIjm/mconsole
Checking host MADV_REMOVE support...OK
workingset: timestamp_bits=62 max_order=14 bucket_order=0
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered (default)
io scheduler bfq registered
loop: module loaded
NET: Registered protocol family 17
Initialized stdio console driver
Using a channel type which is configured out of UML
setup_one_line failed for device 1 : Configuration failed
Using a channel type which is configured out of UML
setup_one_line failed for device 2 : Configuration failed
Using a channel type which is configured out of UML
setup_one_line failed for device 3 : Configuration failed
Using a channel type which is configured out of UML
setup_one_line failed for device 4 : Configuration failed
Using a channel type which is configured out of UML
setup_one_line failed for device 5 : Configuration failed
Using a channel type which is configured out of UML
setup_one_line failed for device 6 : Configuration failed
Using a channel type which is configured out of UML
setup_one_line failed for device 7 : Configuration failed
Using a channel type which is configured out of UML
setup_one_line failed for device 8 : Configuration failed
Using a channel type which is configured out of UML
setup_one_line failed for device 9 : Configuration failed
Using a channel type which is configured out of UML
setup_one_line failed for device 10 : Configuration failed
Using a channel type which is configured out of UML
setup_one_line failed for device 11 : Configuration failed
Using a channel type which is configured out of UML
setup_one_line failed for device 12 : Configuration failed
Using a channel type which is configured out of UML
setup_one_line failed for device 13 : Configuration failed
Using a channel type which is configured out of UML
setup_one_line failed for device 14 : Configuration failed
Using a channel type which is configured out of UML
setup_one_line failed for device 15 : Configuration failed
Console initialized on /dev/tty0
console [tty0] enabled
console [mc-1] enabled
Failed to initialize ubd device 0 :Couldn't determine size of device's file
VFS: Mounted root (hostfs filesystem) on device 0:11.
devtmpfs: mounted
This architecture does not have kernel memory protection.
Run /bin/sh as init process
/bin/sh: can't access tty; job control turned off
random: fast init done
/ # 

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĻā§‡āĻŦā§‡ āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻ…āĻ¤āĻŋāĻĨāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ, āĻŽāĻ¤ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ›āĻžāĻĄāĻŧāĻž /proc āĻ…āĻĨāĻŦāĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšā§‹āĻ¸ā§āĻŸāĻ¨āĻžāĻŽāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ—ā§āĻ˛āĻŋ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨:

- uname -av
- cat /proc/self/pid
- hostname

āĻ—ā§‡āĻ¸ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ˛āĻ— āĻ†āĻ‰āĻŸ āĻ•āĻ°āĻ¤ā§‡, āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§āĻ¨ exit āĻ…āĻĨāĻŦāĻž āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛-āĻĄāĻŋ āĻŸāĻŋāĻĒā§āĻ¨āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ†āĻ¤āĻ™ā§āĻ•ā§‡āĻ° āĻĒāĻ°ā§‡ āĻļā§‡āĻ˛āĻŸāĻŋāĻ•ā§‡ āĻĢāĻžāĻ¯āĻŧāĻžāĻ° āĻ•āĻ°āĻŦā§‡:

/ # exit
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000000
fish: “./linux root=/dev/root rootflagâ€Ļ” terminated by signal SIGABRT (Abort)

āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ†āĻ¤āĻ™ā§āĻ• āĻĒā§‡āĻ¯āĻŧā§‡āĻ›āĻŋ āĻ•āĻžāĻ°āĻŖ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŽāĻ¨ā§‡ āĻ•āĻ°ā§‡ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻšāĻ˛āĻ›ā§‡āĨ¤ āĻāĻŸāĻŋ āĻ›āĻžāĻĄāĻŧāĻž, āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ†āĻ° āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻž āĻāĻŦāĻ‚ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€-āĻŽā§‹āĻĄ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž, āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻĒāĻžāĻ āĻžāĻ¯āĻŧ SIGABRT, āĻ¯āĻž āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻāĻ•āĻŸāĻŋ āĻ—ā§‡āĻ¸ā§āĻŸ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ–āĻžāĻ¨ā§‡āĻ‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻ­ā§āĻ˛ āĻšāĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĨ¤ āĻ‡āĻ‰āĻœāĻžāĻ° āĻŽā§‹āĻĄ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§€āĻŽāĻŋāĻ¤ "āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻŽā§‹āĻĄ" āĻāĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ§āĻžāĻ°āĻŖāĻžāĻŸāĻŋ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨ āĻšāĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĨ¤ āĻ¸āĻ°ā§āĻŦā§‹āĻĒāĻ°āĻŋ, āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¸ā§āĻ¤āĻ°ā§‡ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻŦāĻŋāĻļā§‡āĻˇāĻžāĻ§āĻŋāĻ•āĻžāĻ°āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻ•āĻ˛ā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ•āĻžāĻ°āĻŖā§‡ āĻŽā§ƒāĻ¤ā§āĻ¯ā§āĻĻāĻ¨ā§āĻĄ āĻŽā§‹āĻĄāĨ¤

āĻŦāĻŋāĻƒāĻĻā§āĻ°āĻƒ. āĻĒā§āĻ°āĻ¤āĻŋ.: āĻ†āĻĒāĻ¨āĻŋ UML-āĻ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°āĻ“ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻ–āĻžāĻ¨ā§‡.

Slirp āĻ¯āĻžāĻ¤ā§āĻ°āĻž

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻžāĻšā§€āĻ¨ āĻāĻŦāĻ‚ āĻ•āĻžāĻ°ā§āĻ¯āĻ¤ āĻ…āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻŸā§āĻ˛ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¸ā§āĻ˛āĻŋāĻ°ā§āĻĒ, āĻ¯āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ‡āĻ‰āĻœāĻžāĻ° āĻŽā§‹āĻĄ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ…ā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ āĻ…āĻ¨ā§‡āĻ•āĻŸāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻŸāĻŋāĻ¸āĻŋāĻĒāĻŋ/āĻ†āĻ‡āĻĒāĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻŽāĻ¤ā§‹ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻāĻ‡ āĻŸā§āĻ˛ āĻ›āĻŋāĻ˛ 1995 āĻ¸āĻžāĻ˛ā§‡ āĻŽā§āĻ•ā§āĻ¤āĻŋ āĻĒāĻžāĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻļā§‡āĻˇ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ¤āĻžāĻ°āĻŋāĻ– āĻšāĻ¯āĻŧ 2006 āĻŦāĻ›āĻ° year. āĻ¸ā§āĻ˛āĻŋāĻ°ā§āĻĒ āĻ…āĻ¨ā§‡āĻ• āĻĒā§āĻ°āĻžāĻ¨ā§‹āĨ¤ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻŦāĻ‚ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡, āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻāĻ¤āĻĻā§‚āĻ° āĻšāĻ˛ā§‡ āĻ—ā§‡āĻ›ā§‡ āĻ¯ā§‡ āĻāĻ–āĻ¨ āĻāĻ‡ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻŸāĻŋāĻ•ā§‡ āĻ•ā§‡āĻŦāĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ "āĻ•ā§‹āĻĄ āĻĒāĻšāĻž".

āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻ†āĻ¸ā§āĻ¨ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĨā§‡āĻ•ā§‡ Slirp āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŋ:

sudo apt-get install slirp
/usr/bin/slirp
Slirp v1.0.17 (BETA)

Copyright (c) 1995,1996 Danny Gasparovski and others.
All rights reserved.
This program is copyrighted, free software.
Please read the file COPYRIGHT that came with the Slirp
package for the terms and conditions of the copyright.

IP address of Slirp host: 127.0.0.1
IP address of your DNS(s): 1.1.1.1, 10.77.0.7
Your address is 10.0.2.15
(or anything else you want)

Type five zeroes (0) to exit.

[autodetect SLIP/CSLIP, MTU 1500, MRU 1500, 115200 baud]

SLiRP Ready ...
fish: “/usr/bin/slirp” terminated by signal SIGSEGV (Address boundary error)

āĻ“āĻš āĻĻā§‡āĻŦāĻ¤āĻžāĨ¤ āĻšāĻ˛ā§āĻ¨ Slirp āĻāĻ° āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ° āĻ‡āĻ¨ā§āĻ¸āĻŸāĻ˛ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻĻā§‡āĻ–ā§āĻ¨ āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻŋ āĻšāĻšā§āĻ›ā§‡ āĻ¤āĻž āĻŦā§‡āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ•āĻŋāĻ¨āĻž:

sudo apt-get install gdb slirp-dbgsym
gdb /usr/bin/slirp
GNU gdb (Ubuntu 8.1-0ubuntu3) 8.1.0.20180409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/slirp...Reading symbols from /usr/lib/debug/.build-id/c6/2e75b69581a1ad85f72ac32c0d7af913d4861f.debug...done.
done.
(gdb) run
Starting program: /usr/bin/slirp
Slirp v1.0.17 (BETA)

Copyright (c) 1995,1996 Danny Gasparovski and others.
All rights reserved.
This program is copyrighted, free software.
Please read the file COPYRIGHT that came with the Slirp
package for the terms and conditions of the copyright.

IP address of Slirp host: 127.0.0.1
IP address of your DNS(s): 1.1.1.1, 10.77.0.7
Your address is 10.0.2.15
(or anything else you want)

Type five zeroes (0) to exit.

[autodetect SLIP/CSLIP, MTU 1500, MRU 1500, 115200 baud]

SLiRP Ready ...

Program received signal SIGSEGV, Segmentation fault.
                                                    ip_slowtimo () at ip_input.c:457
457     ip_input.c: No such file or directory.

āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦā§€āĻŸ āĻāĻ‡ āĻ˛āĻžāĻ‡āĻ¨. āĻ†āĻ¸ā§āĻ¨ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•āĻŸā§āĻ°ā§‡āĻ¸āĻŸāĻŋ āĻĻā§‡āĻ–āĻŋ, āĻšāĻ¯āĻŧāĻ¤ā§‹ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ•āĻŋāĻ›ā§ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻŦā§‡:

(gdb) bt full
#0  ip_slowtimo () at ip_input.c:457
        fp = 0x55784a40
#1  0x000055555556a57c in main_loop () at ./main.c:980
        so = <optimized out>
        so_next = <optimized out>
        timeout = {tv_sec = 0, tv_usec = 0}
        ret = 0
        nfds = 0
        ttyp = <optimized out>
        ttyp2 = <optimized out>
        best_time = <optimized out>
        tmp_time = <optimized out>
#2  0x000055555555b116 in main (argc=1, argv=0x7fffffffdc58) at ./main.c:95
No locals.

āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ‡ āĻ¯ā§‡ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ˛ā§āĻĒ āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻ˜āĻŸā§‡ āĻ¯āĻ–āĻ¨ āĻ¸ā§āĻ˛āĻŋāĻ°ā§āĻĒ āĻŸāĻžāĻ‡āĻŽāĻ†āĻ‰āĻŸ āĻšā§‡āĻ• āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡, āĻ†āĻŽāĻžāĻ•ā§‡ āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ›ā§‡āĻĄāĻŧā§‡ āĻĻāĻŋāĻ¤ā§‡ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻ• Slirp āĻĨā§‡āĻ•ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ•āĻŋāĻ¨āĻžāĨ¤ āĻ†āĻŽāĻŋ āĻ¸āĻžāĻ‡āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻ—āĻžāĻ° āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ SourceForge, āĻ•āĻžāĻ°āĻŖ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸ā§‡āĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻŸā§‡āĻ¨ā§‡ āĻ†āĻ¨āĻž āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻĨāĻž:

cd ~/dl
wget https://xena.greedo.xeserv.us/files/slirp-1.0.16.tar.gz
tar xf slirp-1.0.16.tar.gz
cd slirp-1.0.16/src
./configure --prefix=$HOME/prefix/slirp
make

āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ…āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻŦāĻŋāĻ˛ā§āĻŸ-āĻ‡āĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›āĻŋ, āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻĢāĻ˛ā§‡ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻ¤ā§‡ āĻ…āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡āĨ¤ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻšā§āĻ›ā§‡ āĻ¯ā§‡ 2006 āĻāĻŦāĻ‚ āĻāĻ‡ āĻŦāĻŋāĻ¨ā§āĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§‡, gcc āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻ‚āĻ•āĻ˛āĻŋāĻ¤ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻĒā§āĻ°āĻ¤ā§€āĻ•āĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŋ inline āĻāĻ•āĻŸāĻŋ āĻ–āĻžāĻ˛āĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§‡ āĻāĻŦāĻ‚ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĻā§‡āĻ–ā§āĻ¨:

vi slirp.h
:6
a
<enter>
#define inline /**/
<escape>
:wq
make

āĻ¨āĻžāĨ¤ āĻāĻŸāĻžāĻ“ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻāĻ–āĻ¨āĻ“ āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤ā§€āĻ• āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻšā§āĻ›āĻŋ āĻ¨āĻžāĨ¤

āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡, āĻ†āĻŽāĻŋ āĻšāĻžāĻ˛ āĻ›ā§‡āĻĄāĻŧā§‡ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ—āĻŋāĻĨā§āĻŦā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ•āĻžāĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻ˛āĻžāĻŽ Heroku āĻŦāĻŋāĻ˛ā§āĻĄ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ. āĻ†āĻŽāĻžāĻ° āĻ¤āĻ¤ā§āĻ¤ā§āĻŦ āĻ›āĻŋāĻ˛ āĻ¯ā§‡ āĻ•āĻŋāĻ›ā§ Heroku āĻŦāĻŋāĻ˛ā§āĻĄ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœā§‡ āĻ†āĻŽāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤ āĻļā§‡āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤, āĻ†āĻŽāĻžāĻ° āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ†āĻŽāĻžāĻ•ā§‡ āĻ¨ā§‡āĻ¤ā§ƒāĻ¤ā§āĻŦā§‡ āĻāĻ–āĻžāĻ¨ā§‡. āĻ†āĻŽāĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻāĻŦāĻ‚ āĻ†āĻ¨āĻĒā§āĻ¯āĻžāĻ• uml.tar.gz āĻāĻŦāĻ‚ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ—ā§‡āĻ›ā§‡:

total 6136
-rwxr-xr-x 1 cadey cadey   79744 Dec 10  2017 ifconfig*
-rwxr-xr-x 1 cadey cadey     373 Dec 13  2017 init*
-rwxr-xr-x 1 cadey cadey  149688 Dec 10  2017 insmod*
-rwxr-xr-x 1 cadey cadey   66600 Dec 10  2017 route*
-rwxr-xr-x 1 cadey cadey  181056 Jun 26  2015 slirp*
-rwxr-xr-x 1 cadey cadey 5786592 Dec 15  2017 uml*
-rwxr-xr-x 1 cadey cadey     211 Dec 13  2017 uml_run*

āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ˛āĻŋāĻ°ā§āĻĒ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ! āĻāĻŸāĻž āĻ•āĻŋ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡?

./slirp
Slirp v1.0.17 (BETA) FULL_BOLT

Copyright (c) 1995,1996 Danny Gasparovski and others.
All rights reserved.
This program is copyrighted, free software.
Please read the file COPYRIGHT that came with the Slirp
package for the terms and conditions of the copyright.

IP address of Slirp host: 127.0.0.1
IP address of your DNS(s): 1.1.1.1, 10.77.0.7
Your address is 10.0.2.15
(or anything else you want)

Type five zeroes (0) to exit.

[autodetect SLIP/CSLIP, MTU 1500, MRU 1500]

SLiRP Ready ...

āĻāĻŸāĻž āĻĒāĻĄāĻŧā§‡ āĻ¨āĻž - āĻ¤āĻžāĻ‡ āĻāĻŸāĻŋ āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤! āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ‡ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻ°ā§‹āĻĒāĻŖ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• ~/bin/slirp:

cp slirp ~/bin/slirp

āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻ¤āĻž āĻāĻŸāĻŋ āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻ†āĻ¯āĻŧāĻ¨āĻž āĻ¤ā§ˆāĻ°āĻŋ.

āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸ā§‡āĻŸāĻ†āĻĒ

āĻāĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ—ā§‡āĻ¸ā§āĻŸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤ āĻ˛āĻžā§āĻš āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°ā§āĻ¨:

linux 
  root=/dev/root 
  rootfstype=hostfs 
  rootflags=$HOME/prefix/uml-demo 
  rw 
  mem=64M 
  eth0=slirp,,$HOME/bin/slirp 
  init=/bin/sh

āĻāĻ–āĻ¨ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

mount -t proc proc proc/
mount -t sysfs sys sys/

ifconfig eth0 10.0.2.14 netmask 255.255.255.240 broadcast 10.0.2.15
route add default gw 10.0.2.2

āĻĒā§āĻ°āĻĨāĻŽ āĻĻā§āĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ /proc и /sys āĻ•āĻžāĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ ifconfig, āĻ¯āĻž Slirp-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ—ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡āĨ¤ āĻŸā§€āĻŽ route āĻ¸ā§āĻ˛āĻŋāĻ°ā§āĻĒ āĻŸāĻžāĻ¨ā§‡āĻ˛ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŸā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ• āĻĒāĻžāĻ āĻžāĻ¤ā§‡ āĻŦāĻžāĻ§ā§āĻ¯ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ°āĻžāĻ‰āĻŸāĻŋāĻ‚ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ DNS āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻāĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

nslookup google.com 8.8.8.8
Server:    8.8.8.8
Address 1: 8.8.8.8 dns.google

Name:      google.com
Address 1: 172.217.12.206 lga25s63-in-f14.1e100.net
Address 2: 2607:f8b0:4006:81b::200e lga25s63-in-x0e.1e100.net

āĻāĻŸāĻž āĻ•āĻžāĻœ āĻ•āĻ°ā§‡!

āĻĒā§āĻ°āĻ¤āĻŋ āĻĻā§āĻ°āĻˇā§āĻŸāĻŦā§āĻ¯: āĻĻā§ƒāĻļā§āĻ¯āĻ¤, āĻŽā§‚āĻ˛ āĻĒā§‹āĻ¸ā§āĻŸāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ°āĻ¯ā§āĻ•ā§āĻ¤ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ•āĻžāĻ°ā§āĻĄ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻĄā§‡āĻ¸ā§āĻ•āĻŸāĻĒā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻŦāĻž āĻ…āĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ›āĻŋāĻ˛ āĻ¨āĻžāĨ¤ āĻ‡āĻ¨ā§āĻŸā§‡āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡ 8265 āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ˛ā§āĻ¯āĻžāĻĒāĻŸāĻĒā§‡, āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§‹āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ˜āĻŸā§‡

/ # ifconfig eth0 10.0.2.14 netmask 255.255.255.240 broadcast 10.0.2.15
slirp_tramp failed - errno = 2
ifconfig: ioctl 0x8914 failed: No such file or directory
/ #

āĻĻā§ƒāĻļā§āĻ¯āĻ¤, āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ•āĻžāĻ°ā§āĻĄ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻž, āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ āĻŋāĻ• āĻ•āĻ°ā§‡āĻ¨āĻŋāĨ¤ āĻĒā§āĻ°āĻ•āĻžāĻļā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻ‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ›āĻŋāĻ˛ āĻ¨āĻžāĨ¤ āĻ¸āĻšāĻœ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛āĻŦāĻ•ā§āĻ¸ā§‡), āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŦā§‡āĻĄāĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻļā§‡āĻ˛ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒā§āĻ¨āĻƒāĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

#!/bin/sh
# init.sh

mount -t proc proc proc/
mount -t sysfs sys sys/
ifconfig eth0 10.0.2.14 netmask 255.255.255.240 broadcast 10.0.2.15
route add default gw 10.0.2.2

echo "networking set up"

exec /tini /bin/sh

āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¯ā§‹āĻ—ā§āĻ¯ āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨:

chmod +x init.sh

āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŦ:

linux 
  root=/dev/root 
  rootfstype=hostfs 
  rootflags=$HOME/prefix/uml-demo 
  rw 
  mem=64M 
  eth0=slirp,,$HOME/bin/slirp 
  init=/init.sh

āĻāĻŦāĻ‚ āĻāĻ° āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

SLiRP Ready ...
networking set up
/bin/sh: can't access tty; job control turned off

nslookup google.com 8.8.8.8
Server:    8.8.8.8
Address 1: 8.8.8.8 dns.google

Name:      google.com
Address 1: 172.217.12.206 lga25s63-in-f14.1e100.net
Address 2: 2607:f8b0:4004:800::200e iad30s09-in-x0e.1e100.net

āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§€āĻ˛!

āĻĄāĻ•āĻžāĻ° āĻĢāĻžāĻ‡āĻ˛

āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻ¸āĻšāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡āĻ›āĻŋ Dockerfile, āĻ¯āĻž āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ§āĻžāĻĒāĻ•ā§‡ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°ā§€ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĻāĻŋāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ†āĻŽāĻžāĻ°āĻ“ āĻ†āĻ›ā§‡ āĻĒā§āĻ°āĻžāĻ• āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛, āĻ¯āĻž āĻĒā§‹āĻ¸ā§āĻŸā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻŋāĻ›ā§ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŸāĻž āĻŦā§‹āĻāĻž āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ¯ā§‡ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻ¸ā§‡āĻŸāĻŋāĻ‚ āĻāĻ° āĻ°ā§‚āĻĒāĻ°ā§‡āĻ–āĻž āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤

āĻ†āĻŽāĻŋ āĻ†āĻļāĻž āĻ•āĻ°āĻŋ āĻāĻ‡ āĻĒā§‹āĻ¸ā§āĻŸāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ…āĻ¤āĻŋāĻĨāĻŋ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŦāĻžāĻĄāĻŧāĻžāĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻŦā§āĻāĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ āĻāĻŸāĻŋ āĻāĻ• āĻ§āĻ°āĻŖā§‡āĻ° āĻĻāĻžāĻ¨āĻŦ āĻŦāĻ˛ā§‡ āĻĒā§āĻ°āĻŽāĻžāĻŖāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¤āĻŦā§‡ āĻĒā§āĻ°āĻ•āĻžāĻļāĻ¨āĻžāĻŸāĻŋāĻ•ā§‡ āĻāĻ‡ āĻĒāĻ°āĻŋāĻŦāĻžāĻ°ā§‡āĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ†āĻ§ā§āĻ¨āĻŋāĻ• āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻŽā§‹āĻĄ āĻ¤ā§ˆāĻ°āĻŋ, āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻāĻŦāĻ‚ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ¸ā§āĻ¤ā§ƒāĻ¤ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŋāĻ•āĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ—ā§‡āĻ¸ā§āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻĄāĻ•āĻžāĻ° āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻšāĻŋāĻ¤ā§āĻ°āĻ—ā§āĻ˛āĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻĒā§āĻ°āĻšāĻžāĻ°āĻŋāĻ¤ āĻŸāĻžāĻ°āĻŦāĻ˛, āĻ¤āĻžāĻ‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻšāĻŋāĻ¤ā§āĻ°āĻŸāĻŋ āĻŦā§‡āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻŦā§‡āĻ¨ docker export, āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ—ā§‡āĻ¸ā§āĻŸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡āĻ° āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ°ā§āĻŸā§‡ āĻāĻ° āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻĒāĻžāĻĨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ†āĻšā§āĻ›āĻž, āĻ¤āĻžāĻ°āĻĒāĻ° āĻļā§‡āĻ˛ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨āĨ¤

āĻĢā§āĻ°āĻŋāĻ¨ā§‹āĻĄā§‡ #lobsters āĻĨā§‡āĻ•ā§‡ Rkeene āĻ•ā§‡ āĻŦāĻŋāĻļā§‡āĻˇ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻāĨ¤ Slirp āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤āĻžāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ›āĻžāĻĄāĻŧāĻž, āĻ†āĻŽāĻŋ āĻāĻ¤āĻĻā§‚āĻ° āĻĒā§‡āĻ¤āĻžāĻŽ āĻ¨āĻžāĨ¤ āĻ†āĻŽāĻžāĻ° āĻ•ā§‹āĻ¨ āĻ§āĻžāĻ°āĻŖāĻž āĻ¨ā§‡āĻ‡ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ¤āĻžāĻ° āĻ¸ā§āĻ˛ā§āĻ¯āĻžāĻ•āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¸ā§āĻ˛āĻŋāĻ°ā§āĻĒā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻžāĻ° āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻāĻŦāĻ‚ āĻ†āĻ˛ā§āĻĒāĻžāĻ‡āĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¸ā§āĻ˛āĻŋāĻ°ā§āĻĒ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡āĻ¨āĻŋ āĻāĻŦāĻ‚ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻ°ā§‡āĻ•āĻŋāĻ¨ āĻ†āĻŽāĻžāĻ•ā§‡ āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŸāĻž āĻ†āĻŽāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻ¯ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻ†āĻŽāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨